From 15cfaf332d53038de4a54b303162044f598d2095 Mon Sep 17 00:00:00 2001 From: Riwoldt Date: Thu, 9 Apr 2026 14:14:56 +0200 Subject: [PATCH] Web-Ide mit aufgenommen --- web-ide-main/.github/ISSUE_TEMPLATE/bug.yaml | 69 + .../.github/ISSUE_TEMPLATE/feature.yaml | 69 + web-ide-main/.github/workflows/deploy.yaml | 51 + web-ide-main/.github/workflows/extension.yaml | 45 + web-ide-main/.github/workflows/test.yaml | 40 + web-ide-main/.gitignore | 26 + web-ide-main/.npmrc | 3 + web-ide-main/.prettierconfig.yaml | 24 + web-ide-main/.prettierignore | 3 + web-ide-main/.vscode/launch.json | 39 + web-ide-main/CODE_OF_CONDUCT.md | 76 + web-ide-main/CONTRIBUTING.md | 24 + web-ide-main/LICENSE | 12 + web-ide-main/README.md | 125 + web-ide-main/biome.json | 138 + web-ide-main/cli/package.json | 33 + web-ide-main/cli/src/grading.ts | 79 + web-ide-main/cli/src/index.ts | 173 + web-ide-main/cli/src/testrunner.ts | 41 + web-ide-main/cli/tsconfig.json | 9 + web-ide-main/components/package.json | 61 + web-ide-main/components/src/chips/alu.tsx | 103 + .../components/src/chips/keyboard.tsx | 155 + .../components/src/chips/memory.test.tsx | 38 + web-ide-main/components/src/chips/memory.tsx | 396 + .../components/src/chips/register.tsx | 13 + web-ide-main/components/src/chips/screen.tsx | 153 + .../src/chips/visualizations.test.tsx | 29 + .../components/src/chips/visualizations.tsx | 156 + web-ide-main/components/src/clockface.tsx | 71 + web-ide-main/components/src/compare.ts | 210 + web-ide-main/components/src/dialog.tsx | 14 + web-ide-main/components/src/difftable.tsx | 120 + web-ide-main/components/src/file_utils.ts | 81 + web-ide-main/components/src/i18n.tsx | 5 + web-ide-main/components/src/inline_edit.tsx | 85 + web-ide-main/components/src/messages.ts | 1 + web-ide-main/components/src/pin_display.ts | 43 + web-ide-main/components/src/pinout.test.tsx | 60 + web-ide-main/components/src/pinout.tsx | 307 + web-ide-main/components/src/public/alu.css | 3 + web-ide-main/components/src/public/pin.css | 5 + web-ide-main/components/src/react.ts | 31 + web-ide-main/components/src/runbar.tsx | 141 + web-ide-main/components/src/setupTests.ts | 6 + .../components/src/stores/asm.store.ts | 490 + .../components/src/stores/base.context.ts | 186 + web-ide-main/components/src/stores/base/fs.ts | 176 + .../components/src/stores/base/indexDb.ts | 96 + .../components/src/stores/chip.store.test.ts | 164 + .../components/src/stores/chip.store.ts | 647 + .../components/src/stores/compiler.store.ts | 175 + .../components/src/stores/cpu.store.ts | 355 + .../components/src/stores/imm_memory.ts | 20 + .../components/src/stores/vm.store.ts | 465 + web-ide-main/components/src/table.tsx | 73 + web-ide-main/components/src/timer.tsx | 82 + .../components/src/virtual_scroll.test.tsx | 18 + .../components/src/virtual_scroll.tsx | 216 + web-ide-main/components/tsconfig.json | 11 + web-ide-main/extension/.gitignore | 1 + web-ide-main/extension/.vscodeignore | 12 + web-ide-main/extension/LICENSE | 12 + web-ide-main/extension/README.md | 19 + .../extension/fileicons/icon-theme.json | 42 + .../extension/fileicons/images/cmp-out.svg | 8 + .../extension/fileicons/images/hack.svg | 11 + .../extension/fileicons/images/hdl.svg | 13 + .../extension/fileicons/images/jack.svg | 10 + .../extension/fileicons/images/tst.svg | 11 + .../extension/fileicons/images/vm.svg | 10 + web-ide-main/extension/fileicons/logo.svg | 51 + .../languages/asm.snippets.json.code-snippets | 57 + .../extension/languages/asm.tmLanguage.json | 111 + .../languages/cmp-out.tmLanguage.json | 60 + .../extension/languages/hack.tmLanguage.json | 59 + .../languages/hdl.snippets.json.code-snippets | 264 + .../extension/languages/hdl.tmLanguage.json | 75 + .../jack.snippets.json.code-snippets | 32 + .../extension/languages/jack.tmLanguage.json | 122 + .../languages/language-configuration.json | 28 + .../languages/tst.snippets.json.code-snippets | 16 + .../extension/languages/tst.tmLanguage.json | 59 + .../languages/vm.snippets.json.code-snippets | 63 + .../extension/languages/vm.tmLanguage.json | 134 + web-ide-main/extension/package.json | 261 + web-ide-main/extension/src/commands.ts | 14 + .../extension/src/commands/hardware.ts | 6 + web-ide-main/extension/src/diagnostics.ts | 41 + web-ide-main/extension/src/extension.ts | 18 + web-ide-main/extension/src/languages/base.ts | 40 + web-ide-main/extension/src/languages/cmp.ts | 25 + web-ide-main/extension/src/languages/hdl.ts | 19 + web-ide-main/extension/src/languages/index.ts | 5 + web-ide-main/extension/src/languages/tst.ts | 23 + web-ide-main/extension/src/views/hdl.ts | 104 + web-ide-main/extension/tsconfig.json | 10 + .../extension/views/base/package.json | 0 .../extension/views/base/src/index.css | 31 + web-ide-main/extension/views/hdl/.gitignore | 23 + web-ide-main/extension/views/hdl/README.md | 46 + web-ide-main/extension/views/hdl/package.json | 44 + .../extension/views/hdl/public/favicon.ico | Bin 0 -> 3870 bytes .../extension/views/hdl/public/index.html | 45 + .../extension/views/hdl/public/logo192.png | Bin 0 -> 5347 bytes .../extension/views/hdl/public/logo512.png | Bin 0 -> 9664 bytes .../extension/views/hdl/public/manifest.json | 25 + .../extension/views/hdl/public/robots.txt | 3 + .../extension/views/hdl/public/styles.css | 63 + .../extension/views/hdl/public/vars.css | 591 + .../views/hdl/scripts/build-react-no-split.js | 22 + web-ide-main/extension/views/hdl/src/App.tsx | 160 + .../extension/views/hdl/src/index.tsx | 47 + .../views/hdl/src/react-app-env.d.ts | 1 + .../extension/views/hdl/src/setupTests.ts | 5 + .../extension/views/hdl/src/vscode.ts | 6 + .../extension/views/hdl/tsconfig.json | 9 + web-ide-main/package-lock.json | 29279 ++++++++ web-ide-main/package.json | 63 + web-ide-main/projects/package.json | 26 + web-ide-main/projects/src/base.ts | 254 + web-ide-main/projects/src/full.ts | 74 + web-ide-main/projects/src/loader.ts | 36 + .../projects/src/project_01/00_nand.ts | 48 + .../projects/src/project_01/01_not.ts | 34 + .../projects/src/project_01/02_and.ts | 49 + web-ide-main/projects/src/project_01/03_or.ts | 48 + .../projects/src/project_01/04_xor.ts | 48 + .../projects/src/project_01/05_mux.ts | 72 + .../projects/src/project_01/06_dmux.ts | 48 + .../projects/src/project_01/07_not16.ts | 50 + .../projects/src/project_01/08_and16.ts | 62 + .../projects/src/project_01/09_or16.ts | 61 + .../projects/src/project_01/10_mux16.ts | 73 + .../projects/src/project_01/11_mux4way16.ts | 75 + .../projects/src/project_01/12_mux8way16.ts | 129 + .../projects/src/project_01/13_dmux4way.ts | 70 + .../projects/src/project_01/14_dmux8way.ts | 115 + .../projects/src/project_01/15_or8way.ts | 49 + web-ide-main/projects/src/project_01/index.ts | 86 + .../projects/src/project_02/01_half_adder.ts | 48 + .../projects/src/project_02/02_full_adder.ts | 70 + .../projects/src/project_02/03_add16.ts | 60 + .../projects/src/project_02/04_inc16.ts | 45 + .../projects/src/project_02/05_alu_no_stat.ts | 422 + .../projects/src/project_02/06_alu.ts | 834 + .../projects/src/project_02/06_alu_all.ts | 245 + web-ide-main/projects/src/project_02/index.ts | 43 + .../projects/src/project_03/00_dff.ts | 17 + .../projects/src/project_03/01_bit.ts | 1096 + .../projects/src/project_03/02_register.ts | 735 + web-ide-main/projects/src/project_03/03_pc.ts | 173 + .../projects/src/project_03/04_ram8.ts | 749 + .../projects/src/project_03/05_ram64.ts | 1363 + .../projects/src/project_03/06_ram512.ts | 1363 + .../projects/src/project_03/07_ram4k.ts | 1362 + .../projects/src/project_03/08_ram16k.ts | 1362 + web-ide-main/projects/src/project_03/index.ts | 56 + .../projects/src/project_04/01_mult.ts | 96 + .../projects/src/project_04/02_fill.ts | 66 + web-ide-main/projects/src/project_04/index.ts | 31 + .../projects/src/project_05/01_memory.ts | 287 + .../projects/src/project_05/02_cpu.ts | 522 + .../projects/src/project_05/03_computer.ts | 284 + .../projects/src/project_05/04_screen.ts | 29 + .../projects/src/project_05/05_keyboard.ts | 17 + .../projects/src/project_05/06_d_register.ts | 21 + .../projects/src/project_05/07_a_register.ts | 21 + .../projects/src/project_05/08_rom32k.ts | 25 + web-ide-main/projects/src/project_05/index.ts | 58 + .../projects/src/project_05/make_samples.sh | 14 + .../projects/src/project_07/11_simple_add.ts | 55 + .../projects/src/project_07/12_stack_test.ts | 99 + .../projects/src/project_07/21_basic_test.ts | 91 + .../src/project_07/22_pointer_test.ts | 72 + .../projects/src/project_07/23_static_test.ts | 63 + web-ide-main/projects/src/project_07/index.ts | 54 + .../projects/src/project_08/11_basic_loop.ts | 81 + .../src/project_08/12_fibonacci_series.ts | 107 + .../src/project_08/20_simple_function.ts | 96 + .../projects/src/project_08/21_nested_call.ts | 204 + .../src/project_08/22_fibonacci_element.ts | 98 + .../src/project_08/23_statics_test.ts | 107 + web-ide-main/projects/src/project_08/index.ts | 64 + web-ide-main/projects/src/reset.ts | 40 + web-ide-main/projects/src/samples/Mult.cmp | 7 + web-ide-main/projects/src/samples/Mult.tst | 48 + web-ide-main/projects/src/samples/asm.ts | 276 + web-ide-main/projects/src/samples/hack.ts | 52 + .../projects/src/samples/hack/Fill.asm | 43 + .../projects/src/samples/hack/FillAlt1.asm | 65 + .../projects/src/samples/hack/FillAlt2.asm | 83 + .../projects/src/samples/hack/Life.asm | 0 .../projects/src/samples/hack/Life.hack | 7099 ++ .../projects/src/samples/hack/Max.asm | 21 + .../projects/src/samples/hack/Max.tst | 6 + .../projects/src/samples/hack/Mult.asm | 23 + .../projects/src/samples/hack/Pong.asm | 28375 ++++++++ web-ide-main/projects/src/samples/hack/zero | 0 web-ide-main/projects/src/samples/index.ts | 18 + .../projects/src/samples/project_06/01_add.ts | 15 + .../projects/src/samples/project_06/02_max.ts | 69 + .../src/samples/project_06/03_rect.ts | 88 + .../src/samples/project_06/04_pong.ts | 3 + .../src/samples/project_06/04_pong_asm.ts | 57975 ++++++++++++++++ .../src/samples/project_06/05_fill.ts | 49 + .../projects/src/samples/project_06/index.ts | 35 + .../src/samples/project_11/average.ts | 439 + .../src/samples/project_11/complex_arrays.ts | 1769 + .../src/samples/project_11/convert_to_bin.ts | 734 + .../projects/src/samples/project_11/index.ts | 29 + .../src/samples/project_11/pong/ball.ts | 2960 + .../src/samples/project_11/pong/bat.ts | 1373 + .../src/samples/project_11/pong/main.ts | 118 + .../src/samples/project_11/pong/pong_game.ts | 1920 + .../projects/src/samples/project_11/seven.ts | 84 + .../src/samples/project_11/square/main.ts | 99 + .../src/samples/project_11/square/square.ts | 1959 + .../samples/project_11/square/square_game.ts | 948 + web-ide-main/projects/src/samples/tst.ts | 12 + .../projects/src/samples/vm/fibonnaci.ts | 30 + web-ide-main/projects/src/samples/vm/vm.ts | 145 + web-ide-main/projects/src/testing/index.ts | 30 + .../projects/src/testing/project_01/01_not.ts | 1 + .../projects/src/testing/project_01/02_and.ts | 8 + .../projects/src/testing/project_01/03_or.ts | 1 + .../projects/src/testing/project_01/04_xor.ts | 1 + .../projects/src/testing/project_01/05_mux.ts | 1 + .../src/testing/project_01/06_dmux.ts | 1 + .../src/testing/project_01/07_not16.ts | 1 + .../src/testing/project_01/08_and16.ts | 22 + .../src/testing/project_01/09_or16.ts | 1 + .../src/testing/project_01/10_mux16.ts | 1 + .../src/testing/project_01/11_mux4way16.ts | 1 + .../src/testing/project_01/12_mux8way16.ts | 31 + .../src/testing/project_01/13_dmux4way.ts | 1 + .../src/testing/project_01/14_dmux8way.ts | 1 + .../src/testing/project_01/15_or8way.ts | 1 + .../projects/src/testing/project_01/index.ts | 71 + .../src/testing/project_02/01_half_adder.ts | 1 + .../src/testing/project_02/02_full_adder.ts | 1 + .../src/testing/project_02/03_add16.ts | 1 + .../src/testing/project_02/04_inc16.ts | 1 + .../src/testing/project_02/05_alu_no_stat.ts | 1 + .../projects/src/testing/project_02/06_alu.ts | 1 + .../projects/src/testing/project_02/index.ts | 35 + .../projects/src/testing/project_03/01_bit.ts | 9 + .../src/testing/project_03/02_register.ts | 1 + .../projects/src/testing/project_03/03_pc.ts | 1 + .../src/testing/project_03/04_ram8.ts | 1 + .../src/testing/project_03/05_ram64.ts | 1 + .../src/testing/project_03/06_ram512.ts | 1 + .../src/testing/project_03/07_ram4k.ts | 1 + .../src/testing/project_03/08_ram16k.ts | 1 + .../projects/src/testing/project_03/index.ts | 43 + .../src/testing/project_05/01_memory.ts | 1 + .../projects/src/testing/project_05/02_cpu.ts | 1 + .../src/testing/project_05/03_computer.ts | 1 + .../projects/src/testing/project_05/index.ts | 23 + web-ide-main/projects/tsconfig.json | 9 + web-ide-main/runner/data/Not.cmp | 3 + web-ide-main/runner/data/Not.out | 3 + web-ide-main/runner/data/Not.tst | 3 + web-ide-main/runner/package.json | 28 + web-ide-main/runner/src/index.ts | 54 + web-ide-main/runner/src/types.ts | 11 + web-ide-main/runner/tsconfig.json | 9 + web-ide-main/simulator/babel.config.cjs | 6 + web-ide-main/simulator/jest.config.mjs | 11 + web-ide-main/simulator/package.json | 39 + web-ide-main/simulator/src/.gitignore | 1 + .../simulator/src/chip/builder.test.ts | 243 + web-ide-main/simulator/src/chip/builder.ts | 532 + web-ide-main/simulator/src/chip/builtin.ts | 30 + .../simulator/src/chip/builtins/all.test.ts | 72 + .../src/chip/builtins/arithmetic/add_16.ts | 18 + .../src/chip/builtins/arithmetic/alu.tsx | 147 + .../chip/builtins/arithmetic/full_adder.ts | 30 + .../chip/builtins/arithmetic/half_adder.ts | 22 + .../src/chip/builtins/arithmetic/inc16.ts | 18 + .../src/chip/builtins/builtinOverrides.ts | 46 + .../src/chip/builtins/computer/README.md | 5 + .../chip/builtins/computer/computer.test.ts | 67 + .../src/chip/builtins/computer/computer.tsx | 375 + .../simulator/src/chip/builtins/index.ts | 143 + .../simulator/src/chip/builtins/logic/and.ts | 35 + .../simulator/src/chip/builtins/logic/dmux.ts | 86 + .../simulator/src/chip/builtins/logic/mux.ts | 117 + .../simulator/src/chip/builtins/logic/nand.ts | 31 + .../simulator/src/chip/builtins/logic/not.ts | 32 + .../simulator/src/chip/builtins/logic/or.ts | 51 + .../simulator/src/chip/builtins/logic/xor.ts | 35 + .../src/chip/builtins/sequential/bit.tsx | 111 + .../src/chip/builtins/sequential/dff.ts | 19 + .../src/chip/builtins/sequential/ram.tsx | 113 + web-ide-main/simulator/src/chip/chip.test.ts | 910 + web-ide-main/simulator/src/chip/chip.ts | 830 + web-ide-main/simulator/src/chip/clock.ts | 92 + web-ide-main/simulator/src/chip/errors.txt | 59 + web-ide-main/simulator/src/compare.test.ts | 42 + web-ide-main/simulator/src/compare.ts | 82 + web-ide-main/simulator/src/cpu/alu.test.ts | 67 + web-ide-main/simulator/src/cpu/alu.ts | 330 + web-ide-main/simulator/src/cpu/cpu.test.ts | 202 + web-ide-main/simulator/src/cpu/cpu.ts | 221 + web-ide-main/simulator/src/cpu/memory.ts | 234 + web-ide-main/simulator/src/fs.ts | 25 + .../simulator/src/jack/compiler.test.ts | 163 + web-ide-main/simulator/src/jack/compiler.ts | 651 + .../simulator/src/jack/controlFlow.ts | 180 + .../simulator/src/languages/asm.test.ts | 367 + web-ide-main/simulator/src/languages/asm.ts | 365 + .../simulator/src/languages/base.test.ts | 54 + web-ide-main/simulator/src/languages/base.ts | 122 + .../simulator/src/languages/cmp.test.ts | 26 + web-ide-main/simulator/src/languages/cmp.ts | 35 + .../src/languages/grammars/.gitignore | 1 + .../simulator/src/languages/grammars/asm.ohm | 21 + .../src/languages/grammars/asm.ohm.js | 22 + .../simulator/src/languages/grammars/base.ohm | 77 + .../src/languages/grammars/base.ohm.js | 79 + .../simulator/src/languages/grammars/cmp.ohm | 6 + .../src/languages/grammars/cmp.ohm.js | 8 + .../simulator/src/languages/grammars/hdl.ohm | 23 + .../src/languages/grammars/hdl.ohm.js | 25 + .../simulator/src/languages/grammars/jack.ohm | 78 + .../src/languages/grammars/jack.ohm.js | 80 + .../simulator/src/languages/grammars/prep.sh | 10 + .../simulator/src/languages/grammars/tst.ohm | 59 + .../src/languages/grammars/tst.ohm.js | 61 + .../simulator/src/languages/grammars/vm.js | 0 .../simulator/src/languages/grammars/vm.ohm | 56 + .../src/languages/grammars/vm.ohm.js | 57 + .../simulator/src/languages/hdl.test.ts | 352 + web-ide-main/simulator/src/languages/hdl.ts | 154 + .../simulator/src/languages/jack.test.ts | 13 + web-ide-main/simulator/src/languages/jack.ts | 438 + .../simulator/src/languages/tst.test.ts | 507 + web-ide-main/simulator/src/languages/tst.ts | 272 + .../simulator/src/languages/vm.test.ts | 495 + web-ide-main/simulator/src/languages/vm.ts | 260 + web-ide-main/simulator/src/loader.ts | 30 + web-ide-main/simulator/src/output.test.ts | 115 + web-ide-main/simulator/src/output.ts | 109 + .../simulator/src/projects/all.test.ts | 159 + web-ide-main/simulator/src/projects/runner.ts | 137 + web-ide-main/simulator/src/setupTests.ts | 101 + web-ide-main/simulator/src/test/builder.ts | 154 + .../simulator/src/test/chiptst.test.ts | 213 + web-ide-main/simulator/src/test/chiptst.ts | 160 + web-ide-main/simulator/src/test/cputst.ts | 187 + .../simulator/src/test/instruction.ts | 293 + web-ide-main/simulator/src/test/tst.ts | 176 + web-ide-main/simulator/src/test/vmtst.test.ts | 38 + web-ide-main/simulator/src/test/vmtst.ts | 167 + web-ide-main/simulator/src/testing/fill.ts | 82 + web-ide-main/simulator/src/testing/mult.ts | 72 + web-ide-main/simulator/src/timer.ts | 99 + web-ide-main/simulator/src/types.ts | 2 + web-ide-main/simulator/src/util/asm.test.ts | 30 + web-ide-main/simulator/src/util/asm.ts | 116 + web-ide-main/simulator/src/util/twos.test.ts | 68 + web-ide-main/simulator/src/util/twos.ts | 129 + .../simulator/src/vm/builtins.test.ts | 75 + web-ide-main/simulator/src/vm/builtins.ts | 504 + web-ide-main/simulator/src/vm/memory.ts | 263 + web-ide-main/simulator/src/vm/os/errors.ts | 24 + web-ide-main/simulator/src/vm/os/font.ts | 1251 + web-ide-main/simulator/src/vm/os/keyboard.ts | 151 + web-ide-main/simulator/src/vm/os/memory.ts | 69 + web-ide-main/simulator/src/vm/os/os.ts | 34 + web-ide-main/simulator/src/vm/os/output.ts | 119 + web-ide-main/simulator/src/vm/os/screen.ts | 127 + web-ide-main/simulator/src/vm/os/string.ts | 137 + web-ide-main/simulator/src/vm/os/sys.ts | 83 + web-ide-main/simulator/src/vm/vm.test.ts | 402 + web-ide-main/simulator/src/vm/vm.ts | 967 + web-ide-main/simulator/tsconfig.json | 9 + web-ide-main/stamp.sh | 36 + web-ide-main/tsconfig.base.json | 38 + web-ide-main/tsconfig.json | 12 + web-ide-main/web/.gitignore | 1 + web-ide-main/web/package.json | 107 + web-ide-main/web/public/.gitignore | 1 + web-ide-main/web/public/favicon.svg | 51 + web-ide-main/web/public/index.html | 24 + web-ide-main/web/public/jet_brains_mono.ttf | Bin 0 -> 112176 bytes web-ide-main/web/public/logo_192.png | Bin 0 -> 13714 bytes web-ide-main/web/public/logo_512.png | Bin 0 -> 23307 bytes web-ide-main/web/public/manifest.json | 42 + web-ide-main/web/public/pico.min.css | 5 + web-ide-main/web/public/poppins_400.ttf | Bin 0 -> 154628 bytes web-ide-main/web/public/poppins_700.ttf | Bin 0 -> 150292 bytes web-ide-main/web/public/robots.txt | 3 + web-ide-main/web/public/root.css | 28 + .../web/public/user_guide/01_chip_empty.png | Bin 0 -> 876099 bytes .../user_guide/01_chip_empty_mobile.png | Bin 0 -> 225644 bytes .../public/user_guide/02_chip_simple_nand.png | Bin 0 -> 869639 bytes .../web/public/user_guide/03_chip_complex.png | Bin 0 -> 926681 bytes .../04_chip_complex_implemented.png | Bin 0 -> 946289 bytes .../04_chip_complex_syntax_error.png | Bin 0 -> 925882 bytes .../05_chip_complex_failed_test.png | Bin 0 -> 914423 bytes .../06_chip_complex_passed_test.png | Bin 0 -> 904934 bytes .../web/public/user_guide/07_settings.png | Bin 0 -> 1446469 bytes web-ide-main/web/public/user_guide/asm.pdf | Bin 0 -> 63895 bytes .../web/public/user_guide/bitmap_editor.pdf | Bin 0 -> 57182 bytes web-ide-main/web/public/user_guide/chip.pdf | Bin 0 -> 89280 bytes .../web/public/user_guide/compiler.pdf | Bin 0 -> 63635 bytes web-ide-main/web/public/user_guide/cpu.pdf | Bin 0 -> 79421 bytes .../web/public/user_guide/file_system.pdf | Bin 0 -> 69196 bytes web-ide-main/web/public/user_guide/vm.pdf | Bin 0 -> 74266 bytes web-ide-main/web/scripts/predeploy.js | 27 + web-ide-main/web/src/.gitignore | 1 + web-ide-main/web/src/App.context.ts | 93 + web-ide-main/web/src/App.tsx | 106 + web-ide-main/web/src/ErrorBoundary.tsx | 60 + web-ide-main/web/src/Page.context.tsx | 89 + web-ide-main/web/src/index.tsx | 27 + web-ide-main/web/src/languages/asm.ts | 13 + web-ide-main/web/src/languages/base.ts | 23 + web-ide-main/web/src/languages/cmp.ts | 19 + web-ide-main/web/src/languages/hdl.ts | 170 + web-ide-main/web/src/languages/jack.ts | 45 + web-ide-main/web/src/languages/loader.js | 37 + web-ide-main/web/src/languages/tst.ts | 72 + web-ide-main/web/src/languages/vm.ts | 54 + web-ide-main/web/src/locales.ts | 5 + web-ide-main/web/src/pages/ABOUT.md | 37 + web-ide-main/web/src/pages/USER_GUIDE.md | 56 + web-ide-main/web/src/pages/about.tsx | 26 + web-ide-main/web/src/pages/asm.scss | 33 + web-ide-main/web/src/pages/asm.tsx | 341 + web-ide-main/web/src/pages/bitmap.scss | 237 + web-ide-main/web/src/pages/bitmap.tsx | 892 + web-ide-main/web/src/pages/chip.scss | 71 + web-ide-main/web/src/pages/chip.test.tsx | 47 + web-ide-main/web/src/pages/chip.tsx | 416 + web-ide-main/web/src/pages/compiler.scss | 21 + web-ide-main/web/src/pages/compiler.tsx | 323 + web-ide-main/web/src/pages/cpu.scss | 49 + web-ide-main/web/src/pages/cpu.tsx | 257 + .../src/pages/guides/HARDWARE_SIMULATOR.md | 29 + .../web/src/pages/guides/chip_guide.tsx | 14 + web-ide-main/web/src/pages/home.tsx | 121 + web-ide-main/web/src/pages/page.scss | 15 + web-ide-main/web/src/pages/redirect.tsx | 16 + web-ide-main/web/src/pages/util.scss | 3 + web-ide-main/web/src/pages/util.tsx | 178 + web-ide-main/web/src/pages/vm.scss | 67 + web-ide-main/web/src/pages/vm.tsx | 486 + web-ide-main/web/src/pico/accordion.scss | 111 + web-ide-main/web/src/pico/button-group.scss | 37 + web-ide-main/web/src/pico/flex.scss | 54 + web-ide-main/web/src/pico/icon.scss | 39 + web-ide-main/web/src/pico/icon.tsx | 5 + web-ide-main/web/src/pico/inline_edit.tsx | 78 + web-ide-main/web/src/pico/pico.scss | 193 + web-ide-main/web/src/pico/property.scss | 33 + web-ide-main/web/src/react-app-env.d.ts | 1 + web-ide-main/web/src/reportWebVitals.ts | 15 + web-ide-main/web/src/service-worker.ts | 138 + .../web/src/serviceWorkerRegistration.ts | 147 + web-ide-main/web/src/setupTests.ts | 15 + web-ide-main/web/src/shell/Monaco.tsx | 277 + web-ide-main/web/src/shell/Tooltip.tsx | 338 + web-ide-main/web/src/shell/editor.mock.tsx | 17 + web-ide-main/web/src/shell/editor.scss | 66 + web-ide-main/web/src/shell/editor.tsx | 137 + web-ide-main/web/src/shell/file_select.scss | 14 + web-ide-main/web/src/shell/file_select.tsx | 334 + web-ide-main/web/src/shell/footer.tsx | 11 + web-ide-main/web/src/shell/header.tsx | 181 + web-ide-main/web/src/shell/markdown.tsx | 15 + web-ide-main/web/src/shell/panel.tsx | 46 + web-ide-main/web/src/shell/settings.scss | 41 + web-ide-main/web/src/shell/settings.tsx | 489 + web-ide-main/web/src/shell/statusline.scss | 33 + web-ide-main/web/src/shell/statusline.tsx | 11 + web-ide-main/web/src/shell/tab.scss | 98 + web-ide-main/web/src/shell/tabs.tsx | 75 + web-ide-main/web/src/shell/test_panel.tsx | 320 + web-ide-main/web/src/shell/zip.ts | 23 + web-ide-main/web/src/testing/index.tsx | 57 + web-ide-main/web/src/tracking.scss | 21 + web-ide-main/web/src/tracking.tsx | 179 + web-ide-main/web/src/urls.tsx | 67 + web-ide-main/web/src/utils/bitmapUtils.ts | 157 + web-ide-main/web/src/versions.ts | 96 + web-ide-main/web/tsconfig.json | 10 + 489 files changed, 186891 insertions(+) create mode 100644 web-ide-main/.github/ISSUE_TEMPLATE/bug.yaml create mode 100644 web-ide-main/.github/ISSUE_TEMPLATE/feature.yaml create mode 100644 web-ide-main/.github/workflows/deploy.yaml create mode 100644 web-ide-main/.github/workflows/extension.yaml create mode 100644 web-ide-main/.github/workflows/test.yaml create mode 100644 web-ide-main/.gitignore create mode 100644 web-ide-main/.npmrc create mode 100644 web-ide-main/.prettierconfig.yaml create mode 100644 web-ide-main/.prettierignore create mode 100644 web-ide-main/.vscode/launch.json create mode 100644 web-ide-main/CODE_OF_CONDUCT.md create mode 100644 web-ide-main/CONTRIBUTING.md create mode 100644 web-ide-main/LICENSE create mode 100644 web-ide-main/README.md create mode 100644 web-ide-main/biome.json create mode 100644 web-ide-main/cli/package.json create mode 100644 web-ide-main/cli/src/grading.ts create mode 100644 web-ide-main/cli/src/index.ts create mode 100644 web-ide-main/cli/src/testrunner.ts create mode 100644 web-ide-main/cli/tsconfig.json create mode 100644 web-ide-main/components/package.json create mode 100644 web-ide-main/components/src/chips/alu.tsx create mode 100644 web-ide-main/components/src/chips/keyboard.tsx create mode 100644 web-ide-main/components/src/chips/memory.test.tsx create mode 100644 web-ide-main/components/src/chips/memory.tsx create mode 100644 web-ide-main/components/src/chips/register.tsx create mode 100644 web-ide-main/components/src/chips/screen.tsx create mode 100644 web-ide-main/components/src/chips/visualizations.test.tsx create mode 100644 web-ide-main/components/src/chips/visualizations.tsx create mode 100644 web-ide-main/components/src/clockface.tsx create mode 100644 web-ide-main/components/src/compare.ts create mode 100644 web-ide-main/components/src/dialog.tsx create mode 100644 web-ide-main/components/src/difftable.tsx create mode 100644 web-ide-main/components/src/file_utils.ts create mode 100644 web-ide-main/components/src/i18n.tsx create mode 100644 web-ide-main/components/src/inline_edit.tsx create mode 100644 web-ide-main/components/src/messages.ts create mode 100644 web-ide-main/components/src/pin_display.ts create mode 100644 web-ide-main/components/src/pinout.test.tsx create mode 100644 web-ide-main/components/src/pinout.tsx create mode 100644 web-ide-main/components/src/public/alu.css create mode 100644 web-ide-main/components/src/public/pin.css create mode 100644 web-ide-main/components/src/react.ts create mode 100644 web-ide-main/components/src/runbar.tsx create mode 100644 web-ide-main/components/src/setupTests.ts create mode 100644 web-ide-main/components/src/stores/asm.store.ts create mode 100644 web-ide-main/components/src/stores/base.context.ts create mode 100644 web-ide-main/components/src/stores/base/fs.ts create mode 100644 web-ide-main/components/src/stores/base/indexDb.ts create mode 100644 web-ide-main/components/src/stores/chip.store.test.ts create mode 100644 web-ide-main/components/src/stores/chip.store.ts create mode 100644 web-ide-main/components/src/stores/compiler.store.ts create mode 100644 web-ide-main/components/src/stores/cpu.store.ts create mode 100644 web-ide-main/components/src/stores/imm_memory.ts create mode 100644 web-ide-main/components/src/stores/vm.store.ts create mode 100644 web-ide-main/components/src/table.tsx create mode 100644 web-ide-main/components/src/timer.tsx create mode 100644 web-ide-main/components/src/virtual_scroll.test.tsx create mode 100644 web-ide-main/components/src/virtual_scroll.tsx create mode 100644 web-ide-main/components/tsconfig.json create mode 100644 web-ide-main/extension/.gitignore create mode 100644 web-ide-main/extension/.vscodeignore create mode 100644 web-ide-main/extension/LICENSE create mode 100644 web-ide-main/extension/README.md create mode 100644 web-ide-main/extension/fileicons/icon-theme.json create mode 100644 web-ide-main/extension/fileicons/images/cmp-out.svg create mode 100644 web-ide-main/extension/fileicons/images/hack.svg create mode 100644 web-ide-main/extension/fileicons/images/hdl.svg create mode 100644 web-ide-main/extension/fileicons/images/jack.svg create mode 100644 web-ide-main/extension/fileicons/images/tst.svg create mode 100644 web-ide-main/extension/fileicons/images/vm.svg create mode 100644 web-ide-main/extension/fileicons/logo.svg create mode 100644 web-ide-main/extension/languages/asm.snippets.json.code-snippets create mode 100644 web-ide-main/extension/languages/asm.tmLanguage.json create mode 100644 web-ide-main/extension/languages/cmp-out.tmLanguage.json create mode 100644 web-ide-main/extension/languages/hack.tmLanguage.json create mode 100644 web-ide-main/extension/languages/hdl.snippets.json.code-snippets create mode 100644 web-ide-main/extension/languages/hdl.tmLanguage.json create mode 100644 web-ide-main/extension/languages/jack.snippets.json.code-snippets create mode 100644 web-ide-main/extension/languages/jack.tmLanguage.json create mode 100644 web-ide-main/extension/languages/language-configuration.json create mode 100644 web-ide-main/extension/languages/tst.snippets.json.code-snippets create mode 100644 web-ide-main/extension/languages/tst.tmLanguage.json create mode 100644 web-ide-main/extension/languages/vm.snippets.json.code-snippets create mode 100644 web-ide-main/extension/languages/vm.tmLanguage.json create mode 100644 web-ide-main/extension/package.json create mode 100644 web-ide-main/extension/src/commands.ts create mode 100644 web-ide-main/extension/src/commands/hardware.ts create mode 100644 web-ide-main/extension/src/diagnostics.ts create mode 100644 web-ide-main/extension/src/extension.ts create mode 100644 web-ide-main/extension/src/languages/base.ts create mode 100644 web-ide-main/extension/src/languages/cmp.ts create mode 100644 web-ide-main/extension/src/languages/hdl.ts create mode 100644 web-ide-main/extension/src/languages/index.ts create mode 100644 web-ide-main/extension/src/languages/tst.ts create mode 100644 web-ide-main/extension/src/views/hdl.ts create mode 100644 web-ide-main/extension/tsconfig.json create mode 100644 web-ide-main/extension/views/base/package.json create mode 100644 web-ide-main/extension/views/base/src/index.css create mode 100644 web-ide-main/extension/views/hdl/.gitignore create mode 100644 web-ide-main/extension/views/hdl/README.md create mode 100644 web-ide-main/extension/views/hdl/package.json create mode 100644 web-ide-main/extension/views/hdl/public/favicon.ico create mode 100644 web-ide-main/extension/views/hdl/public/index.html create mode 100644 web-ide-main/extension/views/hdl/public/logo192.png create mode 100644 web-ide-main/extension/views/hdl/public/logo512.png create mode 100644 web-ide-main/extension/views/hdl/public/manifest.json create mode 100644 web-ide-main/extension/views/hdl/public/robots.txt create mode 100644 web-ide-main/extension/views/hdl/public/styles.css create mode 100644 web-ide-main/extension/views/hdl/public/vars.css create mode 100644 web-ide-main/extension/views/hdl/scripts/build-react-no-split.js create mode 100644 web-ide-main/extension/views/hdl/src/App.tsx create mode 100644 web-ide-main/extension/views/hdl/src/index.tsx create mode 100644 web-ide-main/extension/views/hdl/src/react-app-env.d.ts create mode 100644 web-ide-main/extension/views/hdl/src/setupTests.ts create mode 100644 web-ide-main/extension/views/hdl/src/vscode.ts create mode 100644 web-ide-main/extension/views/hdl/tsconfig.json create mode 100644 web-ide-main/package-lock.json create mode 100644 web-ide-main/package.json create mode 100644 web-ide-main/projects/package.json create mode 100644 web-ide-main/projects/src/base.ts create mode 100644 web-ide-main/projects/src/full.ts create mode 100644 web-ide-main/projects/src/loader.ts create mode 100644 web-ide-main/projects/src/project_01/00_nand.ts create mode 100644 web-ide-main/projects/src/project_01/01_not.ts create mode 100644 web-ide-main/projects/src/project_01/02_and.ts create mode 100644 web-ide-main/projects/src/project_01/03_or.ts create mode 100644 web-ide-main/projects/src/project_01/04_xor.ts create mode 100644 web-ide-main/projects/src/project_01/05_mux.ts create mode 100644 web-ide-main/projects/src/project_01/06_dmux.ts create mode 100644 web-ide-main/projects/src/project_01/07_not16.ts create mode 100644 web-ide-main/projects/src/project_01/08_and16.ts create mode 100644 web-ide-main/projects/src/project_01/09_or16.ts create mode 100644 web-ide-main/projects/src/project_01/10_mux16.ts create mode 100644 web-ide-main/projects/src/project_01/11_mux4way16.ts create mode 100644 web-ide-main/projects/src/project_01/12_mux8way16.ts create mode 100644 web-ide-main/projects/src/project_01/13_dmux4way.ts create mode 100644 web-ide-main/projects/src/project_01/14_dmux8way.ts create mode 100644 web-ide-main/projects/src/project_01/15_or8way.ts create mode 100644 web-ide-main/projects/src/project_01/index.ts create mode 100644 web-ide-main/projects/src/project_02/01_half_adder.ts create mode 100644 web-ide-main/projects/src/project_02/02_full_adder.ts create mode 100644 web-ide-main/projects/src/project_02/03_add16.ts create mode 100644 web-ide-main/projects/src/project_02/04_inc16.ts create mode 100644 web-ide-main/projects/src/project_02/05_alu_no_stat.ts create mode 100644 web-ide-main/projects/src/project_02/06_alu.ts create mode 100644 web-ide-main/projects/src/project_02/06_alu_all.ts create mode 100644 web-ide-main/projects/src/project_02/index.ts create mode 100644 web-ide-main/projects/src/project_03/00_dff.ts create mode 100644 web-ide-main/projects/src/project_03/01_bit.ts create mode 100644 web-ide-main/projects/src/project_03/02_register.ts create mode 100644 web-ide-main/projects/src/project_03/03_pc.ts create mode 100644 web-ide-main/projects/src/project_03/04_ram8.ts create mode 100644 web-ide-main/projects/src/project_03/05_ram64.ts create mode 100644 web-ide-main/projects/src/project_03/06_ram512.ts create mode 100644 web-ide-main/projects/src/project_03/07_ram4k.ts create mode 100644 web-ide-main/projects/src/project_03/08_ram16k.ts create mode 100644 web-ide-main/projects/src/project_03/index.ts create mode 100644 web-ide-main/projects/src/project_04/01_mult.ts create mode 100644 web-ide-main/projects/src/project_04/02_fill.ts create mode 100644 web-ide-main/projects/src/project_04/index.ts create mode 100644 web-ide-main/projects/src/project_05/01_memory.ts create mode 100644 web-ide-main/projects/src/project_05/02_cpu.ts create mode 100644 web-ide-main/projects/src/project_05/03_computer.ts create mode 100644 web-ide-main/projects/src/project_05/04_screen.ts create mode 100644 web-ide-main/projects/src/project_05/05_keyboard.ts create mode 100644 web-ide-main/projects/src/project_05/06_d_register.ts create mode 100644 web-ide-main/projects/src/project_05/07_a_register.ts create mode 100644 web-ide-main/projects/src/project_05/08_rom32k.ts create mode 100644 web-ide-main/projects/src/project_05/index.ts create mode 100644 web-ide-main/projects/src/project_05/make_samples.sh create mode 100644 web-ide-main/projects/src/project_07/11_simple_add.ts create mode 100644 web-ide-main/projects/src/project_07/12_stack_test.ts create mode 100644 web-ide-main/projects/src/project_07/21_basic_test.ts create mode 100644 web-ide-main/projects/src/project_07/22_pointer_test.ts create mode 100644 web-ide-main/projects/src/project_07/23_static_test.ts create mode 100644 web-ide-main/projects/src/project_07/index.ts create mode 100644 web-ide-main/projects/src/project_08/11_basic_loop.ts create mode 100644 web-ide-main/projects/src/project_08/12_fibonacci_series.ts create mode 100644 web-ide-main/projects/src/project_08/20_simple_function.ts create mode 100644 web-ide-main/projects/src/project_08/21_nested_call.ts create mode 100644 web-ide-main/projects/src/project_08/22_fibonacci_element.ts create mode 100644 web-ide-main/projects/src/project_08/23_statics_test.ts create mode 100644 web-ide-main/projects/src/project_08/index.ts create mode 100644 web-ide-main/projects/src/reset.ts create mode 100644 web-ide-main/projects/src/samples/Mult.cmp create mode 100644 web-ide-main/projects/src/samples/Mult.tst create mode 100644 web-ide-main/projects/src/samples/asm.ts create mode 100644 web-ide-main/projects/src/samples/hack.ts create mode 100644 web-ide-main/projects/src/samples/hack/Fill.asm create mode 100644 web-ide-main/projects/src/samples/hack/FillAlt1.asm create mode 100644 web-ide-main/projects/src/samples/hack/FillAlt2.asm create mode 100644 web-ide-main/projects/src/samples/hack/Life.asm create mode 100644 web-ide-main/projects/src/samples/hack/Life.hack create mode 100644 web-ide-main/projects/src/samples/hack/Max.asm create mode 100644 web-ide-main/projects/src/samples/hack/Max.tst create mode 100644 web-ide-main/projects/src/samples/hack/Mult.asm create mode 100644 web-ide-main/projects/src/samples/hack/Pong.asm create mode 100644 web-ide-main/projects/src/samples/hack/zero create mode 100644 web-ide-main/projects/src/samples/index.ts create mode 100644 web-ide-main/projects/src/samples/project_06/01_add.ts create mode 100644 web-ide-main/projects/src/samples/project_06/02_max.ts create mode 100644 web-ide-main/projects/src/samples/project_06/03_rect.ts create mode 100644 web-ide-main/projects/src/samples/project_06/04_pong.ts create mode 100644 web-ide-main/projects/src/samples/project_06/04_pong_asm.ts create mode 100644 web-ide-main/projects/src/samples/project_06/05_fill.ts create mode 100644 web-ide-main/projects/src/samples/project_06/index.ts create mode 100644 web-ide-main/projects/src/samples/project_11/average.ts create mode 100644 web-ide-main/projects/src/samples/project_11/complex_arrays.ts create mode 100644 web-ide-main/projects/src/samples/project_11/convert_to_bin.ts create mode 100644 web-ide-main/projects/src/samples/project_11/index.ts create mode 100644 web-ide-main/projects/src/samples/project_11/pong/ball.ts create mode 100644 web-ide-main/projects/src/samples/project_11/pong/bat.ts create mode 100644 web-ide-main/projects/src/samples/project_11/pong/main.ts create mode 100644 web-ide-main/projects/src/samples/project_11/pong/pong_game.ts create mode 100644 web-ide-main/projects/src/samples/project_11/seven.ts create mode 100644 web-ide-main/projects/src/samples/project_11/square/main.ts create mode 100644 web-ide-main/projects/src/samples/project_11/square/square.ts create mode 100644 web-ide-main/projects/src/samples/project_11/square/square_game.ts create mode 100644 web-ide-main/projects/src/samples/tst.ts create mode 100644 web-ide-main/projects/src/samples/vm/fibonnaci.ts create mode 100644 web-ide-main/projects/src/samples/vm/vm.ts create mode 100644 web-ide-main/projects/src/testing/index.ts create mode 100644 web-ide-main/projects/src/testing/project_01/01_not.ts create mode 100644 web-ide-main/projects/src/testing/project_01/02_and.ts create mode 100644 web-ide-main/projects/src/testing/project_01/03_or.ts create mode 100644 web-ide-main/projects/src/testing/project_01/04_xor.ts create mode 100644 web-ide-main/projects/src/testing/project_01/05_mux.ts create mode 100644 web-ide-main/projects/src/testing/project_01/06_dmux.ts create mode 100644 web-ide-main/projects/src/testing/project_01/07_not16.ts create mode 100644 web-ide-main/projects/src/testing/project_01/08_and16.ts create mode 100644 web-ide-main/projects/src/testing/project_01/09_or16.ts create mode 100644 web-ide-main/projects/src/testing/project_01/10_mux16.ts create mode 100644 web-ide-main/projects/src/testing/project_01/11_mux4way16.ts create mode 100644 web-ide-main/projects/src/testing/project_01/12_mux8way16.ts create mode 100644 web-ide-main/projects/src/testing/project_01/13_dmux4way.ts create mode 100644 web-ide-main/projects/src/testing/project_01/14_dmux8way.ts create mode 100644 web-ide-main/projects/src/testing/project_01/15_or8way.ts create mode 100644 web-ide-main/projects/src/testing/project_01/index.ts create mode 100644 web-ide-main/projects/src/testing/project_02/01_half_adder.ts create mode 100644 web-ide-main/projects/src/testing/project_02/02_full_adder.ts create mode 100644 web-ide-main/projects/src/testing/project_02/03_add16.ts create mode 100644 web-ide-main/projects/src/testing/project_02/04_inc16.ts create mode 100644 web-ide-main/projects/src/testing/project_02/05_alu_no_stat.ts create mode 100644 web-ide-main/projects/src/testing/project_02/06_alu.ts create mode 100644 web-ide-main/projects/src/testing/project_02/index.ts create mode 100644 web-ide-main/projects/src/testing/project_03/01_bit.ts create mode 100644 web-ide-main/projects/src/testing/project_03/02_register.ts create mode 100644 web-ide-main/projects/src/testing/project_03/03_pc.ts create mode 100644 web-ide-main/projects/src/testing/project_03/04_ram8.ts create mode 100644 web-ide-main/projects/src/testing/project_03/05_ram64.ts create mode 100644 web-ide-main/projects/src/testing/project_03/06_ram512.ts create mode 100644 web-ide-main/projects/src/testing/project_03/07_ram4k.ts create mode 100644 web-ide-main/projects/src/testing/project_03/08_ram16k.ts create mode 100644 web-ide-main/projects/src/testing/project_03/index.ts create mode 100644 web-ide-main/projects/src/testing/project_05/01_memory.ts create mode 100644 web-ide-main/projects/src/testing/project_05/02_cpu.ts create mode 100644 web-ide-main/projects/src/testing/project_05/03_computer.ts create mode 100644 web-ide-main/projects/src/testing/project_05/index.ts create mode 100644 web-ide-main/projects/tsconfig.json create mode 100644 web-ide-main/runner/data/Not.cmp create mode 100644 web-ide-main/runner/data/Not.out create mode 100644 web-ide-main/runner/data/Not.tst create mode 100644 web-ide-main/runner/package.json create mode 100644 web-ide-main/runner/src/index.ts create mode 100644 web-ide-main/runner/src/types.ts create mode 100644 web-ide-main/runner/tsconfig.json create mode 100644 web-ide-main/simulator/babel.config.cjs create mode 100644 web-ide-main/simulator/jest.config.mjs create mode 100644 web-ide-main/simulator/package.json create mode 100644 web-ide-main/simulator/src/.gitignore create mode 100644 web-ide-main/simulator/src/chip/builder.test.ts create mode 100644 web-ide-main/simulator/src/chip/builder.ts create mode 100644 web-ide-main/simulator/src/chip/builtin.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/all.test.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/arithmetic/add_16.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/arithmetic/alu.tsx create mode 100644 web-ide-main/simulator/src/chip/builtins/arithmetic/full_adder.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/arithmetic/half_adder.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/arithmetic/inc16.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/builtinOverrides.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/computer/README.md create mode 100644 web-ide-main/simulator/src/chip/builtins/computer/computer.test.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/computer/computer.tsx create mode 100644 web-ide-main/simulator/src/chip/builtins/index.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/logic/and.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/logic/dmux.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/logic/mux.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/logic/nand.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/logic/not.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/logic/or.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/logic/xor.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/sequential/bit.tsx create mode 100644 web-ide-main/simulator/src/chip/builtins/sequential/dff.ts create mode 100644 web-ide-main/simulator/src/chip/builtins/sequential/ram.tsx create mode 100644 web-ide-main/simulator/src/chip/chip.test.ts create mode 100644 web-ide-main/simulator/src/chip/chip.ts create mode 100644 web-ide-main/simulator/src/chip/clock.ts create mode 100644 web-ide-main/simulator/src/chip/errors.txt create mode 100644 web-ide-main/simulator/src/compare.test.ts create mode 100644 web-ide-main/simulator/src/compare.ts create mode 100644 web-ide-main/simulator/src/cpu/alu.test.ts create mode 100644 web-ide-main/simulator/src/cpu/alu.ts create mode 100644 web-ide-main/simulator/src/cpu/cpu.test.ts create mode 100644 web-ide-main/simulator/src/cpu/cpu.ts create mode 100644 web-ide-main/simulator/src/cpu/memory.ts create mode 100644 web-ide-main/simulator/src/fs.ts create mode 100644 web-ide-main/simulator/src/jack/compiler.test.ts create mode 100644 web-ide-main/simulator/src/jack/compiler.ts create mode 100644 web-ide-main/simulator/src/jack/controlFlow.ts create mode 100644 web-ide-main/simulator/src/languages/asm.test.ts create mode 100644 web-ide-main/simulator/src/languages/asm.ts create mode 100644 web-ide-main/simulator/src/languages/base.test.ts create mode 100644 web-ide-main/simulator/src/languages/base.ts create mode 100644 web-ide-main/simulator/src/languages/cmp.test.ts create mode 100644 web-ide-main/simulator/src/languages/cmp.ts create mode 100644 web-ide-main/simulator/src/languages/grammars/.gitignore create mode 100644 web-ide-main/simulator/src/languages/grammars/asm.ohm create mode 100644 web-ide-main/simulator/src/languages/grammars/asm.ohm.js create mode 100644 web-ide-main/simulator/src/languages/grammars/base.ohm create mode 100644 web-ide-main/simulator/src/languages/grammars/base.ohm.js create mode 100644 web-ide-main/simulator/src/languages/grammars/cmp.ohm create mode 100644 web-ide-main/simulator/src/languages/grammars/cmp.ohm.js create mode 100644 web-ide-main/simulator/src/languages/grammars/hdl.ohm create mode 100644 web-ide-main/simulator/src/languages/grammars/hdl.ohm.js create mode 100644 web-ide-main/simulator/src/languages/grammars/jack.ohm create mode 100644 web-ide-main/simulator/src/languages/grammars/jack.ohm.js create mode 100644 web-ide-main/simulator/src/languages/grammars/prep.sh create mode 100644 web-ide-main/simulator/src/languages/grammars/tst.ohm create mode 100644 web-ide-main/simulator/src/languages/grammars/tst.ohm.js create mode 100644 web-ide-main/simulator/src/languages/grammars/vm.js create mode 100644 web-ide-main/simulator/src/languages/grammars/vm.ohm create mode 100644 web-ide-main/simulator/src/languages/grammars/vm.ohm.js create mode 100644 web-ide-main/simulator/src/languages/hdl.test.ts create mode 100644 web-ide-main/simulator/src/languages/hdl.ts create mode 100644 web-ide-main/simulator/src/languages/jack.test.ts create mode 100644 web-ide-main/simulator/src/languages/jack.ts create mode 100644 web-ide-main/simulator/src/languages/tst.test.ts create mode 100644 web-ide-main/simulator/src/languages/tst.ts create mode 100644 web-ide-main/simulator/src/languages/vm.test.ts create mode 100644 web-ide-main/simulator/src/languages/vm.ts create mode 100644 web-ide-main/simulator/src/loader.ts create mode 100644 web-ide-main/simulator/src/output.test.ts create mode 100644 web-ide-main/simulator/src/output.ts create mode 100644 web-ide-main/simulator/src/projects/all.test.ts create mode 100644 web-ide-main/simulator/src/projects/runner.ts create mode 100644 web-ide-main/simulator/src/setupTests.ts create mode 100644 web-ide-main/simulator/src/test/builder.ts create mode 100644 web-ide-main/simulator/src/test/chiptst.test.ts create mode 100644 web-ide-main/simulator/src/test/chiptst.ts create mode 100644 web-ide-main/simulator/src/test/cputst.ts create mode 100644 web-ide-main/simulator/src/test/instruction.ts create mode 100644 web-ide-main/simulator/src/test/tst.ts create mode 100644 web-ide-main/simulator/src/test/vmtst.test.ts create mode 100644 web-ide-main/simulator/src/test/vmtst.ts create mode 100644 web-ide-main/simulator/src/testing/fill.ts create mode 100644 web-ide-main/simulator/src/testing/mult.ts create mode 100644 web-ide-main/simulator/src/timer.ts create mode 100644 web-ide-main/simulator/src/types.ts create mode 100644 web-ide-main/simulator/src/util/asm.test.ts create mode 100644 web-ide-main/simulator/src/util/asm.ts create mode 100644 web-ide-main/simulator/src/util/twos.test.ts create mode 100644 web-ide-main/simulator/src/util/twos.ts create mode 100644 web-ide-main/simulator/src/vm/builtins.test.ts create mode 100644 web-ide-main/simulator/src/vm/builtins.ts create mode 100644 web-ide-main/simulator/src/vm/memory.ts create mode 100644 web-ide-main/simulator/src/vm/os/errors.ts create mode 100644 web-ide-main/simulator/src/vm/os/font.ts create mode 100644 web-ide-main/simulator/src/vm/os/keyboard.ts create mode 100644 web-ide-main/simulator/src/vm/os/memory.ts create mode 100644 web-ide-main/simulator/src/vm/os/os.ts create mode 100644 web-ide-main/simulator/src/vm/os/output.ts create mode 100644 web-ide-main/simulator/src/vm/os/screen.ts create mode 100644 web-ide-main/simulator/src/vm/os/string.ts create mode 100644 web-ide-main/simulator/src/vm/os/sys.ts create mode 100644 web-ide-main/simulator/src/vm/vm.test.ts create mode 100644 web-ide-main/simulator/src/vm/vm.ts create mode 100644 web-ide-main/simulator/tsconfig.json create mode 100644 web-ide-main/stamp.sh create mode 100644 web-ide-main/tsconfig.base.json create mode 100644 web-ide-main/tsconfig.json create mode 100644 web-ide-main/web/.gitignore create mode 100644 web-ide-main/web/package.json create mode 100644 web-ide-main/web/public/.gitignore create mode 100644 web-ide-main/web/public/favicon.svg create mode 100644 web-ide-main/web/public/index.html create mode 100644 web-ide-main/web/public/jet_brains_mono.ttf create mode 100644 web-ide-main/web/public/logo_192.png create mode 100644 web-ide-main/web/public/logo_512.png create mode 100644 web-ide-main/web/public/manifest.json create mode 100644 web-ide-main/web/public/pico.min.css create mode 100644 web-ide-main/web/public/poppins_400.ttf create mode 100644 web-ide-main/web/public/poppins_700.ttf create mode 100644 web-ide-main/web/public/robots.txt create mode 100644 web-ide-main/web/public/root.css create mode 100644 web-ide-main/web/public/user_guide/01_chip_empty.png create mode 100644 web-ide-main/web/public/user_guide/01_chip_empty_mobile.png create mode 100644 web-ide-main/web/public/user_guide/02_chip_simple_nand.png create mode 100644 web-ide-main/web/public/user_guide/03_chip_complex.png create mode 100644 web-ide-main/web/public/user_guide/04_chip_complex_implemented.png create mode 100644 web-ide-main/web/public/user_guide/04_chip_complex_syntax_error.png create mode 100644 web-ide-main/web/public/user_guide/05_chip_complex_failed_test.png create mode 100644 web-ide-main/web/public/user_guide/06_chip_complex_passed_test.png create mode 100644 web-ide-main/web/public/user_guide/07_settings.png create mode 100644 web-ide-main/web/public/user_guide/asm.pdf create mode 100644 web-ide-main/web/public/user_guide/bitmap_editor.pdf create mode 100644 web-ide-main/web/public/user_guide/chip.pdf create mode 100644 web-ide-main/web/public/user_guide/compiler.pdf create mode 100644 web-ide-main/web/public/user_guide/cpu.pdf create mode 100644 web-ide-main/web/public/user_guide/file_system.pdf create mode 100644 web-ide-main/web/public/user_guide/vm.pdf create mode 100644 web-ide-main/web/scripts/predeploy.js create mode 100644 web-ide-main/web/src/.gitignore create mode 100644 web-ide-main/web/src/App.context.ts create mode 100644 web-ide-main/web/src/App.tsx create mode 100644 web-ide-main/web/src/ErrorBoundary.tsx create mode 100644 web-ide-main/web/src/Page.context.tsx create mode 100644 web-ide-main/web/src/index.tsx create mode 100644 web-ide-main/web/src/languages/asm.ts create mode 100644 web-ide-main/web/src/languages/base.ts create mode 100644 web-ide-main/web/src/languages/cmp.ts create mode 100644 web-ide-main/web/src/languages/hdl.ts create mode 100644 web-ide-main/web/src/languages/jack.ts create mode 100644 web-ide-main/web/src/languages/loader.js create mode 100644 web-ide-main/web/src/languages/tst.ts create mode 100644 web-ide-main/web/src/languages/vm.ts create mode 100644 web-ide-main/web/src/locales.ts create mode 100644 web-ide-main/web/src/pages/ABOUT.md create mode 100644 web-ide-main/web/src/pages/USER_GUIDE.md create mode 100644 web-ide-main/web/src/pages/about.tsx create mode 100644 web-ide-main/web/src/pages/asm.scss create mode 100644 web-ide-main/web/src/pages/asm.tsx create mode 100644 web-ide-main/web/src/pages/bitmap.scss create mode 100644 web-ide-main/web/src/pages/bitmap.tsx create mode 100644 web-ide-main/web/src/pages/chip.scss create mode 100644 web-ide-main/web/src/pages/chip.test.tsx create mode 100644 web-ide-main/web/src/pages/chip.tsx create mode 100644 web-ide-main/web/src/pages/compiler.scss create mode 100644 web-ide-main/web/src/pages/compiler.tsx create mode 100644 web-ide-main/web/src/pages/cpu.scss create mode 100644 web-ide-main/web/src/pages/cpu.tsx create mode 100644 web-ide-main/web/src/pages/guides/HARDWARE_SIMULATOR.md create mode 100644 web-ide-main/web/src/pages/guides/chip_guide.tsx create mode 100644 web-ide-main/web/src/pages/home.tsx create mode 100644 web-ide-main/web/src/pages/page.scss create mode 100644 web-ide-main/web/src/pages/redirect.tsx create mode 100644 web-ide-main/web/src/pages/util.scss create mode 100644 web-ide-main/web/src/pages/util.tsx create mode 100644 web-ide-main/web/src/pages/vm.scss create mode 100644 web-ide-main/web/src/pages/vm.tsx create mode 100644 web-ide-main/web/src/pico/accordion.scss create mode 100644 web-ide-main/web/src/pico/button-group.scss create mode 100644 web-ide-main/web/src/pico/flex.scss create mode 100644 web-ide-main/web/src/pico/icon.scss create mode 100644 web-ide-main/web/src/pico/icon.tsx create mode 100644 web-ide-main/web/src/pico/inline_edit.tsx create mode 100644 web-ide-main/web/src/pico/pico.scss create mode 100644 web-ide-main/web/src/pico/property.scss create mode 100644 web-ide-main/web/src/react-app-env.d.ts create mode 100644 web-ide-main/web/src/reportWebVitals.ts create mode 100644 web-ide-main/web/src/service-worker.ts create mode 100644 web-ide-main/web/src/serviceWorkerRegistration.ts create mode 100644 web-ide-main/web/src/setupTests.ts create mode 100644 web-ide-main/web/src/shell/Monaco.tsx create mode 100644 web-ide-main/web/src/shell/Tooltip.tsx create mode 100644 web-ide-main/web/src/shell/editor.mock.tsx create mode 100644 web-ide-main/web/src/shell/editor.scss create mode 100644 web-ide-main/web/src/shell/editor.tsx create mode 100644 web-ide-main/web/src/shell/file_select.scss create mode 100644 web-ide-main/web/src/shell/file_select.tsx create mode 100644 web-ide-main/web/src/shell/footer.tsx create mode 100644 web-ide-main/web/src/shell/header.tsx create mode 100644 web-ide-main/web/src/shell/markdown.tsx create mode 100644 web-ide-main/web/src/shell/panel.tsx create mode 100644 web-ide-main/web/src/shell/settings.scss create mode 100644 web-ide-main/web/src/shell/settings.tsx create mode 100644 web-ide-main/web/src/shell/statusline.scss create mode 100644 web-ide-main/web/src/shell/statusline.tsx create mode 100644 web-ide-main/web/src/shell/tab.scss create mode 100644 web-ide-main/web/src/shell/tabs.tsx create mode 100644 web-ide-main/web/src/shell/test_panel.tsx create mode 100644 web-ide-main/web/src/shell/zip.ts create mode 100644 web-ide-main/web/src/testing/index.tsx create mode 100644 web-ide-main/web/src/tracking.scss create mode 100644 web-ide-main/web/src/tracking.tsx create mode 100644 web-ide-main/web/src/urls.tsx create mode 100644 web-ide-main/web/src/utils/bitmapUtils.ts create mode 100644 web-ide-main/web/src/versions.ts create mode 100644 web-ide-main/web/tsconfig.json diff --git a/web-ide-main/.github/ISSUE_TEMPLATE/bug.yaml b/web-ide-main/.github/ISSUE_TEMPLATE/bug.yaml new file mode 100644 index 0000000..40bfee3 --- /dev/null +++ b/web-ide-main/.github/ISSUE_TEMPLATE/bug.yaml @@ -0,0 +1,69 @@ +name: Bug Report +description: File a bug report +type: "Bug" +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to fill out a bug report on the NAND2Tetris Web IDE or VSCode Extension + - type: dropdown + id: program + attributes: + label: Tool + description: Select the tool about which you wish to report the bug / issue + options: + - Hardware Simulator + - CPU Emulator + - Assembler + - VM Emulator + - Jack Compiler + - General + - type: dropdown + id: interface + attributes: + label: Interface + description: Which NAND2Tetris interface were you using? + options: + - Website (https://nand2tetris.github.io/web-ide) + - VSCode Extension (coming soon, or manually installed) + - type: input + id: contact + attributes: + label: Contact Details + description: How can we get in touch with you if we need more info? + placeholder: ex. email@example.com + validations: + required: false + - type: textarea + id: what-happened + attributes: + label: What happened? + description: Also tell us, what did you expect to happen? + placeholder: Tell us what you see! + value: "A bug happened!" + validations: + required: true + - type: textarea + id: additional-comments + attributes: + label: Additional Comments + description: What else, if anything, would you like to share with us? + placeholder: "Tell us anything!" + validations: + required: false + - type: checkboxes + id: self-fix + attributes: + label: Do you want to try to fix this bug? + description: The IDE is written in TypeScript, and includes React components. Do you want to try to fix the bug yourself (optional question)? If so, you can fork the repo, try to make the fix, and submit a PR. + options: + - label: I want to try to add this feature! + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nand2tetris/web-ide/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/web-ide-main/.github/ISSUE_TEMPLATE/feature.yaml b/web-ide-main/.github/ISSUE_TEMPLATE/feature.yaml new file mode 100644 index 0000000..4001d69 --- /dev/null +++ b/web-ide-main/.github/ISSUE_TEMPLATE/feature.yaml @@ -0,0 +1,69 @@ +name: Feature Request +description: Request to add or improve a feature +type: "Feature" +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to fill out a feature request on the NAND2Tetris Web IDE or VSCode Extension + - type: dropdown + id: program + attributes: + label: Tool + description: Select the tool for which you wish suggest a feature + options: + - Hardware Simulator + - CPU Emulator + - Assembler + - VM Emulator + - Jack Compiler + - General + - type: dropdown + id: interface + attributes: + label: Interface + description: Which NAND2Tetris interface were you using? + options: + - Website (https://nand2tetris.github.io/web-ide) + - VSCode Extension (coming soon, or manually installed) + - type: input + id: contact + attributes: + label: Contact Details + description: How can we get in touch with you if we need more info? + placeholder: ex. email@example.com + validations: + required: false + - type: textarea + id: what-happened + attributes: + label: What feature are you proposing? + description: Let us know + placeholder: Tell us what you see! + value: "Feature description" + validations: + required: true + - type: textarea + id: additional-comments + attributes: + label: Additional Comments + description: What else, if anything, would you like to share with us? + placeholder: Tell us anything! + validations: + required: false + - type: checkboxes + id: self-fix + attributes: + label: Do you want to try to add this feature? + description: The IDE is written in TypeScript, and includes React components. Do you want to try to implement this feature yourself? If so, you can fork the repo, try to make the fix, and submit a PR. + options: + - label: I want to try to add this feature! + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nand2tetris/web-ide/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/web-ide-main/.github/workflows/deploy.yaml b/web-ide-main/.github/workflows/deploy.yaml new file mode 100644 index 0000000..b03a095 --- /dev/null +++ b/web-ide-main/.github/workflows/deploy.yaml @@ -0,0 +1,51 @@ +name: Deploy to gh-pages + +on: + workflow_dispatch: + push: + branches: [main] + paths: + - simulator + - web + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js 20 + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Cache node modules + id: cache-npm + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ hashFiles('**/package-lock.json') }} + + - name: Install + run: npm install + + - name: CD + run: | + git config --global user.name $user_name + git config --global user.email $user_email + git remote set-url origin https://${github_token}@github.com/${repository} + ./stamp.sh + npm run build + npm run -w web deploy + VERSION=$(grep version package.json | awk -F\" '{print $4}') + git tag "$VERSION" main + git push origin "$VERSION" + git push origin main + env: + user_name: "github-actions[bot]" + user_email: "github-actions[bot]@users.noreply.github.com" + github_token: ${{ secrets.ACTIONS_DEPLOY_ACCESS_TOKEN }} + repository: ${{ github.repository }} diff --git a/web-ide-main/.github/workflows/extension.yaml b/web-ide-main/.github/workflows/extension.yaml new file mode 100644 index 0000000..4f8e022 --- /dev/null +++ b/web-ide-main/.github/workflows/extension.yaml @@ -0,0 +1,45 @@ +name: Build vscode extension + +on: + workflow_dispatch: + push: + branches: [main] + paths: + - simulator + - extension + +jobs: + package: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js 20 + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Cache node modules + id: cache-npm + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ hashFiles('**/package-lock.json') }} + + - name: Install + run: npm install + + - name: CD + run: | + npm run build + npm run -w extension package + + - name: Upload extension + uses: actions/upload-artifact@v3 + with: + name: nand2tetris-vscode + path: | + extension/nand2tetris-vscode-*.vsix diff --git a/web-ide-main/.github/workflows/test.yaml b/web-ide-main/.github/workflows/test.yaml new file mode 100644 index 0000000..a35b08f --- /dev/null +++ b/web-ide-main/.github/workflows/test.yaml @@ -0,0 +1,40 @@ +name: Run Workspace Tests + +on: + pull_request: + branches: ["main", "release/**"] + +jobs: + all: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js 20 + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Cache node modules + id: cache-npm + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ hashFiles('**/package-lock.json') }} + + - if: ${{ steps.cache-npm.outputs.cache-hit == 'false' }} + name: List the state of node modules + continue-on-error: true + run: npm list + + - name: Install + run: npm install + + - name: CI + run: npm run ci + env: + CI: true diff --git a/web-ide-main/.gitignore b/web-ide-main/.gitignore new file mode 100644 index 0000000..0bf2afc --- /dev/null +++ b/web-ide-main/.gitignore @@ -0,0 +1,26 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +node_modules +.pnp +.pnp.js + +# testing +coverage + +# production +build +dist +out +*.tsbuildinfo + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/web-ide-main/.npmrc b/web-ide-main/.npmrc new file mode 100644 index 0000000..f474e5c --- /dev/null +++ b/web-ide-main/.npmrc @@ -0,0 +1,3 @@ +# instruct npm to fail if the versions specified in the "engines" +# section of package.json are not satisfied +engine-strict=true diff --git a/web-ide-main/.prettierconfig.yaml b/web-ide-main/.prettierconfig.yaml new file mode 100644 index 0000000..2558f69 --- /dev/null +++ b/web-ide-main/.prettierconfig.yaml @@ -0,0 +1,24 @@ +arrowParens: "always" # default +bracketSameLine: false # default +bracketSpacing: true # default +embeddedLanguageFormatting: "auto" # default +endOfLine: "auto" # default is "lf" +filepath: "" # default +htmlWhitespaceSensitivity: "css" # default +insertPragma: false # default +# jsxBracketSameLine: false # deprecated +jsxSingleQuote: false # default +parser: "" # default +printWidth: 80 # default +proseWrap: "preserve" # default +quoteProps: "as-needed" # default +# rangeEnd: Infinity # default; "Infinity" can't be read as int +rangeStart: 0 # default +requirePragma: false # default +semi: true # default +singleAttributePerLine: false # default +singleQuote: false # default +tabWidth: 2 # default +trailingComma: "all" # default is "es5" +useTabs: false # default +vueIndentScriptAndStyle: false # default diff --git a/web-ide-main/.prettierignore b/web-ide-main/.prettierignore new file mode 100644 index 0000000..dc3086b --- /dev/null +++ b/web-ide-main/.prettierignore @@ -0,0 +1,3 @@ +projects/src/samples/project_06/04_pong_asm.ts +web/public/pico.min.css +web/src/locales \ No newline at end of file diff --git a/web-ide-main/.vscode/launch.json b/web-ide-main/.vscode/launch.json new file mode 100644 index 0000000..6b93aff --- /dev/null +++ b/web-ide-main/.vscode/launch.json @@ -0,0 +1,39 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Computron Tests", + "type": "node", + "request": "launch", + "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/react-scripts", + "args": ["test", "--runInBand", "--no-cache", "--env=jsdom", "${file}"], + "env": { "CI": "true" }, + "cwd": "${workspaceFolder}/simulator", + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen" + }, + { + "name": "Run Extension", + "type": "extensionHost", + "request": "launch", + "args": [ + "--disable-extensions", + "--extensionDevelopmentPath=${workspaceFolder}/extension" + ], + "outFiles": ["${workspaceFolder}/extension/build/**/*.js"] + // "preLaunchTask": "${defaultBuildTask}" + }, + { + "name": "Extension Tests", + "type": "extensionHost", + "request": "launch", + "args": [ + "--disable-extensions", + "--extensionDevelopmentPath=${workspaceFolder}/extension", + "--extensionTestsPath=${workspaceFolder}/extension/build/test/suite/index" + ], + "outFiles": ["${workspaceFolder}/extension/build/test/**/*.js"], + "preLaunchTask": "${defaultBuildTask}" + } + ] +} diff --git a/web-ide-main/CODE_OF_CONDUCT.md b/web-ide-main/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..86077f6 --- /dev/null +++ b/web-ide-main/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at davidsouther@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/web-ide-main/CONTRIBUTING.md b/web-ide-main/CONTRIBUTING.md new file mode 100644 index 0000000..503ab5a --- /dev/null +++ b/web-ide-main/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Computron 5k Contributions + +- [Deployed Online](https://nand2tetris.github.io/web-ide) +- [Source](https://github.com/nand2tetris/web-ide) +- [Issues](https://github.com/nand2tetris/web-ide/issues) + +## Dependencies and Environment + +The Nand2Tetris Web IDE is developed in the TypeScript programming language and run on the NodeJS platform. Running the IDE and tests locally requires having `node`, `npm`, and `npx`. We recommend installing all three, as well as keeping them updated, by using the [`nvm` tool](https://github.com/nvm-sh/nvm). + +``` +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash +``` + +The source code is version controlled using `git`, which should be installed using the recommended way depending on your operating system. Issues, pull requests, and other project management is conducted on [GitHub](https://github.com/nand2tetris/web-ide). When developing to contribute a feature, we recommend creating a fork, cloning from your fork, creating a new branch with `git switch -c`, pushing that branch to your fork, and creating a pull request from that branch to main. See documentation on GitHub and the internet for more details. + +After cloning the repository, to install all dependencies, `cd` to the downloaded folder and run `npm install`. To update the compiled TypeScript libraries after making any changes in `simulator`, `projects`, or `components`, run `npm run build`. Alternatively, to only build one of those three, run `npm run build -w `. To run all tests, run `npm test`; for tests in just one part of the project, `npm test -w `. After building the libraries, you can run the web IDE with `npm run web`. This will begin the development server on https://localhost:8080. + +## Issues & Pull Requests + +- Send pull requests to the `main` branch. +- Please use the `bug` and `enhancement` tags when creating general issues. +- Issues tagged `good first issue` are expected to be small, focused changes to contained parts of the codebase. +- Many parts of Hack are not yet implemented. If the feature is part of the core hack book, add the issue to the `Book Parity` milestone and either the `HDL`, `CPU`, or `VM` project as appropriate. diff --git a/web-ide-main/LICENSE b/web-ide-main/LICENSE new file mode 100644 index 0000000..d3a73b1 --- /dev/null +++ b/web-ide-main/LICENSE @@ -0,0 +1,12 @@ +MIT License + +Copyright 2022 David Souther et al + +This software is based on Stefano Volpe's 'Nand2Tetris Tools'. Please check [here](https://github.com/foxyseta/nand-ide/blob/master/LICENSE) for further information. +This software is based on Aviv Yaish's 'NAND IDE'. Please check [here](https://github.com/AvivYaish/nand-ide/blob/master/LICENSE) for further information. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/web-ide-main/README.md b/web-ide-main/README.md new file mode 100644 index 0000000..e42ceba --- /dev/null +++ b/web-ide-main/README.md @@ -0,0 +1,125 @@ +# Nand2Tetris Software Suite + +A Javascript reimplementation of the software suite described in www.nand2tetris.org and in "The Elements of Computing Systems" by Nisan and Schocken, MIT Press (2nd edition, 2021). The repo also includes the project files described in the website and in the book. + +The goal is to allow students complete the projects using modern, web-based tools, without having to download code to their computers. + +Users can work with the tools via a web IDE, or via a VS Code extension. Both are described below. + +## User Guide + +The user guides for the web IDE are available [here](https://drive.google.com/drive/folders/10hDzWql94MTPIStI3KEx--JYpHTBoeE6) and can also be accessed by clicking "Guide" at the top right of the [published project](https://nand2tetris.github.io/web-ide). + +The user guide for the extension is coming. + +The parts of the user guide that describe the UI may be out of sync with the code since we keep experimenting with differtent UI's. + +### CLI + +Install the CLI tool: + + npm install + npm run build && npm i -g ./cli + +Run the CLI: + + cd nand2tetris/project/01 + nand2tetris grade + nand2tetris run DMux4Way.tst + +Run the CLI with a nand2tetris Java install: + + cd nand2tetris/project/01 + nand2tetris grade --java_ide=${HOME}/nand2tetris + +### Web IDE + +Build the web IDE: + + npm install + npm run build && npm run start + +It will print the URL to the console. Any changes will automatically trigger a rebuild. + +## Architecture + +NAND2Tetris kit is a monorepo with several projects. +`simulator` is the core NAND2Tetris code. +`projects` has copies of project base and test files. +`runner` is a utility to execute chips against a Java ide install, looking for nand2tetris.jar in $NAND2TETRIS_PATH. +`components` are reusable React UI pieces suitable for both web and extension. +`web` is a standalone web IDE. +`extension` is a VSCode extension with editor support. +`cli` is a command line NodeJS program (runnable with `npx`) to grade one or more project folders. + +### Simulator + +Simulator has code to handle running the various emulators, regardless of interface or runtime. +Simulator objects are also independant of language, and serve equally well to running tests as to binding to the DOM or printing to a CLI. +`chip`, `cpu`, and `vm` cover the primary hack languages, with `compare`, `output`, and `tst` handling the common project tooling. + +#### Languages + +Languages are parsed using [Ohm](https://ohmjs.org/), a parser combinator library. +Ohm works well for simple cases, but does not handle error recovery well. +Replacing or augmenting this to handle a number of errors, rather than only the first, is a possible future improvement. + +### Web + +NAND2Tetris Web IDE is a stand-alone single-page app with separate sections for Hack Hardware, CPU, and VM emulators. +It has a unified file system using browser local storage to save users' solutions to project work. +Emulators share simulator code, especially to handle executing tests as well as converting between Javascript 64-bit floating point numbers and Hack 16-bit integers. + +The interface code is in the `pages` and `components` folders. +Generally, a page creates a simulator at the top, some dynamic components in the middle, and a layout of HTML at the bottom. +Pages should use semantic blocks as much as possible, with special attention on using `
` as a "Card". + +#### React + +The user interface is written in React, using functional components and vanilla hooks as much as possible. +Pages are routable things, usually with a store connecting it to the appropriate simulation. +Components are reusable pieces of UI, which take props to update their interface. + +#### RXJS + +Asynchronous one-off behavior in the project can be handled with promises & async/await syntax. +For evented asynchronous behavior, use RXJS observables and subscriptions. + +#### Pico + +Jiffies extends [`PicoCSS`](https://picocss.com), allowing rapid iteration on custom components. +Some ideas have been moved upstream to Pico. +Specific components in the forked Pico include [`inline-buttons`](https://github.com/picocss/pico/issues/182) and a [`property sheet`](https://github.com/picocss/pico/issues/195). + +### Extension + +A VSCode extension with language definitions and editor support. + +- `npm run -w extension package` builds the extension & related views into a stand-along `.vsix` file. +- `Run Extension` launch configuration starts a new VSCode extension host to debug the extension. + +#### Languages + +Language support for `.hdl` & `.tst` uses the language libraries in `simulator`. +Syntax errors are highlighted, with in-editor error diagnostics on the failing token. +Syntax highlighting rules activate for `HDL`, `TST`, `CMP`, `OUT`, `ASM`, `VM`, and `Jack` files. +Snippets are available for `HDL`, `ASM`, `VM`, `Jack`, and `TST` files. + +#### Views + +The extension adds an activity bar container, `NAND2Tetris`. +`NAND2TETRIS: HDL CHIP` opens in the container, and shows a chip panel when the user has opened an HDL file. +The panel attempts to update whenever changing HDL files, or when saving the file. +It does not update if the new HDL does not parse. + +### Jiffies + +Jiffies contains a few utility functions & types. + +- `Result` and `Option` encapsulate "Ok/Err" and "Some/None" variant types. +- `assert`, `assertExists`, and `checkExhaustive` provide strongly-typed, portable assertions. +- `fs`, a thin wrapper around LocalStorage and similar `Record` objects allowing Filesystem like access. + +## Code of Conduct + +This project is governed by its [Code of Conduct](./CODE_OF_CONDUCT.md). diff --git a/web-ide-main/biome.json b/web-ide-main/biome.json new file mode 100644 index 0000000..79ad499 --- /dev/null +++ b/web-ide-main/biome.json @@ -0,0 +1,138 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.1.4/schema.json", + "vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false }, + "files": { "ignoreUnknown": false, "includes": ["**/src/**/*.ts"] }, + "formatter": { "enabled": true, "indentStyle": "space" }, + "linter": { + "enabled": true, + "rules": { + "recommended": false, + "complexity": { + "noAdjacentSpacesInRegex": "error", + "noBannedTypes": "error", + "noExtraBooleanCast": "error", + "noUselessCatch": "error", + "noUselessEscapeInRegex": "error", + "noUselessTypeConstraint": "error" + }, + "correctness": { + "noChildrenProp": "error", + "noConstAssign": "error", + "noConstantCondition": "error", + "noEmptyCharacterClassInRegex": "error", + "noEmptyPattern": "error", + "noGlobalObjectCalls": "error", + "noInnerDeclarations": "error", + "noInvalidConstructorSuper": "error", + "noNonoctalDecimalEscape": "error", + "noPrecisionLoss": "error", + "noSelfAssign": "error", + "noSetterReturn": "error", + "noSwitchDeclarations": "error", + "noUndeclaredVariables": "error", + "noUnreachable": "error", + "noUnreachableSuper": "error", + "noUnsafeFinally": "error", + "noUnsafeOptionalChaining": "error", + "noUnusedLabels": "error", + "noUnusedVariables": "error", + "useIsNan": "error", + "useJsxKeyInIterable": "error", + "useValidForDirection": "error", + "useValidTypeof": "error", + "useYield": "error" + }, + "security": { "noDangerouslySetInnerHtmlWithChildren": "error" }, + "style": { + "noInferrableTypes": "error", + "noNamespace": "error", + "noNonNullAssertion": "warn", + "useArrayLiterals": "error", + "useAsConstAssertion": "error" + }, + "suspicious": { + "noAsyncPromiseExecutor": "error", + "noCatchAssign": "error", + "noClassAssign": "error", + "noCommentText": "error", + "noCompareNegZero": "error", + "noControlCharactersInRegex": "error", + "noDebugger": "error", + "noDuplicateCase": "error", + "noDuplicateClassMembers": "error", + "noDuplicateElseIf": "error", + "noDuplicateJsxProps": "error", + "noDuplicateObjectKeys": "error", + "noDuplicateParameters": "error", + "noEmptyBlockStatements": "error", + "noExplicitAny": "warn", + "noExtraNonNullAssertion": "error", + "noFallthroughSwitchClause": "error", + "noFunctionAssign": "error", + "noGlobalAssign": "error", + "noImportAssign": "error", + "noIrregularWhitespace": "error", + "noMisleadingCharacterClass": "error", + "noMisleadingInstantiator": "error", + "noPrototypeBuiltins": "error", + "noRedeclare": "error", + "noShadowRestrictedNames": "error", + "noSparseArray": "error", + "noUnsafeNegation": "error", + "noWith": "error", + "useAdjacentOverloadSignatures": "error", + "useGetterReturn": "error", + "useNamespaceKeyword": "error" + } + } + }, + "javascript": { + "formatter": { "quoteStyle": "double" }, + "globals": [ + "expect", + "it", + "describe", + "beforeEach", + "afterEach", + "test", + "jest", + "acquireVsCodeApi" + ] + }, + "overrides": [ + { + "includes": ["*.ts", "*.tsx", "*.mts", "*.cts"], + "linter": { + "rules": { + "complexity": { "noArguments": "error" }, + "correctness": { + "noConstAssign": "off", + "noGlobalObjectCalls": "off", + "noInvalidConstructorSuper": "off", + "noSetterReturn": "off", + "noUndeclaredVariables": "off", + "noUnreachable": "off", + "noUnreachableSuper": "off", + "useValidTypeof": "off" + }, + "style": { "useConst": "error" }, + "suspicious": { + "noDuplicateClassMembers": "off", + "noDuplicateObjectKeys": "off", + "noDuplicateParameters": "off", + "noFunctionAssign": "off", + "noImportAssign": "off", + "noRedeclare": "off", + "noUnsafeNegation": "off", + "noVar": "error", + "useGetterReturn": "off" + } + } + } + } + ], + "assist": { + "enabled": true, + "actions": { "source": { "organizeImports": "on" } } + } +} diff --git a/web-ide-main/cli/package.json b/web-ide-main/cli/package.json new file mode 100644 index 0000000..b9e8c40 --- /dev/null +++ b/web-ide-main/cli/package.json @@ -0,0 +1,33 @@ +{ + "name": "@nand2tetris/cli", + "description": "NAND2Tetris Command Line tools", + "repository": { + "type": "git", + "url": "git+https://github.com/nand2tetris/web-ide.git" + }, + "author": "David Souther ", + "license": "ISC", + "bugs": { + "url": "https://github.com/nand2tetris/web-ide/issues" + }, + "homepage": "https://github.com/nand2tetris/web-ide", + "main": "dist/index.js", + "type": "module", + "bin": { + "nand2tetris": "dist/index.js" + }, + "scripts": { + "build": "tsc", + "test": "jest" + }, + "devDependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@nand2tetris/runner": "file:../runner", + "@nand2tetris/simulator": "file:../simulator" + }, + "dependencies": { + "@types/node": "^20.14.2", + "@types/yargs": "^17.0.32", + "yargs": "^17.7.2" + } +} \ No newline at end of file diff --git a/web-ide-main/cli/src/grading.ts b/web-ide-main/cli/src/grading.ts new file mode 100644 index 0000000..6220aae --- /dev/null +++ b/web-ide-main/cli/src/grading.ts @@ -0,0 +1,79 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { NodeFileSystemAdapter } from "@davidsouther/jiffies/lib/esm/fs_node.js"; +import type { Assignment } from "@nand2tetris/projects/base.js"; +import { Assignments } from "@nand2tetris/projects/full.js"; +import { JavaRunner } from "@nand2tetris/runner/index.js"; +import { + AssignmentFiles, + hasTest, + runTests, +} from "@nand2tetris/simulator/projects/runner.js"; +import { join, parse } from "path"; + +/** + * Given a FileSystem wrapper, curry a function that loads the necessary files for running an HDL test. + * For grading, tests come from the built-in assignment master test list. + */ +const loadAssignment = (fs: FileSystem) => + async function (file: Assignment): Promise { + const hdl = await fs.readFile(file.base); + const tst = Assignments[ + `${file.name}.tst` as keyof typeof Assignments + ] as string; + const cmp = Assignments[ + `${file.name}.cmp` as keyof typeof Assignments + ] as string; + return { ...file, hdl, tst, cmp }; + }; + +/** + * Run the grader using a NodeJS file system. + * + * Report results using a simple `{Name} passed/failed`, and if given a java_id, the same for shadow mode results. + * + * Returns 1 if at least one test was failed or no tests were found to run. Returns 0 otherwise. + */ +export async function main(folder = process.cwd(), java_ide = "") { + const fs = new FileSystem(new NodeFileSystemAdapter()); + fs.cd(folder); + + const directory = [...(await fs.readdir("."))]; + const runFiles = directory.filter((file) => file.endsWith(".hdl")); + + const files = runFiles + .map((f) => join(folder, f)) + .map(parse) + .filter(hasTest); + + const ideRunner = await JavaRunner.try_init(java_ide); + const tests = await runTests(files, loadAssignment(fs), fs, ideRunner); + + if (!tests.length) { + console.log("No tests have run!"); + return 1; + } + let failsCount = 0; + for (const test of tests) { + if (!test.pass) { + failsCount++; + } + console.log( + `Test ${test.name}: ${test.pass ? `Passed` : `Failed (${test.out})`}`, + ); + if (test.shadow) { + if (test.shadow.code !== 0) { + failsCount++; + } + console.log( + `\tShadow: ${ + test.shadow.code === 0 + ? `Passed` + : `Errored (${test.shadow.stderr.trim()})` + }`, + ); + } else { + console.log("\tNo shadow"); + } + } + return failsCount > 0 ? 1 : 0; +} diff --git a/web-ide-main/cli/src/index.ts b/web-ide-main/cli/src/index.ts new file mode 100644 index 0000000..2ff9e4c --- /dev/null +++ b/web-ide-main/cli/src/index.ts @@ -0,0 +1,173 @@ +#!/usr/bin/env node +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { NodeFileSystemAdapter } from "@davidsouther/jiffies/lib/esm/fs_node.js"; +import { compile } from "@nand2tetris/simulator/jack/compiler.js"; +import * as fsCore from "fs"; +import path, { dirname, parse, resolve } from "path"; +import yargs from "yargs"; +import { hideBin } from "yargs/helpers"; +import { main } from "./grading.js"; +import { testRunner } from "./testrunner.js"; + +yargs(hideBin(process.argv)) + .usage("$0 ") + .command( + "grade [directory]", + "Grade all NAND2Tetris projects in a directory tree.", + (yargs) => + yargs + .positional("directory", { + type: "string", + default: process.cwd(), + describe: "Path to a folder to grade for nand2tetris projects.", + }) + .option("java_ide", { + type: "string", + default: process.env.NAND2TETRIS_PATH, + describe: + "When set, look for the java IDE jars in this path and compare both runs.", + }), + async (argv) => { + console.log("grade", argv.directory, "nand2tetris grader!"); + const exitCodePromise = main(argv.directory, argv.java_ide); + const exitCode = await exitCodePromise; + if (exitCode) { + process.exit(exitCode); + } + }, + ) + .command( + "run ", + "Run a NAND2Tetris file. If the file is .tst, executes the test. If the file is .hdl, starts a terminal session for the chip. If the file is .asm, .hack, .vm, or .jack, loads (possibly after compilation) the file into memory and starts the machine execution.", + (yargs) => + yargs + .positional("file", { + type: "string", + describe: "Path to nand2tetris tst file to execute.", + }) + .option("debug", { + type: "boolean", + default: false, + describe: "Port for the debugger protocol to listen on.", + }) + .option("debug_port", { + type: "number", + default: 6163, + describe: "Port for the debugger protocol to listen on.", + }) + .option("java_ide", { + type: "string", + describe: + "When set, look for the java IDE jars in this path and compare both runs.", + }), + (argv) => { + console.log("nand2tetris command run", argv); + const { name, ext } = parse(argv.file ?? ""); + switch (ext) { + case "": + case ".tst": + console.log("tst"); + testRunner(dirname(resolve(argv.file ?? process.cwd())), name); + break; + case ".hdl": + console.log("hdl"); + break; + default: + console.log("unknown", ext); + break; + } + }, + ) + .command( + "compile [dst]", + "Compile .jack files inside a folder", + (yargs) => + yargs + .positional("src", { + type: "string", + describe: "Path to input folder with jack files", + }) + .option("dst", { + type: "string", + describe: "Path to destination folder", + default: "", + }) + .coerce(["src", "dst"], function (arg) { + return path.resolve(arg) + "/"; + }) + .check((argv, options) => { + const src = argv.src; + const dst = argv.dst; + if (src === undefined) { + throw Error("Please provide input folder path"); + } + + if (dst && !fsCore.lstatSync(dst).isDirectory()) { + throw Error(src + " is not a folder"); + } + if (!fsCore.lstatSync(src).isDirectory()) { + throw Error(src + " is not a folder"); + } + + return true; + }) + .showHelpOnFail(false, "Specify --help for available options"), + async (argv) => { + enum Colors { + Red = "\x1b[31m", + Green = "\x1b[32m", + Reset = "\u001b[0m", + } + const JACK_EXT = ".jack"; + const src = argv.src; + const dst = argv.dst ?? src; + if (src === undefined) { + throw Error("Please provde input folder path"); + } + + if (dst === undefined) { + throw Error("Please provde input folder path"); + } + const fs = new FileSystem(new NodeFileSystemAdapter()); + + const files = await fs.readdir(src); + const jackFiles = files.filter((file) => file.endsWith(JACK_EXT)); + if (jackFiles.length === 0) { + throw Error("No jack files inside a folder"); + } + const nameToContent = {} as Record; + for (const file of jackFiles) { + const filepath = path.join(src, file); + const content = await fs.readFile(filepath); + nameToContent[file.replace(JACK_EXT, "")] = content; + } + let error = false; + for (const [name, compiled] of Object.entries(compile(nameToContent))) { + if (typeof compiled === "string") { + const outputFilename = name + ".vm"; + const outpath = path.join(dst, outputFilename); + await fs.writeFile(outpath, compiled); + } else { + if (!error) { + console.error("Compilation failed\n"); + } + console.error( + Colors.Red + + compiled.message.replace( + /Line\s([\d]+):/g, + name + ".jack:$1" + Colors.Reset, + ), + ); + error = true; + } + } + if (error) { + process.exit(1); + } else { + console.log(Colors.Green + "Compiled files" + Colors.Reset); + } + }, + ) + .help() + .demandCommand(1) + .parse(); diff --git a/web-ide-main/cli/src/testrunner.ts b/web-ide-main/cli/src/testrunner.ts new file mode 100644 index 0000000..ae90566 --- /dev/null +++ b/web-ide-main/cli/src/testrunner.ts @@ -0,0 +1,41 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { NodeFileSystemAdapter } from "@davidsouther/jiffies/lib/esm/fs_node.js"; +import type { Assignment } from "@nand2tetris/projects/base.js"; +import { Assignments } from "@nand2tetris/projects/full.js"; +import { runner } from "@nand2tetris/simulator/projects/runner.js"; +import { parse } from "path"; + +/** + * Load an assignment from the local folder. + * Uses built in assignments when the local tests are missing. + */ +async function loadAssignment(fs: FileSystem, file: Assignment) { + const assignment = Assignments[file.name as keyof typeof Assignments]; + const hdl = await fs.readFile(`${file.name}.hdl`); + const tst = await fs + .readFile(`${file.name}.tst`) + .catch( + () => assignment[`${file.name}.tst` as keyof typeof assignment] as string, + ); + const cmp = await fs + .readFile(`${file.name}.cmp`) + .catch( + () => assignment[`${file.name}.cmp` as keyof typeof assignment] as string, + ); + + return { ...file, hdl, tst, cmp }; +} + +/** + * Run a nand2tetris.tst file. + */ +export async function testRunner(dir: string, file: string) { + const fs = new FileSystem(new NodeFileSystemAdapter()); + fs.cd(dir); + const assignment = await loadAssignment(fs, parse(file)); + const tryRun = runner(fs); + const run = await tryRun(assignment); + console.log(run); +} + +// export async function testDebugger(root: string, name: string, port: number) {} diff --git a/web-ide-main/cli/tsconfig.json b/web-ide-main/cli/tsconfig.json new file mode 100644 index 0000000..86a30ee --- /dev/null +++ b/web-ide-main/cli/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "dist", + "rootDir": "src" + }, + "include": ["src"] +} diff --git a/web-ide-main/components/package.json b/web-ide-main/components/package.json new file mode 100644 index 0000000..e0f7dd2 --- /dev/null +++ b/web-ide-main/components/package.json @@ -0,0 +1,61 @@ +{ + "name": "@nand2tetris/components", + "version": "0.0.0", + "private": true, + "description": "", + "author": "David Souther ", + "license": "ISC", + "homepage": "https://davidsouther.github.io/nand2tetris", + "type": "module", + "exports": { + "./*": "./build/*" + }, + "typesVersions": { + "*": { + "*": [ + "build/*" + ] + } + }, + "dependencies": { + "@vscode/webview-ui-toolkit": "^1.4.0" + }, + "devDependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@monaco-editor/react": "^4.6.0", + "@nand2tetris/projects": "file:../projects", + "@nand2tetris/simulator": "file:../simulator", + "@testing-library/jest-dom": "^6.4.5", + "@testing-library/react": "^16.0.0", + "@types/error-cause": "^1.0.4", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.2", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@types/vscode": "^1.89.0", + "@types/wicg-file-system-access": "^2023.10.5", + "immer": "^10.1.1", + "make-plural": "^7.4.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^6.23.1", + "react-scripts": "^5.0.1", + "rxjs": "^7.8.1", + "sass": "^1.77.4", + "source-map-explorer": "^2.5.3" + }, + "scripts": { + "build": "tsc", + "postbuild": "shx rm -rf build/public && shx cp -r src/public/ build/public/", + "test": "react-scripts test" + }, + "jest": { + "moduleNameMapper": { + "^@nand2tetris/([^/]+)/(.*)": "/../node_modules/@nand2tetris/$1/build/$2", + "(.*)\\.js$": "$1" + }, + "transformIgnorePatterns": [ + "node_modules/(?!@davidsouther)" + ] + } +} diff --git a/web-ide-main/components/src/chips/alu.tsx b/web-ide-main/components/src/chips/alu.tsx new file mode 100644 index 0000000..f9bb7b9 --- /dev/null +++ b/web-ide-main/components/src/chips/alu.tsx @@ -0,0 +1,103 @@ +import { + COMMANDS_ALU, + COMMANDS_OP, + Flags, +} from "@nand2tetris/simulator/cpu/alu.js"; + +export const ALUComponent = ({ + A, + op, + D, + out, + flag, +}: { + A: number; + op: COMMANDS_OP; + D: number; + out: number; + flag: keyof typeof Flags; +}) => ( +
+ ALU + + + + + + + + {A} + + + {D} + + + {out} + + + {COMMANDS_ALU.op[op] ?? "(??)"} + + + + + + + + + + + + + + + + + + +
+); diff --git a/web-ide-main/components/src/chips/keyboard.tsx b/web-ide-main/components/src/chips/keyboard.tsx new file mode 100644 index 0000000..cf1d915 --- /dev/null +++ b/web-ide-main/components/src/chips/keyboard.tsx @@ -0,0 +1,155 @@ +import { KeyboardAdapter } from "@nand2tetris/simulator/cpu/memory.js"; +import { useEffect, useRef, useState } from "react"; +import { RegisterComponent } from "./register.js"; + +const KeyMap: Record = { + // Delete: 127, + Enter: 128, + Backspace: 129, + ArrowLeft: 130, + ArrowUp: 131, + ArrowRight: 132, + ArrowDown: 133, + Home: 134, + End: 135, + PageUp: 136, + PageDown: 137, + Insert: 138, + Delete: 139, + Escape: 140, + F1: 141, + F2: 142, + F3: 143, + F4: 144, + F5: 145, + F6: 146, + F7: 147, + F8: 148, + F9: 149, + F10: 150, + F11: 151, + F12: 152, +}; + +const keyDisplays: Record = { + ArrowLeft: "L-arrow", + ArrowUp: "U-arrow", + ArrowRight: "R-arrow", + ArrowDown: "D-arrow", +}; + +function getKeyDisplay(key: string) { + return keyDisplays[key] ?? key; +} + +function keyPressToHackCharacter(keypress: KeyboardEvent): number { + const mapping = KeyMap[keypress.key]; + if (mapping !== undefined) { + return mapping; + } + if (keypress.key.length === 1) { + const code = keypress.key.charCodeAt(0); + if (code >= 32 && code <= 126) { + return code; + } + } + + return 0; +} + +export const Keyboard = ({ + keyboard, + update, +}: { + keyboard: KeyboardAdapter; + update?: () => void; +}) => { + const [enabled, setEnabled] = useState(false); + const [character, setCharacter] = useState(""); + const [bits, setBits] = useState(keyboard.getKey()); + let currentKey = 0; + + const toggleRef = useRef(null); + + const toggleEnabled = () => { + setEnabled(!enabled); + }; + + const onKeyDown = (event: KeyboardEvent) => { + if (!enabled) { + return; + } + + setCharacter(getKeyDisplay(event.key)); + toggleRef.current?.blur(); + const key = keyPressToHackCharacter(event); + if (key) { + event.preventDefault(); + } + if (key === currentKey) { + return; + } + setKey(key); + update?.(); + }; + + const onKeyUp = (event: KeyboardEvent) => { + toggleRef.current?.blur(); + if (!enabled) { + return; + } + + if (keyboard.getKey()) { + event.preventDefault(); + } + + currentKey = 0; + keyboard.clearKey(); + update?.(); + setBits(keyboard.getKey()); + setCharacter(""); + }; + + // note on setCharacter vs setKey: + // setCharacter sets the string value that will be displayed in the component, + // while setKey actually sets and tracks the value that will be stored in the keyboard memory + + const setKey = (key: number) => { + if (key === 0) { + return; + } + keyboard.setKey(key); + setBits(keyboard.getKey()); + currentKey = key; + }; + + useEffect(() => { + window.addEventListener("keydown", onKeyDown); + window.addEventListener("keyup", onKeyUp); + + return () => { + window.removeEventListener("keydown", onKeyDown); + window.removeEventListener("keyup", onKeyUp); + }; + }); + + return ( +
+
+ +
{/* padding */} +
Key: {character}
+
+ +
+
+
+ ); +}; diff --git a/web-ide-main/components/src/chips/memory.test.tsx b/web-ide-main/components/src/chips/memory.test.tsx new file mode 100644 index 0000000..5718c4f --- /dev/null +++ b/web-ide-main/components/src/chips/memory.test.tsx @@ -0,0 +1,38 @@ +import { Memory as MemoryChip } from "@nand2tetris/simulator/cpu/memory.js"; +import { range } from "@davidsouther/jiffies/lib/esm/range.js"; +import { render, screen } from "@testing-library/react"; +import { MemoryBlock, MemoryCell } from "./memory.js"; + +describe("", () => { + describe("", () => { + it("renders a read-only cell", () => { + render(); + + const addr = screen.getByText("16"); + expect(addr).toBeVisible(); + + const cell = screen.getByText("34"); + expect(cell).toBeVisible(); + }); + }); + + describe("", () => { + it.skip("renders a small amount of memory", () => { + const memory = new MemoryChip( + new Int16Array( + range(0, 16).map((i) => (Math.pow(i, 12) ^ 0x9753) & 0xffff) + ).buffer + ); + render(); + + const zero = screen.getByText("0x0000"); + expect(zero).toBeVisible(); + + // const indexes = document.querySelectorAll("code:nth-of-type(even)"); + // expect(indexes.length).toBe(16); + + // const cells = document.querySelectorAll("code:nth-of-type(even)"); + // expect(cells.length).toBe(16); + }); + }); +}); diff --git a/web-ide-main/components/src/chips/memory.tsx b/web-ide-main/components/src/chips/memory.tsx new file mode 100644 index 0000000..ad4d2ab --- /dev/null +++ b/web-ide-main/components/src/chips/memory.tsx @@ -0,0 +1,396 @@ +import { rounded } from "@davidsouther/jiffies/lib/esm/dom/css/border.js"; +import { + forwardRef, + ReactNode, + useCallback, + useContext, + useImperativeHandle, + useMemo, + useState, +} from "react"; + +import { + Format, + FORMATS, + MemoryAdapter, +} from "@nand2tetris/simulator/cpu/memory.js"; +import { loadAsm, loadBlob, loadHack } from "@nand2tetris/simulator/loader.js"; +import { asm } from "@nand2tetris/simulator/util/asm.js"; +import { bin, dec, hex } from "@nand2tetris/simulator/util/twos.js"; + +import { useClockReset } from "../clockface.js"; +import InlineEdit from "../inline_edit.js"; +import { LOADING } from "../messages.js"; +import { useStateInitializer } from "../react.js"; +import { BaseContext } from "../stores/base.context.js"; +import VirtualScroll, { VirtualScrollSettings } from "../virtual_scroll.js"; + +const ITEM_HEIGHT = 34; + +export const MemoryBlock = ({ + memory, + jmp = { value: 0 }, + highlight = -1, + editable = false, + justifyLeft = false, // TODO: handle this in css in the future + count, + maxSize, + offset = 0, + cellLabels, + format = dec, + onChange = () => undefined, + onFocus = () => undefined, +}: { + jmp?: { value: number }; + memory: MemoryAdapter; + highlight?: number; + editable?: boolean; + justifyLeft?: boolean; + count?: number; + offset?: number; + maxSize?: number; + cellLabels?: string[]; + format?: (v: number) => string; + onChange?: (i: number, value: string, previous: number) => void; + onFocus?: (i: number) => void; +}) => { + const settings = useMemo>( + () => ({ + count: Math.min(memory.size, count ?? 25), + maxIndex: maxSize ?? memory.size, + itemHeight: ITEM_HEIGHT, + startIndex: jmp.value, + }), + [memory.size, jmp], + ); + const get = useCallback( + (pos: number, count: number): [number, number][] => + memory + .range(pos + offset, pos + offset + count) + .map((v, i) => [i + pos + offset, v]), + [memory], + ); + + const row = useCallback( + ([i, v]: [number, number]) => ( + label.length)) : 0, + )} + showLabel={cellLabels != undefined} + size={memory.size} + editable={editable} + justifyLeft={justifyLeft} + highlight={i === highlight} + onChange={onChange} + onFocus={onFocus} + /> + ), + [format, editable, highlight, onChange], + ); + + return ( + + settings={settings} + get={get} + row={row} + rowKey={([i]) => i} + /> + ); +}; + +export const MemoryCell = ({ + index, + value, + label, + showLabel = false, + size, + highlight = false, + editable = false, + justifyLeft = false, + onChange = () => undefined, + onFocus = () => undefined, +}: { + index: number; + value: string; + label?: string; + showLabel?: boolean; + size?: number; + highlight?: boolean; + editable?: boolean; + justifyLeft?: boolean; + onChange?: (i: number, value: string, previous: number) => void; + onFocus?: (i: number) => void; +}) => ( +
+ {showLabel && ( + + {label ?? ""} + + )} + + {size + ? dec(index).padStart(Math.ceil(Math.log10(size)), " ") + : dec(index)} + + + {editable ? ( + + onChange(index, newValue, Number(value)) + } + onFocus={() => onFocus(index)} + /> + ) : ( + {value} + )} + +
+); + +export const Memory = forwardRef( + ( + { + name = "Memory", + className, + displayEnabled = true, + highlight = -1, + editable = true, + memory, + format = "dec", + onSetFormat, + excludedFormats = [], + count, + maxSize, + offset, + initialAddr, + cellLabels, + fileSelect, + showClear = true, + onChange = undefined, + onClear = undefined, + loadTooltip = undefined, + }: { + name?: string; + className?: string; + displayEnabled?: boolean; + editable?: boolean; + highlight?: number; + memory: MemoryAdapter; + count?: number; + maxSize?: number; + offset?: number; + initialAddr?: number; + format: Format; + onSetFormat?: (format: Format) => void; + excludedFormats?: Format[]; + cellLabels?: string[]; + fileSelect?: () => Promise<{ name: string; content: string }>; + showClear?: boolean; + onChange?: () => void; + onClear?: () => void; + loadTooltip?: { value: string; placement: string }; + }, + ref, + ) => { + const [fmt, setFormat] = useStateInitializer(format); + const [jmp, setJmp] = useState(""); + const [goto, setGoto] = useState({ value: initialAddr ?? 0 }); + const [highlighted, setHighlighted] = useStateInitializer(highlight); + const [renderKey, setRenderKey] = useState(0); + + const jumpTo = () => { + const value = + !isNaN(parseInt(jmp)) && isFinite(parseInt(jmp)) ? Number(jmp) : 0; + setHighlighted(value); + setGoto({ + value: value, + }); + rerenderMemoryBlock(); + }; + + const doLoad = async () => { + onChange?.(); + if (fileSelect) { + const { name, content } = await fileSelect(); + setStatus(LOADING); + requestAnimationFrame(async () => { + const loader = name.endsWith("hack") + ? loadHack + : name.endsWith("asm") + ? loadAsm + : loadBlob; + requestAnimationFrame(async () => { + try { + const bytes = await loader(content); + memory.loadBytes(bytes); + setStatus(""); + setFormat( + name.endsWith("hack") + ? "bin" + : name.endsWith("asm") + ? "asm" + : fmt, + ); + jumpTo(); + } catch (e) { + setStatus({ + message: `Error loading memory: ${(e as Error).message}`, + severity: "ERROR", + }); + return; + } + }); + }); + } + }; + + const { setStatus } = useContext(BaseContext); + + const rerenderMemoryBlock = () => { + setRenderKey(renderKey + 1); + }; + + useImperativeHandle(ref, () => ({ + rerender: rerenderMemoryBlock, + })); + + const clear = () => { + memory.reset(); + onChange?.(); + onClear?.(); + rerenderMemoryBlock(); + }; + + const doUpdate = (i: number, v: string) => { + memory.update(i, v, fmt ?? "dec"); + onChange?.(); + rerenderMemoryBlock(); + }; + + useClockReset(() => { + setJmp(""); + setGoto({ value: 0 }); + }); + + const doSetFormat = (format: Format) => { + setFormat(format); + onSetFormat?.(format); + }; + + return ( +
+
+
{name}
+
+ {fileSelect && ( + + )} + {showClear && ( + + )} + key === "Enter" && jumpTo()} + onChange={({ target: { value } }) => setJmp(value)} + /> + + +
+
+ {displayEnabled ? ( + doFormat(fmt, v)} + cellLabels={cellLabels} + maxSize={maxSize} + offset={offset} + onChange={doUpdate} + onFocus={(i) => setHighlighted(i)} + /> + ) : ( + "Memory display is disabled" + )} +
+ ); + }, +); +Memory.displayName = "Memory"; + +export default Memory; + +function doFormat(format: Format, v: number): string { + switch (format) { + case "bin": + return bin(v); + case "hex": + return hex(v); + case "asm": + return asm(v); + case "dec": + default: + return dec(v); + } +} diff --git a/web-ide-main/components/src/chips/register.tsx b/web-ide-main/components/src/chips/register.tsx new file mode 100644 index 0000000..c470e32 --- /dev/null +++ b/web-ide-main/components/src/chips/register.tsx @@ -0,0 +1,13 @@ +import { dec } from "@nand2tetris/simulator/util/twos.js"; + +export const RegisterComponent = ({ + name, + bits, +}: { + name: string; + bits: number; +}) => ( +
+ {name}: {dec(bits)} +
+); diff --git a/web-ide-main/components/src/chips/screen.tsx b/web-ide-main/components/src/chips/screen.tsx new file mode 100644 index 0000000..322b86b --- /dev/null +++ b/web-ide-main/components/src/chips/screen.tsx @@ -0,0 +1,153 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { Memory } from "@nand2tetris/simulator/cpu/memory.js"; +import { useCallback, useRef, useState } from "react"; +import { useClockFrame, useClockReset } from "../clockface.js"; + +const WHITE = "white"; +const BLACK = "black"; +type COLOR = typeof WHITE | typeof BLACK; + +export interface ScreenMemory { + get(idx: number): number; +} + +export function reduceScreen(memory: Memory, offset = 0): ScreenMemory { + return { + get(idx: number): number { + return memory.get(offset + idx); + }, + }; +} + +function get(mem: ScreenMemory, x: number, y: number): COLOR { + const byte = mem.get(32 * y + ((x / 16) | 0)); + const bit = byte & (1 << x % 16); + return bit === 0 ? WHITE : BLACK; +} + +function set(data: Uint8ClampedArray, x: number, y: number, value: COLOR) { + const pixel = (y * 512 + x) * 4; + const color = value === WHITE ? 255 : 0; + data[pixel] = color; + data[pixel + 1] = color; + data[pixel + 2] = color; + data[pixel + 3] = 255; +} + +function drawImage(ctx: CanvasRenderingContext2D, memory: ScreenMemory) { + const image = assertExists( + ctx.getImageData(0, 0, 512, 256), + "Failed to create Context2d", + ); + for (let col = 0; col < 512; col++) { + for (let row = 0; row < 256; row++) { + const color = get(memory, col, row); + set(image.data, col, row, color); + } + } + ctx.putImageData(image, 0, 0); +} + +export type ScreenScales = 0 | 1 | 2; + +export const Screen = ({ + memory, + showScaleControls = false, + scale = 1, + onScale, +}: { + memory: ScreenMemory; + showScaleControls?: boolean; + scale?: ScreenScales; + onScale?: (scale: ScreenScales) => void; +}) => { + const canvas = useRef(); + const [screenScale, setScreenScale] = useState(scale); + + const onScaleCB = (scale: ScreenScales) => { + onScale?.(scale); + setScreenScale(scale); + }; + + const draw = useCallback(() => { + const ctx = + canvas.current?.getContext("2d", { willReadFrequently: true }) ?? + undefined; + + if (ctx) { + drawImage(ctx, memory); + } + }, [memory]); + + const ctxRef = useCallback( + (ref: HTMLCanvasElement | null) => { + canvas.current = ref ?? undefined; + draw(); + }, + [canvas, draw], + ); + + useClockFrame(draw); + useClockReset(() => { + canvas.current + ?.getContext("2d") + ?.clearRect(0, 0, canvas.current.width, canvas.current.height); + }); + + return ( +
+
+
Screen
+ {showScaleControls && ( +
+ + + +
+ )} +
+ {screenScale > 0 && ( +
+
+ +
+
+ )} +
+ ); +}; diff --git a/web-ide-main/components/src/chips/visualizations.test.tsx b/web-ide-main/components/src/chips/visualizations.test.tsx new file mode 100644 index 0000000..e789a20 --- /dev/null +++ b/web-ide-main/components/src/chips/visualizations.test.tsx @@ -0,0 +1,29 @@ +import { ALU } from "@nand2tetris/simulator/chip/builtins/index.js"; +import { Chip } from "@nand2tetris/simulator/chip/chip.js"; +import { render, screen } from "@testing-library/react"; +import { makeVisualization, makeVisualizationsWithId } from "./visualizations"; + +describe("visualizations", () => { + it("returns empty for chips with no parts", () => { + const chip = new Chip([], [], "test"); + + expect(makeVisualization(chip)).toBeUndefined(); + expect(makeVisualizationsWithId({ parts: [chip] })).toEqual([]); + }); + + it("returns vis for builtins", async () => { + const alu = new ALU(); + + const vis = makeVisualizationsWithId({ parts: [alu] }); + expect(vis.length).toBe(1); + render( + <> + {vis.map(([k, v]) => ( +
{v}
+ ))} + , + ); + const rendered = await screen.findAllByText(/ALU/); + expect(rendered).toBeDefined(); + }); +}); diff --git a/web-ide-main/components/src/chips/visualizations.tsx b/web-ide-main/components/src/chips/visualizations.tsx new file mode 100644 index 0000000..7d93993 --- /dev/null +++ b/web-ide-main/components/src/chips/visualizations.tsx @@ -0,0 +1,156 @@ +import { + CPU, + Computer, + Keyboard, + ROM32K, + Screen, +} from "@nand2tetris/simulator/chip/builtins/computer/computer.js"; +import { ALU } from "@nand2tetris/simulator/chip/builtins/index.js"; +import { + PC, + Register, +} from "@nand2tetris/simulator/chip/builtins/sequential/bit.js"; +import { + RAM, + RAM8, +} from "@nand2tetris/simulator/chip/builtins/sequential/ram.js"; +import { Chip, HIGH } from "@nand2tetris/simulator/chip/chip.js"; +import { Flags } from "@nand2tetris/simulator/cpu/alu.js"; +import { decode } from "@nand2tetris/simulator/cpu/cpu.js"; +import { ReactElement } from "react"; +import { NO_SCREEN } from "../stores/chip.store.js"; +import { ALUComponent } from "./alu.js"; +import { Keyboard as KeyboardComponent } from "./keyboard.js"; +import { Memory as MemoryComponent } from "./memory.js"; +import { RegisterComponent } from "./register.js"; +import { Screen as ScreenComponent } from "./screen.js"; + +export function getBuiltinVisualization(part: Chip): ReactElement | undefined { + switch (part.name) { + case "Register": + case "ARegister": + case "DRegister": + case "PC": + case "KEYBOARD": + case "RAM8": + case "RAM64": + case "RAM512": + case "RAM4K": + case "RAM16K": + case "ROM32K": + case "Screen": + case "Memory": + default: + return undefined; + } +} + +function makeMemoryVisualization(chip: RAM) { + return ( + + ); +} + +export function makeVisualization( + chip: Chip, + updateAction?: () => void, + parameters?: Set, +): ReactElement | undefined { + if (chip instanceof ALU) { + return ( + + ); + } + if (chip instanceof Register) { + return ( + + ); + } + if (chip instanceof PC) { + return ; + } + if (chip instanceof Keyboard) { + return ; + } + if (chip instanceof Screen) { + return ; + } + if (chip instanceof RAM) { + return makeMemoryVisualization(chip); + } + if (chip instanceof RAM8) { + return RAM {chip.width}; + } + if (chip instanceof CPU) { + const bits = decode(chip.in("instruction").busVoltage); + return ( + <> + + + + + + ); + } + if (chip instanceof Computer) { + return ( + <> + + + + {!parameters?.has(NO_SCREEN) && ( + + )} + {makeMemoryVisualization(chip.rom)} + {makeMemoryVisualization(chip.ram.ram)} + + ); + } + + const vis = [...chip.parts] + .map((chip) => makeVisualization(chip, updateAction)) + .filter((v) => v !== undefined); + return vis.length > 0 ? <>{vis} : undefined; +} + +export function makeVisualizationsWithId( + chip: { + parts: Chip[]; + }, + updateAction?: () => void, + parameters?: Set, +): [string, ReactElement][] { + return [...chip.parts] + .map((part, i): [string, ReactElement | undefined] => [ + `${part.id}_${i}`, + makeVisualization(part, updateAction, parameters), + ]) + .filter(([_, v]) => v !== undefined) as [string, ReactElement][]; +} diff --git a/web-ide-main/components/src/clockface.tsx b/web-ide-main/components/src/clockface.tsx new file mode 100644 index 0000000..4cf1da2 --- /dev/null +++ b/web-ide-main/components/src/clockface.tsx @@ -0,0 +1,71 @@ +import { useEffect, useMemo, useState } from "react"; + +import { display } from "@davidsouther/jiffies/lib/esm/display.js"; +import { Clock } from "@nand2tetris/simulator/chip/clock.js"; + +export function useClock(actions: { + tick?: () => void; + toggle?: () => void; + reset?: () => void; +}) { + const clock = useMemo(() => Clock.get(), []); + + useEffect(() => { + const subscription = clock.$.subscribe(() => { + actions.tick?.(); + }); + return () => subscription.unsubscribe(); + }, [actions, clock.$]); + + return { + toggle() { + clock.tick(); + actions.toggle?.(); + }, + + reset() { + clock.reset(); + actions.reset?.(); + }, + }; +} + +export function useClockFrame(frameFinished: () => void) { + useEffect(() => { + const subscription = Clock.get().frame$.subscribe(() => { + frameFinished(); + }); + return () => subscription.unsubscribe(); + }, [frameFinished]); +} + +export function useClockReset(reset: () => void) { + useEffect(() => { + const subscription = Clock.get().reset$.subscribe(() => { + reset(); + }); + return () => subscription.unsubscribe(); + }, [reset]); +} + +export function displayClock() { + return display(Clock.get()); +} + +export function useClockface() { + const [clockface, setClockface] = useState(displayClock()); + + useEffect(() => { + const subscription = Clock.get().$.subscribe(() => { + setClockface(displayClock()); + }); + return () => subscription.unsubscribe(); + }, []); + + return clockface; +} + +export const Clockface = () => { + const clockface = useClockface(); + return {clockface}; +}; diff --git a/web-ide-main/components/src/compare.ts b/web-ide-main/components/src/compare.ts new file mode 100644 index 0000000..3b1aee6 --- /dev/null +++ b/web-ide-main/components/src/compare.ts @@ -0,0 +1,210 @@ +import { isErr, Ok } from "@davidsouther/jiffies/lib/esm/result.js"; +import { Span } from "@nand2tetris/simulator/languages/base"; +import { CMP, Cmp } from "@nand2tetris/simulator/languages/cmp.js"; + +interface Diff { + row: number; + col: number; + expected: string; + given: string; +} + +interface DiffLineDisplay { + expectedLine: string; + givenLine: string; + correctCellSpans: Span[]; + incorrectCellSpans: Span[]; +} + +export type DecorationType = + | "correct-line" + | "error-line" + | "correct-cell" + | "error-cell"; + +interface Decoration { + span: Span; + type: DecorationType; +} + +export interface DiffDisplay { + text: string; + failureNum: number; + decorations: Decoration[]; + lineNumbers: string[]; +} + +function getDiffs(cmpData: Cmp, outData: Cmp): Diff[] { + const diffs: Diff[] = []; + + for (let i = 0; i < Math.min(cmpData.length, outData.length); i++) { + const cmpI = cmpData[i] ?? []; + const outI = outData[i] ?? []; + + for (let j = 0; j < Math.max(cmpI.length, outI.length); j++) { + const cmpJ = cmpI[j] ?? ""; + const outJ = outI[j] ?? ""; + if (!(cmpJ?.trim().match(/^\*+$/) !== null || outJ === cmpJ)) { + diffs.push({ row: i, col: j, expected: cmpJ, given: outJ }); + } + } + } + return diffs; +} + +export function compare(cmp: string, out: string) { + const cmpResult = CMP.parse(cmp); + const outResult = CMP.parse(out); + + if (isErr(cmpResult) || isErr(outResult)) { + return false; + } + + const cmpData = Ok(cmpResult); + const outData = Ok(outResult); + + return getDiffs(cmpData, outData).length == 0; +} + +export function generateDiffs(cmp: string, out: string): DiffDisplay { + const cmpResult = CMP.parse(cmp); + const outResult = CMP.parse(out); + + if (isErr(cmpResult) || isErr(outResult)) { + return { + text: "", + failureNum: 0, + decorations: [], + lineNumbers: [], + }; + } + + const cmpData = Ok(cmpResult); + const outData = Ok(outResult); + + const diffs = getDiffs(cmpData, outData); + + const diffsByLine: Diff[][] = new Array(cmpData.length); + for (const diff of diffs) { + const lineDiffs = diffsByLine[diff.row]; + if (lineDiffs) { + lineDiffs.push(diff); + } else { + diffsByLine[diff.row] = [diff]; + } + } + + const lines = out.split("\n"); + const diffLines: DiffLineDisplay[] = new Array(cmpData.length); + for (let i = 0; i < diffsByLine.length; i++) { + if (diffsByLine[i]) { + diffLines[i] = generateDiffLine(lines[i], diffsByLine[i]); + } + } + + const finalLines: string[] = []; + let lineStart = 0; + const decorations: Decoration[] = []; + const lineNumbers: string[] = []; + + for (let i = 0; i < lines.length; i++) { + const diffLine = diffLines[i]; + lineNumbers.push((i + 1).toString()); + if (diffLine) { + lineNumbers.push(""); + finalLines.push(diffLine.givenLine); + decorations.push({ + span: { + start: lineStart, + end: lineStart + diffLine.givenLine.length, + line: finalLines.length, + }, + type: "error-line", + }); + decorations.push( + ...diffLine.incorrectCellSpans.map((span) => ({ + span: { + start: span.start + lineStart, + end: span.end + lineStart, + line: span.line, + }, + type: "error-cell" as DecorationType, + })), + ); + + lineStart += diffLine.expectedLine.length + 1; // +1 for the newline character + + finalLines.push(diffLine.expectedLine); + decorations.push({ + span: { + start: lineStart, + end: lineStart + diffLine.expectedLine.length, + line: i, + }, + type: "correct-line", + }); + decorations.push( + ...diffLine.correctCellSpans.map((span) => ({ + span: { + start: span.start + lineStart, + end: span.end + lineStart, + line: finalLines.length, + }, + type: "correct-cell" as DecorationType, + })), + ); + + lineStart += diffLine.givenLine.length + 1; + } else { + finalLines.push(lines[i]); + lineStart += lines[i].length + 1; + } + } + + let text = finalLines.join("\n"); + if (text.endsWith("\n")) { + text = text.substring(0, text.length - 1); + } + + return { + text: text, + failureNum: diffs.length, + decorations, + lineNumbers, + }; +} + +function generateDiffLine(original: string, diffs: Diff[]): DiffLineDisplay { + const cells = original.split("|").filter((cell) => cell != ""); + const newCells = Array.from(cells); + + const cellStarts: number[] = []; + let sum = 0; + for (let i = 0; i < cells.length; i++) { + cellStarts.push(sum + 1); + sum += cells[i].length + 1; + } + + const correctCellSpans: Span[] = []; + const incorrectCellSpans: Span[] = []; + + for (const diff of diffs) { + cells[diff.col] = diff.expected; + newCells[diff.col] = diff.given; + + const span = { + start: cellStarts[diff.col], + end: cellStarts[diff.col] + diff.expected.length, + line: 0, // not used + }; + correctCellSpans.push(span); + incorrectCellSpans.push(span); + } + + return { + expectedLine: `|${cells.join("|")}|`, + givenLine: `|${newCells.join("|")}|`, + correctCellSpans, + incorrectCellSpans, + }; +} diff --git a/web-ide-main/components/src/dialog.tsx b/web-ide-main/components/src/dialog.tsx new file mode 100644 index 0000000..227e8c7 --- /dev/null +++ b/web-ide-main/components/src/dialog.tsx @@ -0,0 +1,14 @@ +import { useState } from "react"; + +export function useDialog() { + const [open, setOpen] = useState(false); + return { + isOpen: open, + open() { + setOpen(true); + }, + close() { + setOpen(false); + }, + }; +} diff --git a/web-ide-main/components/src/difftable.tsx b/web-ide-main/components/src/difftable.tsx new file mode 100644 index 0000000..5afc8b0 --- /dev/null +++ b/web-ide-main/components/src/difftable.tsx @@ -0,0 +1,120 @@ +import { CMP } from "@nand2tetris/simulator/languages/cmp.js"; +import { display } from "@davidsouther/jiffies/lib/esm/display.js"; +import { range } from "@davidsouther/jiffies/lib/esm/range.js"; +import { Err, isErr, Ok } from "@davidsouther/jiffies/lib/esm/result.js"; +import { ReactElement } from "react"; + +export const DiffTable = ({ + className = "", + out, + cmp, + zeroState, +}: { + out: string; + cmp: string; + className?: string; + zeroState?: ReactElement; +}) => { + const output = CMP.parse(out); + const compare = CMP.parse(cmp); + + if (isErr(output)) { + return ( +
+ Failed to parse output +
{display(Err(output))}
+ +
{out}
+
+
+ ); + } + + if (isErr(compare)) { + return ( +
+ Failed to parse compare + +
{display(Err(compare))}
+
{cmp}
+
+
+ ); + } + + const cmpData = Ok(compare); + const outData = Ok(output); + let failures = 0; + const table = range(0, Math.min(cmpData.length, outData.length)).map((i) => { + const cmpI = cmpData[i] ?? []; + const outI = outData[i] ?? []; + return range(0, Math.max(cmpI.length, outI.length)) + .map((_, j) => [cmpI[j] ?? "", outI[j] ?? ""]) + .map(([cmp, out]) => { + const cell = { + cmp: cmp ?? '"', + out: out ?? '"', + pass: + cmp?.trim().match(/^\*+$/) !== null || out?.trim() === cmp?.trim(), + }; + if (!cell.pass) { + failures += 1; + } + return cell; + }); + }); + + return ( +
+ {failures > 0 && ( +

+ {failures} failure{failures === 1 ? "" : "s"} +

+ )} + {table.length > 0 ? ( + + + {table.map((row, i) => ( + + {row.map(({ cmp, out, pass }, i) => ( + + ))} + + ))} + +
+ ) : ( + (zeroState ??

Execute test script to compare output.

) + )} +
+ ); +}; + +const DiffCell = ({ + cmp, + out, + pass, +}: { + cmp: string; + out: string; + pass: boolean; +}) => { + return pass ? ( + <> + {cmp} + + ) : ( + <> + + {cmp} +
+ {out} + + + ); +}; diff --git a/web-ide-main/components/src/file_utils.ts b/web-ide-main/components/src/file_utils.ts new file mode 100644 index 0000000..978894f --- /dev/null +++ b/web-ide-main/components/src/file_utils.ts @@ -0,0 +1,81 @@ +import { FileSystem, Stats } from "@davidsouther/jiffies/lib/esm/fs"; +import { Err, Ok, Result } from "@davidsouther/jiffies/lib/esm/result.js"; + +interface TestFiles { + tst: string; + cmp?: string; +} + +export async function loadTestFiles( + fs: FileSystem, + tstPath: string, +): Promise> { + try { + const tst = await fs.readFile(tstPath); + let cmp: string | undefined = undefined; + try { + const cpmPath = tstPath + .replace("VME.tst", ".tst") + .replace(".tst", ".cmp"); + cmp = await fs.readFile(cpmPath); + } catch (_e) { + // There doesn't have to be a compare file + } + return Ok({ tst: tst, cmp: cmp }); + } catch (e) { + return Err(e as Error); + } +} + +export function sortFiles(files: Stats[]) { + return files.sort((a, b) => { + const aIsNum = /^\d+/.test(a.name); + const bIsNum = /^\d+/.test(b.name); + if (aIsNum && !bIsNum) { + return -1; + } else if (!aIsNum && bIsNum) { + return 1; + } else if (aIsNum && bIsNum) { + return parseInt(a.name, 10) - parseInt(b.name, 10); + } else { + return a.name.localeCompare(b.name); + } + }); +} + +export async function cloneTree( + sourceFs: FileSystem, + targetFs: FileSystem, + dir = "/", + pathTransform: (path: string) => string, + overwrite = false, +) { + const sourceDir = dir == "/" ? "" : dir; + const targetDir = pathTransform(sourceDir); + + const sourceItems = await sourceFs.scandir(dir); + + targetFs.mkdir(targetDir); + const targetItems = new Set( + (await targetFs.scandir(targetDir)).map((stat) => stat.name), + ); + + for (const item of sourceItems) { + if (item.isFile()) { + if (overwrite || !targetItems.has(item.name)) { + await targetFs.writeFile( + `${targetDir}/${item.name}`, + await sourceFs.readFile(`${sourceDir}/${item.name}`), + ); + } + } else { + await cloneTree( + sourceFs, + targetFs, + `${sourceDir}/${item.name}`, + pathTransform, + overwrite, + ); + } + } +} diff --git a/web-ide-main/components/src/i18n.tsx b/web-ide-main/components/src/i18n.tsx new file mode 100644 index 0000000..0262cd3 --- /dev/null +++ b/web-ide-main/components/src/i18n.tsx @@ -0,0 +1,5 @@ +// export { Trans } from "@lingui/macro"; + +import { PropsWithChildren } from "react"; + +export const Trans = (props: PropsWithChildren) => props.children ?? <>; diff --git a/web-ide-main/components/src/inline_edit.tsx b/web-ide-main/components/src/inline_edit.tsx new file mode 100644 index 0000000..7f28ed7 --- /dev/null +++ b/web-ide-main/components/src/inline_edit.tsx @@ -0,0 +1,85 @@ +import { width } from "@davidsouther/jiffies/lib/esm/dom/css/sizing.js"; +import { useCallback, useState } from "react"; +import { useStateInitializer } from "./react.js"; +import { Action } from "@nand2tetris/simulator/types.js"; + +const Mode = { VIEW: 0, EDIT: 1 }; + +export const InlineEdit = (props: { + mode?: keyof typeof Mode; + value: string; + highlight: boolean; + onChange: Action; + onFocus?: () => void; +}) => { + const [mode, setMode] = useState(props.mode ?? Mode.VIEW); + const [value, setValue] = useStateInitializer(props.value); + + const render = () => { + switch (mode) { + case Mode.EDIT: + return edit(); + case Mode.VIEW: + return view(); + default: + return ; + } + }; + + const view = () => ( +
{ + setMode(Mode.EDIT); + }} + > + {value}  +
+ ); + + const doSelect = useCallback( + (ref: HTMLInputElement | null) => ref?.select(), + [], + ); + const doChange = useCallback( + (target: HTMLInputElement) => { + setMode(Mode.VIEW); + setValue(target.value ?? ""); + props.onChange(target.value ?? ""); + }, + [props, setMode, setValue], + ); + const edit = () => { + const edit = ( + + doChange(target)} + onKeyPress={({ key, target }) => { + if (key === "Enter") { + doChange(target as HTMLInputElement); + } + }} + type="text" + defaultValue={value} + /> + + ); + return edit; + }; + + return render(); +}; + +export default InlineEdit; diff --git a/web-ide-main/components/src/messages.ts b/web-ide-main/components/src/messages.ts new file mode 100644 index 0000000..c04ddc0 --- /dev/null +++ b/web-ide-main/components/src/messages.ts @@ -0,0 +1 @@ +export const LOADING = "Loading in progress..."; diff --git a/web-ide-main/components/src/pin_display.ts b/web-ide-main/components/src/pin_display.ts new file mode 100644 index 0000000..84d53ac --- /dev/null +++ b/web-ide-main/components/src/pin_display.ts @@ -0,0 +1,43 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { REGISTRY as BUILTIN_REGISTRY } from "@nand2tetris/simulator/chip/builtins/index.js"; + +export class ChipDisplayInfo { + signBehaviors: Map = new Map(); + + public constructor(chipName: string, unsigned?: string[]) { + if (BUILTIN_REGISTRY.has(chipName)) { + const chip = assertExists(BUILTIN_REGISTRY.get(chipName)?.()); + + const pins = [...chip.ins.entries(), ...chip.outs.entries()]; + + for (const pin of pins) { + this.signBehaviors.set( + pin.name, + !unsigned || !unsigned.includes(pin.name), + ); + } + } + } + + public isSigned(pin: string) { + return this.signBehaviors.get(pin); + } +} + +const UNSIGNED_PINS = new Map([ + ["Mux4Way16", ["sel"]], + ["Mux8Way16", ["sel"]], + ["DMux4Way", ["sel"]], + ["DMux8Way", ["sel"]], + ["RAM8", ["address"]], + ["RAM64", ["address"]], + ["RAM512", ["address"]], + ["RAM4K", ["address"]], + ["RAM16K", ["address"]], + ["Screen", ["address"]], + ["Memory", ["address"]], + ["CPU", ["addressM", "pc"]], +]); + +export const getDisplayInfo = (chipName: string) => + new ChipDisplayInfo(chipName, UNSIGNED_PINS.get(chipName)); diff --git a/web-ide-main/components/src/pinout.test.tsx b/web-ide-main/components/src/pinout.test.tsx new file mode 100644 index 0000000..43cafe7 --- /dev/null +++ b/web-ide-main/components/src/pinout.test.tsx @@ -0,0 +1,60 @@ +import { Bus, HIGH } from "@nand2tetris/simulator/chip/chip.js"; +import { render, screen } from "@testing-library/react"; +import { act, useState } from "react"; +import { Pinout, reducePin } from "./pinout.js"; + +describe("", () => { + it("renders pins", () => { + const pin = new Bus("pin"); + render(); + + const pinOut = screen.getByText("0"); + expect(pinOut).toBeVisible(); + }); + + it("toggles bits", () => { + const pin = new Bus("pin"); + const Wrapper = () => { + const [pins, setPins] = useState([reducePin(pin)]); + + const toggle = () => { + pin.toggle(); + setPins([reducePin(pin)]); + }; + + return ; + }; + + render(); + + const pinOut = screen.getByText("0"); + act(() => { + pinOut.click(); + }); + expect(pin.busVoltage).toBe(HIGH); + expect(screen.getByText("1")).toBeVisible(); + }); + + it.skip("increments buses", () => { + const pin = new Bus("pin", 3); + const Wrapper = () => { + const [pins, setPins] = useState([reducePin(pin)]); + + const toggle = () => { + pin.busVoltage += 1; + setPins([reducePin(pin)]); + }; + + return ; + }; + + render(); + + const pinOut = screen.getByText("000"); + act(() => { + pinOut.click(); + }); + expect(pin.busVoltage).toBe(1); + expect(screen.getByText("001")).toBeVisible(); + }); +}); diff --git a/web-ide-main/components/src/pinout.tsx b/web-ide-main/components/src/pinout.tsx new file mode 100644 index 0000000..3bcae8e --- /dev/null +++ b/web-ide-main/components/src/pinout.tsx @@ -0,0 +1,307 @@ +import { range } from "@davidsouther/jiffies/lib/esm/range.js"; +import { + Pin as ChipPin, + Pins, + Voltage, +} from "@nand2tetris/simulator/chip/chip.js"; +import { createContext, useContext, useEffect, useState } from "react"; +import { ChipDisplayInfo, getDisplayInfo } from "./pin_display.js"; +import "./public/pin.css"; +import { ChipSim } from "./stores/chip.store.js"; + +export const PinContext = createContext({}); + +export interface ImmPin { + bits: [number, Voltage][]; + pin: ChipPin; +} + +export function reducePin(pin: ChipPin) { + return { + pin, + bits: range(0, pin.width) + .map((i) => [i, pin.voltage(i)] as [number, Voltage]) + .reverse(), + }; +} + +export function reducePins(pins: Pins): ImmPin[] { + return [...pins.entries()].map(reducePin); +} + +export interface PinoutPins { + pins: ImmPin[]; + toggle?: (pin: ChipPin, bit?: number) => void; +} + +export const FullPinout = (props: { + sim: ChipSim; + toggle: (pin: ChipPin, i: number | undefined) => void; + setInputValid: (pending: boolean) => void; + hideInternal?: boolean; +}) => { + const { inPins, outPins, internalPins } = props.sim; + const displayInfo = getDisplayInfo(props.sim.chip[0].name ?? ""); + return ( + <> + + + + + + {!props.hideInternal && ( + + )} + +
+ + ); +}; + +export const PinoutBlock = ( + props: PinoutPins & { + header: string; + disabled?: boolean; + enableEdit?: boolean; + setInputValid?: (valid: boolean) => void; + displayInfo: ChipDisplayInfo; + }, +) => ( + <> + {props.pins.length > 0 && ( + + {props.header} + + )} + {[...props.pins].map((immPin) => ( + + {immPin.pin.name} + + + + + ))} + +); + +export const Pinout = ({ + pins, + toggle, +}: { + pins: ImmPin[]; + toggle?: (pin: ChipPin, bit?: number) => void; +}) => { + if (pins.length === 0) { + return <>None; + } + return ( + + + + + + + + + {[...pins].map((immPin) => ( + + + + + ))} + +
NameValue
{immPin.pin.name} + +
+ ); +}; + +const Pin = ({ + pin, + toggle, + disabled = false, + enableEdit = true, + signed = true, + setInputValid, + internal = false, +}: { + pin: ImmPin; + toggle: ((pin: ChipPin, bit?: number) => void) | undefined; + disabled?: boolean; + enableEdit?: boolean; + signed?: boolean; + setInputValid?: (valid: boolean) => void; + internal: boolean; +}) => { + const [isBin, setIsBin] = useState(true); + let inputValid = true; + const [decimal, setDecimal] = useState(""); + + const toggleBin = () => { + setIsBin(!isBin); + }; + + const resetDispatcher = useContext(PinContext); + if (resetDispatcher instanceof PinResetDispatcher) { + resetDispatcher.registerCallback(() => { + setIsBin(true); + }); + } + + const setInputValidity = (valid: boolean) => { + inputValid = valid; + setInputValid?.(valid); + }; + + const handleDecimalChange = (value: string) => { + const positive = value.replace(/[^\d]/g, ""); + const numeric = signed && value[0] === "-" ? `-${positive}` : positive; + + setDecimal(numeric); + if (isNaN(parseInt(numeric))) { + setInputValidity(false); + } else { + const newValue = parseInt(numeric); + if ( + (!signed && newValue >= Math.pow(2, pin.bits.length)) || + (signed && + (newValue >= Math.pow(2, pin.bits.length - 1) || + newValue < -Math.pow(2, pin.bits.length - 1))) + ) { + setInputValidity(false); + } else { + updatePins(newValue); + setInputValidity(true); + } + } + }; + + const updatePins = (n: number) => { + for (let i = 0; i < pin.bits.length; i++) { + if (pin.bits[pin.bits.length - i - 1][1] !== ((n >> i) & 1)) { + toggle?.(pin.pin, i); + } + } + }; + + useEffect(() => { + if (!isBin && inputValid) { + let value = 0; + if (signed && pin.bits[0][1]) { + // negative + for (const [i, v] of pin.bits) { + if (i < pin.bits.length - 1 && !v) { + value += 2 ** i; + } + } + value = -value - 1; + } else { + // positive + const limit = signed ? pin.bits.length - 1 : pin.bits.length; + for (const [i, v] of pin.bits) { + if (i < limit && v) { + value += 2 ** i; + } + } + } + setDecimal(value.toString()); + } + }, [pin, isBin]); + + return ( +
+
+ {isBin ? ( + pin.bits.map(([i, v]) => ( + + )) + ) : ( + { + handleDecimalChange(e.target.value); + }} + disabled={!enableEdit} + /> + )} +
+ {pin.bits.length > 1 && ( + <> +
+ + + )} +
+ ); +}; + +export class PinResetDispatcher { + private callbacks: (() => void)[] = []; + + registerCallback(callback: () => void) { + this.callbacks.push(callback); + } + + reset() { + for (const callback of this.callbacks) { + callback(); + } + } +} diff --git a/web-ide-main/components/src/public/alu.css b/web-ide-main/components/src/public/alu.css new file mode 100644 index 0000000..6fd93c2 --- /dev/null +++ b/web-ide-main/components/src/public/alu.css @@ -0,0 +1,3 @@ +.alu { + font-size: 20; +} diff --git a/web-ide-main/components/src/public/pin.css b/web-ide-main/components/src/public/pin.css new file mode 100644 index 0000000..2b6a9dc --- /dev/null +++ b/web-ide-main/components/src/public/pin.css @@ -0,0 +1,5 @@ +.pin-control { + max-width: 3em !important; + background: var(--light-grey); + border-color: var(--light-grey); +} diff --git a/web-ide-main/components/src/react.ts b/web-ide-main/components/src/react.ts new file mode 100644 index 0000000..5c28816 --- /dev/null +++ b/web-ide-main/components/src/react.ts @@ -0,0 +1,31 @@ +import { produce } from "immer"; +import { Dispatch, useEffect, useReducer, useState } from "react"; + +export function useImmerReducer< + T, + // biome-ignore lint/suspicious/noExplicitAny: reducer really doesn't care + Reducers extends Record T | void>, +>(reducers: Reducers, initialState: T) { + return useReducer( + ( + state: T, + command: { + action: keyof Reducers; + // biome-ignore lint/suspicious/noExplicitAny: reducer doesn't care and covariants are hard + payload?: any; + }, + ): T => + produce(state, (draft: T) => { + reducers[command.action](draft, command.payload); + }), + initialState, + ); +} + +export function useStateInitializer(init: T): [T, Dispatch] { + const [state, setState] = useState(init); + useEffect(() => { + setState(init); + }, [init]); + return [state, setState]; +} diff --git a/web-ide-main/components/src/runbar.tsx b/web-ide-main/components/src/runbar.tsx new file mode 100644 index 0000000..e956503 --- /dev/null +++ b/web-ide-main/components/src/runbar.tsx @@ -0,0 +1,141 @@ +import { Timer } from "@nand2tetris/simulator/timer.js"; +import { ChangeEvent, ReactNode, useEffect, useRef } from "react"; +import { useStateInitializer } from "./react.js"; +import { useTimer } from "./timer.js"; + +interface RunbarTooltipOverrides { + step: string; + run: string; + pause: string; + reset: string; +} + +export type RunSpeed = 0 | 1 | 2 | 3 | 4; + +export const Runbar = (props: { + runner: Timer; + speed?: RunSpeed; + disabled?: boolean; + prefix?: ReactNode; + children?: ReactNode; + overrideTooltips?: Partial; + onSpeedChange?: (speed: RunSpeed) => void; +}) => { + const runner = useTimer(props.runner); + const [speedValue, setSpeed] = useStateInitializer(props.speed ?? 2); + + const speedValues: Record = { + 0: [1000, 1], + 1: [500, 1], + 2: [16, 1], + 3: [16, 16666], + 4: [16, 16666 * 30], + }; + + useEffect(() => { + updateSpeed(); + }, [speedValue]); + + const updateSpeed = () => { + const [speed, steps] = speedValues[speedValue]; + runner.dispatch({ action: "setSpeed", payload: speed }); + runner.dispatch({ action: "setSteps", payload: steps }); + }; + + const onChange = (e: ChangeEvent) => { + const speed = Number(e.target.value) as RunSpeed; + setSpeed(speed); + props.onSpeedChange?.(speed); + }; + + const toggleRef = useRef(null); + + const onKeyPress = (event: KeyboardEvent) => { + toggleRef.current?.blur(); + }; + + useEffect(() => { + window.addEventListener("keydown", onKeyPress); + window.addEventListener("keyup", onKeyPress); + + return () => { + window.removeEventListener("keydown", onKeyPress); + window.removeEventListener("keyup", onKeyPress); + }; + }); + + return ( +
+
+ {props.prefix} + + + +
+
+ Slow + + Fast +
+ {props.children} +
+ ); +}; diff --git a/web-ide-main/components/src/setupTests.ts b/web-ide-main/components/src/setupTests.ts new file mode 100644 index 0000000..2ab4566 --- /dev/null +++ b/web-ide-main/components/src/setupTests.ts @@ -0,0 +1,6 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import "@testing-library/jest-dom"; +import "@nand2tetris/simulator/setupTests.js"; diff --git a/web-ide-main/components/src/stores/asm.store.ts b/web-ide-main/components/src/stores/asm.store.ts new file mode 100644 index 0000000..1472c99 --- /dev/null +++ b/web-ide-main/components/src/stores/asm.store.ts @@ -0,0 +1,490 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { + Err, + isErr, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { + CompareResultLengths, + CompareResultLine, + compareLines, +} from "@nand2tetris/simulator/compare.js"; +import { + KEYBOARD_OFFSET, + SCREEN_OFFSET, +} from "@nand2tetris/simulator/cpu/memory.js"; +import { + ASM, + Asm, + fillLabel, + isAValueInstruction, + translateInstruction, +} from "@nand2tetris/simulator/languages/asm.js"; +import { + CompilationError, + Span, +} from "@nand2tetris/simulator/languages/base.js"; +import { Action } from "@nand2tetris/simulator/types.js"; +import { bin } from "@nand2tetris/simulator/util/twos.js"; +import { Dispatch, MutableRefObject, useContext, useMemo, useRef } from "react"; +import { RunSpeed } from "src/runbar.js"; +import { useImmerReducer } from "../react.js"; +import { BaseContext, StatusSeverity } from "./base.context.js"; + +export interface TranslatorSymbol { + name: string; + value: string; +} + +function defaultSymbols(): TranslatorSymbol[] { + return [ + { name: "R0", value: "0" }, + { name: "R1", value: "1" }, + { name: "R2", value: "2" }, + { name: "...", value: "" }, // abbreviation of R3 - R14 + { name: "R15", value: "15" }, + { name: "SCREEN", value: SCREEN_OFFSET.toString() }, + { name: "KBD", value: KEYBOARD_OFFSET.toString() }, + ]; +} + +interface HighlightInfo { + resultHighlight: Span | undefined; + sourceHighlight: Span | undefined; + highlightMap: Map; +} + +interface AsmVariable { + name: string; + isHidden: boolean; +} + +class Translator { + asm: Asm = { instructions: [] }; + current = -1; + done = false; + symbols: TranslatorSymbol[] = []; + private variables: Map = new Map(); + private lines: string[] = []; + lineNumbers: number[] = []; + + getResult() { + return this.lines.join("\n"); + } + + load(asm: Asm, lineNum: number): Result { + this.symbols = defaultSymbols(); + this.variables.clear(); + this.asm = asm; + + const result = fillLabel(asm, (name, value, isVar) => { + if (isVar) { + this.variables.set(value, { name: name, isHidden: true }); + } else { + this.symbols.push({ name: name, value: value.toString() }); + } + }); + if (isErr(result)) { + return result; + } + + asm.instructions = asm.instructions.filter(({ type }) => type !== "L"); + + this.resolveLineNumbers(lineNum); + this.reset(); + return Ok(); + } + + resolveLineNumbers(lineNum: number) { + this.lineNumbers = Array(lineNum); + let currentLine = 0; + for (const instruction of this.asm.instructions) { + if ( + (instruction.type === "A" || instruction.type === "C") && + instruction.span != undefined + ) { + this.lineNumbers[instruction.span.line] = currentLine; + currentLine += 1; + } + } + } + + step(highlightInfo: HighlightInfo) { + if (this.current >= this.asm.instructions.length - 1) { + return; + } + this.current += 1; + const instruction = this.asm.instructions[this.current]; + if (instruction.type === "A" || instruction.type === "C") { + highlightInfo.sourceHighlight = instruction.span; + const result = translateInstruction(this.asm.instructions[this.current]); + if (result === undefined) { + return; + } + this.lines.push(`${bin(result)}`); + highlightInfo.resultHighlight = { + start: this.current * 17, + end: (this.current + 1) * 17, + line: -1, + }; + + if (highlightInfo.sourceHighlight) { + highlightInfo.highlightMap.set( + highlightInfo.sourceHighlight, + highlightInfo.resultHighlight, + ); + } + + if (isAValueInstruction(instruction)) { + const variable = this.variables.get(instruction.value); + if (variable != undefined && variable.isHidden) { + this.symbols.push({ + name: variable.name, + value: instruction.value.toString(), + }); + variable.isHidden = false; + } + } + + if (this.current === this.asm.instructions.length - 1) { + this.done = true; + } + } + } + + resetSymbols() { + for (const variable of this.variables.values()) { + variable.isHidden = true; + } + + const variableNames = new Set( + Array.from(this.variables.values()).map((v) => v.name), + ); + this.symbols = this.symbols.filter( + (symbol) => !variableNames.has(symbol.name), + ); + } + + reset() { + this.current = -1; + this.lines = []; + this.done = false; + this.resetSymbols(); + } +} + +export interface AsmPageState { + asm: string; + path: string | undefined; + translating: boolean; + current: number; + resultHighlight: Span | undefined; + sourceHighlight: Span | undefined; + symbols: TranslatorSymbol[]; + result: string; + compare: string; + compareName: string | undefined; + lineNumbers: number[]; + error?: CompilationError; + compareError: boolean; + title?: string; + config: AsmPageConfig; +} + +export interface AsmPageConfig { + speed: RunSpeed; +} + +export type AsmStoreDispatch = Dispatch<{ + action: keyof ReturnType["reducers"]; + payload?: unknown; +}>; + +export function makeAsmStore( + fs: FileSystem, + setStatus: Action, + dispatch: MutableRefObject, + upgraded: boolean, +) { + const translator = new Translator(); + const highlightInfo: HighlightInfo = { + resultHighlight: undefined, + sourceHighlight: undefined, + highlightMap: new Map(), + }; + let path: string | undefined; + let animate = true; + let compiled = false; + let translating = false; + let failure = false; + + const reducers = { + setAsm( + state: AsmPageState, + { asm, path }: { asm: string; path: string | undefined }, + ) { + state.asm = asm; + + if (path) { + state.path = path; + } + }, + + setCmp(state: AsmPageState, { cmp, name }: { cmp: string; name: string }) { + state.compare = cmp; + state.compareName = name; + setStatus("Loaded compare file"); + }, + + setError(state: AsmPageState, error?: CompilationError) { + if (error) { + setStatus({ + message: error.message, + severity: "ERROR", + }); + } + state.error = error; + }, + + update(state: AsmPageState) { + state.translating = translating; + state.current = translator.current; + state.result = translator.getResult(); + state.symbols = Array.from(translator.symbols); + state.lineNumbers = Array.from(translator.lineNumbers); + state.sourceHighlight = highlightInfo.sourceHighlight; + state.resultHighlight = highlightInfo.resultHighlight; + state.compareError = failure; + }, + + compare(state: AsmPageState) { + const comparison = compareLines(state.result, state.compare); + + if ((comparison as CompareResultLengths).lenA) { + failure = true; + setStatus({ + message: "Comparison failed - different lengths", + severity: "ERROR", + }); + return; + } + + const { line } = comparison as CompareResultLine; + if (line) { + setStatus({ + message: `Comparison failure: Line ${line}`, + severity: "ERROR", + }); + + failure = true; + highlightInfo.resultHighlight = { + start: line * 17, + end: (line + 1) * 17, + line: -1, + }; + return; + } + + setStatus({ + message: "Comparison successful", + severity: "SUCCESS", + }); + }, + + setTitle(state: AsmPageState, title: string) { + state.title = title; + }, + + updateConfig(state: AsmPageState, config: Partial) { + state.config = { ...state.config, ...config }; + }, + }; + + const actions = { + async loadAsm(_path: string) { + path = _path; + const source = await fs.readFile(path); + actions.setAsm(source, path); + }, + + setAsm(asm: string, path?: string) { + asm = asm.replace(/\r\n/g, "\n"); + dispatch.current({ + action: "setAsm", + payload: { asm, path }, + }); + translating = false; + this.saveAsm(asm); + requestAnimationFrame(() => { + this.compileAsm(asm); + }); + }, + + saveAsm(asm: string) { + if (path) { + fs.writeFile(path, asm); + } + }, + + compileAsm(asm: string) { + this.reset(); + const parseResult = ASM.parse(asm); + if (isErr(parseResult)) { + dispatch.current({ + action: "setError", + payload: Err(parseResult), + }); + compiled = false; + return; + } + + const loadResult = translator.load( + Ok(parseResult), + asm.split("\n").length, + ); + if (isErr(loadResult)) { + dispatch.current({ + action: "setError", + payload: Err(loadResult), + }); + compiled = false; + return; + } + + compiled = translator.asm.instructions.length > 0; + setStatus(""); + dispatch.current({ action: "setError" }); + dispatch.current({ action: "update" }); + }, + + setAnimate(value: boolean) { + animate = value; + }, + + async step(): Promise { + if (compiled) { + translating = true; + } + translator.step(highlightInfo); + + if (animate || translator.done) { + dispatch.current({ action: "update" }); + + if (path && upgraded) { + await fs.writeFile( + path.replace(/\.asm$/, ".hack"), + translator.getResult(), + ); + } + } + + if (translator.done) { + setStatus({ + message: "Translation done.", + severity: "SUCCESS", + }); + } + return translator.done; + }, + + compare() { + dispatch.current({ action: "compare" }); + this.updateHighlight(highlightInfo.resultHighlight?.start ?? 0, false); + dispatch.current({ action: "update" }); + }, + + updateHighlight(index: number, fromSource: boolean) { + if (failure) { + return; + } + for (const [sourceSpan, resultSpan] of highlightInfo.highlightMap) { + if ( + (fromSource && + sourceSpan.start <= index && + index <= sourceSpan.end) || + (!fromSource && resultSpan.start <= index && index <= resultSpan.end) + ) { + highlightInfo.sourceHighlight = sourceSpan; + highlightInfo.resultHighlight = resultSpan; + } + } + dispatch.current({ action: "update" }); + }, + + resetHighlightInfo() { + highlightInfo.sourceHighlight = undefined; + highlightInfo.resultHighlight = undefined; + highlightInfo.highlightMap.clear(); + }, + + reset() { + failure = false; + translating = false; + setStatus("Reset"); + translator.reset(); + this.resetHighlightInfo(); + dispatch.current({ action: "update" }); + }, + + clear() { + this.setAsm(""); + dispatch.current({ action: "setTitle", payload: undefined }); + dispatch.current({ action: "setCmp", payload: "" }); + this.reset(); + }, + + overrideState(state: AsmPageState) { + this.resetHighlightInfo(); + this.setAsm(state.asm, state.path); + dispatch.current({ + action: "setCmp", + payload: { cmp: state.compare, name: state.compareName }, + }); + + if (state.translating) { + for (let i = 0; i <= state.current; i++) { + this.step(); + } + } + + dispatch.current({ action: "update" }); + }, + }; + + const initialState: AsmPageState = { + asm: "", + path: undefined, + translating: false, + current: -1, + resultHighlight: undefined, + sourceHighlight: undefined, + symbols: [], + result: "", + compare: "", + compareName: undefined, + lineNumbers: [], + compareError: false, + config: { + speed: 2, + }, + }; + + return { initialState, reducers, actions }; +} + +export function useAsmPageStore() { + const { setStatus, fs, localFsRoot } = useContext(BaseContext); + + const dispatch = useRef(() => undefined); + + const { initialState, reducers, actions } = useMemo( + () => makeAsmStore(fs, setStatus, dispatch, localFsRoot != undefined), + [setStatus, dispatch, fs], + ); + + const [state, dispatcher] = useImmerReducer(reducers, initialState); + dispatch.current = dispatcher; + + return { state, dispatch, actions }; +} diff --git a/web-ide-main/components/src/stores/base.context.ts b/web-ide-main/components/src/stores/base.context.ts new file mode 100644 index 0000000..c4ae7e4 --- /dev/null +++ b/web-ide-main/components/src/stores/base.context.ts @@ -0,0 +1,186 @@ +import { + FileSystem, + LocalStorageFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { Action, AsyncAction } from "@nand2tetris/simulator/types.js"; +import { + createContext, + useCallback, + useEffect, + useMemo, + useState, +} from "react"; +import { useDialog } from "../dialog.js"; +import { cloneTree } from "../file_utils.js"; +import { + FileSystemAccessFileSystemAdapter, + openNand2TetrisDirectory, +} from "./base/fs.js"; +import { + attemptLoadAdapterFromIndexedDb, + createAndStoreLocalAdapterInIndexedDB, + removeLocalAdapterFromIndexedDB, +} from "./base/indexDb.js"; + +export type StatusSeverity = "SUCCESS" | "WARNING" | "ERROR" | "INFO"; + +export interface BaseContext { + fs: FileSystem; + localFsRoot?: string; + canUpgradeFs: boolean; + upgradeFs: (force?: boolean, createFiles?: boolean) => Promise; + closeFs: () => void; + status: { message: string; severity: StatusSeverity }; + setStatus: Action; + storage: Record; + permissionPrompt: ReturnType; + requestPermission: AsyncAction; + loadFs: Action; +} + +export function useBaseContext(): BaseContext { + const localAdapter = useMemo(() => new LocalStorageFileSystemAdapter(), []); + const [fs, setFs] = useState(new FileSystem(localAdapter)); + const [root, setRoot] = useState(); + + const permissionPrompt = useDialog(); + + const setLocalFs = useCallback( + async (handle: FileSystemDirectoryHandle, createFiles = false) => { + // We will not mirror the changes in localStorage, since they will be saved in the user's file system + const newFs = new FileSystem( + new FileSystemAccessFileSystemAdapter(handle), + ); + if (createFiles) { + if (root) { + const loaders = await import("@nand2tetris/projects/loader.js"); + await loaders.createFiles(newFs); + } else { + await cloneTree(fs, newFs, "/projects", (path: string) => + path.replace("/projects", "/").replace(/\/0*(\d+)/, "$1"), + ); + } + } + setFs(newFs); + setRoot(handle.name); + }, + [setRoot, setFs], + ); + + const requestPermission = async () => { + attemptLoadAdapterFromIndexedDb().then(async (adapter) => { + if (!adapter) return; + await adapter.requestPermission({ mode: "readwrite" }); + }); + }; + + const loadFs = () => { + attemptLoadAdapterFromIndexedDb().then(async (adapter) => { + if (!adapter) return; + setLocalFs(adapter); + }); + }; + + useEffect(() => { + if (root) return; + + if ("showDirectoryPicker" in window) { + attemptLoadAdapterFromIndexedDb().then(async (adapter) => { + if (!adapter) return; + + const permissions = await adapter.queryPermission({ + mode: "readwrite", + }); + + switch (permissions) { + case "granted": + setLocalFs(adapter); + break; + case "prompt": + permissionPrompt.open(); + break; + case "denied": + setStatus({ + message: + "Permission denied. Please allow access to your file system.", + severity: "ERROR", + }); + break; + } + }); + } + }, [root, setLocalFs]); + + const canUpgradeFs = `showDirectoryPicker` in window; + + const upgradeFs = useCallback( + async (force = false, createFiles = false) => { + if (!canUpgradeFs || (root && !force)) return; + const handler = await openNand2TetrisDirectory(); + if (root) { + await removeLocalAdapterFromIndexedDB(); + } + const adapter = await createAndStoreLocalAdapterInIndexedDB(handler); + await setLocalFs(adapter, createFiles); + }, + [root, setLocalFs], + ); + + const closeFs = useCallback(async () => { + if (!root) return; + await removeLocalAdapterFromIndexedDB(); + setRoot(undefined); + setFs(new FileSystem(localAdapter)); + }, [root]); + + const [status, setStatusInternal] = useState<{ + message: string; + severity: StatusSeverity; + }>({ message: "", severity: "INFO" }); + + const setStatus = useCallback( + (input: string | { message: string; severity?: StatusSeverity }) => { + if (typeof input === "string") { + setStatusInternal({ message: input, severity: "INFO" }); + } else { + setStatusInternal({ + message: input.message, + severity: input.severity || "INFO", + }); + } + }, + [], + ); + + return { + fs, + localFsRoot: root, + status, + setStatus, + storage: localStorage, + canUpgradeFs, + permissionPrompt, + upgradeFs, + requestPermission, + closeFs, + loadFs, + }; +} + +export const BaseContext = createContext({ + fs: new FileSystem(new LocalStorageFileSystemAdapter()), + canUpgradeFs: false, + // biome-ignore lint/suspicious/noEmptyBlockStatements: abstract base + async upgradeFs() {}, + // biome-ignore lint/suspicious/noEmptyBlockStatements: abstract base + closeFs() {}, + status: { message: "", severity: "INFO" }, + // biome-ignore lint/suspicious/noEmptyBlockStatements: abstract base + setStatus() {}, + storage: {}, + permissionPrompt: {} as ReturnType, + // biome-ignore lint/suspicious/noEmptyBlockStatements: abstract base + async requestPermission() {}, + // biome-ignore lint/suspicious/noEmptyBlockStatements: abstract base + loadFs() {}, +}); diff --git a/web-ide-main/components/src/stores/base/fs.ts b/web-ide-main/components/src/stores/base/fs.ts new file mode 100644 index 0000000..d0dd87f --- /dev/null +++ b/web-ide-main/components/src/stores/base/fs.ts @@ -0,0 +1,176 @@ +import { + basename, + FileSystemAdapter, + SEP, + Stats, +} from "@davidsouther/jiffies/lib/esm/fs.js"; + +function dirname(path: string): string { + return path.split(SEP).slice(0, -1).join(SEP); +} + +export function openNand2TetrisDirectory(): Promise { + return window.showDirectoryPicker({ + id: "nand2tetris", + mode: "readwrite", + startIn: "documents", + }); +} + +export class FileSystemAccessFileSystemAdapter implements FileSystemAdapter { + constructor(private baseDir: FileSystemDirectoryHandle) {} + + async getFolder( + path: string, + create = false, + ): Promise { + let folder = this.baseDir; + const parts = path + .split(SEP) + .slice(1) + .filter((part) => part.trim() != ""); + for (const part of parts) { + folder = await folder.getDirectoryHandle(part, { create }); + } + return folder; + } + + async copyFile(from: string, to: string): Promise { + throw new Error( + "unimplemented: FileSystemAccessFileSystemAdapter::copyFile", + ); + } + + async mkdir(path: string): Promise { + this.getFolder(path, true); + } + + async readFile(path: string): Promise { + const folder = await this.getFolder(dirname(path)); + const file = await (await folder.getFileHandle(basename(path))).getFile(); + return file.text(); + } + + async writeFile(path: string, contents: string): Promise { + const folder = await this.getFolder(dirname(path), true); + const file = await ( + await folder.getFileHandle(basename(path), { create: true }) + ).createWritable(); + await file.write(contents); + await file.close(); + } + + async readdir(path: string): Promise { + const folder = await this.getFolder(path); + const entries: string[] = []; + for await (const [entry, _] of folder.entries()) { + entries.push(entry); + } + return entries; + } + + async scandir(path: string): Promise { + const folder = await this.getFolder(path); + const entries: Stats[] = []; + for await (const [name, handle] of folder.entries()) { + entries.push({ + name, + isDirectory() { + return handle.kind == "directory"; + }, + isFile() { + return handle.kind == "file"; + }, + }); + } + return entries; + } + + async stat(path: string): Promise { + const folder = await this.getFolder(dirname(path)); + for await (const [name, handle] of folder.entries()) { + if (name == basename(path)) { + return { + name, + isDirectory() { + return handle.kind == "directory"; + }, + isFile() { + return handle.kind == "file"; + }, + }; + } + } + return { + name: basename(path), + isDirectory() { + return false; + }, + isFile() { + return false; + }, + }; + } + + async rm(path: string): Promise { + const folder = await this.getFolder(dirname(path), true); + await folder.removeEntry(basename(path), { recursive: true }); + } +} + +export class ChainedFileSystemAdapter implements FileSystemAdapter { + constructor( + protected adapter: FileSystemAdapter, + private nextAdapter?: FileSystemAdapter | undefined, + ) {} + + stat(path: string): Promise { + return this.adapter.stat(path).catch((e) => { + if (this.nextAdapter) { + return this.nextAdapter.stat(path); + } + throw e; + }); + } + readdir(path: string): Promise { + return this.adapter.readdir(path).catch((e) => { + if (this.nextAdapter) { + return this.nextAdapter.readdir(path); + } + throw e; + }); + } + scandir(path: string): Promise { + return this.adapter.scandir(path).catch((e) => { + if (this.nextAdapter) { + return this.nextAdapter.scandir(path); + } + throw e; + }); + } + + async mkdir(path: string): Promise { + if (this.nextAdapter) await this.nextAdapter.mkdir(path); + return this.adapter.mkdir(path); + } + async copyFile(from: string, to: string): Promise { + if (this.nextAdapter) await this.nextAdapter.copyFile(from, to); + return this.adapter.copyFile(from, to); + } + readFile(path: string): Promise { + return this.adapter.readFile(path).catch((e) => { + if (this.nextAdapter) { + return this.nextAdapter.readFile(path); + } + throw e; + }); + } + async writeFile(path: string, contents: string): Promise { + if (this.nextAdapter) await this.nextAdapter?.writeFile(path, contents); + return this.adapter.writeFile(path, contents); + } + async rm(path: string): Promise { + if (this.nextAdapter) await this.nextAdapter.rm(path); + return this.adapter.rm(path); + } +} diff --git a/web-ide-main/components/src/stores/base/indexDb.ts b/web-ide-main/components/src/stores/base/indexDb.ts new file mode 100644 index 0000000..699b6be --- /dev/null +++ b/web-ide-main/components/src/stores/base/indexDb.ts @@ -0,0 +1,96 @@ +import { assert } from "@davidsouther/jiffies/lib/esm/assert.js"; + +const IDB_NAME = "NAND2TetrisIndexedDB"; +const IDB_VERSION = 1; +const IDB_FS_ADAPTER_OBJECT_STORE = "FileSystemAccess"; +const IDB_FS_ADAPTER_KEY = "Handler"; +function openIndexedDb(): Promise { + return new Promise((resolve, reject) => { + const request = window.indexedDB.open(IDB_NAME, IDB_VERSION); + request.onsuccess = () => { + resolve(request.result); + }; + request.onerror = () => { + reject(request.error); + }; + request.onupgradeneeded = (e) => { + request.result.createObjectStore(IDB_FS_ADAPTER_OBJECT_STORE); + }; + }); +} +export async function attemptLoadAdapterFromIndexedDb(): Promise { + const db = await openIndexedDb(); + return new Promise((resolve, reject) => { + const transaction = db.transaction( + [IDB_FS_ADAPTER_OBJECT_STORE], + "readonly", + ); + const objectStore = transaction.objectStore(IDB_FS_ADAPTER_OBJECT_STORE); + const handleRequest = objectStore.get(IDB_FS_ADAPTER_KEY); + handleRequest.onsuccess = () => { + const handle = handleRequest.result; + if (handle === undefined) { + resolve(); + } else { + assert( + handle instanceof FileSystemDirectoryHandle, + `Retrieved ${IDB_FS_ADAPTER_KEY} in ${IDB_FS_ADAPTER_OBJECT_STORE} in ${IDB_NAME} is not a FileSystemDirectoryHandle`, + ); + resolve(handle); + } + }; + transaction.onerror = () => { + console.error("Error in loading FileSystemDirectoryHandle transaction", { + err: transaction.error, + }); + reject(transaction.error); + }; + handleRequest.onerror = () => { + console.error("Error in FileSystemDirectoryHandle handleRequest", { + err: handleRequest.error, + }); + reject(handleRequest.error); + }; + }); +} + +export async function createAndStoreLocalAdapterInIndexedDB( + handle: FileSystemDirectoryHandle, +): Promise { + const db = await openIndexedDb(); + const transaction = db.transaction( + [IDB_FS_ADAPTER_OBJECT_STORE], + "readwrite", + ); + transaction + .objectStore(IDB_FS_ADAPTER_OBJECT_STORE) + .add(handle, IDB_FS_ADAPTER_KEY); + transaction.commit(); + return new Promise((resolve, reject) => { + transaction.oncomplete = () => { + resolve(handle); + }; + transaction.onerror = () => { + reject(transaction.error); + }; + }); +} + +export async function removeLocalAdapterFromIndexedDB() { + const db = await openIndexedDb(); + const transaction = db.transaction( + [IDB_FS_ADAPTER_OBJECT_STORE], + "readwrite", + ); + transaction + .objectStore(IDB_FS_ADAPTER_OBJECT_STORE) + .delete(IDB_FS_ADAPTER_KEY); + return new Promise((resolve, reject) => { + transaction.oncomplete = () => { + resolve(); + }; + transaction.onerror = () => { + reject(transaction.error); + }; + }); +} diff --git a/web-ide-main/components/src/stores/chip.store.test.ts b/web-ide-main/components/src/stores/chip.store.test.ts new file mode 100644 index 0000000..288bf1d --- /dev/null +++ b/web-ide-main/components/src/stores/chip.store.test.ts @@ -0,0 +1,164 @@ +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { cleanState } from "@davidsouther/jiffies/lib/esm/scope/state.js"; +import * as not from "@nand2tetris/projects/project_01/01_not.js"; +import { produce } from "immer"; +import { MutableRefObject } from "react"; +import { ImmPin } from "src/pinout.js"; +import { ChipStoreDispatch, makeChipStore } from "./chip.store.js"; + +function testChipStore( + fs: Record = { + "projects/01/Not.hdl": not.hdl, + "projects/01/Not.tst": not.tst, + "projects/01/Not.cmp": not.cmp, + }, + storage: Record = {}, +) { + const dispatch: MutableRefObject = { current: jest.fn() }; + + const setStatus = jest.fn(); + + const { initialState, actions, reducers } = makeChipStore( + new FileSystem(new ObjectFileSystemAdapter(fs)), + setStatus, + storage, + dispatch, + false, + ); + const store = { state: initialState, actions, reducers, dispatch, setStatus }; + dispatch.current = jest.fn().mockImplementation( + // biome-ignore lint/suspicious/noExplicitAny: covariants are hard + (command: { action: keyof typeof reducers; payload: any }) => { + store.state = produce(store.state, (draft: typeof initialState) => { + reducers[command.action](draft, command.payload); + }); + }, + ); + + return store; +} + +describe("ChipStore", () => { + describe("initialization", () => { + it("loads chip", async () => { + const store = testChipStore({ + "projects/01/Not.hdl": not.hdl, + "projects/01/Not.tst": not.tst, + "projects/01/Not.cmp": not.cmp, + }); + + await store.actions.initialize(); + await store.actions.loadChip("projects/01/Not.hdl"); + + expect(store.state.controls.project).toBe("01"); + expect(store.state.controls.chipName).toBe("Not"); + expect(store.state.files.hdl).toBe(not.hdl); + expect(store.state.files.tst).toBe(not.tst); + expect(store.state.files.cmp).toBe(""); + expect(store.state.files.out).toBe(""); + }); + }); + + describe("behavior", () => { + const state = cleanState(async () => { + const store = testChipStore({ + "projects/01/Not.hdl": not.hdl, + "projects/01/Not.tst": not.tst, + "projects/01/Not.cmp": not.cmp, + }); + await store.actions.initialize(); + await store.actions.loadChip("projects/01/Not.hdl"); + return { store }; + }, beforeEach); + + it.todo("loads projects and chips"); + + it("toggles bits", async () => { + state.store.actions.toggle(state.store.state.sim.chip[0].in(), 0); + expect(state.store.state.sim.chip[0].in().busVoltage).toBe(1); + expect(state.store.dispatch.current).toHaveBeenCalledWith({ + action: "updateChip", + payload: { pending: true }, + }); + expect(state.store.state.sim.pending).toBe(true); + + state.store.actions.eval(); + expect(state.store.dispatch.current).toHaveBeenCalledWith({ + action: "updateChip", + payload: { pending: false }, + }); + expect(state.store.state.sim.pending).toBe(false); + expect(state.store.state.sim.chip[0].out().busVoltage).toBe(0); + }); + }); + + describe("execution", () => { + const state = cleanState(async () => { + const store = testChipStore({ + "projects/01/Not.hdl": not.hdl, + "projects/01/Not.tst": not.tst, + "projects/01/Not.cmp": not.cmp, + }); + await store.actions.initialize(); + await store.actions.loadChip("projects/01/Not.hdl"); + return { store }; + }, beforeEach); + + it.todo("compiles chips"); + + it("steps tests", async () => { + const bits = (pins: ImmPin[]) => + pins.map((pin) => pin.bits.map((bit) => bit[1])); + + expect(bits(state.store.state.sim.inPins)).toEqual([[0]]); + expect(bits(state.store.state.sim.outPins)).toEqual([[0]]); + + await state.store.actions.toggleBuiltin(); + + expect(bits(state.store.state.sim.inPins)).toEqual([[0]]); + expect(bits(state.store.state.sim.outPins)).toEqual([[1]]); + + await state.store.actions.stepTest(); // Load, Compare To and Output List + + await state.store.actions.stepTest(); // Set in 0 + expect(bits(state.store.state.sim.inPins)).toEqual([[0]]); + expect(bits(state.store.state.sim.outPins)).toEqual([[1]]); + + await state.store.actions.stepTest(); // Set in 1 + expect(bits(state.store.state.sim.inPins)).toEqual([[1]]); + expect(bits(state.store.state.sim.outPins)).toEqual([[0]]); + + await state.store.actions.stepTest(); // No change (after end) + expect(bits(state.store.state.sim.inPins)).toEqual([[1]]); + expect(bits(state.store.state.sim.outPins)).toEqual([[0]]); + }); + + it("starts the cursor on the first instruction", () => { + expect(state.store.state.files.tst).toBe(not.tst); + expect(state.store.state.controls.span).toEqual({ + start: 167, + end: 220, + line: 6, + }); + }); + + it("leaves the cursor on the final character", async () => { + // Not.tst has 3 commands + await state.store.actions.stepTest(); + await state.store.actions.stepTest(); + await state.store.actions.stepTest(); + + // Past the end of the test + await state.store.actions.stepTest(); + + expect(state.store.state.controls.span).toEqual({ + start: 269, + end: 270, + line: 16, + }); + }); + }); +}); diff --git a/web-ide-main/components/src/stores/chip.store.ts b/web-ide-main/components/src/stores/chip.store.ts new file mode 100644 index 0000000..9ae95d3 --- /dev/null +++ b/web-ide-main/components/src/stores/chip.store.ts @@ -0,0 +1,647 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { display } from "@davidsouther/jiffies/lib/esm/display.js"; +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { Err, isErr, Ok } from "@davidsouther/jiffies/lib/esm/result.js"; +import { + BUILTIN_CHIP_PROJECTS, + CHIP_PROJECTS, + sortChips, +} from "@nand2tetris/projects/base.js"; +import { parse as parseChip } from "@nand2tetris/simulator/chip/builder.js"; +import { getBuiltinChip } from "@nand2tetris/simulator/chip/builtins/index.js"; +import { + Chip, + Low, + Pin, + Chip as SimChip, +} from "@nand2tetris/simulator/chip/chip.js"; +import { Clock } from "@nand2tetris/simulator/chip/clock.js"; +import { + CompilationError, + Span, +} from "@nand2tetris/simulator/languages/base.js"; +import { TST } from "@nand2tetris/simulator/languages/tst.js"; +import { ChipTest } from "@nand2tetris/simulator/test/chiptst.js"; +import { Action } from "@nand2tetris/simulator/types.js"; +import { Dispatch, MutableRefObject, useContext, useMemo, useRef } from "react"; +import { compare } from "../compare.js"; +import { sortFiles } from "../file_utils.js"; +import { ImmPin, reducePins } from "../pinout.js"; +import { useImmerReducer } from "../react.js"; +import { RunSpeed } from "../runbar.js"; +import { BaseContext, StatusSeverity } from "./base.context.js"; + +export const NO_SCREEN = "noScreen"; + +export const PROJECT_NAMES = [ + ["01", `Project 1`], + ["02", `Project 2`], + ["03", `Project 3`], + ["05", `Project 5`], +]; + +const TEST_NAMES: Record = { + CPU: ["CPU", "CPU-external"], + Computer: ["ComputerAdd", "ComputerMax", "ComputerRect"], +}; + +export function isBuiltinOnly( + project: keyof typeof CHIP_PROJECTS, + chipName: string, +) { + return BUILTIN_CHIP_PROJECTS[project].includes(chipName); +} + +function convertToBuiltin(name: string, hdl: string) { + return hdl.replace(/PARTS:([\s\S]*?)\}/, `PARTS:\n\tBUILTIN ${name};`); +} + +export interface ChipPageState { + title?: string; + files: Files; + sim: ChipSim; + controls: ControlsState; + config: ChipPageConfig; + dir?: string; +} + +export interface ChipPageConfig { + speed: RunSpeed; +} + +export interface ChipSim { + clocked: boolean; + inPins: ImmPin[]; + outPins: ImmPin[]; + internalPins: ImmPin[]; + chip: [Chip]; + pending: boolean; + invalid: boolean; +} + +export interface Files { + hdl: string; + cmp: string; + tst: string; + out: string; +} + +export interface ControlsState { + projects: string[]; + project: string; + chips: string[]; + chipName: string; + tests: string[]; + testName: string; + usingBuiltin: boolean; + runningTest: boolean; + span?: Span; + error?: CompilationError; + visualizationParameters: Set; +} + +export interface HDLFile { + name: string; + content: string; +} + +function reduceChip(chip: SimChip, pending = false, invalid = false): ChipSim { + return { + clocked: chip.clocked, + inPins: reducePins(chip.ins), + outPins: reducePins(chip.outs), + internalPins: reducePins(chip.pins), + chip: [chip], + pending, + invalid, + }; +} + +const clock = Clock.get(); + +export type ChipStoreDispatch = Dispatch<{ + action: keyof ReturnType["reducers"]; + payload?: unknown; +}>; + +export function makeChipStore( + fs: FileSystem, + setStatus: Action, + storage: Record, + dispatch: MutableRefObject, + upgraded: boolean, +) { + let _chipName = ""; + let _dir = ""; + let chip = new Low(); + let backupHdl = ""; + let tests: string[] = []; + let test = new ChipTest(); + let usingBuiltin = false; + let invalid = false; + + const reducers = { + setFiles( + state: ChipPageState, + { + hdl = state.files.hdl, + tst = state.files.tst, + cmp = state.files.cmp, + out = "", + }: { + hdl?: string; + tst?: string; + cmp?: string; + out?: string; + }, + ) { + state.files.hdl = hdl; + state.files.tst = tst; + state.files.cmp = cmp; + state.files.out = out; + }, + + updateChip( + state: ChipPageState, + payload?: { + pending?: boolean; + invalid?: boolean; + chipName?: string; + error?: CompilationError | undefined; + }, + ) { + state.sim = reduceChip( + chip, + payload?.pending ?? state.sim.pending, + payload?.invalid ?? state.sim.invalid, + ); + state.controls.error = state.sim.invalid + ? (payload?.error ?? state.controls.error) + : undefined; + }, + + setProjects(state: ChipPageState, projects: string[]) { + state.controls.projects = projects; + }, + + setProject(state: ChipPageState, project: keyof typeof CHIP_PROJECTS) { + state.controls.project = project; + }, + + setChips(state: ChipPageState, chips: string[]) { + state.controls.chips = chips; + }, + + setChip( + state: ChipPageState, + { chipName, dir }: { chipName: string; dir: string }, + ) { + _dir = dir; + _chipName = chipName; + state.controls.chipName = chipName; + state.title = `${chipName}.hdl`; + state.controls.tests = Array.from(tests); + state.dir = dir; + }, + + clearChip(state: ChipPageState) { + _chipName = ""; + state.controls.chipName = ""; + state.title = undefined; + state.controls.tests = []; + + this.setFiles(state, { hdl: "", tst: "", cmp: "", out: "" }); + }, + + setTest(state: ChipPageState, testName: string) { + state.controls.testName = testName; + }, + + setVisualizationParams(state: ChipPageState, params: Set) { + state.controls.visualizationParameters = new Set(params); + }, + + testRunning(state: ChipPageState) { + state.controls.runningTest = true; + }, + + testFinished(state: ChipPageState) { + state.controls.runningTest = false; + const passed = compare(state.files.cmp.trim(), state.files.out.trim()); + // For some reason, this is happening during a render but I can't track it down. + Promise.resolve().then(() => { + setStatus( + passed + ? { + message: `Simulation successful: The output file is identical to the compare file`, + severity: "SUCCESS", + } + : { + message: `Simulation error: The output file differs from the compare file`, + severity: "ERROR", + }, + ); + }); + }, + + updateTestStep(state: ChipPageState) { + state.files.out = test?.log() ?? ""; + if (test?.currentStep?.span) { + state.controls.span = test.currentStep.span; + } else { + if (test.done) { + const end = state.files.tst.length; + state.controls.span = { + start: end - 1, + end, + line: state.files.tst.split("\n").length, + }; + } + } + this.updateChip(state, { + pending: state.sim.pending, + invalid: state.sim.invalid, + }); + }, + + updateConfig(state: ChipPageState, config: Partial) { + state.config = { ...state.config, ...config }; + }, + + updateUsingBuiltin(state: ChipPageState) { + state.controls.usingBuiltin = usingBuiltin; + }, + + displayBuiltin(state: ChipPageState) { + backupHdl = state.files.hdl; + this.setFiles(state, { + hdl: convertToBuiltin(state.controls.chipName, state.files.hdl), + }); + }, + + toggleBuiltin(state: ChipPageState) { + state.controls.usingBuiltin = usingBuiltin; + if (usingBuiltin) { + this.displayBuiltin(state); + } else { + this.setFiles(state, { hdl: backupHdl }); + } + }, + }; + + const actions = { + async initialize() { + const projectsFolder = upgraded ? "/" : "/projects"; + + const entries = await fs.scandir(projectsFolder); + const hdlProjects = []; + + for (const project of entries.filter((project) => + project.isDirectory(), + )) { + const items = await fs.scandir(`${projectsFolder}/${project.name}`); + if (items.some((item) => item.isFile() && item.name.endsWith(".hdl"))) { + hdlProjects.push(project); + } + } + + const sortedNames = sortFiles(hdlProjects).map((project) => project.name); + + dispatch.current({ + action: "setProjects", + payload: sortedNames, + }); + + if (hdlProjects.length > 0) { + await actions.setProject(sortedNames[0]); + } else { + dispatch.current({ action: "setChips", payload: [] }); + } + + dispatch.current({ action: "clearChip" }); + }, + + reset() { + Clock.get().reset(); + chip.reset(); + test.reset(); + dispatch.current({ action: "setFiles", payload: {} }); + dispatch.current({ action: "updateChip" }); + }, + + async setProject(project: string) { + storage["/chip/project"] = project; + dispatch.current({ action: "setProject", payload: project }); + + const prefix = upgraded ? "/" : "/projects"; + + const chips = (await fs.scandir(`${prefix}/${project}`)) + .filter((entry) => entry.isFile() && entry.name.endsWith(".hdl")) + .map((file) => file.name.replace(".hdl", "")); + + const payload = sortChips(project, chips); + + dispatch.current({ action: "setChips", payload }); + + if (chips.length > 0) { + this.loadChip(`${prefix}/${project}/${chips[0]}.hdl`, true); + } + }, + + async loadChip(path: string, loadTests = true) { + dispatch.current({ action: "updateUsingBuiltin", payload: false }); + + const hdl = await fs.readFile(path); + + const parts = path.split("/"); + const name = assertExists(parts.pop()).replace(".hdl", ""); + const dir = parts.join("/"); + + await this.compileChip(hdl, dir, name); + + if (loadTests) { + await this.initializeTests(dir, name); + } + + dispatch.current({ + action: "setChip", + payload: { chipName: name, dir: dir }, + }); + dispatch.current({ action: "setFiles", payload: { hdl } }); + + if (usingBuiltin) { + this.loadBuiltin(); + dispatch.current({ action: "displayBuiltin" }); + } + }, + + async compileChip(hdl: string, dir?: string, name?: string) { + chip.remove(); + const maybeChip = await parseChip(hdl, dir, name, fs); + if (isErr(maybeChip)) { + const error = Err(maybeChip); + setStatus({ + message: Err(maybeChip).message, + severity: "ERROR", + }); + invalid = true; + dispatch.current({ + action: "updateChip", + payload: { invalid: true, error }, + }); + return; + } + this.replaceChip(Ok(maybeChip)); + }, + + replaceChip(nextChip: SimChip) { + // Store current inPins + const inPins = chip.ins; + for (const [pin, { busVoltage }] of inPins) { + const nextPin = nextChip.ins.get(pin); + if (nextPin) { + nextPin.busVoltage = busVoltage; + } + } + clock.reset(); + nextChip.eval(); + chip = nextChip; + chip.reset(); + dispatch.current({ action: "updateChip", payload: { invalid: false } }); + dispatch.current({ action: "updateTestStep" }); + }, + + async initializeTests(dir: string, chip: string) { + tests = TEST_NAMES[chip] ?? []; + this.loadTest(tests[0] ?? chip, dir); + }, + + async loadTest(name: string, dir?: string) { + if (!fs) return; + try { + dir ??= _dir; + + const tst = await fs.readFile(`${dir}/${name}.tst`); + + dispatch.current({ action: "setFiles", payload: { tst, cmp: "" } }); + dispatch.current({ action: "setTest", payload: name }); + this.compileTest(tst, dir); + } catch (e) { + setStatus({ + message: `Could not find ${name}.tst. Please load test file separately.`, + severity: "WARNING", + }); + console.error(e); + } + }, + + compileTest(file: string, path: string) { + if (!fs) return; + dispatch.current({ action: "setFiles", payload: { tst: file } }); + const tst = TST.parse(file); + if (isErr(tst)) { + setStatus({ + message: `Failed to parse test ${Err(tst).message}`, + severity: "ERROR", + }); + invalid = true; + return false; + } + const maybeTest = ChipTest.from(Ok(tst), { + dir: path, + setStatus: setStatus, + loadAction: async (file) => { + await this.loadChip(file, false); + return chip; + }, + compareTo: async (file) => { + const cmp = await fs.readFile(`${_dir}/${file}`); + dispatch.current({ action: "setFiles", payload: { cmp } }); + }, + }); + if (isErr(maybeTest)) { + invalid = true; + setStatus({ + message: Err(maybeTest).message, + severity: "ERROR", + }); + return false; + } else { + test = Ok(maybeTest).with(chip).reset(); + test.setFileSystem(fs); + dispatch.current({ action: "updateTestStep" }); + return true; + } + }, + + async updateFiles({ + hdl, + tst, + cmp, + tstPath, + }: { + hdl?: string; + tst?: string; + cmp: string; + tstPath?: string; + }) { + invalid = false; + dispatch.current({ action: "setFiles", payload: { hdl, tst, cmp } }); + try { + if (hdl) { + await this.compileChip(hdl, _dir, _chipName); + } + if (tst) { + this.compileTest(tst, tstPath ?? _dir); + } + } catch (e) { + setStatus({ + message: display(e), + severity: "ERROR", + }); + } + dispatch.current({ action: "updateChip", payload: { invalid: invalid } }); + if (!invalid) { + setStatus(`HDL code: No syntax errors`); + } + }, + + async saveChip(hdl: string) { + dispatch.current({ action: "setFiles", payload: { hdl } }); + const path = `${_dir}/${_chipName}.hdl`; + if (fs && path) { + await fs.writeFile(path, hdl); + } + }, + + toggle(pin: Pin, i: number | undefined) { + if (i !== undefined) { + pin.busVoltage = pin.busVoltage ^ (1 << i); + } else { + if (pin.width === 1) { + pin.toggle(); + } else { + pin.busVoltage += 1; + } + } + dispatch.current({ action: "updateChip", payload: { pending: true } }); + }, + + eval() { + chip.eval(); + dispatch.current({ action: "updateChip", payload: { pending: false } }); + }, + + clock() { + clock.toggle(); + if (clock.isLow) { + clock.frame(); + } + dispatch.current({ action: "updateChip" }); + }, + + async loadBuiltin() { + const builtinName = _chipName; + const nextChip = await getBuiltinChip(builtinName); + if (isErr(nextChip)) { + setStatus({ + message: `Failed to load builtin ${builtinName}: ${display(Err(nextChip))}`, + severity: "ERROR", + }); + return; + } + this.replaceChip(Ok(nextChip)); + }, + + async toggleBuiltin() { + usingBuiltin = !usingBuiltin; + dispatch.current({ action: "toggleBuiltin" }); + if (usingBuiltin) { + await this.loadBuiltin(); + } else { + await this.compileChip(backupHdl, _dir, _chipName); + } + }, + + tick(): Promise { + return this.stepTest(); + }, + + async stepTest(): Promise { + try { + const done = await test.step(); + dispatch.current({ action: "updateTestStep" }); + if (done) { + dispatch.current({ action: "testFinished" }); + } + return done; + } catch (e) { + setStatus({ + message: (e as Error).message, + severity: "ERROR", + }); + return true; + } + }, + + async getProjectFiles() { + console.log(_dir); + + return (await fs.scandir(_dir)) + .filter((entry) => entry.isFile() && entry.name.endsWith(".hdl")) + .map((entry) => ({ + name: entry.name, + content: fs.readFile(`${_dir}/${entry.name}`), + })); + }, + }; + + const initialState: ChipPageState = (() => { + const controls: ControlsState = { + projects: ["1", "2", "3", "5"], + project: "1", + chips: [], + chipName: "", + tests, + testName: "", + usingBuiltin: false, + runningTest: false, + error: undefined, + visualizationParameters: new Set(), + }; + + const sim = reduceChip(new Low()); + + return { + controls, + files: { + hdl: "", + cmp: "", + tst: "", + out: "", + backupHdl: "", + }, + sim, + config: { speed: 2 }, + }; + })(); + + return { initialState, reducers, actions }; +} + +export function useChipPageStore() { + const { fs, setStatus, storage, localFsRoot } = useContext(BaseContext); + + const dispatch = useRef(() => undefined); + + const { initialState, reducers, actions } = useMemo( + () => + makeChipStore(fs, setStatus, storage, dispatch, localFsRoot != undefined), + [fs, setStatus, storage, dispatch], + ); + + const [state, dispatcher] = useImmerReducer(reducers, initialState); + dispatch.current = dispatcher; + + return { state, dispatch, actions }; +} diff --git a/web-ide-main/components/src/stores/compiler.store.ts b/web-ide-main/components/src/stores/compiler.store.ts new file mode 100644 index 0000000..0ea6dd3 --- /dev/null +++ b/web-ide-main/components/src/stores/compiler.store.ts @@ -0,0 +1,175 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { compile } from "@nand2tetris/simulator/jack/compiler.js"; +import { CompilationError } from "@nand2tetris/simulator/languages/base.js"; +import { Action } from "@nand2tetris/simulator/types.js"; +import { Dispatch, MutableRefObject, useContext, useMemo, useRef } from "react"; +import { useImmerReducer } from "../react.js"; +import { BaseContext, StatusSeverity } from "./base.context.js"; + +export interface CompiledFile { + vm?: string; + valid: boolean; + error?: CompilationError; +} + +export interface CompilerPageState { + fs?: FileSystem; + files: Record; + compiled: Record; + isValid: boolean; + isCompiled: boolean; + selected: string; + title?: string; +} + +export type CompilerStoreDispatch = Dispatch<{ + action: keyof ReturnType["reducers"]; + payload?: unknown; +}>; + +function classTemplate(name: string) { + return `class ${name} {\n\n}\n`; +} + +export function makeCompilerStore( + setStatus: Action, + dispatch: MutableRefObject, +) { + let fs: FileSystem | undefined; + + const reducers = { + setFs(state: CompilerPageState, fs: FileSystem) { + state.fs = fs; + }, + reset(state: CompilerPageState) { + state.files = {}; + state.title = undefined; + }, + + setFile( + state: CompilerPageState, + { name, content }: { name: string; content: string }, + ) { + state.files[name] = content; + state.isCompiled = false; + this.compile(state); + }, + + // the keys of 'files' have to be the full file path, not basename + setFiles(state: CompilerPageState, files: Record) { + state.files = files; + state.isCompiled = false; + this.compile(state); + }, + + compile(state: CompilerPageState) { + const compiledFiles = compile(state.files); + state.compiled = {}; + for (const [name, compiled] of Object.entries(compiledFiles)) { + if (typeof compiled === "string") { + state.compiled[name] = { + valid: true, + vm: compiled, + }; + } else { + state.compiled[name] = { + valid: false, + error: compiled, + }; + } + } + state.isValid = Object.keys(state.files).every( + (file) => state.compiled[file].valid, + ); + }, + + writeCompiled(state: CompilerPageState) { + if (Object.values(state.compiled).every((compiled) => compiled.valid)) { + for (const [name, compiled] of Object.entries(state.compiled)) { + if (compiled.vm) { + fs?.writeFile(`${name}.vm`, compiled.vm); + } + } + } + state.isCompiled = true; + }, + + setSelected(state: CompilerPageState, selected: string) { + state.selected = selected; + }, + + setTitle(state: CompilerPageState, title: string) { + state.title = title; + }, + }; + + const actions = { + async loadProject(_fs: FileSystem, title: string) { + this.reset(); + fs = _fs; + dispatch.current({ action: "setFs", payload: fs }); + dispatch.current({ action: "setTitle", payload: title }); + + const files: Record = {}; + for (const file of (await fs.scandir("/")).filter( + (entry) => entry.isFile() && entry.name.endsWith(".jack"), + )) { + files[file.name.replace(".jack", "")] = await fs.readFile(file.name); + } + this.loadFiles(files); + }, + + async loadFiles(files: Record) { + dispatch.current({ action: "setFiles", payload: files }); + if (Object.entries(files).length > 0) { + dispatch.current({ + action: "setSelected", + payload: Object.keys(files)[0], + }); + } + }, + + async writeFile(name: string, content?: string) { + content ??= classTemplate(name); + dispatch.current({ action: "setFile", payload: { name, content } }); + if (fs) { + await fs.writeFile(`${name}.jack`, content); + } + }, + + async reset() { + fs = undefined; + dispatch.current({ action: "reset" }); + }, + + async compile() { + dispatch.current({ action: "writeCompiled" }); + }, + }; + + const initialState: CompilerPageState = { + files: {}, + compiled: {}, + selected: "", + isCompiled: false, + isValid: true, + }; + + return { initialState, reducers, actions }; +} + +export function useCompilerPageStore() { + const { setStatus } = useContext(BaseContext); + + const dispatch = useRef(() => undefined); + + const { initialState, reducers, actions } = useMemo( + () => makeCompilerStore(setStatus, dispatch), + [setStatus, dispatch], + ); + + const [state, dispatcher] = useImmerReducer(reducers, initialState); + dispatch.current = dispatcher; + + return { state, dispatch, actions }; +} diff --git a/web-ide-main/components/src/stores/cpu.store.ts b/web-ide-main/components/src/stores/cpu.store.ts new file mode 100644 index 0000000..bee9764 --- /dev/null +++ b/web-ide-main/components/src/stores/cpu.store.ts @@ -0,0 +1,355 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs"; +import { + Err, + isErr, + Ok, + unwrap, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { + Format, + KeyboardAdapter, + MemoryAdapter, + MemoryKeyboard, + ROM, +} from "@nand2tetris/simulator/cpu/memory.js"; +import { Span } from "@nand2tetris/simulator/languages/base.js"; +import { TST } from "@nand2tetris/simulator/languages/tst.js"; +import { loadAsm, loadBlob, loadHack } from "@nand2tetris/simulator/loader.js"; +import { CPUTest } from "@nand2tetris/simulator/test/cputst.js"; +import { Action } from "@nand2tetris/simulator/types.js"; +import { Dispatch, MutableRefObject, useContext, useMemo, useRef } from "react"; +import { ScreenScales } from "src/chips/screen.js"; +import { RunSpeed } from "src/runbar.js"; +import { compare } from "../compare.js"; +import { loadTestFiles } from "../file_utils.js"; +import { useImmerReducer } from "../react.js"; +import { BaseContext, StatusSeverity } from "./base.context.js"; +import { ImmMemory } from "./imm_memory.js"; + +function makeTst() { + return `repeat { + ticktock; +}`; +} + +export interface CpuSim { + A: number; + D: number; + PC: number; + RAM: MemoryAdapter; + ROM: MemoryAdapter; + Screen: MemoryAdapter; + Keyboard: KeyboardAdapter; +} + +export interface CPUTestSim { + name: string; + tst: string; + cmp: string; + out: string; + highlight: Span | undefined; + valid: boolean; +} + +export interface CPUPageConfig { + romFormat: Format; + ramFormat: Format; + screenScale: ScreenScales; + speed: RunSpeed; + testSpeed: RunSpeed; +} + +export interface CpuPageState { + sim: CpuSim; + test: CPUTestSim; + path: string; + tests: string[]; + title?: string; + config: CPUPageConfig; +} + +function reduceCPUTest( + cpuTest: CPUTest, + dispatch: MutableRefObject, +): CpuSim { + const RAM = new ImmMemory(cpuTest.cpu.RAM, dispatch); + const ROM = new ImmMemory(cpuTest.cpu.ROM, dispatch); + const Screen = new ImmMemory(cpuTest.cpu.Screen, dispatch); + const Keyboard = new MemoryKeyboard(new ImmMemory(cpuTest.cpu.RAM, dispatch)); + + return { + A: cpuTest.cpu.A, + D: cpuTest.cpu.D, + PC: cpuTest.cpu.PC, + RAM, + ROM, + Screen, + Keyboard, + }; +} + +export type CpuStoreDispatch = Dispatch<{ + action: keyof ReturnType["reducers"]; + payload?: unknown; +}>; + +export function makeCpuStore( + fs: FileSystem, + setStatus: Action, + storage: Record, + dispatch: MutableRefObject, +) { + let test = new CPUTest(); + let animate = true; + let valid = true; + let path = ""; + let tests: string[] = []; + let tstName = ""; + let _title: string | undefined; + + const reducers = { + update(state: CpuPageState) { + state.sim = reduceCPUTest(test, dispatch); + state.test.highlight = test.currentStep?.span; + state.test.valid = valid; + state.path = path; + state.tests = Array.from(tests); + state.test.name = tstName; + }, + + setTest(state: CpuPageState, { tst, cmp }: { tst?: string; cmp?: string }) { + state.test.tst = tst ?? state.test.tst; + state.test.cmp = cmp ?? state.test.cmp; + state.test.out = ""; + }, + + testStep(state: CpuPageState) { + state.test.out = test.log(); + this.update(state); + }, + + testFinished(state: CpuPageState) { + if (state.test.cmp.trim() === "") { + return; + } + const passed = compare(state.test.cmp.trim(), test.log().trim()); + setStatus( + passed + ? { + message: `Simulation successful: The output file is identical to the compare file`, + severity: "SUCCESS", + } + : { + message: `Simulation error: The output file differs from the compare file`, + severity: "ERROR", + }, + ); + }, + + setTitle(state: CpuPageState, title?: string) { + _title = title; + state.title = title; + if (title) { + test.fileLoaded = true; + } + }, + + updateConfig(state: CpuPageState, config: Partial) { + state.config = { ...state.config, ...config }; + }, + }; + + const actions = { + tick() { + test.cpu.tick(); + }, + + setAnimate(value: boolean) { + animate = value; + }, + + async setPath(_path: string) { + path = _path; + + const dir = path.split("/").slice(0, -1).join("/"); + const files = await fs.scandir(dir); + tests = files + .filter((file) => file.name.endsWith(".tst")) + .map((file) => file.name); + + if (tests.length > 0) { + this.loadTest(tests[0]); + } else { + tstName = "Default"; + this.compileTest(makeTst(), ""); + } + + dispatch.current({ action: "update" }); + }, + + async testStep() { + try { + const done = await test.step(); + if (animate || done) { + dispatch.current({ action: "testStep" }); + } + if (done) { + dispatch.current({ action: "testFinished" }); + } + return done; + } catch (e) { + setStatus({ + message: (e as Error).message, + severity: "ERROR", + }); + return true; + } + }, + + resetRAM() { + test.cpu.RAM.loadBytes([]); + dispatch.current({ action: "update" }); + setStatus("Reset RAM"); + }, + + toggleUseTest() { + dispatch.current({ action: "update" }); + }, + + reset() { + test.reset(); + dispatch.current({ action: "update" }); + }, + + clear() { + this.replaceROM(new ROM()); + this.resetRAM(); + this.clearTest(); + this.reset(); + dispatch.current({ action: "setTitle", payload: undefined }); + }, + + clearTest() { + tstName = ""; + this.compileTest(makeTst(), ""); + dispatch.current({ action: "update" }); + }, + + replaceROM(rom: ROM) { + test = new CPUTest({ dir: path, rom }); + this.clearTest(); + }, + + compileTest(file: string, cmp?: string, _path?: string) { + const tstPath = _path ?? path; + dispatch.current({ action: "setTest", payload: { tst: file, cmp } }); + const tst = TST.parse(file); + + if (isErr(tst)) { + setStatus({ + message: `Failed to parse test - ${Err(tst).message}`, + severity: "ERROR", + }); + valid = false; + dispatch.current({ action: "update" }); + return false; + } + valid = true; + + const maybeTest = CPUTest.from(Ok(tst), { + dir: tstPath, + rom: test.cpu.ROM, + doEcho: setStatus, + doLoad: async (path) => { + let file; + try { + file = await fs.readFile(path); + } catch (_e) { + throw new Error(`Cannot find ${path}`); + } + const loader = path.endsWith("hack") + ? loadHack + : path.endsWith("asm") + ? loadAsm + : loadBlob; + const bytes = await loader(file); + console.log(bytes); + test.cpu.ROM.loadBytes(bytes); + }, + compareTo: async (file) => { + const dir = tstPath.split("/").slice(0, -1).join("/"); + const cmp = await fs.readFile(`${dir}/${file}`); + dispatch.current({ action: "setTest", payload: { cmp } }); + }, + requireLoad: false, + }); + + if (isErr(maybeTest)) { + setStatus({ + message: Err(maybeTest).message, + severity: "ERROR", + }); + return false; + } else { + test = Ok(maybeTest); + test.fileLoaded = _title != undefined; + dispatch.current({ action: "update" }); + return true; + } + }, + + async loadTest(name: string) { + const dir = path.split("/").slice(0, -1).join("/"); + const files = await loadTestFiles(fs, `${dir}/${name}`); + if (isErr(files)) { + setStatus({ + message: `Failed to load test`, + severity: "ERROR", + }); + return; + } + tstName = name; + const { tst } = unwrap(files); + this.compileTest(tst, ""); + }, + }; + + const initialState: CpuPageState = { + sim: reduceCPUTest(test, dispatch), + test: { + highlight: test.currentStep?.span, + name: "", + tst: makeTst(), + cmp: "", + out: "", + valid: true, + }, + path: "", + tests: [], + config: { + romFormat: "asm", + ramFormat: "dec", + screenScale: 1, + speed: 2, + testSpeed: 2, + }, + }; + + return { initialState, reducers, actions }; +} + +export function useCpuPageStore() { + const { fs, setStatus, storage } = useContext(BaseContext); + + const dispatch = useRef(() => undefined); + + const { initialState, reducers, actions } = useMemo( + () => makeCpuStore(fs, setStatus, storage, dispatch), + [fs, setStatus, storage, dispatch], + ); + + const [state, dispatcher] = useImmerReducer(reducers, initialState); + dispatch.current = dispatcher; + + return { state, dispatch, actions }; +} diff --git a/web-ide-main/components/src/stores/imm_memory.ts b/web-ide-main/components/src/stores/imm_memory.ts new file mode 100644 index 0000000..7a9c34c --- /dev/null +++ b/web-ide-main/components/src/stores/imm_memory.ts @@ -0,0 +1,20 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { MemoryAdapter, SubMemory } from "@nand2tetris/simulator/cpu/memory.js"; +import { MutableRefObject } from "react"; + +export class ImmMemory< + Action extends { action: "update" }, + Dispatch extends (a: Action) => void, +> extends SubMemory { + constructor( + parent: MemoryAdapter, + private dispatch: MutableRefObject, + ) { + super(parent, parent.size, 0); + } + + override async load(fs: FileSystem, path: string): Promise { + await super.load(fs, path); + this.dispatch.current({ action: "update" } as Action); + } +} diff --git a/web-ide-main/components/src/stores/vm.store.ts b/web-ide-main/components/src/stores/vm.store.ts new file mode 100644 index 0000000..3e94705 --- /dev/null +++ b/web-ide-main/components/src/stores/vm.store.ts @@ -0,0 +1,465 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { + Err, + isErr, + Ok, + Result, + unwrap, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { FIBONACCI } from "@nand2tetris/projects/base.js"; +import { + Format, + KeyboardAdapter, + MemoryAdapter, + MemoryKeyboard, +} from "@nand2tetris/simulator/cpu/memory.js"; +import { + CompilationError, + Span, +} from "@nand2tetris/simulator/languages/base.js"; +import { TST } from "@nand2tetris/simulator/languages/tst.js"; +import { VM, VmInstruction } from "@nand2tetris/simulator/languages/vm.js"; +import { VMTest, VmFile } from "@nand2tetris/simulator/test/vmtst.js"; +import { Action } from "@nand2tetris/simulator/types.js"; +import { Vm, VmFrame } from "@nand2tetris/simulator/vm/vm.js"; +import { Dispatch, MutableRefObject, useContext, useMemo, useRef } from "react"; +import { ScreenScales } from "../chips/screen.js"; +import { compare } from "../compare.js"; +import { useImmerReducer } from "../react.js"; +import { RunSpeed } from "../runbar.js"; +import { BaseContext, StatusSeverity } from "./base.context.js"; +import { ImmMemory } from "./imm_memory.js"; + +export const DEFAULT_TEST = "repeat {\n\tvmstep;\n}"; + +export interface VmSim { + RAM: MemoryAdapter; + Screen: MemoryAdapter; + Keyboard: KeyboardAdapter; + Stack: VmFrame[]; + Prog: VmInstruction[]; + Statics: number[]; + Temp: number[]; + AddedSysInit: boolean; + highlight: number; + showHighlight: boolean; +} + +export interface VMTestSim { + highlight: Span | undefined; +} + +export interface VmPageState { + vm: VmSim; + controls: ControlsState; + test: VMTestSim; + files: VMFiles; + title?: string; + config: VmPageConfig; +} + +export interface VmPageConfig { + ram1Format: Format; + ram2Format: Format; + screenScale: ScreenScales; + speed: RunSpeed; + testSpeed: RunSpeed; +} + +export interface ControlsState { + runningTest: boolean; + exitCode: number | undefined; + animate: boolean; + valid: boolean; + error?: CompilationError; +} + +export interface VMFiles { + vm: string; + tst: string; + cmp: string; + out: string; +} + +export type VmStoreDispatch = Dispatch<{ + action: keyof ReturnType["reducers"]; + payload?: unknown; +}>; + +function reduceVMTest( + vmTest: VMTest, + dispatch: MutableRefObject, + setStatus: Action, + showHighlight: boolean, +): VmSim { + const RAM = new ImmMemory(vmTest.vm.RAM, dispatch); + const Screen = new ImmMemory(vmTest.vm.Screen, dispatch); + const Keyboard = new MemoryKeyboard(new ImmMemory(vmTest.vm.RAM, dispatch)); + const highlight = vmTest.vm.derivedLine(); + + let stack: VmFrame[] = []; + try { + stack = vmTest.vm.vmStack().reverse(); + } catch (_e) { + dispatch.current({ + action: "setError", + payload: new Error("Runtime error: Invalid stack"), + }); + } + + return { + Keyboard, + RAM, + Screen, + Stack: stack, + Prog: vmTest.vm.program, + Statics: [ + ...vmTest.vm.memory.map((_, v) => v, 16, 16 + vmTest.vm.getStaticCount()), + ], + Temp: [...vmTest.vm.memory.map((_, v) => v, 5, 13)], + AddedSysInit: vmTest.vm.addedSysInit, + highlight, + showHighlight, + }; +} + +export function makeVmStore( + fs: FileSystem, + setStatus: Action, + storage: Record, + dispatch: MutableRefObject, +) { + const parsed = unwrap(VM.parse(FIBONACCI)); + let vm = unwrap(Vm.build(parsed.instructions)); + let test = new VMTest({ doEcho: setStatus }).with(vm); + let useTest = false; + let animate = true; + let vmSource = ""; + let showHighlight = true; + const reducers = { + setVm(state: VmPageState, vm: string) { + state.files.vm = vm; + }, + setTst(state: VmPageState, { tst }: { tst: string }) { + state.files.tst = tst; + }, + setCmp(state: VmPageState, { cmp }: { cmp: string }) { + state.files.cmp = cmp; + }, + setExitCode(state: VmPageState, code: number | undefined) { + state.controls.exitCode = code; + }, + setValid(state: VmPageState, valid: boolean) { + state.controls.valid = valid; + }, + setShowHighlight(state: VmPageState, value: boolean) { + state.vm.showHighlight = value; + }, + setError(state: VmPageState, error?: CompilationError) { + if (error) { + state.controls.valid = false; + setStatus({ + message: error?.message, + severity: "ERROR", + }); + } else { + state.controls.valid = true; + } + state.controls.error = error; + }, + update(state: VmPageState) { + state.vm = reduceVMTest(test, dispatch, setStatus, showHighlight); + state.test.highlight = test.currentStep?.span; + }, + setAnimate(state: VmPageState, value: boolean) { + state.controls.animate = value; + }, + testStep(state: VmPageState) { + state.files.out = test.log(); + }, + testFinished(state: VmPageState) { + const passed = compare(state.files.cmp.trim(), state.files.out); + setStatus( + passed + ? { + message: `Simulation successful: The output file is identical to the compare file`, + severity: "SUCCESS", + } + : { + message: `Simulation error: The output file differs from the compare file`, + severity: "ERROR", + }, + ); + }, + + setTitle(state: VmPageState, title: string) { + state.title = title; + }, + + updateConfig(state: VmPageState, config: Partial) { + state.config = { ...state.config, ...config }; + }, + }; + const initialState: VmPageState = { + vm: reduceVMTest(test, dispatch, setStatus, true), + controls: { + exitCode: undefined, + runningTest: false, + animate: true, + valid: true, + }, + test: { + highlight: undefined, + }, + files: { + vm: "", + tst: DEFAULT_TEST, + cmp: "", + out: "", + }, + config: { + ram1Format: "dec", + ram2Format: "dec", + screenScale: 1, + speed: 2, + testSpeed: 2, + }, + }; + const actions = { + async load(path: string) { + const files: VmFile[] = []; + let title: string; + + if ((await fs.stat(path)).isFile()) { + // single file + files.push({ + name: assertExists(path.split("/").pop()).replace(".vm", ""), + content: await fs.readFile(path), + }); + title = path.split("/").pop() ?? ""; + } else { + // folder + for (const file of (await fs.scandir(path)).filter( + (entry) => entry.isFile() && entry.name.endsWith(".vm"), + )) { + files.push({ + name: file.name.replace(".vm", ""), + content: await fs.readFile(`${path}/${file.name}`), + }); + } + title = `${path.split("/").pop()} / *.vm`; + } + dispatch.current({ action: "setTitle", payload: title }); + this.loadVm(files); + this.reset(); + setStatus(""); + }, + setVm(content: string) { + showHighlight = false; + dispatch.current({ + action: "setVm", + payload: content, + }); + if (vmSource == content) { + return; + } + vmSource = content; + + const parseResult = VM.parse(content); + + if (isErr(parseResult)) { + dispatch.current({ action: "setError", payload: Err(parseResult) }); + return false; + } + const instructions = unwrap(parseResult).instructions; + const buildResult = Vm.build(instructions); + return this.replaceVm(buildResult); + }, + loadVm(files: VmFile[]) { + showHighlight = false; + + const content = files.map((f) => f.content).join("\n"); + dispatch.current({ + action: "setVm", + payload: content, + }); + + if (vmSource == content) { + return; + } + vmSource = content; + + const parsed = []; + + let lineOffset = 0; + for (const file of files) { + const parseResult = VM.parse(file.content); + + if (isErr(parseResult)) { + dispatch.current({ action: "setError", payload: Err(parseResult) }); + return false; + } + const instructions = unwrap(parseResult).instructions; + + for (const instruction of instructions) { + if (instruction.span?.line != undefined) { + instruction.span.line += lineOffset; + } + } + lineOffset += file.content.split("\n").length; + + parsed.push({ + name: file.name, + instructions, + }); + } + const buildResult = Vm.buildFromFiles(parsed); + return this.replaceVm(buildResult); + }, + replaceVm(buildResult: Result) { + if (isErr(buildResult)) { + dispatch.current({ action: "setError", payload: Err(buildResult) }); + return false; + } + dispatch.current({ action: "setError" }); + // setStatus("Compiled VM code successfully"); + + vm = unwrap(buildResult); + test.vm = vm; + dispatch.current({ action: "update" }); + return true; + }, + + loadTest(path: string, source: string) { + dispatch.current({ action: "setTst", payload: { tst: source } }); + const tst = TST.parse(source); + + if (isErr(tst)) { + dispatch.current({ action: "setValid", payload: false }); + setStatus({ + message: `Failed to parse test`, + severity: "ERROR", + }); + return false; + } + dispatch.current({ action: "setValid", payload: true }); + setStatus(`Parsed tst`); + + vm.reset(); + + const maybeTest = VMTest.from(unwrap(tst), { + dir: path, + doLoad: async (path) => { + await this.load(path); + }, + doEcho: setStatus, + compareTo: async (file) => { + const dir = path.split("/").slice(0, -1).join("/"); + const cmp = await fs.readFile(`${dir}/${file}`); + dispatch.current({ action: "setCmp", payload: { cmp } }); + }, + }); + if (isErr(maybeTest)) { + setStatus({ + message: Err(maybeTest).message, + severity: "ERROR", + }); + return false; + } else { + test = Ok(maybeTest).using(fs); + test.vm = vm; + dispatch.current({ action: "update" }); + return true; + } + }, + setAnimate(value: boolean) { + animate = value; + dispatch.current({ action: "setAnimate", payload: value }); + }, + async testStep() { + showHighlight = true; + let done = false; + try { + done = await test.step(); + dispatch.current({ action: "testStep" }); + if (done) { + dispatch.current({ action: "testFinished" }); + } + if (animate) { + dispatch.current({ action: "update" }); + } + return done; + } catch (e) { + setStatus({ + message: `Runtime error: ${(e as Error).message}`, + severity: "ERROR", + }); + dispatch.current({ action: "setError", payload: e }); + return true; + } + }, + setPaused(paused = true) { + vm.setPaused(paused); + }, + step() { + showHighlight = true; + try { + let done = false; + + const exitCode = vm.step(); + if (exitCode !== undefined) { + done = true; + dispatch.current({ action: "setExitCode", payload: exitCode }); + } + + if (animate) { + dispatch.current({ action: "update" }); + } + + return done; + } catch (e) { + setStatus({ + message: `Runtime error: ${(e as Error).message}`, + severity: "ERROR", + }); + dispatch.current({ action: "setError", payload: e }); + return true; + } + }, + reset() { + showHighlight = true; + test.reset(); + vm.reset(); + dispatch.current({ action: "update" }); + dispatch.current({ action: "setExitCode", payload: undefined }); + dispatch.current({ action: "setValid", payload: true }); + }, + toggleUseTest() { + useTest = !useTest; + dispatch.current({ action: "update" }); + }, + initialize() { + dispatch.current({ action: "setTitle", payload: undefined }); + this.setVm(FIBONACCI); + }, + }; + + return { initialState, reducers, actions }; +} + +export function useVmPageStore() { + const { fs, setStatus, storage } = useContext(BaseContext); + + const dispatch = useRef(() => undefined); + + const { initialState, reducers, actions } = useMemo( + () => makeVmStore(fs, setStatus, storage, dispatch), + [fs, setStatus, storage, dispatch], + ); + + const [state, dispatcher] = useImmerReducer(reducers, initialState); + dispatch.current = dispatcher; + + return { state, dispatch, actions }; +} diff --git a/web-ide-main/components/src/table.tsx b/web-ide-main/components/src/table.tsx new file mode 100644 index 0000000..9492998 --- /dev/null +++ b/web-ide-main/components/src/table.tsx @@ -0,0 +1,73 @@ +import { rounded } from "@davidsouther/jiffies/lib/esm/dom/css/border.js"; +import { TranslatorSymbol } from "./stores/asm.store"; + +export const Table = ({ + values = [], + highlight = -1, + onClick, +}: { + values?: TranslatorSymbol[]; + highlight?: number; + onClick?: (id: string, value: string) => void; +}) => { + return ( +
+ {values.map((entry, i) => ( + onClick?.(entry.name, entry.value)} + /> + ))} +
+ ); +}; + +const TableRow = ({ + identifier, + value, + highlight = false, + onClick, +}: { + identifier: string; + value: string; + highlight?: boolean; + onClick?: () => void; +}) => { + return ( +
+ {identifier.length > 0 && ( + + {identifier} + + )} + {value.length > 0 && ( + + {value} + + )} +
+ ); +}; diff --git a/web-ide-main/components/src/timer.tsx b/web-ide-main/components/src/timer.tsx new file mode 100644 index 0000000..0e04a8c --- /dev/null +++ b/web-ide-main/components/src/timer.tsx @@ -0,0 +1,82 @@ +import { Timer } from "@nand2tetris/simulator/timer.js"; +import { useImmerReducer } from "./react.js"; + +export interface TimerStoreState { + steps: number; + speed: number; + running: boolean; +} + +import { Dispatch, MutableRefObject, useMemo, useRef } from "react"; +export type TimerStoreDispatch = Dispatch<{ + action: keyof ReturnType["reducers"]; + payload?: unknown; +}>; + +const makeTimerStore = ( + timer: Timer, + dispatch: MutableRefObject, +) => { + const initialState: TimerStoreState = { + running: timer.running, + speed: timer.speed, + steps: timer.steps, + }; + + const finishFrame = timer.finishFrame.bind(timer); + timer.finishFrame = function () { + finishFrame(); + dispatch.current({ action: "update" }); + }; + + const reducers = { + update(state: TimerStoreState) { + state.running = timer.running; + state.speed = timer.speed; + state.steps = timer.steps; + }, + setSteps(state: TimerStoreState, steps: number) { + state.steps = steps; + timer.steps = steps; + }, + setSpeed(state: TimerStoreState, speed: number) { + state.speed = speed; + timer.speed = speed; + }, + }; + + const actions = { + frame() { + timer.frame(); + }, + start() { + timer.start(); + dispatch.current({ action: "update" }); + }, + stop() { + timer.stop(); + dispatch.current({ action: "update" }); + }, + reset() { + timer.reset(); + dispatch.current({ action: "update" }); + }, + }; + + return { initialState, reducers, actions }; +}; + +export function useTimer(timer: Timer) { + const dispatch = useRef(() => undefined); + + const { initialState, reducers, actions } = useMemo( + () => makeTimerStore(timer, dispatch), + [timer, dispatch], + ); + + const [state, dispatcher] = useImmerReducer(reducers, initialState); + + dispatch.current = dispatcher; + + return { state, dispatch: dispatch.current, actions }; +} diff --git a/web-ide-main/components/src/virtual_scroll.test.tsx b/web-ide-main/components/src/virtual_scroll.test.tsx new file mode 100644 index 0000000..dc8b4ff --- /dev/null +++ b/web-ide-main/components/src/virtual_scroll.test.tsx @@ -0,0 +1,18 @@ +import { render, screen } from "@testing-library/react"; +import VirtualScroll, { arrayAdapter } from "./virtual_scroll.js"; + +describe("", () => { + it("initializes & renders", () => { + render( + + settings={{ maxIndex: 3 }} + get={arrayAdapter([1, 2, 3])} + row={(i) =>
{i}
} + rowKey={(i) => i} + />, + ); + + const two = screen.getByText("2"); + expect(two).toBeVisible(); + }); +}); diff --git a/web-ide-main/components/src/virtual_scroll.tsx b/web-ide-main/components/src/virtual_scroll.tsx new file mode 100644 index 0000000..f36ef56 --- /dev/null +++ b/web-ide-main/components/src/virtual_scroll.tsx @@ -0,0 +1,216 @@ +/* eslint-disable @typescript-eslint/ban-types */ +import { + Key, + ReactNode, + useCallback, + useEffect, + useMemo, + useReducer, + useRef, +} from "react"; + +export interface VirtualScrollSettings { + /**Minimum offset into the adapter. Default is 0. */ + minIndex: number; + /** Maximum offset into the adapter. Default is Number.MAX_SAFE_INTEGER. */ + maxIndex: number; + /** Initial index to start rendering from. Default is minIndex. */ + startIndex: number; + /** + * Number of items to render in visible area. Default is entire range from + * minIndex to maxIndex. + */ + count: number; + /** + * Maximum number of items to render on either side of the visible area. + * Default is `count`. + */ + tolerance: number; + /** Height of each item, in pixels. Default is 20px. */ + itemHeight: number; +} + +export interface VirtualScrollDataAdapter { + (offset: number, limit: number): Iterable; +} + +export function arrayAdapter(data: T[]): VirtualScrollDataAdapter { + return (offset, limit) => data.slice(offset, offset + limit); +} + +export interface VirtualScrollProps { + settings?: Partial; + get: VirtualScrollDataAdapter; + row: (t: T) => U; + rowKey: (t: T) => Key; +} + +export function fillVirtualScrollSettings( + settings: Partial, +): VirtualScrollSettings { + const { + minIndex = 0, + maxIndex = Number.MAX_SAFE_INTEGER, + startIndex = 0, + itemHeight = 20, + count = Math.max(maxIndex - minIndex, 1), + tolerance = count, + } = settings; + + return { minIndex, maxIndex, startIndex, itemHeight, count, tolerance }; +} + +export function initialState( + settings: VirtualScrollSettings, + adapter: VirtualScrollDataAdapter, +): VirtualScrollState { + // From Denis Hilt, https://blog.logrocket.com/virtual-scrolling-core-principles-and-basic-implementation-in-react/ + const { minIndex, maxIndex, startIndex, itemHeight, count, tolerance } = + settings; + const bufferedItems = count + 2 * tolerance; + const itemsAbove = Math.max(0, startIndex - tolerance - minIndex); + + const viewportHeight = count * itemHeight; + const totalHeight = Math.max(maxIndex - minIndex, 1) * itemHeight; + const toleranceHeight = tolerance * itemHeight; + const bufferHeight = viewportHeight + 2 * toleranceHeight; + const topPaddingHeight = itemsAbove * itemHeight; + const bottomPaddingHeight = totalHeight - (topPaddingHeight + bufferHeight); + + const state: VirtualScrollState = { + scrollTop: 0, + settings, + viewportHeight, + totalHeight, + toleranceHeight, + bufferedItems, + topPaddingHeight, + bottomPaddingHeight, + data: [], + }; + + return { + ...state, + ...doScroll(topPaddingHeight + toleranceHeight, state, adapter), + }; +} + +export function getData( + minIndex: number, + maxIndex: number, + offset: number, + limit: number, + get: VirtualScrollDataAdapter, +): T[] { + const start = Math.max(0, minIndex, offset); + const end = Math.min(maxIndex, offset + limit - 1); + const data = get(start, end - start); + return [...data]; +} + +interface ScrollUpdate { + scrollTop: number; + topPaddingHeight: number; + bottomPaddingHeight: number; + data: T[]; +} + +export function doScroll( + scrollTop: number, + state: VirtualScrollState, + get: VirtualScrollDataAdapter, +): ScrollUpdate { + const { + totalHeight, + toleranceHeight, + bufferedItems, + settings: { itemHeight, minIndex, maxIndex }, + } = state; + const index = + minIndex + Math.floor((scrollTop - toleranceHeight) / itemHeight); + const data = getData(minIndex, maxIndex, index, bufferedItems, get); + const topPaddingHeight = Math.max((index - minIndex) * itemHeight, 0); + const bottomPaddingHeight = Math.max( + totalHeight - (topPaddingHeight + data.length * itemHeight), + 0, + ); + + return { scrollTop, topPaddingHeight, bottomPaddingHeight, data }; +} + +interface VirtualScrollState { + settings: VirtualScrollSettings; + scrollTop: number; // px + bufferedItems: number; // count + totalHeight: number; // px + viewportHeight: number; // px + topPaddingHeight: number; // px + bottomPaddingHeight: number; // px + toleranceHeight: number; // px + data: T[]; +} + +const scrollReducer = + (get: VirtualScrollDataAdapter) => + (state: VirtualScrollState, scrollTop: number) => ({ + ...state, + ...doScroll(scrollTop, state, get), + }); + +export const VirtualScroll = ( + props: VirtualScrollProps & { className?: string }, +) => { + const viewportRef = useRef(null); + + const { settings, startState, reducer } = useMemo(() => { + const settings = fillVirtualScrollSettings(props.settings ?? {}); + const startState = initialState(settings, props.get); + const reducer = scrollReducer(props.get); + return { settings, reducer, startState }; + }, [props.settings, props.get]); + + const [state, dispatchScroll] = useReducer(reducer, startState); + + useEffect(() => { + if (viewportRef.current !== null) { + dispatchScroll(viewportRef.current.scrollTop); + } + }, [settings, props.row]); + + const initialScroll = useCallback( + (div: HTMLDivElement | null) => { + if (div) { + div.scrollTop = viewportRef.current + ? viewportRef.current.scrollTop + : settings.startIndex * settings.itemHeight; + } + viewportRef.current = div; + }, + [viewportRef, settings.startIndex, settings.itemHeight], + ); + + const rows = state.data.map((d) => ( +
+ {props.row(d)} +
+ )); + + return ( +
dispatchScroll((e.target as HTMLDivElement).scrollTop)} + > +
+ {rows} +
+
+ ); +}; + +export default VirtualScroll; diff --git a/web-ide-main/components/tsconfig.json b/web-ide-main/components/tsconfig.json new file mode 100644 index 0000000..ca2da56 --- /dev/null +++ b/web-ide-main/components/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "build", + "rootDir": "src", + "tsBuildInfoFile": "build/.tsbuildinfo" + + }, + "include": ["src"] +} diff --git a/web-ide-main/extension/.gitignore b/web-ide-main/extension/.gitignore new file mode 100644 index 0000000..27a1f10 --- /dev/null +++ b/web-ide-main/extension/.gitignore @@ -0,0 +1 @@ +*.vsix diff --git a/web-ide-main/extension/.vscodeignore b/web-ide-main/extension/.vscodeignore new file mode 100644 index 0000000..7605caf --- /dev/null +++ b/web-ide-main/extension/.vscodeignore @@ -0,0 +1,12 @@ +.. +build +node_modules +src +tsconfig* +views +!out +out/**/*.map +!fileicons +!languages +!LICENSE +!package.json diff --git a/web-ide-main/extension/LICENSE b/web-ide-main/extension/LICENSE new file mode 100644 index 0000000..d3a73b1 --- /dev/null +++ b/web-ide-main/extension/LICENSE @@ -0,0 +1,12 @@ +MIT License + +Copyright 2022 David Souther et al + +This software is based on Stefano Volpe's 'Nand2Tetris Tools'. Please check [here](https://github.com/foxyseta/nand-ide/blob/master/LICENSE) for further information. +This software is based on Aviv Yaish's 'NAND IDE'. Please check [here](https://github.com/AvivYaish/nand-ide/blob/master/LICENSE) for further information. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/web-ide-main/extension/README.md b/web-ide-main/extension/README.md new file mode 100644 index 0000000..25916cf --- /dev/null +++ b/web-ide-main/extension/README.md @@ -0,0 +1,19 @@ +# NAND2Tetris VSCode Extension + +This extension adds a NAND2Tetris side panel to VSCode. + +The side panel allows interacting with .HDl files and chips. + +## Developing the extension + +1. Open this project in VSCode. +2. Select "Run Extension" from the "Run and Debug" panel +3. Click "Run" or press F5. +4. In the debug VSCode window, open the [Project Files](https://github.com/nand2tetris/projects). +5. Open an HDL file, for instance, demo/Xor.hdl +6. The NAND2TETRIS: HDL CHIP view should be open in the side panel. + - If it is not, try `NAND2Tetris: Focus on HDL Chip View` in the command pallette. + +## References + +- [Your first extension](https://code.visualstudio.com/api/get-started/your-first-extension) diff --git a/web-ide-main/extension/fileicons/icon-theme.json b/web-ide-main/extension/fileicons/icon-theme.json new file mode 100644 index 0000000..cf2df4f --- /dev/null +++ b/web-ide-main/extension/fileicons/icon-theme.json @@ -0,0 +1,42 @@ +{ + "iconDefinitions": { + "_hdl": { + "iconPath": "./images/hdl.svg" + }, + "_tst": { + "iconPath": "./images/tst.svg" + }, + "_cmp-out": { + "iconPath": "./images/cmp-out.svg" + }, + "_hack": { + "iconPath": "./images/hack.svg" + }, + "_vm": { + "iconPath": "./images/vm.svg" + }, + "_jack": { + "iconPath": "./images/jack.svg" + } + }, + "fileExtensions": { + "hdl": "_hdl", + "tst": "_tst", + "cmp": "_cmp-out", + "out": "_cmp-out", + "asm": "_asm", + "hack": "_hack", + "vm": "_vm", + "jack": "_jack" + }, + "languageIds": { + "hdl": "_hdl", + "tst": "_tst", + "cmp": "_cmp-out", + "out": "_cmp-out", + "asm": "_asm", + "hack": "_hack", + "vm": "_vm", + "jack": "_jack" + } +} diff --git a/web-ide-main/extension/fileicons/images/cmp-out.svg b/web-ide-main/extension/fileicons/images/cmp-out.svg new file mode 100644 index 0000000..4cc3c79 --- /dev/null +++ b/web-ide-main/extension/fileicons/images/cmp-out.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/extension/fileicons/images/hack.svg b/web-ide-main/extension/fileicons/images/hack.svg new file mode 100644 index 0000000..5b234f3 --- /dev/null +++ b/web-ide-main/extension/fileicons/images/hack.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/extension/fileicons/images/hdl.svg b/web-ide-main/extension/fileicons/images/hdl.svg new file mode 100644 index 0000000..02d57eb --- /dev/null +++ b/web-ide-main/extension/fileicons/images/hdl.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/extension/fileicons/images/jack.svg b/web-ide-main/extension/fileicons/images/jack.svg new file mode 100644 index 0000000..f987d52 --- /dev/null +++ b/web-ide-main/extension/fileicons/images/jack.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/extension/fileicons/images/tst.svg b/web-ide-main/extension/fileicons/images/tst.svg new file mode 100644 index 0000000..199090e --- /dev/null +++ b/web-ide-main/extension/fileicons/images/tst.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/extension/fileicons/images/vm.svg b/web-ide-main/extension/fileicons/images/vm.svg new file mode 100644 index 0000000..7dd96aa --- /dev/null +++ b/web-ide-main/extension/fileicons/images/vm.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/extension/fileicons/logo.svg b/web-ide-main/extension/fileicons/logo.svg new file mode 100644 index 0000000..cee1b79 --- /dev/null +++ b/web-ide-main/extension/fileicons/logo.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/extension/languages/asm.snippets.json.code-snippets b/web-ide-main/extension/languages/asm.snippets.json.code-snippets new file mode 100644 index 0000000..a87a6c7 --- /dev/null +++ b/web-ide-main/extension/languages/asm.snippets.json.code-snippets @@ -0,0 +1,57 @@ +{ + "If-then Statement": { + "prefix": [ + "if", + "then", + "condition" + ], + "body": [ + "\t${1:$LINE_COMMENT D = condition}", + "\t@${2:IF_END}", + "\tD;JEQ", + "\t${0:$LINE_COMMENT code}", + "(${2:IF_END})" + ], + "description": "An if-then statement." + }, + "If-then-else Statement": { + "prefix": [ + "if", + "then", + "else", + "elif", + "condition" + ], + "body": [ + "\t${1:$LINE_COMMENT D = condition}", + "\t@${2:IF_ELSE}", + "\tD;JEQ", + "\t${4:$LINE_COMMENT code}", + "\t@${3:IF_END}", + "\t0;JMP", + "(${2:IF_ELSE})", + "\t${0:$LINE_COMMENT code}", + "(${3:IF_END})" + ], + "description": "An if-then-else statement." + }, + "While Loop": { + "prefix": [ + "repeat", + "loop", + "for", + "while" + ], + "body": [ + "(${1:LOOP})", + "\t${2:$LINE_COMMENT D = condition}", + "\t@${3:LOOP_END}", + "\tD;JEQ", + "\t${0:$LINE_COMMENT code}", + "\t@${1:LOOP}", + "\t0;JMP", + "(${3:LOOP_END})" + ], + "description": "A while loop." + } +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/asm.tmLanguage.json b/web-ide-main/extension/languages/asm.tmLanguage.json new file mode 100644 index 0000000..596654f --- /dev/null +++ b/web-ide-main/extension/languages/asm.tmLanguage.json @@ -0,0 +1,111 @@ +{ + "fileTypes": [ + "asm" + ], + "name": "Hack Assembly Language", + "patterns": [ + { + "include": "#declaration" + }, + { + "include": "#A-instruction" + }, + { + "include": "#destination" + }, + { + "include": "#boolean" + }, + { + "include": "#jump" + }, + { + "include": "#comment" + } + ], + "repository": { + "declaration": { + "patterns": [ + { + "comment": "Label declaration", + "match": "\\(([^ \\/]*)\\)", + "name": "storage.type", + "captures": { + "1": { + "patterns": [ + { + "comment": "Label", + "match": "[a-zA-Z\\_\\.\\$\\:]+[a-zA-Z\\_\\.\\$\\:\\d]*", + "name": "variable.other" + } + ] + } + } + } + ] + }, + "A-instruction": { + "patterns": [ + { + "comment": "@XXX instruction", + "match": "\\@([^ \\/]*)", + "name": "keyword.operator", + "captures": { + "1": { + "patterns": [ + { + "match": "R10|R11|R12|R13|R14|R15|R0|R1|R2|R3|R4|R5|R6|R7|R8|R9|SP|LCL|ARG|THIS|THAT|SCREEN|KBD", + "name": "variable.language" + }, + { + "comment": "A-instruction string argument", + "match": "[a-zA-Z\\_\\.\\$\\:]+[a-zA-Z\\_\\.\\$\\:\\d]*", + "name": "variable.other" + }, + { + "match": "\\d+", + "name": "constant.numeric" + } + ] + } + } + } + ] + }, + "destination": { + "patterns": [ + { + "comment": "Left-hand side", + "match": "null|M|D|A|MD|AM|AD|AMD", + "name": "variable.language" + } + ] + }, + "jump": { + "patterns": [ + { + "comment": "Jump type", + "match": "JGT|JLE|JEQ|JLT|JNE|JMP|JGE", + "name": "keyword.control" + } + ] + }, + "comment": { + "patterns": [ + { + "comment": "Inline comment", + "begin": "\\/\\/", + "end": "\\n", + "name": "comment.line.double-slash" + }, + { + "comment": "Multiline comment", + "begin": "\\/\\*", + "end": "\\*\\/", + "name": "comment.block" + } + ] + } + }, + "scopeName": "source.asm" +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/cmp-out.tmLanguage.json b/web-ide-main/extension/languages/cmp-out.tmLanguage.json new file mode 100644 index 0000000..908b3fe --- /dev/null +++ b/web-ide-main/extension/languages/cmp-out.tmLanguage.json @@ -0,0 +1,60 @@ +{ + "fileTypes": [ + "cmp", + "out" + ], + "name": "CMP/OUT", + "patterns": [ + { + "include": "#border" + }, + { + "include": "#variable" + }, + { + "include": "#value" + }, + { + "include": "#placeholder" + } + ], + "repository": { + "border": { + "patterns": [ + { + "comment": "Vertical table border", + "name": "keyword.operator", + "match": "\\|" + } + ] + }, + "variable": { + "patterns": [ + { + "comment": "The variable identifier (table header)", + "name": "support.variable", + "match": "[a-zA-Z]+" + } + ] + }, + "value": { + "patterns": [ + { + "comment": "The value of a certain variable at a given time", + "name": "constant.numeric", + "match": "-*\\d+\\+*" + } + ] + }, + "placeholder": { + "patterns": [ + { + "comment": "List of wildcard characters", + "name": "constant.language", + "match": "\\*+" + } + ] + } + }, + "scopeName": "source.cmp" +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/hack.tmLanguage.json b/web-ide-main/extension/languages/hack.tmLanguage.json new file mode 100644 index 0000000..556a0fa --- /dev/null +++ b/web-ide-main/extension/languages/hack.tmLanguage.json @@ -0,0 +1,59 @@ +{ + "fileTypes": ["hack"], + "name": "Hack Machine Language", + "patterns": [ + { + "include": "#a" + }, + { + "include": "#c" + } + ], + "repository": { + "a": { + "patterns": [ + { + "comment": "0-value", + "begin": "\\b0", + "end": "\\b", + "name": "comment", + "patterns": [ + { + "comment": "value", + "match": "[01]{15}\\b", + "name": "constant.numeric" + } + ] + } + ] + }, + "c": { + "patterns": [ + { + "comment": "1-??-a-comp-dest-jump", + "match": "\\b1[01]{2}([01]{1})([01]{6})([01]{3})([01]{3})\\b", + "name": "comment", + "captures": { + "1": { + "comment": "control", + "name": "keyword.control" + }, + "2": { + "comment": "op", + "name": "keyword.operarator" + }, + "3": { + "comment": "dest", + "name": "variable.language" + }, + "4": { + "comment": "jump", + "name": "keyword.control" + } + } + } + ] + } + }, + "scopeName": "source.hack" +} diff --git a/web-ide-main/extension/languages/hdl.snippets.json.code-snippets b/web-ide-main/extension/languages/hdl.snippets.json.code-snippets new file mode 100644 index 0000000..5e5a912 --- /dev/null +++ b/web-ide-main/extension/languages/hdl.snippets.json.code-snippets @@ -0,0 +1,264 @@ +{ + "CHIP Class": { + "body": [ + "CHIP $1 {", + " IN $2;", + " OUT $3;", + "", + " PARTS:", + " $4", + "}" + ], + "description": "Create CHIP class.\n", + "prefix": "CHIP" + }, + "Chip Add16": { + "body": [ + "Add16(a=$1, b=$2, out=$3);" + ], + "description": [ + "* Adds two 16-bit values.\n* The most significant carry bit is ignored.\n" + ], + "prefix": "Add16" + }, + "Chip ALU": { + "body": [ + "ALU(x=$1, y=$2, zx=$3, nx=$4, zy=$5, ny=$6, f=$7, no=$8, out=$9, zr=$10, ng=$11);" + ], + "description": [ + "* the ALU manipulates the x and y.\n" + ], + "prefix": "ALU" + }, + "Chip And": { + "body": [ + "And(a=$1, b=$2, out=$3);" + ], + "description": "* And gate:\n* out = 1 if (a == 1 and b == 1)\n* 0 otherwise\n", + "prefix": "And" + }, + "Chip And16": { + "body": [ + "And16(a=$1, b=$2, out=$3);" + ], + "description": "* 16-bit bitwise And:\n* for i = 0..15: out[i] = (a[i] and b[i])\n", + "prefix": "And16" + }, + "Chip ARegister": { + "body": [ + "ARegister(in=$1, load=$2, out=$3);" + ], + "description": "* A 16-Bit register called \"A Register\"\n", + "prefix": "ARegister" + }, + "Chip Bit": { + "body": [ + "Bit(in=$1, load=$2, out=$3);" + ], + "description": "* 1-bit register:\n* If load[t] == 1 then out[t+1] = in[t]\n* else out does not change (out[t+1] = out[t])\n", + "prefix": "Bit" + }, + "Chip DFF": { + "body": [ + "DFF(in=$1, out=$2);" + ], + "description": "* Data Flip-flop:\n* out(t) = in(t-1)\n* where t is the current time unit, or clock cycle.\n", + "prefix": "DFF" + }, + "Chip DMux": { + "body": [ + "DMux(in=$1, sel=$2, a=$3, b=$4);" + ], + "description": "* Demultiplexor:\n* {a, b} = {in, 0} if sel == 0\n* {0, in} if sel == 1\n", + "prefix": "DMux" + }, + "Chip DMux4Way": { + "body": [ + "DMux4Way(in=$1, sel=$2, a=$3, b=$4, c=$5, d=$6);" + ], + "description": "* 4-way demultiplexor:\n* {a, b, c, d} = {in, 0, 0, 0} if sel == 00\n* {0, in, 0, 0} if sel == 01\n* {0, 0, in, 0} if sel == 10\n* {0, 0, 0, in} if sel == 11\n", + "prefix": "DMux4Way" + }, + "Chip DMux8Way": { + "body": [ + "DMux8Way(in=$1, sel=$2, a=$3, b=$4, c=$5, d=$6, e=$7, f=$8, g=$9, h=$10);" + ], + "description": "* 8-way demultiplexor:\n* {a, b, c, d, e, f, g, h} = {in, 0, 0, 0, 0, 0, 0, 0} if sel == 000\n* {0, in, 0, 0, 0, 0, 0, 0} if sel == 001\n* etc.\n* {0, 0, 0, 0, 0, 0, 0, in} if sel == 111\n", + "prefix": "DMux8Way" + }, + "Chip DRegister": { + "body": [ + "DRegister(in=$1, load=$2, out=$3);" + ], + "description": "* A 16-Bit register called \"D Register\"\n", + "prefix": "DRegister" + }, + "Chip FullAdder": { + "body": [ + "FullAdder(a=$1, b=$2, c=$3, sum=$4, carry=$5);" + ], + "description": "* Full adder:\n* Computes sum, the least significant bit of a + b + c, and carry, the most significant bit of a + b + c.\n", + "prefix": "FullAdder" + }, + "Chip HalfAdder": { + "body": [ + "HalfAdder(a=$1, b=$2, sum=$3, carry=$4);" + ], + "description": "* Half adder:\n* Computes sum, the least significnat bit of a + b, and carry, the most significnat bit of a + b.\n", + "prefix": "HalfAdder" + }, + "Chip Inc16": { + "body": [ + "Inc16(in=$1, out=$2);" + ], + "description": "* 16-bit incrementer:\n* out = in + 1 (arithmetic addition)\n", + "prefix": "Inc16" + }, + "Chip Keyboard": { + "body": [ + "Keyboard(out=$1);" + ], + "description": "* The keyboard (memory map).\n* Outputs the code of the currently pressed key\n", + "prefix": "Keyboard" + }, + "Chip Mux": { + "body": [ + "Mux(a=$1, b=$2, sel=$3, out=$4);" + ], + "description": "* Multiplexor:\n* If sel == 1 then out = b else out = a.\n", + "prefix": "Mux" + }, + "Chip Mux16": { + "body": [ + "Mux16(a=$1, b=$2, sel=$3, out=$4);" + ], + "description": "* 16-bit multiplexor:\n* for i = 0..15 out[i] = a[i] if sel == 0\n* b[i] if sel == 1\n", + "prefix": "Mux16" + }, + "Chip Mux4Way16": { + "body": [ + "Mux4Way16(a=$1, b=$2, c=$3, d=$4, sel=$5, out=$6);" + ], + "description": "* 4-way 16-bit multiplexor:\n* out = a if sel == 00\n* b if sel == 01\n* c if sel == 10\n* d if sel == 11\n", + "prefix": "Mux4Way16" + }, + "Chip Mux8Way16": { + "body": [ + "Mux8Way16(a=$1, b=$2, c=$3, d=$4, e=$5, f=$6, g=$7, h=$8, sel=$9, out=$10);" + ], + "description": "* 8-way 16-bit multiplexor:\n* out = a if sel == 000\n* b if sel == 001\n* etc.\n* h if sel == 111\n", + "prefix": "Mux8Way16" + }, + "Chip Nand": { + "body": [ + "Nand(a=$1, b=$2, out=$3);" + ], + "description": "* Nand gate:\n* out = a Nand b.\n", + "prefix": "Nand" + }, + "Chip Not": { + "body": [ + "Not(in=$1, out=$2);" + ], + "description": "* Not gate:\n* out = not in\n", + "prefix": "Not" + }, + "Chip Not16": { + "body": [ + "Not16(in=$1, out=$2);" + ], + "description": "* 16-bit Not:\n* for i=0..15: out[i] = not in[i]\n", + "prefix": "Not16" + }, + "Chip Or": { + "body": [ + "Or(a=$1, b=$2, out=$3);" + ], + "description": "* Or gate:\n* out = 1 if (a == 1 or b == 1)\n* 0 otherwise\n", + "prefix": "Or" + }, + "Chip Or16": { + "body": [ + "Or16(a=$1, b=$2, out=$3);" + ], + "description": "* 16-bit bitwise Or gate:\n* for i = 0..15 out[i] = a[i] or b[i].\n", + "prefix": "Or16" + }, + "Chip Or8Way": { + "body": [ + "Or8Way(in=$1, out=$2);" + ], + "description": "* 8-way Or\n* out = (in[0] or in[1] or ... or in[7])\n", + "prefix": "Or8Way" + }, + "Chip PC": { + "body": [ + "PC(in=$1, load=$2, inc=$3, reset=$4, out=$5);" + ], + "description": "* A 16-bit counter with load and reset control bits.\n* if (reset[t] == 1) out[t+1] = 0\n* else if (load[t] == 1) out[t+1] = in[t]\n* else if (inc[t] == 1) out[t+1] = out[t] + 1 (integer addition)\n* else out[t+1] = out[t]\n", + "prefix": "PC" + }, + "Chip RAM16K": { + "body": [ + "RAM16K(in=$1, load=$2, address=$3, out=$4);" + ], + "description": "* Memory of 16K registers, each 16 bit-wide. Out holds the value stored at the memory location specified by address.\n* If load==1, then the in value is loaded into the memory location specified by address (the loaded value will be emitted to out from the next time step onward).\n", + "prefix": "RAM16K" + }, + "Chip RAM4K": { + "body": [ + "RAM4K(in=$1, load=$2, address=$3, out=$4);" + ], + "description": "* Memory of 4K registers, each 16 bit-wide. Out holds the value stored at the memory location specified by address.\n* If load==1, then the in value is loaded into the memory location specified by address (the loaded value will be emitted to out from the next time step onward).\n", + "prefix": "RAM4K" + }, + "Chip RAM512": { + "body": [ + "RAM512(in=$1, load=$2, address=$3, out=$4);" + ], + "description": "* Memory of 512 registers, each 16 bit-wide. Out holds the value stored at the memory location specified by address.\n* If load==1, then the in value is loaded into the memory location specified by address (the loaded value will be emitted to out from the next time step onward).\n", + "prefix": "RAM512" + }, + "Chip RAM64": { + "body": [ + "RAM64(in=$1, load=$2, address=$3, out=$4);" + ], + "description": "* Memory of 64 registers, each 16 bit-wide. Out holds the value stored at the memory location specified by address.\n* If load==1, then the in value is loaded into the memory location specified by address (the loaded value will be emitted to out from the next time step onward).\n", + "prefix": "RAM64" + }, + "Chip RAM8": { + "body": [ + "RAM8(in=$1, load=$2, address=$3, out=$4);" + ], + "description": "* Memory of 8 registers, each 16 bit-wide. Out holds the value stored at the memory location specified by address.\n* If load==1, then the in value is loaded into the memory location specified by address (the loaded value will be emitted to out from the next time step onward).\n", + "prefix": "RAM8" + }, + "Chip Register": { + "body": [ + "Register(in=$1, load=$2, out=$3);" + ], + "description": "* 16-bit register:\n* If load[t] == 1 then out[t+1] = in[t]\n* else out does not change\n", + "prefix": "Register" + }, + "Chip ROM32K": { + "body": [ + "ROM32K(address=$1, out=$2);" + ], + "description": "* Read-Only memory (ROM) of 16K registers, each 16-bit wide.\n* The chip is designed to facilitate data read, as follows:\n* out(t) = ROM32K[address(t)](t)\n", + "prefix": "ROM32K" + }, + "Chip Screen": { + "body": [ + "Screen(in=$1, load=$2, address=$3, out=$4);" + ], + "description": "* The Screen (memory map).\n* Functions exactly like a 16-bit 8K RAM:\n* 1. out(t)=Screen[address(t)](t)\n* 2. If load(t-1) then Screen[address(t-1)](t)=in(t-1)\n", + "prefix": "Screen" + }, + "Chip Xor": { + "body": [ + "Xor(a=$1, b=$2, out=$3);" + ], + "description": "* Exclusive-or gate:\n* out = !(a == b).\n", + "prefix": "Xor" + } +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/hdl.tmLanguage.json b/web-ide-main/extension/languages/hdl.tmLanguage.json new file mode 100644 index 0000000..719e90c --- /dev/null +++ b/web-ide-main/extension/languages/hdl.tmLanguage.json @@ -0,0 +1,75 @@ +{ + "fileTypes": [ + "hdl" + ], + "name": "HDL", + "patterns": [ + { + "comment": "Block comment", + "begin": "\\/\\*", + "end": "\\*\\/", + "name": "comment.block.hdl" + }, + { + "comment": "Line comment", + "begin": "\\/\\/", + "end": "\\n", + "name": "comment.line.hdl" + }, + { + "comment": "keywords", + "name": "keyword.hdl", + "match": "IN|OUT|PARTS|BUILTIN" + }, + { + "comment": "true, false", + "name": "constant.language.hdl", + "match": "true|false" + }, + { + "comment": "bus index", + "captures": { + "1": { + "name": "constant.numeric.hdl" + } + }, + "match": "\\[([\\d]+)\\]" + }, + { + "comment": ".. in bus slicing", + "captures": { + "1": { + "name": "constant.numeric.hdl" + } + }, + "match": "\\[(\\d+\\.{2}\\d+)\\]" + }, + { + "comment": "chip name", + "name": "storage.type.hdl", + "match": "CHIP" + }, + { + "comment": "inner chip", + "captures": { + "1": { + "name": "entity.name.function.hdl" + } + }, + "match": "([\\w\\d\\_]+)\\s*\\(" + }, + { + "comment": "inner chip inputs and outputs", + "captures": { + "1": { + "name": "variable.parameter.hdl" + }, + "2": { + "name": "constant.numeric.hdl" + } + }, + "match": "([\\w\\d\\_]+)\\s*(\\[.+\\])*=" + } + ], + "scopeName": "source.hdl" +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/jack.snippets.json.code-snippets b/web-ide-main/extension/languages/jack.snippets.json.code-snippets new file mode 100644 index 0000000..a5d4b77 --- /dev/null +++ b/web-ide-main/extension/languages/jack.snippets.json.code-snippets @@ -0,0 +1,32 @@ +{ + "Class": { + "prefix": [ + "class", + "struct" + ], + "body": [ + "class ${1:Name} {", + "\t${0:$LINE_COMMENT attributes and methods}", + "}" + ], + "description": "A class interface." + }, + "Function/method": { + "prefix": [ + "function", + "method", + "procedure", + "void", + "int", + "String", + "Array", + "Char" + ], + "body": [ + "${1|function,method|} ${2:void} ${3:name} (${4:$BLOCK_COMMENT_START arguments $BLOCK_COMMENT_END}) {", + "\t${0:$LINE_COMMENT code}", + "}" + ], + "description": "A function/method definition." + } +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/jack.tmLanguage.json b/web-ide-main/extension/languages/jack.tmLanguage.json new file mode 100644 index 0000000..5fb0815 --- /dev/null +++ b/web-ide-main/extension/languages/jack.tmLanguage.json @@ -0,0 +1,122 @@ +{ + "fileTypes": [ + "jack" + ], + "name": "Jack Language", + "patterns": [ + { + "include": "#keyword" + }, + { + "include": "#constant" + }, + { + "include": "#declaration" + }, + { + "include": "#comment" + } + ], + "repository": { + "keyword": { + "patterns": [ + { + "comment": "Keyword related to flow control", + "match": "\\b(if|else|while|do|return)\\b", + "name": "keyword.control" + }, + { + "comment": "Miscellaneous keyword", + "match": "\\blet\\b", + "name": "keyword.other" + } + ] + }, + "constant": { + "patterns": [ + { + "comment": "Numeric constant", + "name": "constant.numeric", + "match": "\\b[0-9]+\\b" + }, + { + "comment": "String literal", + "begin": "\\\"", + "end": "\\\"", + "name": "string.quoted.double", + "patterns": [ + { + "comment": "Escape characters", + "match": "\\\\.", + "name": "constant.character.escape" + } + ] + }, + { + "comment": "Language constant", + "name": "constant.language", + "match": "\\b(true|false|null|this)\\b" + } + ] + }, + "declaration": { + "patterns": [ + { + "comment": "Class declaration", + "match": "\\bclass\\b", + "name": "storage.type" + }, + { + "comment": "Variable declaration", + "name": "storage.type", + "match": "\\b(field|static|var)\\s+(\\w+)\\b", + "captures": { + "1": { + "name": "storage.modifier" + }, + "2": { + "name": "storage.type" + } + } + }, + { + "comment": "Function declaration", + "begin": "\\b(constructor|function|method)\\s+([A-Za-z_][A-Za-z_0-9]*)\\s+([A-Za-z_][A-Za-z_0-9]*)\\s*\\(", + "end": "\\)", + "match": "meta.function", + "beginCaptures": { + "1": { + "name": "storage.modifier" + }, + "2": { + "name": "storage.type" + } + }, + "patterns": [ + { + "match": "\\s*([A-Za-z_][A-Za-z_0-9]*)\\s+(?=[A-Za-z_][A-Za-z_0-9]*)\\b", + "name": "storage.type" + } + ] + } + ] + }, + "comment": { + "patterns": [ + { + "comment": "Inline comment", + "begin": "\\/\\/", + "end": "\\n", + "name": "comment.line.double-slash" + }, + { + "comment": "Multiline comment", + "begin": "\\/\\*", + "end": "\\*\\/", + "name": "comment.block" + } + ] + } + }, + "scopeName": "source.jack" +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/language-configuration.json b/web-ide-main/extension/languages/language-configuration.json new file mode 100644 index 0000000..aefee5a --- /dev/null +++ b/web-ide-main/extension/languages/language-configuration.json @@ -0,0 +1,28 @@ +{ + "comments": { + "lineComment": "//", + "blockComment": ["/*", "*/"] + }, + // symbols used as brackets + "brackets": [ + ["{", "}"], + ["[", "]"], + ["(", ")"] + ], + // symbols that are auto closed when typing + "autoClosingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ], + // symbols that that can be used to surround a selection + "surroundingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ] +} diff --git a/web-ide-main/extension/languages/tst.snippets.json.code-snippets b/web-ide-main/extension/languages/tst.snippets.json.code-snippets new file mode 100644 index 0000000..6524cd1 --- /dev/null +++ b/web-ide-main/extension/languages/tst.snippets.json.code-snippets @@ -0,0 +1,16 @@ +{ + "Repeat Loop": { + "prefix": [ + "repeat", + "loop", + "while", + "for" + ], + "body": [ + "repeat ${1:iterations} {", + "\t${0:$LINE_COMMENT code", + "}" + ], + "description": "A repeat loop." + } +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/tst.tmLanguage.json b/web-ide-main/extension/languages/tst.tmLanguage.json new file mode 100644 index 0000000..1db3df7 --- /dev/null +++ b/web-ide-main/extension/languages/tst.tmLanguage.json @@ -0,0 +1,59 @@ +{ + "fileTypes": [ + "tst" + ], + "name": "TST", + "patterns": [ + { + "include": "#instruction" + }, + { + "include": "#comment" + } + ], + "repository": { + "instruction": { + "patterns": [ + { + "comment": "Everything which is not a comment is a function", + "begin": "\\b", + "end": "(,|;)", + "patterns": [ + { + "comment": "Every actual instruction starts with a function", + "name": "support.function", + "match": "(output-file|compare-to|output-list|set|eval|output|load)\\b" + }, + { + "comment": "A single bit", + "name": "constant.numeric", + "match": "\\s(1|0)|%B(\\d|\\.)+" + }, + { + "comment": "Filename with a known extension", + "name": "string.interpolated", + "match": "\\w+\\.(hdl|out|cmp)" + } + ] + } + ] + }, + "comment": { + "patterns": [ + { + "comment": "Inline comment", + "begin": "\\/\\/", + "end": "\\n", + "name": "comment.line.double-slash" + }, + { + "comment": "Multiline comment", + "begin": "\\/\\*", + "end": "\\*\\/", + "name": "comment.block" + } + ] + } + }, + "scopeName": "source.tst" +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/vm.snippets.json.code-snippets b/web-ide-main/extension/languages/vm.snippets.json.code-snippets new file mode 100644 index 0000000..e94d021 --- /dev/null +++ b/web-ide-main/extension/languages/vm.snippets.json.code-snippets @@ -0,0 +1,63 @@ +{ + "If-then Statement": { + "prefix": [ + "if", + "then", + "condition" + ], + "body": [ + "\t${1:$LINE_COMMENT not-condition}", + "\tif-goto\t${2:if_end}", + "\t${0:$LINE_COMMENT code}", + "label\t\t${2:IF_END}" + ], + "description": "An if-then statement." + }, + "If-then-else Statement": { + "prefix": [ + "if", + "then", + "else", + "elif", + "condition" + ], + "body": [ + "\t${1:$LINE_COMMENT not-condition}", + "\tif-goto\t${2:if_else}", + "\t${3:$LINE_COMMENT code}", + "\tgoto\t${4:if_end}", + "label\t\t${2:if_else}", + "\t${0:$LINE_COMMENT code}", + "label\t\t${4:if_end}" + ], + "description": "An if-then-else statement." + }, + "While Loop": { + "prefix": [ + "repeat", + "loop", + "for", + "while" + ], + "body": [ + "label\t\t${1:loop}", + "\t${2:$LINE_COMMENT not condition}", + "\tif-goto\t${3:loop_end}", + "\t${4:$LINE_COMMENT code}", + "\tgoto\t${1:loop}", + "label\t\t${3:loop_end}" + ], + "description": "A while loop." + }, + "Function": { + "prefix": [ + "function", + "procedure" + ], + "body": [ + "function ${TM_FILENAME/(.*)\\..+$/$1/}.${1:name} ${2:0}", + "\t${0:$LINE_COMMENT code}" + ], + "description": "A function definition." + } +} \ No newline at end of file diff --git a/web-ide-main/extension/languages/vm.tmLanguage.json b/web-ide-main/extension/languages/vm.tmLanguage.json new file mode 100644 index 0000000..5576246 --- /dev/null +++ b/web-ide-main/extension/languages/vm.tmLanguage.json @@ -0,0 +1,134 @@ +{ + "fileTypes": [ + "vm" + ], + "name": "Virtual Machine Language", + "patterns": [ + { + "include": "#arithmetic-command" + }, + { + "include": "#memory-access-command" + }, + { + "include": "#program-flow-command" + }, + { + "include": "#function-calling-command" + }, + { + "include": "#comment" + } + ], + "repository": { + "arithmetic-command": { + "patterns": [ + { + "comment": "Performs arithmetic and logical operations on the stack.", + "match": "\\b(add|sub|neg|eq|gt|lt|and|or|not|shiftleft|shiftright)\\b", + "name": "keyword.operator" + } + ] + }, + "memory-access-command": { + "patterns": [ + { + "comment": "Transfers data between the stack and virtual memory segments.", + "match": "\\b(push|pop)\\s+([^ \\/]*)\\s+(\\d+)\\b", + "name": "keyword.operator", + "captures": { + "2": { + "patterns": [ + { + "comment": "Segment", + "match": "[a-zA-Z\\_\\.\\$\\:]+[a-zA-Z\\_\\.\\$\\:\\d]*", + "name": "storage.type" + } + ] + }, + "3": { + "patterns": [ + { + "comment": "Location", + "match": "\\d+", + "name": "constant.numeric" + } + ] + } + } + } + ] + }, + "program-flow-command": { + "patterns": [ + { + "comment": "Facilitates conditional and unconditional branching operations.", + "match": "\\b(label|goto|if-goto)\\s+([^ \\/]*)\\b", + "name": "keyword.control", + "captures": { + "2": { + "patterns": [ + { + "comment": "Label", + "match": "[a-zA-Z\\_\\.\\$\\:]+[a-zA-Z\\_\\.\\$\\:\\d]*", + "name": "entity.name.section" + } + ] + } + } + } + ] + }, + "function-calling-command": { + "patterns": [ + { + "comment": "Defines/calls functions.", + "match": "\\b(function|call)\\s+([^ \\/]*)\\s+(\\w+)\\b", + "name": "keyword.control", + "captures": { + "2": { + "patterns": [ + { + "comment": "Function name", + "match": "[a-zA-Z\\_\\.\\$\\:]+[a-zA-Z\\_\\.\\$\\:\\d]*", + "name": "entity.name.function" + } + ] + }, + "3": { + "patterns": [ + { + "comment": "Number of local variables/arguments passed", + "match": "\\d+", + "name": "constant.numeric" + } + ] + } + } + }, + { + "comment": "Returns from functions.", + "match": "return", + "name": "keyword.control" + } + ] + }, + "comment": { + "patterns": [ + { + "comment": "Inline comment", + "begin": "\\/\\/", + "end": "\\n", + "name": "comment.line.double-slash" + }, + { + "comment": "Multiline comment", + "begin": "\\/\\*", + "end": "\\*\\/", + "name": "comment.block" + } + ] + } + }, + "scopeName": "source.vm" +} diff --git a/web-ide-main/extension/package.json b/web-ide-main/extension/package.json new file mode 100644 index 0000000..5fb7c34 --- /dev/null +++ b/web-ide-main/extension/package.json @@ -0,0 +1,261 @@ +{ + "name": "@nand2tetris/vscode", + "version": "0.0.0", + "private": true, + "description": "NAND2Tetris IDE features for VSCode", + "author": "David Souther ", + "license": "ISC", + "repository": { + "type": "git", + "url": "git+https://github.com/davidsouther/nand2tetris.git" + }, + "homepage": "https://davidsouther.github.io/nand2tetris", + "scripts": { + "prebuild": "shx mkdir -p out/views/hdl && cd .. && npm run build -w extension/views/hdl", + "build": "npx esbuild ./src/extension.ts --bundle --outfile=out/main.js --external:vscode --format=cjs --platform=node --sourcemap", + "watch": "npm run build -- --watch", + "vscode:prepublish": "npm run build", + "package": "vsce package" + }, + "engines": { + "vscode": "^1.61.0" + }, + "main": "./out/main.js", + "contributes": { + "commands": [ + { + "command": "nand2tetris.run", + "title": "Nand2Tetris: run code", + "icon": "./images/button.png" + }, + { + "command": "nand2tetris.stop", + "title": "Nand2Tetris: stop running" + }, + { + "command": "nand2tetris.hardware", + "title": "Nand2Tetris: open hardware Simulator" + } + ], + "configuration": { + "type": "object", + "title": "Nand2Tetris IDE", + "properties": { + "nand2tetris.showRunIconInEditorTitleMenu": { + "type": "boolean", + "default": true, + "description": "Whether to show 'Run Code' icon in editor title menu.", + "scope": "resource" + }, + "nand2tetris.showTranslateIconInEditorTitleMenu": { + "type": "boolean", + "default": true, + "description": "Whether to show 'Translate Code' icon in editor title menu.", + "scope": "resource" + } + } + }, + "languages": [ + { + "id": "hdl", + "aliases": [ + "HDL" + ], + "extensions": [ + ".hdl" + ], + "configuration": "./languages/language-configuration.json" + }, + { + "id": "tst", + "aliases": [ + "TST", + "TEST", + "Test", + "test" + ], + "extensions": [ + ".tst" + ], + "configuration": "./languages/language-configuration.json" + }, + { + "id": "cmp", + "aliases": [ + "CMP", + "cmp" + ], + "extensions": [ + ".cmp" + ] + }, + { + "id": "out", + "aliases": [ + "OUT", + "out" + ], + "extensions": [ + ".out" + ] + }, + { + "id": "asm", + "aliases": [ + "ASM", + "asm" + ], + "extensions": [ + ".asm" + ], + "configuration": "./languages/language-configuration.json" + }, + { + "id": "hack", + "aliases": [ + "HACK", + "hack" + ], + "extensions": [ + ".hack" + ] + }, + { + "id": "vm", + "aliases": [ + "VM", + "vm" + ], + "extensions": [ + ".vm" + ], + "configuration": "./languages/language-configuration.json" + }, + { + "id": "jack", + "aliases": [ + "JACK", + "jack" + ], + "extensions": [ + ".jack" + ], + "configuration": "./languages/language-configuration.json" + } + ], + "grammars": [ + { + "language": "hdl", + "scopeName": "source.hdl", + "path": "./languages/hdl.tmLanguage.json" + }, + { + "language": "tst", + "scopeName": "source.tst", + "path": "./languages/tst.tmLanguage.json" + }, + { + "language": "cmp", + "scopeName": "source.cmp", + "path": "./languages/cmp-out.tmLanguage.json" + }, + { + "language": "out", + "scopeName": "source.out", + "path": "./languages/cmp-out.tmLanguage.json" + }, + { + "language": "asm", + "scopeName": "source.asm", + "path": "./languages/asm.tmLanguage.json" + }, + { + "language": "hack", + "scopeName": "source.hack", + "path": "./languages/hack.tmLanguage.json" + }, + { + "language": "vm", + "scopeName": "source.vm", + "path": "./languages/vm.tmLanguage.json" + }, + { + "language": "jack", + "scopeName": "source.jack", + "path": "./languages/jack.tmLanguage.json" + } + ], + "snippets": [ + { + "language": "hdl", + "path": "./languages/hdl.snippets.json.code-snippets" + }, + { + "language": "tst", + "path": "./languages/tst.snippets.json.code-snippets" + }, + { + "language": "asm", + "path": "./languages/asm.snippets.json.code-snippets" + }, + { + "language": "vm", + "path": "./languages/vm.snippets.json.code-snippets" + }, + { + "language": "jack", + "path": "./languages/jack.snippets.json.code-snippets" + } + ], + "iconThemes": [ + { + "id": "nand-ide", + "label": "Nand2Tetris IDE Icon Theme", + "path": "./fileicons/icon-theme.json" + } + ], + "viewsContainers": { + "activitybar": [ + { + "id": "nand2tetris", + "icon": "./fileicons/logo.svg", + "title": "NAND2Tetris" + } + ] + }, + "views": { + "nand2tetris": [ + { + "type": "webview", + "id": "nand2tetris.hdlView", + "name": "HDL Chip" + } + ] + } + }, + "activationEvents": [ + "onCommand:nand2tetris.hardware", + "onLanguage:cmp", + "onLanguage:hdl", + "onLanguage:out", + "onLanguage:tst" + ], + "devDependencies": { + "@davidsouther/jiffies": "^2.0.6", + "@nand2tetris/simulator": "file:../simulator", + "@types/error-cause": "^1.0.1", + "@types/node": "^16.11.41", + "@types/vscode": "^1.74.0", + "@vscode/vsce": "^2.27.0", + "@vscode/webview-ui-toolkit": "^1.2.1", + "esbuild": "^0.15.18", + "ohm-js": "^17.1.0" + }, + "dependencies": { + "gh-pages": "6.1.1", + "react-scripts": "5.0.1" + }, + "optionalDependencies": { + "esbuild-windows-64": "^0.15.18" + } +} diff --git a/web-ide-main/extension/src/commands.ts b/web-ide-main/extension/src/commands.ts new file mode 100644 index 0000000..ebb0861 --- /dev/null +++ b/web-ide-main/extension/src/commands.ts @@ -0,0 +1,14 @@ +import * as vscode from "vscode"; + +type Callback = Parameters[1]; + +export function makeCommands(): [string, Callback][] { + const hardwareCommand: [string, Callback] = [ + "nand2tetris.hardware", + async (fileUri: string) => { + console.log("Hardware Command"); + }, + ]; + + return [hardwareCommand]; +} diff --git a/web-ide-main/extension/src/commands/hardware.ts b/web-ide-main/extension/src/commands/hardware.ts new file mode 100644 index 0000000..ce5ce08 --- /dev/null +++ b/web-ide-main/extension/src/commands/hardware.ts @@ -0,0 +1,6 @@ +export async function hardware(fileUri: string) { + // The await eval() hack is for https://github.com/microsoft/TypeScript/issues/43329 + const tst = await import("@nand2tetris/simulator/test/chiptst.js"); + console.log(`Hardware for ${fileUri}`); + console.log(new tst.ChipTest()); +} diff --git a/web-ide-main/extension/src/diagnostics.ts b/web-ide-main/extension/src/diagnostics.ts new file mode 100644 index 0000000..795e1cd --- /dev/null +++ b/web-ide-main/extension/src/diagnostics.ts @@ -0,0 +1,41 @@ +import * as vscode from "vscode"; +import * as lang from "./languages/index.js"; + +async function getDiagnostics(document: vscode.TextDocument) { + switch (document.languageId) { + case "cmp": + case "out": + return lang.cmp.getDiagnostics(document); + case "hdl": + return lang.hdl.getDiagnostics(document); + case "tst": + return lang.tst.getDiagnostics(document); + default: + return []; + } +} + +let diagnosticCollection: vscode.DiagnosticCollection; +function getDiagnosticCollection() { + if (diagnosticCollection === undefined) { + diagnosticCollection = vscode.languages.createDiagnosticCollection(); + } + return diagnosticCollection; +} + +async function runDiagnostics(document: vscode.TextDocument) { + getDiagnosticCollection().delete(document.uri); + const allDiagnostics = await getDiagnostics(document); + for (const [file, diagnostics] of allDiagnostics) { + getDiagnosticCollection().set(file, diagnostics); + } +} + +export function makeDiagnostics() { + vscode.workspace.textDocuments.forEach(runDiagnostics); + vscode.workspace.onDidOpenTextDocument(runDiagnostics); + vscode.workspace.onDidChangeTextDocument(async (event) => { + runDiagnostics(event.document); + }); + return getDiagnosticCollection(); +} diff --git a/web-ide-main/extension/src/extension.ts b/web-ide-main/extension/src/extension.ts new file mode 100644 index 0000000..1fc4aba --- /dev/null +++ b/web-ide-main/extension/src/extension.ts @@ -0,0 +1,18 @@ +import * as vscode from "vscode"; +import { makeCommands } from "./commands.js"; +import { makeDiagnostics } from "./diagnostics.js"; +import { activateHdlView } from "./views/hdl.js"; + +export function activate(context: vscode.ExtensionContext) { + makeCommands().forEach(([name, callback]) => + context.subscriptions.push(vscode.commands.registerCommand(name, callback)), + ); + + context.subscriptions.push(makeDiagnostics()); + + activateHdlView(context); +} + +export function deactivate() { + console.log("Deactivating extension"); +} diff --git a/web-ide-main/extension/src/languages/base.ts b/web-ide-main/extension/src/languages/base.ts new file mode 100644 index 0000000..970302c --- /dev/null +++ b/web-ide-main/extension/src/languages/base.ts @@ -0,0 +1,40 @@ +import type { Grammar } from "ohm-js"; +import { + Diagnostic, + DiagnosticSeverity, + Range, + TextDocument, + Uri, +} from "vscode"; + +export async function getDiagnostics( + document: TextDocument, + parser: Grammar, +): Promise<[Uri, Diagnostic[]][]> { + const parsed = parser.match(document.getText()); + if (!parsed.failed()) return []; + + const { line, column, message } = + /Line (?\d+), col (?\d+): (?.*)/.exec( + parsed.shortMessage ?? "", + )?.groups ?? { line: 1, column: 1, message: "could not parse error" }; + + const startLineNumber = Number(line); + const endLineNumber = startLineNumber; + const startColumn = Number(column); + const restOfLine = document + .lineAt(startLineNumber) + .text.substring(startColumn - 1); + let endColumn = startColumn + (restOfLine.match(/([^\s]+)/)?.[0].length ?? 1); + if (endColumn <= startColumn) { + endColumn = startColumn + 1; + } + const range = new Range( + startLineNumber - 1, + startColumn - 1, + endLineNumber - 1, + endColumn - 1, + ); + const diagnostic = new Diagnostic(range, message, DiagnosticSeverity.Error); + return [[document.uri, [diagnostic]]]; +} diff --git a/web-ide-main/extension/src/languages/cmp.ts b/web-ide-main/extension/src/languages/cmp.ts new file mode 100644 index 0000000..54d41b0 --- /dev/null +++ b/web-ide-main/extension/src/languages/cmp.ts @@ -0,0 +1,25 @@ +import type { CMP } from "@nand2tetris/simulator/languages/cmp"; +import { Diagnostic, TextDocument, Uri } from "vscode"; +import * as base from "./base.js"; + +// import { load } from "../loader.js"; + +let cmp: typeof CMP | undefined = undefined; +async function getCmp(): Promise { + if (cmp) return Promise.resolve(cmp); + cmp = (await import("@nand2tetris/simulator/languages/cmp.js")) + .CMP as typeof CMP; + return cmp; +} + +export async function getDiagnostics( + document: TextDocument, +): Promise<[Uri, Diagnostic[]][]> { + try { + const { parser } = await getCmp(); + return base.getDiagnostics(document, parser); + } catch (e) { + console.error("Failed to load tst parser", e); + return []; + } +} diff --git a/web-ide-main/extension/src/languages/hdl.ts b/web-ide-main/extension/src/languages/hdl.ts new file mode 100644 index 0000000..5e1bc34 --- /dev/null +++ b/web-ide-main/extension/src/languages/hdl.ts @@ -0,0 +1,19 @@ +import type { HDL } from "@nand2tetris/simulator/languages/hdl"; +import { Diagnostic, TextDocument, Uri } from "vscode"; +import * as base from "./base.js"; + +let hdl: typeof HDL | undefined = undefined; +async function getHdl(): Promise { + if (hdl) return Promise.resolve(hdl); + hdl = (await import("@nand2tetris/simulator/languages/hdl.js")) + .HDL as typeof HDL; + return hdl; +} + +export async function getDiagnostics( + document: TextDocument, +): Promise<[Uri, Diagnostic[]][]> { + const { parser } = await getHdl(); + + return base.getDiagnostics(document, parser); +} diff --git a/web-ide-main/extension/src/languages/index.ts b/web-ide-main/extension/src/languages/index.ts new file mode 100644 index 0000000..f916ec2 --- /dev/null +++ b/web-ide-main/extension/src/languages/index.ts @@ -0,0 +1,5 @@ +export const LANGUAGE_IDS = ["cmp", "hdl", "out", "tst"]; +export * as base from "./base.js"; +export * as cmp from "./cmp.js"; +export * as hdl from "./hdl.js"; +export * as tst from "./tst.js"; diff --git a/web-ide-main/extension/src/languages/tst.ts b/web-ide-main/extension/src/languages/tst.ts new file mode 100644 index 0000000..e9bfef0 --- /dev/null +++ b/web-ide-main/extension/src/languages/tst.ts @@ -0,0 +1,23 @@ +import type { TST } from "@nand2tetris/simulator/languages/tst"; +import { Diagnostic, TextDocument, Uri } from "vscode"; +import * as base from "./base.js"; + +let tst: typeof TST | undefined = undefined; +async function getTst(): Promise { + if (tst) return Promise.resolve(tst); + tst = (await import("@nand2tetris/simulator/languages/tst.js")) + .TST as typeof TST; + return tst; +} + +export async function getDiagnostics( + document: TextDocument, +): Promise<[Uri, Diagnostic[]][]> { + try { + const { parser } = await getTst(); + return base.getDiagnostics(document, parser); + } catch (e) { + console.error("Failed to load tst parser", e); + return []; + } +} diff --git a/web-ide-main/extension/src/views/hdl.ts b/web-ide-main/extension/src/views/hdl.ts new file mode 100644 index 0000000..26b53c5 --- /dev/null +++ b/web-ide-main/extension/src/views/hdl.ts @@ -0,0 +1,104 @@ +import { parse } from "path"; +import * as vscode from "vscode"; +import { hdl as HDL } from "../languages/index.js"; + +export function activateHdlView(context: vscode.ExtensionContext) { + const provider = new HdlViewProvider(context.extensionUri); + vscode.window.registerWebviewViewProvider(HdlViewProvider.viewType, provider); +} + +class HdlViewProvider implements vscode.WebviewViewProvider { + public static readonly viewType = "nand2tetris.hdlView"; + + private _hdl = ""; + private _view?: vscode.WebviewView; + + constructor(private readonly extensionUri: vscode.Uri) {} + + public resolveWebviewView( + webviewView: vscode.WebviewView, + context: vscode.WebviewViewResolveContext, + _token: vscode.CancellationToken, + ) { + this._view = webviewView; + + webviewView.webview.options = { + // Allow scripts in the webview + enableScripts: true, + localResourceRoots: [this.extensionUri], + }; + + webviewView.webview.html = this._getHtmlForWebview(webviewView.webview); + + webviewView.webview.onDidReceiveMessage( + (message: { nand2tetris: boolean; ready: boolean }) => { + if (message.nand2tetris && message.ready) { + this.updateHdl(vscode.window.activeTextEditor?.document); + } + }, + ); + + webviewView.onDidChangeVisibility(() => { + if (this._view?.visible !== true) { + this.clearHdl(); + } else { + this.updateHdl(vscode.window.activeTextEditor?.document); + } + }); + + vscode.window.onDidChangeActiveTextEditor((e) => { + this.updateHdl(e?.document); + }); + + vscode.workspace.onDidSaveTextDocument(async (document) => { + this.updateHdl(document); + }); + } + + clearHdl() { + this._hdl = ""; + } + + async updateHdl(document?: vscode.TextDocument) { + if (document?.languageId !== "hdl") return; + const hdl = document.getText(); + if (this._hdl === hdl) { + return; + } + const diagnostics = await HDL.getDiagnostics(document); + if ((diagnostics[0] ?? ["", []])[1].length === 0) { + const chipName = parse(document.fileName).name; + this._view?.webview.postMessage({ nand2tetris: true, hdl, chipName }); + this._hdl = hdl; + } + } + + private _getHtmlForWebview(webview: vscode.Webview) { + const stylesUri = this.getUri(webview, ["hdl", "styles.css"]); + const scriptUri = this.getUri(webview, ["hdl", "main.js"]); + + return /*html*/ ` + + + + + + + + HDL - NAND2Tetris + + + +
+ + + + `; + } + + private getUri(webview: vscode.Webview, pathList: string[]) { + return webview.asWebviewUri( + vscode.Uri.joinPath(this.extensionUri, "out", "views", ...pathList), + ); + } +} diff --git a/web-ide-main/extension/tsconfig.json b/web-ide-main/extension/tsconfig.json new file mode 100644 index 0000000..57590d7 --- /dev/null +++ b/web-ide-main/extension/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "outDir": "build", + "rootDir": "src", + "module": "CommonJS", + "tsBuildInfoFile": "build/.tsbuildinfo" + }, + "include": ["src"] +} diff --git a/web-ide-main/extension/views/base/package.json b/web-ide-main/extension/views/base/package.json new file mode 100644 index 0000000..e69de29 diff --git a/web-ide-main/extension/views/base/src/index.css b/web-ide-main/extension/views/base/src/index.css new file mode 100644 index 0000000..fbf65c1 --- /dev/null +++ b/web-ide-main/extension/views/base/src/index.css @@ -0,0 +1,31 @@ +[role="group"] { + display: flex; + align-items: baseline; +} + +[role="group"] > label:has(input[type="radio"]) { + color: var(--vscode-button-foreground); + background-color: var(--vscode-button-background); + align-self: stretch; + padding: 2px 1px; +} + +[role="group"] > label:has(input[type="radio"]):first-of-type { + padding-left: 2px; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} + +[role="group"] > label:has(input[type="radio"]):larst-of-type { + padding-right: 2px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +[role="group"] > label[aria-current="true"]:has(input[type="radio"]) { + background-color: var(--vscode-button-hoverBackground); +} + +[role="group"] > label > input[type="radio"] { + display: none; +} diff --git a/web-ide-main/extension/views/hdl/.gitignore b/web-ide-main/extension/views/hdl/.gitignore new file mode 100644 index 0000000..4d29575 --- /dev/null +++ b/web-ide-main/extension/views/hdl/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/web-ide-main/extension/views/hdl/README.md b/web-ide-main/extension/views/hdl/README.md new file mode 100644 index 0000000..b87cb00 --- /dev/null +++ b/web-ide-main/extension/views/hdl/README.md @@ -0,0 +1,46 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.\ +You will also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). diff --git a/web-ide-main/extension/views/hdl/package.json b/web-ide-main/extension/views/hdl/package.json new file mode 100644 index 0000000..40af0d7 --- /dev/null +++ b/web-ide-main/extension/views/hdl/package.json @@ -0,0 +1,44 @@ +{ + "name": "hdl", + "version": "0.0.0", + "private": true, + "dependencies": { + "@nand2tetris/components": "0.0.0", + "@nand2tetris/simulator": "0.0.0", + "gh-pages": "6.1.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "rewire": "^6.0.0", + "vsce": "^2.15.0" + }, + "devDependencies": { + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "@types/jest": "^27.5.2", + "@types/node": "^16.11.66", + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.10", + "@types/vscode-webview": "^1.57.1", + "react-scripts": "^5.0.1" + }, + "scripts": { + "start": "react-scripts start", + "build": "node ./scripts/build-react-no-split.js", + "postbuild": "shx cp ./build/styles.css ./build/static/js/main.js ./build/static/js/main.js.map ./build/static/js/main.js.LICENSE.txt ../../out/views/hdl", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/web-ide-main/extension/views/hdl/public/favicon.ico b/web-ide-main/extension/views/hdl/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/web-ide-main/extension/views/hdl/public/index.html b/web-ide-main/extension/views/hdl/public/index.html new file mode 100644 index 0000000..431a2c1 --- /dev/null +++ b/web-ide-main/extension/views/hdl/public/index.html @@ -0,0 +1,45 @@ + + + + + + + + + + + + + React App + + + + + +
+ + + diff --git a/web-ide-main/extension/views/hdl/public/logo192.png b/web-ide-main/extension/views/hdl/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/web-ide-main/extension/views/hdl/public/manifest.json b/web-ide-main/extension/views/hdl/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/web-ide-main/extension/views/hdl/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/web-ide-main/extension/views/hdl/public/robots.txt b/web-ide-main/extension/views/hdl/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/web-ide-main/extension/views/hdl/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/web-ide-main/extension/views/hdl/public/styles.css b/web-ide-main/extension/views/hdl/public/styles.css new file mode 100644 index 0000000..9996f86 --- /dev/null +++ b/web-ide-main/extension/views/hdl/public/styles.css @@ -0,0 +1,63 @@ +:root { + --font-family-monospace: var(--vscode-editor-font-family); +} + +button { + font-family: var(--vscode-editor-font-family); + font-weight: var(--vscode-editor-font-weight); + font-size: var(--vscode-editor-font-size); + color: var(--vscode-button-foreground); + background-color: var(--vscode-button-background); + border: 0; + padding: 0; + width: 1rem; +} + +button:hover { + background-color: var(--vscode-button-hoverBackground); +} + +button[disabled] { + opacity: var(--disabled-opacity); + background-color: var(--vscode-button-hoverBackground); +} + +fieldset[role="group"] { + border: 0; + padding: 0; + display: flex; + align-items: baseline; +} + +fieldset[role="group"] > label[role="button"] { + /* fieldset[role="group"] > label:has(input[type="radio"]) { */ + color: var(--vscode-button-foreground); + background-color: var(--vscode-button-background); + align-self: stretch; + padding: 2px 1px; +} + +fieldset[role="group"] button:first-of-type, +fieldset[role="group"] > label[role="button"]:first-of-type { + /* fieldset[role="group"] > label:has(input[type="radio"]):first-of-type { */ + padding-left: 2px; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} + +fieldset[role="group"] button:last-of-type, +fieldset[role="group"] > label[role="button"]:last-of-type { + /* fieldset[role="group"] > label:has(input[type="radio"]):last-of-type { */ + padding-right: 2px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +fieldset[role="group"] > label[role="button"][aria-current="true"] { + /* fieldset[role="group"] > label[aria-current="true"]:has(input[type="radio"]) { */ + background-color: var(--vscode-button-hoverBackground); +} + +fieldset[role="group"] > label > input[type="radio"] { + display: none; +} diff --git a/web-ide-main/extension/views/hdl/public/vars.css b/web-ide-main/extension/views/hdl/public/vars.css new file mode 100644 index 0000000..525f19b --- /dev/null +++ b/web-ide-main/extension/views/hdl/public/vars.css @@ -0,0 +1,591 @@ +:root { + --vscode-font-family: -apple-system, BlinkMacSystemFont, sans-serif; + --vscode-font-weight: normal; + --vscode-font-size: 13px; + --vscode-editor-font-family: "JetBrains Mono", "Consolas Light", "Courier New", + monospace; + --vscode-editor-font-weight: normal; + --vscode-editor-font-size: 16px; + + --vscode-foreground: #cccccc; + + --vscode-button-background: #0e639c; + --vscode-button-foreground: #ffffff; + --vscode-button-hoverBackground: #1177bb; + --vscode-button-separator: rgba(255, 255, 255, 0.4); + + --vscode-charts-blue: #3794ff; + --vscode-charts-foreground: #cccccc; + --vscode-charts-green: #89d185; + --vscode-charts-lines: rgba(204, 204, 204, 0.5); + --vscode-charts-orange: #d18616; + --vscode-charts-purple: #b180d7; + --vscode-charts-red: #f14c4c; + --vscode-charts-yellow: #cca700; + --vscode-checkbox-background: #3c3c3c; + --vscode-checkbox-border: #3c3c3c; + --vscode-checkbox-foreground: #f0f0f0; + --vscode-commandCenter-activeBackground: rgba(90, 93, 94, 0.31); + --vscode-commandCenter-activeForeground: #cccccc; + --vscode-commandCenter-border: rgba(128, 128, 128, 0.35); + --vscode-commandCenter-foreground: #cccccc; + --vscode-debugConsole-errorForeground: #f48771; + --vscode-debugConsole-infoForeground: #3794ff; + --vscode-debugConsole-sourceForeground: #cccccc; + --vscode-debugConsole-warningForeground: #cca700; + --vscode-debugConsoleInputIcon-foreground: #cccccc; + --vscode-debugExceptionWidget-background: #420b0d; + --vscode-debugExceptionWidget-border: #a31515; + --vscode-debugIcon-breakpointCurrentStackframeForeground: #ffcc00; + --vscode-debugIcon-breakpointDisabledForeground: #848484; + --vscode-debugIcon-breakpointForeground: #e51400; + --vscode-debugIcon-breakpointStackframeForeground: #89d185; + --vscode-debugIcon-breakpointUnverifiedForeground: #848484; + --vscode-debugIcon-continueForeground: #75beff; + --vscode-debugIcon-disconnectForeground: #f48771; + --vscode-debugIcon-pauseForeground: #75beff; + --vscode-debugIcon-restartForeground: #89d185; + --vscode-debugIcon-startForeground: #89d185; + --vscode-debugIcon-stepBackForeground: #75beff; + --vscode-debugIcon-stepIntoForeground: #75beff; + --vscode-debugIcon-stepOutForeground: #75beff; + --vscode-debugIcon-stepOverForeground: #75beff; + --vscode-debugIcon-stopForeground: #f48771; + --vscode-debugTokenExpression-boolean: #4e94ce; + --vscode-debugTokenExpression-error: #f48771; + --vscode-debugTokenExpression-name: #c586c0; + --vscode-debugTokenExpression-number: #b5cea8; + --vscode-debugTokenExpression-string: #ce9178; + --vscode-debugTokenExpression-value: rgba(204, 204, 204, 0.6); + --vscode-debugToolBar-background: #333333; + --vscode-debugView-exceptionLabelBackground: #6c2022; + --vscode-debugView-exceptionLabelForeground: #cccccc; + --vscode-debugView-stateLabelBackground: rgba(136, 136, 136, 0.27); + --vscode-debugView-stateLabelForeground: #cccccc; + --vscode-debugView-valueChangedHighlight: #569cd6; + --vscode-descriptionForeground: rgba(204, 204, 204, 0.7); + --vscode-diffEditor-diagonalFill: rgba(204, 204, 204, 0.2); + --vscode-diffEditor-insertedLineBackground: rgba(155, 185, 85, 0.2); + --vscode-diffEditor-insertedTextBackground: rgba(156, 204, 44, 0.2); + --vscode-diffEditor-removedLineBackground: rgba(255, 0, 0, 0.2); + --vscode-diffEditor-removedTextBackground: rgba(255, 0, 0, 0.2); + --vscode-disabledForeground: rgba(204, 204, 204, 0.5); + --vscode-dropdown-background: #3c3c3c; + --vscode-dropdown-border: #3c3c3c; + --vscode-dropdown-foreground: #f0f0f0; + --vscode-editor-background: #1e1e1e; + --vscode-editor-findMatchBackground: #515c6a; + --vscode-editor-findMatchHighlightBackground: rgba(234, 92, 0, 0.33); + --vscode-editor-findRangeHighlightBackground: rgba(58, 61, 65, 0.4); + --vscode-editor-focusedStackFrameHighlightBackground: rgba( + 122, + 189, + 122, + 0.3 + ); + --vscode-editor-foldBackground: rgba(38, 79, 120, 0.3); + --vscode-editor-foreground: #d4d4d4; + --vscode-editor-hoverHighlightBackground: rgba(38, 79, 120, 0.25); + --vscode-editor-inactiveSelectionBackground: #3a3d41; + --vscode-editor-inlineValuesBackground: rgba(255, 200, 0, 0.2); + --vscode-editor-inlineValuesForeground: rgba(255, 255, 255, 0.5); + --vscode-editor-lineHighlightBorder: #282828; + --vscode-editor-linkedEditingBackground: rgba(255, 0, 0, 0.3); + --vscode-editor-rangeHighlightBackground: rgba(255, 255, 255, 0.04); + --vscode-editor-selectionBackground: #264f78; + --vscode-editor-selectionHighlightBackground: rgba(173, 214, 255, 0.15); + --vscode-editor-snippetFinalTabstopHighlightBorder: #525252; + --vscode-editor-snippetTabstopHighlightBackground: rgba(124, 124, 124, 0.3); + --vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 0, 0.2); + --vscode-editor-symbolHighlightBackground: rgba(234, 92, 0, 0.33); + --vscode-editor-wordHighlightBackground: rgba(87, 87, 87, 0.72); + --vscode-editor-wordHighlightStrongBackground: rgba(0, 73, 114, 0.72); + --vscode-editorActiveLineNumber-foreground: #c6c6c6; + --vscode-editorBracketHighlight-foreground1: #ffd700; + --vscode-editorBracketHighlight-foreground2: #da70d6; + --vscode-editorBracketHighlight-foreground3: #179fff; + --vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0); + --vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0); + --vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0); + --vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba( + 255, + 18, + 18, + 0.8 + ); + --vscode-editorBracketMatch-background: rgba(0, 100, 0, 0.1); + --vscode-editorBracketMatch-border: #888888; + --vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0); + --vscode-editorCodeLens-foreground: #999999; + --vscode-editorCommentsWidget-rangeActiveBackground: rgba(55, 148, 255, 0.1); + --vscode-editorCommentsWidget-rangeActiveBorder: rgba(55, 148, 255, 0.4); + --vscode-editorCommentsWidget-rangeBackground: rgba(55, 148, 255, 0.1); + --vscode-editorCommentsWidget-rangeBorder: rgba(55, 148, 255, 0.4); + --vscode-editorCommentsWidget-resolvedBorder: rgba(204, 204, 204, 0.5); + --vscode-editorCommentsWidget-unresolvedBorder: #3794ff; + --vscode-editorCursor-foreground: #aeafad; + --vscode-editorError-foreground: #f14c4c; + --vscode-editorGhostText-foreground: rgba(255, 255, 255, 0.34); + --vscode-editorGroup-border: #444444; + --vscode-editorGroup-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-editorGroup-dropIntoPromptBackground: #252526; + --vscode-editorGroup-dropIntoPromptForeground: #cccccc; + --vscode-editorGroupHeader-noTabsBackground: #1e1e1e; + --vscode-editorGroupHeader-tabsBackground: #252526; + --vscode-editorGutter-addedBackground: #487e02; + --vscode-editorGutter-background: #1e1e1e; + --vscode-editorGutter-commentRangeForeground: #37373d; + --vscode-editorGutter-deletedBackground: #f14c4c; + --vscode-editorGutter-foldingControlForeground: #c5c5c5; + --vscode-editorGutter-modifiedBackground: #1b81a8; + --vscode-editorHint-foreground: rgba(238, 238, 238, 0.7); + --vscode-editorHoverWidget-background: #252526; + --vscode-editorHoverWidget-border: #454545; + --vscode-editorHoverWidget-foreground: #cccccc; + --vscode-editorHoverWidget-highlightForeground: #2aaaff; + --vscode-editorHoverWidget-statusBarBackground: #2c2c2d; + --vscode-editorIndentGuide-activeBackground: #707070; + --vscode-editorIndentGuide-background: #404040; + --vscode-editorInfo-foreground: #3794ff; + --vscode-editorInlayHint-background: rgba(77, 77, 77, 0.8); + --vscode-editorInlayHint-foreground: #ffffff; + --vscode-editorInlayHint-parameterBackground: rgba(77, 77, 77, 0.8); + --vscode-editorInlayHint-parameterForeground: #ffffff; + --vscode-editorInlayHint-typeBackground: rgba(77, 77, 77, 0.8); + --vscode-editorInlayHint-typeForeground: #ffffff; + --vscode-editorLightBulb-foreground: #ffcc00; + --vscode-editorLightBulbAutoFix-foreground: #75beff; + --vscode-editorLineNumber-activeForeground: #c6c6c6; + --vscode-editorLineNumber-foreground: #858585; + --vscode-editorLink-activeForeground: #4e94ce; + --vscode-editorMarkerNavigation-background: #1e1e1e; + --vscode-editorMarkerNavigationError-background: #f14c4c; + --vscode-editorMarkerNavigationInfo-background: #3794ff; + --vscode-editorMarkerNavigationWarning-background: #cca700; + --vscode-editorMarkerNavigationWarning-headerBackground: rgba( + 204, + 167, + 0, + 0.1 + ); + --vscode-editorOverviewRuler-addedForeground: rgba(72, 126, 2, 0.6); + --vscode-editorOverviewRuler-border: rgba(127, 127, 127, 0.3); + --vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0; + --vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, 0.4); + --vscode-editorOverviewRuler-currentContentForeground: rgba( + 64, + 200, + 174, + 0.5 + ); + --vscode-editorOverviewRuler-deletedForeground: rgba(241, 76, 76, 0.6); + --vscode-editorOverviewRuler-errorForeground: rgba(255, 18, 18, 0.7); + --vscode-editorOverviewRuler-findMatchForeground: rgba(209, 134, 22, 0.49); + --vscode-editorOverviewRuler-incomingContentForeground: rgba( + 64, + 166, + 255, + 0.5 + ); + --vscode-editorOverviewRuler-infoForeground: #3794ff; + --vscode-editorOverviewRuler-modifiedForeground: rgba(27, 129, 168, 0.6); + --vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, 0.6); + --vscode-editorOverviewRuler-selectionHighlightForeground: rgba( + 160, + 160, + 160, + 0.8 + ); + --vscode-editorOverviewRuler-warningForeground: #cca700; + --vscode-editorOverviewRuler-wordHighlightForeground: rgba( + 160, + 160, + 160, + 0.8 + ); + --vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba( + 192, + 160, + 192, + 0.8 + ); + --vscode-editorPane-background: #1e1e1e; + --vscode-editorRuler-foreground: #5a5a5a; + --vscode-editorStickyScroll-background: #1e1e1e; + --vscode-editorStickyScrollHover-background: #2a2d2e; + --vscode-editorSuggestWidget-background: #252526; + --vscode-editorSuggestWidget-border: #454545; + --vscode-editorSuggestWidget-focusHighlightForeground: #2aaaff; + --vscode-editorSuggestWidget-foreground: #d4d4d4; + --vscode-editorSuggestWidget-highlightForeground: #2aaaff; + --vscode-editorSuggestWidget-selectedBackground: #04395e; + --vscode-editorSuggestWidget-selectedForeground: #ffffff; + --vscode-editorSuggestWidget-selectedIconForeground: #ffffff; + --vscode-editorSuggestWidgetStatus-foreground: rgba(212, 212, 212, 0.5); + --vscode-editorUnicodeHighlight-background: rgba(189, 155, 3, 0.15); + --vscode-editorUnicodeHighlight-border: #bd9b03; + --vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, 0.67); + --vscode-editorWarning-foreground: #cca700; + --vscode-editorWhitespace-foreground: rgba(227, 228, 226, 0.16); + --vscode-editorWidget-background: #252526; + --vscode-editorWidget-border: #454545; + --vscode-editorWidget-foreground: #cccccc; + --vscode-errorForeground: #f48771; + --vscode-extensionBadge-remoteBackground: #007acc; + --vscode-extensionBadge-remoteForeground: #ffffff; + --vscode-extensionButton-prominentBackground: #0e639c; + --vscode-extensionButton-prominentForeground: #ffffff; + --vscode-extensionButton-prominentHoverBackground: #1177bb; + --vscode-extensionIcon-preReleaseForeground: #1d9271; + --vscode-extensionIcon-sponsorForeground: #d758b3; + --vscode-extensionIcon-starForeground: #ff8e00; + --vscode-extensionIcon-verifiedForeground: #3794ff; + --vscode-focusBorder: #007fd4; + --vscode-gitDecoration-addedResourceForeground: #81b88b; + --vscode-gitDecoration-conflictingResourceForeground: #e4676b; + --vscode-gitDecoration-deletedResourceForeground: #c74e39; + --vscode-gitDecoration-ignoredResourceForeground: #8c8c8c; + --vscode-gitDecoration-modifiedResourceForeground: #e2c08d; + --vscode-gitDecoration-renamedResourceForeground: #73c991; + --vscode-gitDecoration-stageDeletedResourceForeground: #c74e39; + --vscode-gitDecoration-stageModifiedResourceForeground: #e2c08d; + --vscode-gitDecoration-submoduleResourceForeground: #8db9e2; + --vscode-gitDecoration-untrackedResourceForeground: #73c991; + --vscode-icon-foreground: #c5c5c5; + --vscode-input-background: #3c3c3c; + --vscode-input-foreground: #cccccc; + --vscode-input-placeholderForeground: #a6a6a6; + --vscode-inputOption-activeBackground: rgba(0, 127, 212, 0.4); + --vscode-inputOption-activeBorder: rgba(0, 122, 204, 0); + --vscode-inputOption-activeForeground: #ffffff; + --vscode-inputOption-hoverBackground: rgba(90, 93, 94, 0.5); + --vscode-inputValidation-errorBackground: #5a1d1d; + --vscode-inputValidation-errorBorder: #be1100; + --vscode-inputValidation-infoBackground: #063b49; + --vscode-inputValidation-infoBorder: #007acc; + --vscode-inputValidation-warningBackground: #352a05; + --vscode-inputValidation-warningBorder: #b89500; + --vscode-interactive-activeCodeBorder: #3794ff; + --vscode-interactive-inactiveCodeBorder: #37373d; + --vscode-keybindingLabel-background: rgba(128, 128, 128, 0.17); + --vscode-keybindingLabel-border: rgba(51, 51, 51, 0.6); + --vscode-keybindingLabel-bottomBorder: rgba(68, 68, 68, 0.6); + --vscode-keybindingLabel-foreground: #cccccc; + --vscode-keybindingTable-headerBackground: rgba(204, 204, 204, 0.04); + --vscode-keybindingTable-rowsBackground: rgba(204, 204, 204, 0.04); + --vscode-list-activeSelectionBackground: #04395e; + --vscode-list-activeSelectionForeground: #ffffff; + --vscode-list-activeSelectionIconForeground: #ffffff; + --vscode-list-deemphasizedForeground: #8c8c8c; + --vscode-list-dropBackground: #383b3d; + --vscode-list-errorForeground: #f88070; + --vscode-list-filterMatchBackground: rgba(234, 92, 0, 0.33); + --vscode-list-focusHighlightForeground: #2aaaff; + --vscode-list-focusOutline: #007fd4; + --vscode-list-highlightForeground: #2aaaff; + --vscode-list-hoverBackground: #2a2d2e; + --vscode-list-inactiveSelectionBackground: #37373d; + --vscode-list-invalidItemForeground: #b89500; + --vscode-list-warningForeground: #cca700; + --vscode-listFilterWidget-background: #252526; + --vscode-listFilterWidget-noMatchesOutline: #be1100; + --vscode-listFilterWidget-outline: rgba(0, 0, 0, 0); + --vscode-listFilterWidget-shadow: rgba(0, 0, 0, 0.36); + --vscode-menu-background: #303031; + --vscode-menu-foreground: #cccccc; + --vscode-menu-selectionBackground: #04395e; + --vscode-menu-selectionForeground: #ffffff; + --vscode-menu-separatorBackground: #606060; + --vscode-menubar-selectionBackground: rgba(90, 93, 94, 0.31); + --vscode-menubar-selectionForeground: #cccccc; + --vscode-merge-commonContentBackground: rgba(96, 96, 96, 0.16); + --vscode-merge-commonHeaderBackground: rgba(96, 96, 96, 0.4); + --vscode-merge-currentContentBackground: rgba(64, 200, 174, 0.2); + --vscode-merge-currentHeaderBackground: rgba(64, 200, 174, 0.5); + --vscode-merge-incomingContentBackground: rgba(64, 166, 255, 0.2); + --vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, 0.5); + --vscode-mergeEditor-change\.background: rgba(155, 185, 85, 0.2); + --vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, 0.2); + --vscode-mergeEditor-conflict\.handledFocused\.border: rgba( + 193, + 193, + 193, + 0.8 + ); + --vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba( + 134, + 134, + 134, + 0.29 + ); + --vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba( + 173, + 172, + 168, + 0.93 + ); + --vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600; + --vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba( + 255, + 166, + 0, + 0.48 + ); + --vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03; + --vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, 0.28); + --vscode-minimap-errorHighlight: rgba(255, 18, 18, 0.7); + --vscode-minimap-findMatchHighlight: #d18616; + --vscode-minimap-foregroundOpacity: #000000; + --vscode-minimap-selectionHighlight: #264f78; + --vscode-minimap-selectionOccurrenceHighlight: #676767; + --vscode-minimap-warningHighlight: #cca700; + --vscode-minimapGutter-addedBackground: #487e02; + --vscode-minimapGutter-deletedBackground: #f14c4c; + --vscode-minimapGutter-modifiedBackground: #1b81a8; + --vscode-minimapSlider-activeBackground: rgba(191, 191, 191, 0.2); + --vscode-minimapSlider-background: rgba(121, 121, 121, 0.2); + --vscode-minimapSlider-hoverBackground: rgba(100, 100, 100, 0.35); + --vscode-notebook-cellBorderColor: #37373d; + --vscode-notebook-cellEditorBackground: #252526; + --vscode-notebook-cellInsertionIndicator: #007fd4; + --vscode-notebook-cellStatusBarItemHoverBackground: rgba(255, 255, 255, 0.15); + --vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, 0.35); + --vscode-notebook-editorBackground: #1e1e1e; + --vscode-notebook-focusedCellBorder: #007fd4; + --vscode-notebook-focusedEditorBorder: #007fd4; + --vscode-notebook-inactiveFocusedCellBorder: #37373d; + --vscode-notebook-selectedCellBackground: #37373d; + --vscode-notebook-selectedCellBorder: #37373d; + --vscode-notebook-symbolHighlightBackground: rgba(255, 255, 255, 0.04); + --vscode-notebookScrollbarSlider-activeBackground: rgba(191, 191, 191, 0.4); + --vscode-notebookScrollbarSlider-background: rgba(121, 121, 121, 0.4); + --vscode-notebookScrollbarSlider-hoverBackground: rgba(100, 100, 100, 0.7); + --vscode-notebookStatusErrorIcon-foreground: #f48771; + --vscode-notebookStatusRunningIcon-foreground: #cccccc; + --vscode-notebookStatusSuccessIcon-foreground: #89d185; + --vscode-notificationCenterHeader-background: #303031; + --vscode-notificationLink-foreground: #3794ff; + --vscode-notifications-background: #252526; + --vscode-notifications-border: #303031; + --vscode-notifications-foreground: #cccccc; + --vscode-notificationsErrorIcon-foreground: #f14c4c; + --vscode-notificationsInfoIcon-foreground: #3794ff; + --vscode-notificationsWarningIcon-foreground: #cca700; + --vscode-panel-background: #1e1e1e; + --vscode-panel-border: rgba(128, 128, 128, 0.35); + --vscode-panel-dropBorder: #e7e7e7; + --vscode-panelSection-border: rgba(128, 128, 128, 0.35); + --vscode-panelSection-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-panelSectionHeader-background: rgba(128, 128, 128, 0.2); + --vscode-panelTitle-activeBorder: #e7e7e7; + --vscode-panelTitle-activeForeground: #e7e7e7; + --vscode-panelTitle-inactiveForeground: rgba(231, 231, 231, 0.6); + --vscode-peekView-border: #3794ff; + --vscode-peekViewEditor-background: #001f33; + --vscode-peekViewEditor-matchHighlightBackground: rgba(255, 143, 0, 0.6); + --vscode-peekViewEditorGutter-background: #001f33; + --vscode-peekViewResult-background: #252526; + --vscode-peekViewResult-fileForeground: #ffffff; + --vscode-peekViewResult-lineForeground: #bbbbbb; + --vscode-peekViewResult-matchHighlightBackground: rgba(234, 92, 0, 0.3); + --vscode-peekViewResult-selectionBackground: rgba(51, 153, 255, 0.2); + --vscode-peekViewResult-selectionForeground: #ffffff; + --vscode-peekViewTitle-background: rgba(55, 148, 255, 0.1); + --vscode-peekViewTitleDescription-foreground: rgba(204, 204, 204, 0.7); + --vscode-peekViewTitleLabel-foreground: #ffffff; + --vscode-pickerGroup-border: #3f3f46; + --vscode-pickerGroup-foreground: #3794ff; + --vscode-ports-iconRunningProcessForeground: #369432; + --vscode-problemsErrorIcon-foreground: #f14c4c; + --vscode-problemsInfoIcon-foreground: #3794ff; + --vscode-problemsWarningIcon-foreground: #cca700; + --vscode-progressBar-background: #0e70c0; + --vscode-quickInput-background: #252526; + --vscode-quickInput-foreground: #cccccc; + --vscode-quickInputList-focusBackground: #04395e; + --vscode-quickInputList-focusForeground: #ffffff; + --vscode-quickInputList-focusIconForeground: #ffffff; + --vscode-quickInputTitle-background: rgba(255, 255, 255, 0.1); + --vscode-sash-hoverBorder: #007fd4; + --vscode-scm-providerBorder: #454545; + --vscode-scrollbar-shadow: #000000; + --vscode-scrollbarSlider-activeBackground: rgba(191, 191, 191, 0.4); + --vscode-scrollbarSlider-background: rgba(121, 121, 121, 0.4); + --vscode-scrollbarSlider-hoverBackground: rgba(100, 100, 100, 0.7); + --vscode-searchEditor-findMatchBackground: rgba(234, 92, 0, 0.22); + --vscode-settings-checkboxBackground: #3c3c3c; + --vscode-settings-checkboxBorder: #3c3c3c; + --vscode-settings-checkboxForeground: #f0f0f0; + --vscode-settings-dropdownBackground: #3c3c3c; + --vscode-settings-dropdownBorder: #3c3c3c; + --vscode-settings-dropdownForeground: #f0f0f0; + --vscode-settings-dropdownListBorder: #454545; + --vscode-settings-focusedRowBackground: rgba(42, 45, 46, 0.6); + --vscode-settings-focusedRowBorder: rgba(255, 255, 255, 0.12); + --vscode-settings-headerBorder: rgba(128, 128, 128, 0.35); + --vscode-settings-headerForeground: #e7e7e7; + --vscode-settings-modifiedItemIndicator: #0c7d9d; + --vscode-settings-numberInputBackground: #3c3c3c; + --vscode-settings-numberInputForeground: #cccccc; + --vscode-settings-rowHoverBackground: rgba(42, 45, 46, 0.3); + --vscode-settings-sashBorder: rgba(128, 128, 128, 0.35); + --vscode-settings-textInputBackground: #3c3c3c; + --vscode-settings-textInputForeground: #cccccc; + --vscode-sideBar-background: #252526; + --vscode-sideBar-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-sideBarSectionHeader-background: rgba(0, 0, 0, 0); + --vscode-sideBarSectionHeader-border: rgba(204, 204, 204, 0.2); + --vscode-sideBarTitle-foreground: #bbbbbb; + --vscode-sideBySideEditor-horizontalBorder: #444444; + --vscode-sideBySideEditor-verticalBorder: #444444; + --vscode-statusBar-background: #007acc; + --vscode-statusBar-debuggingBackground: #cc6633; + --vscode-statusBar-debuggingForeground: #ffffff; + --vscode-statusBar-focusBorder: #ffffff; + --vscode-statusBar-foreground: #ffffff; + --vscode-statusBar-noFolderBackground: #68217a; + --vscode-statusBar-noFolderForeground: #ffffff; + --vscode-statusBarItem-activeBackground: rgba(255, 255, 255, 0.18); + --vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, 0.2); + --vscode-statusBarItem-errorBackground: #c72e0f; + --vscode-statusBarItem-errorForeground: #ffffff; + --vscode-statusBarItem-focusBorder: #ffffff; + --vscode-statusBarItem-hoverBackground: rgba(255, 255, 255, 0.12); + --vscode-statusBarItem-prominentBackground: rgba(0, 0, 0, 0.5); + --vscode-statusBarItem-prominentForeground: #ffffff; + --vscode-statusBarItem-prominentHoverBackground: rgba(0, 0, 0, 0.3); + --vscode-statusBarItem-remoteBackground: #16825d; + --vscode-statusBarItem-remoteForeground: #ffffff; + --vscode-statusBarItem-warningBackground: #7a6400; + --vscode-statusBarItem-warningForeground: #ffffff; + --vscode-symbolIcon-arrayForeground: #cccccc; + --vscode-symbolIcon-booleanForeground: #cccccc; + --vscode-symbolIcon-classForeground: #ee9d28; + --vscode-symbolIcon-colorForeground: #cccccc; + --vscode-symbolIcon-constantForeground: #cccccc; + --vscode-symbolIcon-constructorForeground: #b180d7; + --vscode-symbolIcon-enumeratorForeground: #ee9d28; + --vscode-symbolIcon-enumeratorMemberForeground: #75beff; + --vscode-symbolIcon-eventForeground: #ee9d28; + --vscode-symbolIcon-fieldForeground: #75beff; + --vscode-symbolIcon-fileForeground: #cccccc; + --vscode-symbolIcon-folderForeground: #cccccc; + --vscode-symbolIcon-functionForeground: #b180d7; + --vscode-symbolIcon-interfaceForeground: #75beff; + --vscode-symbolIcon-keyForeground: #cccccc; + --vscode-symbolIcon-keywordForeground: #cccccc; + --vscode-symbolIcon-methodForeground: #b180d7; + --vscode-symbolIcon-moduleForeground: #cccccc; + --vscode-symbolIcon-namespaceForeground: #cccccc; + --vscode-symbolIcon-nullForeground: #cccccc; + --vscode-symbolIcon-numberForeground: #cccccc; + --vscode-symbolIcon-objectForeground: #cccccc; + --vscode-symbolIcon-operatorForeground: #cccccc; + --vscode-symbolIcon-packageForeground: #cccccc; + --vscode-symbolIcon-propertyForeground: #cccccc; + --vscode-symbolIcon-referenceForeground: #cccccc; + --vscode-symbolIcon-snippetForeground: #cccccc; + --vscode-symbolIcon-stringForeground: #cccccc; + --vscode-symbolIcon-structForeground: #cccccc; + --vscode-symbolIcon-textForeground: #cccccc; + --vscode-symbolIcon-typeParameterForeground: #cccccc; + --vscode-symbolIcon-unitForeground: #cccccc; + --vscode-symbolIcon-variableForeground: #75beff; + --vscode-tab-activeBackground: #1e1e1e; + --vscode-tab-activeForeground: #ffffff; + --vscode-tab-activeModifiedBorder: #3399cc; + --vscode-tab-border: #252526; + --vscode-tab-inactiveBackground: #2d2d2d; + --vscode-tab-inactiveForeground: rgba(255, 255, 255, 0.5); + --vscode-tab-inactiveModifiedBorder: rgba(51, 153, 204, 0.5); + --vscode-tab-lastPinnedBorder: rgba(204, 204, 204, 0.2); + --vscode-tab-unfocusedActiveBackground: #1e1e1e; + --vscode-tab-unfocusedActiveForeground: rgba(255, 255, 255, 0.5); + --vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 153, 204, 0.5); + --vscode-tab-unfocusedInactiveBackground: #2d2d2d; + --vscode-tab-unfocusedInactiveForeground: rgba(255, 255, 255, 0.25); + --vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 153, 204, 0.25); + --vscode-terminal-ansiBlack: #000000; + --vscode-terminal-ansiBlue: #2472c8; + --vscode-terminal-ansiBrightBlack: #666666; + --vscode-terminal-ansiBrightBlue: #3b8eea; + --vscode-terminal-ansiBrightCyan: #29b8db; + --vscode-terminal-ansiBrightGreen: #23d18b; + --vscode-terminal-ansiBrightMagenta: #d670d6; + --vscode-terminal-ansiBrightRed: #f14c4c; + --vscode-terminal-ansiBrightWhite: #e5e5e5; + --vscode-terminal-ansiBrightYellow: #f5f543; + --vscode-terminal-ansiCyan: #11a8cd; + --vscode-terminal-ansiGreen: #0dbc79; + --vscode-terminal-ansiMagenta: #bc3fbc; + --vscode-terminal-ansiRed: #cd3131; + --vscode-terminal-ansiWhite: #e5e5e5; + --vscode-terminal-ansiYellow: #e5e510; + --vscode-terminal-border: rgba(128, 128, 128, 0.35); + --vscode-terminal-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-terminal-findMatchBackground: #515c6a; + --vscode-terminal-findMatchHighlightBackground: rgba(234, 92, 0, 0.33); + --vscode-terminal-foreground: #cccccc; + --vscode-terminal-inactiveSelectionBackground: #3a3d41; + --vscode-terminal-selectionBackground: #264f78; + --vscode-terminalCommandDecoration-defaultBackground: rgba( + 255, + 255, + 255, + 0.25 + ); + --vscode-terminalCommandDecoration-errorBackground: #f14c4c; + --vscode-terminalCommandDecoration-successBackground: #1b81a8; + --vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, 0.8); + --vscode-terminalOverviewRuler-findMatchForeground: rgba(209, 134, 22, 0.49); + --vscode-testing-iconErrored: #f14c4c; + --vscode-testing-iconFailed: #f14c4c; + --vscode-testing-iconPassed: #73c991; + --vscode-testing-iconQueued: #cca700; + --vscode-testing-iconSkipped: #848484; + --vscode-testing-iconUnset: #848484; + --vscode-testing-message\.error\.decorationForeground: #f14c4c; + --vscode-testing-message\.error\.lineBackground: rgba(255, 0, 0, 0.2); + --vscode-testing-message\.info\.decorationForeground: rgba( + 212, + 212, + 212, + 0.5 + ); + --vscode-testing-peekBorder: #f14c4c; + --vscode-testing-peekHeaderBackground: rgba(241, 76, 76, 0.1); + --vscode-testing-runAction: #73c991; + --vscode-textBlockQuote-background: rgba(127, 127, 127, 0.1); + --vscode-textBlockQuote-border: rgba(0, 122, 204, 0.5); + --vscode-textCodeBlock-background: rgba(10, 10, 10, 0.4); + --vscode-textLink-activeForeground: #3794ff; + --vscode-textLink-foreground: #3794ff; + --vscode-textPreformat-foreground: #d7ba7d; + --vscode-textSeparator-foreground: rgba(255, 255, 255, 0.18); + --vscode-titleBar-activeBackground: #3c3c3c; + --vscode-titleBar-activeForeground: #cccccc; + --vscode-titleBar-inactiveBackground: rgba(60, 60, 60, 0.6); + --vscode-titleBar-inactiveForeground: rgba(204, 204, 204, 0.6); + --vscode-toolbar-activeBackground: rgba(99, 102, 103, 0.31); + --vscode-toolbar-hoverBackground: rgba(90, 93, 94, 0.31); + --vscode-tree-indentGuidesStroke: #585858; + --vscode-tree-tableColumnsBorder: rgba(204, 204, 204, 0.13); + --vscode-tree-tableOddRowsBackground: rgba(204, 204, 204, 0.04); + --vscode-welcomePage-progress\.background: #3c3c3c; + --vscode-welcomePage-progress\.foreground: #3794ff; + --vscode-welcomePage-tileBackground: #252526; + --vscode-welcomePage-tileHoverBackground: #2c2c2d; + --vscode-welcomePage-tileShadow: rgba(0, 0, 0, 0.36); + --vscode-widget-shadow: rgba(0, 0, 0, 0.36); +} diff --git a/web-ide-main/extension/views/hdl/scripts/build-react-no-split.js b/web-ide-main/extension/views/hdl/scripts/build-react-no-split.js new file mode 100644 index 0000000..71673f1 --- /dev/null +++ b/web-ide-main/extension/views/hdl/scripts/build-react-no-split.js @@ -0,0 +1,22 @@ +#!/usr/bin/env node + +const rewire = require("rewire"); +const defaults = rewire("react-scripts/scripts/build.js"); +const config = defaults.__get__("config"); + +// Disable code splitting +config.optimization.splitChunks = { + cacheGroups: { + default: false, + }, +}; + +// Disable code chunks +config.optimization.runtimeChunk = false; + +// Rename main.{hash}.js to main.js +config.output.filename = "static/js/[name].js"; + +// Rename main.{hash}.css to main.css +config.plugins[5].options.filename = "static/css/[name].css"; +config.plugins[5].options.moduleFilename = () => "static/css/main.css"; diff --git a/web-ide-main/extension/views/hdl/src/App.tsx b/web-ide-main/extension/views/hdl/src/App.tsx new file mode 100644 index 0000000..f49317f --- /dev/null +++ b/web-ide-main/extension/views/hdl/src/App.tsx @@ -0,0 +1,160 @@ +import { makeVisualizationsWithId } from "@nand2tetris/components/chips/visualizations.js"; +import { Clockface } from "@nand2tetris/components/clockface.js"; +import { FullPinout } from "@nand2tetris/components/pinout.js"; +import { useChipPageStore } from "@nand2tetris/components/stores/chip.store.js"; +import * as Not from "@nand2tetris/projects/project_01/01_not.js"; +import { VSCodeButton, VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react"; +import { + ReactNode, + useCallback, + useContext, + useEffect, + useMemo, + useState, +} from "react"; +import { VSCodeContext } from "./vscode"; + +function App() { + const { state, actions, dispatch } = useChipPageStore(); + const { api } = useContext(VSCodeContext); + + const [hdl, setHdl] = useState(Not.hdl); + const [loaded, setLoaded] = useState(false); + + const compile = useCallback( + async (hdl: string) => { + setHdl(hdl); + await actions.updateFiles({ hdl, tst: "// No test", cmp: "" }); + }, + [setHdl, actions], + ); + + const onMessage = useCallback( + ( + event: MessageEvent< + Partial<{ nand2tetris: boolean; hdl: string; chipName: string }> + >, + ) => { + if (!event.data?.nand2tetris) return; + if (event.data.hdl) compile(event.data.hdl ?? ""); + if (event.data.chipName) + dispatch.current({ + action: "updateChip", + payload: { + chipName: event.data.chipName, + }, + }); + setLoaded(true); + }, + [compile, dispatch], + ); + + useEffect(() => { + window.addEventListener("message", onMessage); + return () => { + window.removeEventListener("message", onMessage); + }; + }, [onMessage]); + + useEffect(() => { + api.postMessage({ nand2tetris: true, ready: true }); + }, [api]); + + const [useBuiltin, setUseBuiltin] = useState(false); + const toggleUseBuiltin = async () => { + if (useBuiltin) { + compile(hdl); + setUseBuiltin(false); + } else { + actions.toggleBuiltin(); + setUseBuiltin(true); + } + }; + + const clockActions = useMemo( + () => ({ + toggle() { + actions.clock(); + }, + reset() { + actions.reset(); + }, + }), + [actions], + ); + + const chipButtons = state.controls.error ? ( +

{state.controls.error?.message}

+ ) : ( + <> + Use Builtin +
+ + Eval + + + Clock:{"\u00a0"} + + + + Reset + +
+ + ); + + const visualizations: [string, ReactNode][] = makeVisualizationsWithId({ + parts: state.sim.chip, + }); + + const pinsPanel = ( + <> +

Chip {state.controls.chipName}

+ {chipButtons} + {state.sim.invalid ? ( +

Invalid Chip

+ ) : ( + <> + { + console.log("TODO: Handle Input Valid"); + }} + /> +

Visualizations

+ {visualizations.length > 0 ? ( + visualizations.map(([p, v]) =>
{v}
) + ) : ( +

None

+ )} + + )} + {/* DEBUG */} + + + ); + + return loaded ? ( + pinsPanel + ) : ( + <> +

HDL

+

Open an HDL chip to begin

+ + ); +} + +export default App; diff --git a/web-ide-main/extension/views/hdl/src/index.tsx b/web-ide-main/extension/views/hdl/src/index.tsx new file mode 100644 index 0000000..9029daa --- /dev/null +++ b/web-ide-main/extension/views/hdl/src/index.tsx @@ -0,0 +1,47 @@ +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { useDialog } from "@nand2tetris/components/dialog"; +import { BaseContext } from "@nand2tetris/components/stores/base.context.js"; +import * as Not from "@nand2tetris/projects/project_01/01_not.js"; +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App"; +import { StatusSeverity } from "@nand2tetris/components/stores/base.context"; + +const baseContext: BaseContext = { + fs: new FileSystem( + new ObjectFileSystemAdapter({ "projects/01/Not.hdl": Not.hdl }), + ), + canUpgradeFs: false, + async upgradeFs() {}, + closeFs() {}, + storage: {}, + status: { message: "", severity: "INFO" }, + setStatus: (status: string | { message: string; severity?: StatusSeverity }): void => { + // api.postMessage({ nand2tetris: true, showMessage: status }); + if (typeof status === "string") { + console.log(status); + } else { + console.log(`${status.severity}: ${status.message}`); + } + + }, + permissionPrompt: {} as ReturnType, + // eslint-disable-next-line @typescript-eslint/no-empty-function + async requestPermission() {}, + // eslint-disable-next-line @typescript-eslint/no-empty-function + loadFs() {}, +}; + +const root = ReactDOM.createRoot( + document.getElementById("root") as HTMLElement, +); +root.render( + + + + + , +); diff --git a/web-ide-main/extension/views/hdl/src/react-app-env.d.ts b/web-ide-main/extension/views/hdl/src/react-app-env.d.ts new file mode 100644 index 0000000..6431bc5 --- /dev/null +++ b/web-ide-main/extension/views/hdl/src/react-app-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/web-ide-main/extension/views/hdl/src/setupTests.ts b/web-ide-main/extension/views/hdl/src/setupTests.ts new file mode 100644 index 0000000..1dd407a --- /dev/null +++ b/web-ide-main/extension/views/hdl/src/setupTests.ts @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import "@testing-library/jest-dom"; diff --git a/web-ide-main/extension/views/hdl/src/vscode.ts b/web-ide-main/extension/views/hdl/src/vscode.ts new file mode 100644 index 0000000..583c92e --- /dev/null +++ b/web-ide-main/extension/views/hdl/src/vscode.ts @@ -0,0 +1,6 @@ +import { createContext } from "react"; +import type { WebviewApi } from "vscode-webview"; + +const api: WebviewApi = acquireVsCodeApi?.(); + +export const VSCodeContext = createContext({ api }); diff --git a/web-ide-main/extension/views/hdl/tsconfig.json b/web-ide-main/extension/views/hdl/tsconfig.json new file mode 100644 index 0000000..f84bd12 --- /dev/null +++ b/web-ide-main/extension/views/hdl/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "build", + "rootDir": "src" + }, + "include": ["src"] +} diff --git a/web-ide-main/package-lock.json b/web-ide-main/package-lock.json new file mode 100644 index 0000000..8a81638 --- /dev/null +++ b/web-ide-main/package-lock.json @@ -0,0 +1,29279 @@ +{ + "name": "@nand2tetris/web-ide", + "version": "2025.49.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@nand2tetris/web-ide", + "version": "2025.49.0", + "license": "ISC", + "workspaces": [ + "cli", + "components", + "extension", + "extension/views/hdl", + "projects", + "runner", + "simulator", + "web" + ], + "dependencies": { + "typescript": "^5.9.2" + }, + "devDependencies": { + "@biomejs/biome": "^2.1.4", + "concurrently": "^9.0.1", + "cross-env": "^7.0.3", + "shx": "^0.3.4" + }, + "engines": { + "node": ">=16", + "npm": ">=7" + } + }, + "cli": { + "name": "@nand2tetris/cli", + "license": "ISC", + "dependencies": { + "@types/node": "^20.14.2", + "@types/yargs": "^17.0.32", + "yargs": "^17.7.2" + }, + "bin": { + "nand2tetris": "dist/index.js" + }, + "devDependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@nand2tetris/runner": "file:../runner", + "@nand2tetris/simulator": "file:../simulator" + } + }, + "components": { + "name": "@nand2tetris/components", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "@vscode/webview-ui-toolkit": "^1.4.0" + }, + "devDependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@monaco-editor/react": "^4.6.0", + "@nand2tetris/projects": "file:../projects", + "@nand2tetris/simulator": "file:../simulator", + "@testing-library/jest-dom": "^6.4.5", + "@testing-library/react": "^16.0.0", + "@types/error-cause": "^1.0.4", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.2", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@types/vscode": "^1.89.0", + "@types/wicg-file-system-access": "^2023.10.5", + "immer": "^10.1.1", + "make-plural": "^7.4.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^6.23.1", + "react-scripts": "^5.0.1", + "rxjs": "^7.8.1", + "sass": "^1.77.4", + "source-map-explorer": "^2.5.3" + } + }, + "components/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "components/node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "components/node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "components/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "components/node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "components/node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "components/node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "components/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "components/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "extension": { + "name": "@nand2tetris/vscode", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "gh-pages": "6.1.1", + "react-scripts": "5.0.1" + }, + "devDependencies": { + "@davidsouther/jiffies": "^2.0.6", + "@nand2tetris/simulator": "file:../simulator", + "@types/error-cause": "^1.0.1", + "@types/node": "^16.11.41", + "@types/vscode": "^1.74.0", + "@vscode/vsce": "^2.27.0", + "@vscode/webview-ui-toolkit": "^1.2.1", + "esbuild": "^0.15.18", + "ohm-js": "^17.1.0" + }, + "engines": { + "vscode": "^1.61.0" + }, + "optionalDependencies": { + "esbuild-windows-64": "^0.15.18" + } + }, + "extension/node_modules/@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "extension/node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "extension/node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "extension/node_modules/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "extension/node_modules/@types/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "extension/node_modules/@types/node": { + "version": "16.18.126", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", + "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", + "dev": true, + "license": "MIT" + }, + "extension/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "extension/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "extension/node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "extension/node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "extension/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "extension/node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "extension/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "extension/node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "extension/node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "extension/node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "extension/node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "extension/node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "extension/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "extension/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "extension/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "optional": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "extension/views/hdl": { + "version": "0.0.0", + "dependencies": { + "@nand2tetris/components": "0.0.0", + "@nand2tetris/simulator": "0.0.0", + "gh-pages": "6.1.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "rewire": "^6.0.0", + "vsce": "^2.15.0" + }, + "devDependencies": { + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "@types/jest": "^27.5.2", + "@types/node": "^16.11.66", + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.10", + "@types/vscode-webview": "^1.57.1", + "react-scripts": "^5.0.1" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-auth": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.10.0.tgz", + "integrity": "sha512-88Djs5vBvGbHQHf5ZZcaoNHo6Y8BKZkt3cw2iuJIQzLEgH4Ox6Tm4hjFhbqOxyYsgIG/eJbFEHpxRIfEEWv5Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-client": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.10.0.tgz", + "integrity": "sha512-O4aP3CLFNodg8eTHXECaH3B3CjicfzkxVtnrfLkOq0XNP7TIECGfHpK/C6vADZkWP75wzmdBnsIA8ksuJMk18g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.20.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.6.1", + "@azure/logger": "^1.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.0.tgz", + "integrity": "sha512-OKHmb3/Kpm06HypvB3g6Q3zJuvyXcpxDpCS1PnU8OV6AJgSFaee/covXBcPbWc6XDDxtEPlbi3EMQ6nUiPaQtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.8.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.11.0", + "@azure/logger": "^1.0.0", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.0.tgz", + "integrity": "sha512-+XvmZLLWPe67WXNZo9Oc9CrPj/Tm8QnHR92fFAFdnbzwNdCH1h+7UdpaQgRSBsMY+oW1kHXNUZQLdZ1gHX3ROw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.13.0.tgz", + "integrity": "sha512-o0psW8QWQ58fq3i24Q1K2XfS/jYTxr7O1HRcyUE9bV9NttLU+kYOH82Ixj8DGlMTOWgxm1Sss2QAfKK5UkSPxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/identity": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.11.1.tgz", + "integrity": "sha512-0ZdsLRaOyLxtCYgyuqyWqGU5XQ9gGnjxgfoNTt1pvELGkkUFrMATABZFIq8gusM7N1qbqpVtwLOhk0d/3kacLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.9.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.17.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.11.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^4.2.0", + "@azure/msal-node": "^3.5.0", + "open": "^10.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.3.0.tgz", + "integrity": "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/msal-browser": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.22.0.tgz", + "integrity": "sha512-JLWHzAW1aZ/L190Th56jN+2t3T1dMvXOs1obXYLEr3ZWi81vVmBCt0di3mPvTTOiWoE0Cf/4hVQ/LINilqjObA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "15.12.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-common": { + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.12.0.tgz", + "integrity": "sha512-4ucXbjVw8KJ5QBgnGJUeA07c8iznwlk5ioHIhI4ASXcXgcf2yRFhWzYOyWg/cI49LC9ekpFJeQtO3zjDTbl6TQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.7.3.tgz", + "integrity": "sha512-MoJxkKM/YpChfq4g2o36tElyzNUMG8mfD6u8NbuaPAsqfGpaw249khAcJYNoIOigUzRw45OjXCOrexE6ImdUxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "15.12.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.4.tgz", + "integrity": "sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA==", + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz", + "integrity": "sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", + "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", + "integrity": "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-flow": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", + "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", + "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.27.1", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" + }, + "node_modules/@biomejs/biome": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.2.3.tgz", + "integrity": "sha512-9w0uMTvPrIdvUrxazZ42Ib7t8Y2yoGLKLdNne93RLICmaHw7mcLv4PPb5LvZLJF3141gQHiCColOh/v6VWlWmg==", + "dev": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "2.2.3", + "@biomejs/cli-darwin-x64": "2.2.3", + "@biomejs/cli-linux-arm64": "2.2.3", + "@biomejs/cli-linux-arm64-musl": "2.2.3", + "@biomejs/cli-linux-x64": "2.2.3", + "@biomejs/cli-linux-x64-musl": "2.2.3", + "@biomejs/cli-win32-arm64": "2.2.3", + "@biomejs/cli-win32-x64": "2.2.3" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.2.3.tgz", + "integrity": "sha512-OrqQVBpadB5eqzinXN4+Q6honBz+tTlKVCsbEuEpljK8ASSItzIRZUA02mTikl3H/1nO2BMPFiJ0nkEZNy3B1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.2.3.tgz", + "integrity": "sha512-OCdBpb1TmyfsTgBAM1kPMXyYKTohQ48WpiN9tkt9xvU6gKVKHY4oVwteBebiOqyfyzCNaSiuKIPjmHjUZ2ZNMg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.2.3.tgz", + "integrity": "sha512-g/Uta2DqYpECxG+vUmTAmUKlVhnGEcY7DXWgKP8ruLRa8Si1QHsWknPY3B/wCo0KgYiFIOAZ9hjsHfNb9L85+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.2.3.tgz", + "integrity": "sha512-q3w9jJ6JFPZPeqyvwwPeaiS/6NEszZ+pXKF+IczNo8Xj6fsii45a4gEEicKyKIytalV+s829ACZujQlXAiVLBQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.2.3.tgz", + "integrity": "sha512-LEtyYL1fJsvw35CxrbQ0gZoxOG3oZsAjzfRdvRBRHxOpQ91Q5doRVjvWW/wepgSdgk5hlaNzfeqpyGmfSD0Eyw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.2.3.tgz", + "integrity": "sha512-y76Dn4vkP1sMRGPFlNc+OTETBhGPJ90jY3il6jAfur8XWrYBQV3swZ1Jo0R2g+JpOeeoA0cOwM7mJG6svDz79w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.2.3.tgz", + "integrity": "sha512-Ms9zFYzjcJK7LV+AOMYnjN3pV3xL8Prxf9aWdDVL74onLn5kcvZ1ZMQswE5XHtnd/r/0bnUd928Rpbs14BzVmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.2.3.tgz", + "integrity": "sha512-gvCpewE7mBwBIpqk1YrUqNR4mCiyJm6UI3YWQQXkedSSEwzRdodRpaKhbdbHw1/hmTWOVXQ+Eih5Qctf4TCVOQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", + "license": "CC0-1.0" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "license": "CC0-1.0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@davidsouther/jiffies": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@davidsouther/jiffies/-/jiffies-2.2.5.tgz", + "integrity": "sha512-ZbuL28BWr7NfkRiW0PUSZJn5INGGRGHckqB1k05O+TPAXY1iiYaDhGaeYfxREjvlgfUQr+qXjwOawFafXjLlZw==", + "dependencies": { + "sass": "^1.49.9", + "typescript": "^4.7.1" + }, + "engines": { + "node": ">=20.0.9" + } + }, + "node_modules/@davidsouther/jiffies/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz", + "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", + "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/core/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/expect/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/expect/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@jest/expect/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/expect/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/get-type": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/pattern": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/pattern/node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" + }, + "node_modules/@lingui/babel-plugin-extract-messages": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/babel-plugin-extract-messages/-/babel-plugin-extract-messages-4.14.1.tgz", + "integrity": "sha512-X/2bKavX5HGaiLyGpGvw98XqrqKuTntD4IdLmwvCOh7c/pgM8u95brONixLFEBeLujba4IF+fvHo0RdlyOFKpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/cli": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/cli/-/cli-4.14.1.tgz", + "integrity": "sha512-4DUtjHg5fumZ+hX8bcGYGZw9A6F5JURTMrI8Z6MSkO26OeSHEtPcheGFiPYfNhFeON6fZWZmwgyV9kkb0+psug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.0", + "@babel/generator": "^7.21.1", + "@babel/parser": "^7.22.0", + "@babel/runtime": "^7.21.0", + "@babel/types": "^7.21.2", + "@lingui/babel-plugin-extract-messages": "4.14.1", + "@lingui/conf": "4.14.1", + "@lingui/core": "4.14.1", + "@lingui/format-po": "4.14.1", + "@lingui/message-utils": "4.14.1", + "babel-plugin-macros": "^3.0.1", + "chalk": "^4.1.0", + "chokidar": "3.5.1", + "cli-table": "^0.3.11", + "commander": "^10.0.0", + "convert-source-map": "^2.0.0", + "date-fns": "^3.6.0", + "esbuild": "^0.17.10", + "glob": "^7.1.4", + "inquirer": "^7.3.3", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "ora": "^5.1.0", + "pathe": "^1.1.0", + "pkg-up": "^3.1.0", + "pofile": "^1.1.4", + "pseudolocale": "^2.0.0", + "ramda": "^0.27.1", + "source-map": "^0.8.0-beta.0" + }, + "bin": { + "lingui": "dist/lingui.js" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/cli/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@lingui/cli/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@lingui/cli/node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/@lingui/cli/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@lingui/cli/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/@lingui/cli/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@lingui/cli/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/@lingui/conf": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/conf/-/conf-4.14.1.tgz", + "integrity": "sha512-LE/1RrVoMebQK+u4y6VQJdSwjOsMu4go/VR8m1eH0THn8vfkuLOYlPTIAHTWcoO+Ogi15p5TqHPfJcgVBy/NpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "chalk": "^4.1.0", + "cosmiconfig": "^8.0.0", + "jest-validate": "^29.4.3", + "jiti": "^1.17.1", + "lodash.get": "^4.4.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/conf/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@lingui/conf/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@lingui/conf/node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@lingui/conf/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@lingui/conf/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@lingui/core": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/core/-/core-4.14.1.tgz", + "integrity": "sha512-3O6bnNzApWjb+jIdXa7G2VbrP6jZ5nfCeYSVloEYg6YFIfsQ3GunccK6I2nL80mWgr2qGP4VilGD+ODCeXHITA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@lingui/message-utils": "4.14.1", + "unraw": "^3.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/format-po": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/format-po/-/format-po-4.14.1.tgz", + "integrity": "sha512-SfT3/4LspwDq5KNyN+HUsDiF2IVMBk0LS6ruEG+vGOKNXzdSpnuxAT5E6wgGA/4/MG2UF9WKBzfkfOsYeXmSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lingui/conf": "4.14.1", + "@lingui/message-utils": "4.14.1", + "date-fns": "^3.6.0", + "pofile": "^1.1.4" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/macro": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/macro/-/macro-4.14.1.tgz", + "integrity": "sha512-kVAe78Sj4a74GJTOOqoAzxZgsgqPfcBFQC1akXMlAv9r4bX7zvbMov2cQVWjvix0waetwxo3oVqlSozsa8UPAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@babel/types": "^7.20.7", + "@lingui/conf": "4.14.1", + "@lingui/core": "4.14.1", + "@lingui/message-utils": "4.14.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@lingui/react": "^4.0.0", + "babel-plugin-macros": "2 || 3" + } + }, + "node_modules/@lingui/message-utils": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/message-utils/-/message-utils-4.14.1.tgz", + "integrity": "sha512-J6MzyTLNCzEnyR1Da188G81cRcQMbk/lyYnLWMzQjIELDX8bBBwNea91Sf5Zm+BB+ADWmmGTdUqRPAjDqT9Y5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@messageformat/parser": "^5.0.0", + "js-sha256": "^0.10.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/react": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@lingui/react/-/react-4.14.1.tgz", + "integrity": "sha512-oZ9Rw+vOXJuaZvI1o4ASAIbCSe7AchCxsKGc0Y3csduTEOisvhsLgh8UDA8LW1mRgVPh5yZYB+VbfDMDQSzHpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@lingui/core": "4.14.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@messageformat/parser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@messageformat/parser/-/parser-5.1.1.tgz", + "integrity": "sha512-3p0YRGCcTUCYvBKLIxtDDyrJ0YijGIwrTRu1DT8gIviIDZru8H23+FkY6MJBzM1n9n20CiM4VeDYuBsrrwnLjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "moo": "^0.5.1" + } + }, + "node_modules/@microsoft/fast-element": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@microsoft/fast-element/-/fast-element-1.14.0.tgz", + "integrity": "sha512-zXvuSOzvsu8zDTy9eby8ix8VqLop2rwKRgp++ZN2kTCsoB3+QJVoaGD2T/Cyso2ViZQFXNpiNCVKfnmxBvmWkQ==", + "license": "MIT" + }, + "node_modules/@microsoft/fast-foundation": { + "version": "2.50.0", + "resolved": "https://registry.npmjs.org/@microsoft/fast-foundation/-/fast-foundation-2.50.0.tgz", + "integrity": "sha512-8mFYG88Xea1jZf2TI9Lm/jzZ6RWR8x29r24mGuLojNYqIR2Bl8+hnswoV6laApKdCbGMPKnsAL/O68Q0sRxeVg==", + "license": "MIT", + "dependencies": { + "@microsoft/fast-element": "^1.14.0", + "@microsoft/fast-web-utilities": "^5.4.1", + "tabbable": "^5.2.0", + "tslib": "^1.13.0" + } + }, + "node_modules/@microsoft/fast-foundation/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@microsoft/fast-react-wrapper": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@microsoft/fast-react-wrapper/-/fast-react-wrapper-0.3.25.tgz", + "integrity": "sha512-jKzmk2xJV93RL/jEFXEZgBvXlKIY4N4kXy3qrjmBfFpqNi3VjY+oUTWyMnHRMC5EUhIFxD+Y1VD4u9uIPX3jQw==", + "license": "MIT", + "dependencies": { + "@microsoft/fast-element": "^1.14.0", + "@microsoft/fast-foundation": "^2.50.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@microsoft/fast-web-utilities": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/fast-web-utilities/-/fast-web-utilities-5.4.1.tgz", + "integrity": "sha512-ReWYncndjV3c8D8iq9tp7NcFNc1vbVHvcBFPME2nNFKNbS1XCesYZGlIlf3ot5EmuOXPlrzUHOWzQ2vFpIkqDg==", + "license": "MIT", + "dependencies": { + "exenv-es6": "^1.1.1" + } + }, + "node_modules/@monaco-editor/loader": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.5.0.tgz", + "integrity": "sha512-hKoGSM+7aAc7eRTRjpqAZucPmoNOC4UUbknb/VNoTkEIkCPhqV8LfbsgM1webRM7S/z21eHEx9Fkwx8Z/C/+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "state-local": "^1.0.6" + } + }, + "node_modules/@monaco-editor/react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/react/-/react-4.7.0.tgz", + "integrity": "sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@monaco-editor/loader": "^1.5.0" + }, + "peerDependencies": { + "monaco-editor": ">= 0.25.0 < 1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@nand2tetris/cli": { + "resolved": "cli", + "link": true + }, + "node_modules/@nand2tetris/components": { + "resolved": "components", + "link": true + }, + "node_modules/@nand2tetris/projects": { + "resolved": "projects", + "link": true + }, + "node_modules/@nand2tetris/runner": { + "resolved": "runner", + "link": true + }, + "node_modules/@nand2tetris/simulator": { + "resolved": "simulator", + "link": true + }, + "node_modules/@nand2tetris/vscode": { + "resolved": "extension", + "link": true + }, + "node_modules/@nand2tetris/web": { + "resolved": "web", + "link": true + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.17.tgz", + "integrity": "sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ==", + "license": "MIT", + "dependencies": { + "ansi-html": "^0.0.9", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^4.2.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x || 5.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-babel/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-babel/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/@rollup/plugin-babel/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" + }, + "node_modules/@rollup/plugin-babel/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz", + "integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/@rollup/plugin-replace/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" + }, + "node_modules/@rollup/plugin-replace/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.12.0.tgz", + "integrity": "sha512-5EwMtOqvJMMa3HbmxLlF74e+3/HhwBTMcvt3nqVJgGCozO6hzIPOBlwm8mGVNR9SN2IJpxSnlxczyDjcn7qIyw==", + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.8.0.tgz", + "integrity": "sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz", + "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/error-cause": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/error-cause/-/error-cause-1.0.4.tgz", + "integrity": "sha512-lMI90Dw+/Spic9xJ9UKysqa7a9izxxMpE3IUcMmsNvsbTOIBjW6b3FYc0roIJDlH+/I5kgaBezKJEUV5PWFqIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", + "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", + "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.16", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", + "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.13.tgz", + "integrity": "sha512-yCAeZl7a0DxgNVteXFHt9+uyFbqXGy/ShC4BlcHkoE0AfGXYv/BUiplV72DjMYXHDBXFjhvr6DD1NiRVfB4j8g==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.24.tgz", + "integrity": "sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", + "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", + "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz", + "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/vscode": { + "version": "1.103.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.103.0.tgz", + "integrity": "sha512-o4hanZAQdNfsKecexq9L3eHICd0AAvdbLk6hA60UzGXbGH/q8b/9xv2RgR7vV3ZcHuyKVq7b37IGd/+gM4Tu+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/vscode-webview": { + "version": "1.57.5", + "resolved": "https://registry.npmjs.org/@types/vscode-webview/-/vscode-webview-1.57.5.tgz", + "integrity": "sha512-iBAUYNYkz+uk1kdsq05fEcoh8gJmwT3lqqFPN7MGyjQ3HVloViMdo7ZJ8DFIP8WOK74PjOEilosqAyxV2iUFUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/wicg-file-system-access": { + "version": "2023.10.6", + "resolved": "https://registry.npmjs.org/@types/wicg-file-system-access/-/wicg-file-system-access-2023.10.6.tgz", + "integrity": "sha512-YO/183gNRzZFSdKu+ikkD7ambAj4PhgjFAF2A/Mw/7wroSF6ne8r804RkpZzqrJ/F6DO2/IYlQF/ULOZ/bhKyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.0.tgz", + "integrity": "sha512-sOx1PKSuFwnIl7z4RN0Ls7N9AQawmR9r66eI5rFCzLDIs8HTIYrIpH9QjYWoX0lkgGrkLxXhi4QnK7MizPRrIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@vscode/vsce": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.32.0.tgz", + "integrity": "sha512-3EFJfsgrSftIqt3EtdRcAygy/OJ3hstyI1cDmIgkU9CFZW5C+3djr6mfosndCUqcVYuyjmxOK1xmFp/Bq7+NIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/identity": "^4.1.0", + "@vscode/vsce-sign": "^2.0.0", + "azure-devops-node-api": "^12.5.0", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "cockatiel": "^3.1.2", + "commander": "^6.2.1", + "form-data": "^4.0.0", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "jsonc-parser": "^3.2.0", + "leven": "^3.1.0", + "markdown-it": "^12.3.2", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^7.5.2", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^4.0.1", + "xml2js": "^0.5.0", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 16" + }, + "optionalDependencies": { + "keytar": "^7.7.0" + } + }, + "node_modules/@vscode/vsce-sign": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.6.tgz", + "integrity": "sha512-j9Ashk+uOWCDHYDxgGsqzKq5FXW9b9MW7QqOIYZ8IYpneJclWTBeHZz2DJCSKQgo+JAqNcaRRE1hzIx0dswqAw==", + "dev": true, + "hasInstallScript": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optionalDependencies": { + "@vscode/vsce-sign-alpine-arm64": "2.0.5", + "@vscode/vsce-sign-alpine-x64": "2.0.5", + "@vscode/vsce-sign-darwin-arm64": "2.0.5", + "@vscode/vsce-sign-darwin-x64": "2.0.5", + "@vscode/vsce-sign-linux-arm": "2.0.5", + "@vscode/vsce-sign-linux-arm64": "2.0.5", + "@vscode/vsce-sign-linux-x64": "2.0.5", + "@vscode/vsce-sign-win32-arm64": "2.0.5", + "@vscode/vsce-sign-win32-x64": "2.0.5" + } + }, + "node_modules/@vscode/vsce-sign-alpine-arm64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.5.tgz", + "integrity": "sha512-XVmnF40APwRPXSLYA28Ye+qWxB25KhSVpF2eZVtVOs6g7fkpOxsVnpRU1Bz2xG4ySI79IRuapDJoAQFkoOgfdQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-alpine-x64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.5.tgz", + "integrity": "sha512-JuxY3xcquRsOezKq6PEHwCgd1rh1GnhyH6urVEWUzWn1c1PC4EOoyffMD+zLZtFuZF5qR1I0+cqDRNKyPvpK7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-arm64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.5.tgz", + "integrity": "sha512-z2Q62bk0ptADFz8a0vtPvnm6vxpyP3hIEYMU+i1AWz263Pj8Mc38cm/4sjzxu+LIsAfhe9HzvYNS49lV+KsatQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-x64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.5.tgz", + "integrity": "sha512-ma9JDC7FJ16SuPXlLKkvOD2qLsmW/cKfqK4zzM2iJE1PbckF3BlR08lYqHV89gmuoTpYB55+z8Y5Fz4wEJBVDA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.5.tgz", + "integrity": "sha512-cdCwtLGmvC1QVrkIsyzv01+o9eR+wodMJUZ9Ak3owhcGxPRB53/WvrDHAFYA6i8Oy232nuen1YqWeEohqBuSzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.5.tgz", + "integrity": "sha512-Hr1o0veBymg9SmkCqYnfaiUnes5YK6k/lKFA5MhNmiEN5fNqxyPUCdRZMFs3Ajtx2OFW4q3KuYVRwGA7jdLo7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-x64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.5.tgz", + "integrity": "sha512-XLT0gfGMcxk6CMRLDkgqEPTyG8Oa0OFe1tPv2RVbphSOjFWJwZgK3TYWx39i/7gqpDHlax0AP6cgMygNJrA6zg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-win32-arm64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.5.tgz", + "integrity": "sha512-hco8eaoTcvtmuPhavyCZhrk5QIcLiyAUhEso87ApAWDllG7djIrWiOCtqn48k4pHz+L8oCQlE0nwNHfcYcxOPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vscode/vsce-sign-win32-x64": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.5.tgz", + "integrity": "sha512-1ixKFGM2FwM+6kQS2ojfY3aAelICxjiCzeg4nTHpkeU1Tfs4RC+lVLrgq5NwcBC7ZLr6UfY3Ct3D6suPeOf7BQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vscode/vsce/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/vsce/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/vsce/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@vscode/vsce/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vscode/vsce/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@vscode/vsce/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@vscode/vsce/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/vsce/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vscode/webview-ui-toolkit": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vscode/webview-ui-toolkit/-/webview-ui-toolkit-1.4.0.tgz", + "integrity": "sha512-modXVHQkZLsxgmd5yoP3ptRC/G8NBDD+ob+ngPiWNQdlrH6H1xR/qgOBD85bfU3BhOB5sZzFWBwwhp9/SfoHww==", + "deprecated": "This package has been deprecated, https://github.com/microsoft/vscode-webview-ui-toolkit/issues/561", + "license": "MIT", + "dependencies": { + "@microsoft/fast-element": "^1.12.0", + "@microsoft/fast-foundation": "^2.49.4", + "@microsoft/fast-react-wrapper": "^0.3.22", + "tslib": "^2.6.2" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz", + "integrity": "sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "is-string": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/azure-devops-node-api": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", + "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", + "dev": true, + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-jest/node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-jest/node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-jest/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/babel-jest/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-jest/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-jest/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-jest/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/babel-jest/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/babel-loader": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.4", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.1.0.tgz", + "integrity": "sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" + }, + "node_modules/browserslist": { + "version": "4.25.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz", + "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001737", + "electron-to-chromium": "^1.5.211", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "bin": { + "btoa": "bin/btoa.js" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001741", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz", + "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/char-regex": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" + }, + "node_modules/cheerio": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz", + "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.0.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.12.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=20.18.1" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dev": true, + "dependencies": { + "colors": "1.0.3" + }, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "license": "MIT", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/coa/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cockatiel": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz", + "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", + "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz", + "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.45.1.tgz", + "integrity": "sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/create-jest/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/create-jest/node_modules/dedent": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz", + "integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/create-jest/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/create-jest/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/create-jest/node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/create-jest/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/create-jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-jest/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/create-jest/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/create-jest/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-jest/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssdb": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "CC0-1.0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/data-urls/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "license": "MIT" + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.215", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.215.tgz", + "integrity": "sha512-TIvGp57UpeNetj/wV/xpFNpWGb0b/ROw372lHPx5Aafx02gjTBtWnEEcaSX3W2dLM3OSdGGyHX/cHl01JQsLaQ==", + "license": "ISC" + }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "license": "MIT" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exenv-es6": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exenv-es6/-/exenv-es6-1.1.1.tgz", + "integrity": "sha512-vlVu3N8d6yEMpMsEm+7sUBAI81aqYYuEvfK0jNqmdb/OPXzzH7QWDDnVjMvDSY47JdHEqx/dfC/q8WkfoTmpGQ==", + "license": "MIT" + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/expect/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/expect/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "license": "MIT" + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gh-pages": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz", + "integrity": "sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==", + "license": "MIT", + "dependencies": { + "async": "^3.2.4", + "commander": "^11.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hdl": { + "resolved": "extension/views/hdl", + "link": true + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-encoding-sniffer/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/html-encoding-sniffer/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz", + "integrity": "sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/immer": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.3.tgz", + "integrity": "sha512-tmjF/k8QDKydUlm3mZU+tjM6zeq9/fFpPqH9SzWmBnVVKsPBg/V66qsMwb3/Bo90cgUN+ghdVBess+hPsxUyRw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/inquirer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "license": "MIT", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "30.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.1.3.tgz", + "integrity": "sha512-DI4PtTqzw9GwELFS41sdMK32Ajp3XZQ8iygeDMWkxlRhm7uUTOFSZFVZABFuxr0jvspn8MAYy54NxZCsuCTSOw==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.1.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.0.5", + "jest-validate": "30.1.0", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz", + "integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@sinclair/typebox": { + "version": "0.34.41", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.41.tgz", + "integrity": "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==", + "devOptional": true, + "license": "MIT", + "peer": true + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/ci-info": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/jest-haste-map": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.1.0.tgz", + "integrity": "sha512-JLeM84kNjpRkggcGpQLsV7B8W4LNUWz7oDNVnY1Vjj22b5/fAb3kk3htiD+4Na8bmJmjJR7rBtS2Rmq/NEcADg==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.0.5", + "jest-worker": "30.1.0", + "micromatch": "^4.0.8", + "walker": "^1.0.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" + } + }, + "node_modules/jest-resolve/node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz", + "integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "30.0.5", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/jest-validate": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.1.0.tgz", + "integrity": "sha512-7P3ZlCFW/vhfQ8pE7zW6Oi4EzvuB4sgR72Q1INfW9m0FGo0GADYlPwIkf4CyPq7wq85g+kPMtPOHNAdWHeBOaA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.0.5", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.0.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/jest-worker": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.1.0.tgz", + "integrity": "sha512-uvWcSjlwAAgIu133Tt77A05H7RIk3Ho8tZL50bQM2AkvLdluw9NG48lRCl3Dt+MOH719n/0nnb5YxUwcuJiKRA==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.0.5", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/pretty-format": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz", + "integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "devOptional": true, + "license": "MIT", + "peer": true + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-ts-webcompat-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jest-ts-webcompat-resolver/-/jest-ts-webcompat-resolver-1.0.1.tgz", + "integrity": "sha512-6rz4gejsOd0SYq5F/DmVGvJlFPmiCqkoXhkNKhyL1Uaqz4GyFMBbGUoBK+koXHThQdq97Ev7XJiyZ8iusMpWgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "jest-resolve": "*" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watcher/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/jest-watcher/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest/node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest/node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest/node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/jest/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest/node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest/node_modules/dedent": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz", + "integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/jest/node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest/node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest/node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest/node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest/node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest/node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest/node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/jest/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-sha256": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.10.1.tgz", + "integrity": "sha512-5obBtsz9301ULlsgggLg542s/jqtddfOpV5KJc4hajc9JV8GeY2gZHSVpYBn4nWqAUTJ9v+xwtbJ1mIBgIH5Vw==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz", + "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsdom/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, + "node_modules/jsdom/node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/jsdom/node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jwa": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keytar": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", + "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.0.1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz", + "integrity": "sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-plural": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-7.4.0.tgz", + "integrity": "sha512-4/gC9KVNTV6pvYg2gFeQYTW3mWaoJt7WZE5vrp1KnQDgW92JtYZnzmZT81oj/dUTqAIu0ufI2x3dkgu3bB1tYg==", + "dev": true, + "license": "Unicode-DFS-2016" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "license": "CC0-1.0" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/monaco-editor": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.53.0.tgz", + "integrity": "sha512-0WNThgC6CMWNXXBxTbaYYcunj08iB5rnx4/G56UOPeL9UVIUGGHA1GR0EWIh9Ebabj7NpCRawQ5b0hfN1jQmYQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/trusted-types": "^1.0.6" + } + }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "license": "ISC" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, + "node_modules/napi-postinstall": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.3.tgz", + "integrity": "sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==", + "devOptional": true, + "license": "MIT", + "peer": true, + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-abi": { + "version": "3.77.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.77.0.tgz", + "integrity": "sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "license": "MIT" + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.20.tgz", + "integrity": "sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.22", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", + "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", + "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", + "license": "MIT", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "gopd": "^1.0.1", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/ohm-js": { + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/ohm-js/-/ohm-js-17.2.1.tgz", + "integrity": "sha512-4cXF0G09fAYU9z61kTfkNbKK1Kz/sGEZ5NbVWHoe9Qi7VB7y+Spwk051CpUTfUENdlIr+vt8tMV4/LosTE2cDQ==", + "license": "MIT", + "engines": { + "node": ">=0.12.1" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true, + "license": "(MIT AND Zlib)" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-semver": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", + "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", + "license": "MIT", + "dependencies": { + "semver": "^5.1.0" + } + }, + "node_modules/parse-semver/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pofile": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/pofile/-/pofile-1.1.4.tgz", + "integrity": "sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==", + "dev": true, + "license": "MIT" + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "license": "CC0-1.0", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pseudolocale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pseudolocale/-/pseudolocale-2.1.0.tgz", + "integrity": "sha512-af5fsrRvVwD+MBasBJvuDChT0KDqT0nEwD9NTgbtHJ16FKomWac9ua0z6YVNB4G9x9IOaiGWym62aby6n4tFMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "pseudolocale": "dist/cli.mjs" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/ramda": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", + "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/raw-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", + "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/raw-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/raw.macro": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/raw.macro/-/raw.macro-0.5.0.tgz", + "integrity": "sha512-krMrBkTHbnXtEZEES1Ng9b/PYSTaf0eZwUR6WfIQx6+cGF7oPhJ0XDgwIOTkCBCylRz7Su1OoG17rouMt1egaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-macros": "^2.8.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/raw.macro/node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/raw.macro/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/react-dev-utils/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", + "license": "MIT" + }, + "node_modules/react-ga4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", + "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.1.0.tgz", + "integrity": "sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz", + "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.0", + "react-router": "6.30.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/regex-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", + "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "license": "MIT", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rewire": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rewire/-/rewire-6.0.0.tgz", + "integrity": "sha512-7sZdz5dptqBCapJYocw9EcppLU62KMEqDLIILJnNET2iqzXHaQfaVP5SOJ06XvjX+dNIDJbzjw0ZWzrgDhtjYg==", + "license": "MIT", + "dependencies": { + "eslint": "^7.32.0" + } + }, + "node_modules/rewire/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/rewire/node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/rewire/node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/rewire/node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" + }, + "node_modules/rewire/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/rewire/node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/rewire/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/rewire/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/rewire/node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/rewire/node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/rewire/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/rewire/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" + }, + "node_modules/sass": { + "version": "1.92.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.92.1.tgz", + "integrity": "sha512-ffmsdbwqb3XeyR8jJR6KelIXARM9bFQe8A6Q3W4Klmwy5Ckd5gz7jgUNHo4UOqutU5Sk1DtKLbpDP0nLCg1xqQ==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true, + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shx": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", + "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.3", + "shelljs": "^0.8.5" + }, + "bin": { + "shx": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-explorer": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.3.tgz", + "integrity": "sha512-qfUGs7UHsOBE5p/lGfQdaAj/5U/GWYBw2imEpD6UQNkqElYonkow8t+HBL1qqIl3CuGZx7n8/CQo4x1HwSHhsg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "btoa": "^1.2.1", + "chalk": "^4.1.0", + "convert-source-map": "^1.7.0", + "ejs": "^3.1.5", + "escape-html": "^1.0.3", + "glob": "^7.1.6", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "open": "^7.3.1", + "source-map": "^0.7.4", + "temp": "^0.9.4", + "yargs": "^16.2.0" + }, + "bin": { + "sme": "bin/cli.js", + "source-map-explorer": "bin/cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/source-map-explorer/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/source-map-explorer/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/source-map-explorer/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map-explorer/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-explorer/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map-explorer/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-explorer/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map-explorer/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" + }, + "node_modules/state-local": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", + "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", + "dev": true, + "license": "MIT" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "license": "MIT", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/style-to-js": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.17.tgz", + "integrity": "sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.9" + } + }, + "node_modules/style-to-object": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz", + "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" + }, + "node_modules/svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/svgo/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" + }, + "node_modules/tabbable": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.3.3.tgz", + "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==", + "license": "MIT" + }, + "node_modules/table": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/tailwindcss/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tailwindcss/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/tapable": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", + "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar-fs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", + "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", + "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "license": "MIT", + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "license": "MIT" + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" + }, + "node_modules/undici": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.15.0.tgz", + "integrity": "sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==", + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" + }, + "node_modules/unraw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unraw/-/unraw-3.0.0.tgz", + "integrity": "sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "devOptional": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "license": "MIT" + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vsce": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.15.0.tgz", + "integrity": "sha512-P8E9LAZvBCQnoGoizw65JfGvyMqNGlHdlUXD1VAuxtvYAaHBKLBdKPnpy60XKVDAkQCfmMu53g+gq9FM+ydepw==", + "deprecated": "vsce has been renamed to @vscode/vsce. Install using @vscode/vsce instead.", + "license": "MIT", + "dependencies": { + "azure-devops-node-api": "^11.0.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "commander": "^6.1.0", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "keytar": "^7.7.0", + "leven": "^3.1.0", + "markdown-it": "^12.3.2", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^5.1.0", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^4.0.1", + "xml2js": "^0.4.23", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/vsce/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/vsce/node_modules/azure-devops-node-api": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", + "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/vsce/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/vsce/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/vsce/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/vsce/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/vsce/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/vsce/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/vsce/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/vsce/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/vsce/node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.101.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz", + "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.3", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.1", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/webpack-dev-server/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "license": "MIT", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "license": "MIT", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "license": "MIT", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==", + "license": "MIT" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "license": "MIT", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "license": "MIT", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==", + "license": "MIT" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "license": "MIT", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-window/node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "license": "Apache-2.0" + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "projects": { + "name": "@nand2tetris/projects", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "@davidsouther/jiffies": "^2.2.5" + } + }, + "runner": { + "name": "@nand2tetris/runner", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@nand2tetris/projects": "file:../projects", + "@types/node": "^20.14.2" + } + }, + "simulator": { + "name": "@nand2tetris/simulator", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@nand2tetris/projects": "file:../projects", + "@nand2tetris/runner": "file:../runner", + "@types/node": "^20.14.2", + "ohm-js": "^17.1.0", + "rxjs": "^7.8.1" + }, + "devDependencies": { + "@babel/preset-typescript": "^7.24.7", + "@types/jest": "^29.5.12", + "babel-jest": "^29.7.0", + "jest": "^29.7.0", + "jest-ts-webcompat-resolver": "^1.0.0" + } + }, + "web": { + "name": "@nand2tetris/web", + "version": "0.0.0", + "license": "ISC", + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@davidsouther/jiffies": "^2.2.5", + "@lingui/cli": "^4.11.1", + "@lingui/macro": "^4.11.1", + "@lingui/react": "^4.11.1", + "@monaco-editor/react": "^4.6.0", + "@nand2tetris/components": "file:../components", + "@nand2tetris/projects": "file:../projects", + "@nand2tetris/simulator": "file:../simulator", + "@rollup/plugin-node-resolve": "^15.2.3", + "@testing-library/jest-dom": "^6.4.5", + "@testing-library/react": "^16.0.0", + "@testing-library/user-event": "^14.5.2", + "@types/error-cause": "^1.0.4", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.2", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@types/vscode": "^1.89.0", + "@vscode/vsce": "^2.27.0", + "gh-pages": "^6.1.1", + "immer": "^10.1.1", + "jszip": "^3.10.1", + "make-plural": "^7.4.0", + "ohm-js": "^17.1.0", + "raw-loader": "^4.0.2", + "raw.macro": "^0.5.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-ga4": "^2.1.0", + "react-markdown": "^9.0.1", + "react-router-dom": "^6.23.1", + "react-scripts": "^5.0.1", + "remark-gfm": "^4.0.0", + "rxjs": "^7.8.1", + "sass": "^1.77.4", + "source-map-explorer": "^2.5.3", + "web-vitals": "^2.1.4" + } + }, + "web/node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "web/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "web/node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "web/node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "web/node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "web/node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "web/node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "web/node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "web/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "web/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + } + } +} diff --git a/web-ide-main/package.json b/web-ide-main/package.json new file mode 100644 index 0000000..4d5e255 --- /dev/null +++ b/web-ide-main/package.json @@ -0,0 +1,63 @@ +{ + "name": "@nand2tetris/web-ide", + "version": "2025.49.0", + "description": "A Javascript implementation of nand2tetris.org.", + "repository": { + "type": "git", + "url": "git+https://github.com/nand2tetris/web-ide.git" + }, + "author": "David Souther ", + "license": "ISC", + "bugs": { + "url": "https://github.com/nand2tetris/web-ide/issues" + }, + "homepage": "https://github.com/nand2tetris/web-ide", + "scripts": { + "precli": "npm run build -w cli", + "cli": "node cli", + "ci": "cross-env CI=true npm run check && cross-env CI=true npm run test:ci", + "precheck": "npm -w web run extract && npm -w web run lingui", + "check": "npm run check:format && npm run check:types && npm run check:lint", + "clean": "shx rm -rf **/node_modules **/tsconfig.tsbuildinfo **/build", + "format": "biome format --write", + "fix": "biome check --write --unsafe", + "check:format": "biome format", + "check:lint": "biome check", + "precheck:types": "npm run build -w projects && npm run build -w runner && npm run build -w simulator && npm run build -w components", + "check:types": "tsc --build tsconfig.json", + "prebuild": "npm run check", + "build": "cross-env CI=true npm run build -w projects && cross-env CI=true npm run build -w runner && cross-env CI=true npm run build -w simulator && cross-env CI=true npm run build -w cli && cross-env CI=true npm run build -w components && cross-env CI=true npm run build -w web", + "build:extension": "cross-env CI=true npm run build -w extension", + "watch": "concurrently -k --restart-tries 3 \"npm run build -w components -- -w\" \"npm run build -w projects -- -w\" \"npm run build -w runner -- -w\" \"npm run build -w simulator -- -w\"", + "test:ci": "cross-env CI=true npm test -w simulator && cross-env CI=true npm test -w components && cross-env CI=true npm test -w web", + "pretest": "npm run build", + "test": "npm run test:ci", + "web": "npm run start -w web", + "start": "npm run web", + "preinstall-cli": "npm run build -w projects && npm run build -w runner && npm run build -w simulator && npm run build -w cli", + "install-cli": "npm i -g cli" + }, + "workspaces": [ + "cli", + "components", + "extension", + "extension/views/hdl", + "projects", + "runner", + "simulator", + "web" + ], + "engines": { + "node": ">=16", + "npm": ">=7" + }, + "devDependencies": { + "@biomejs/biome": "^2.1.4", + "concurrently": "^9.0.1", + "cross-env": "^7.0.3", + "shx": "^0.3.4" + }, + "dependencies": { + "typescript": "^5.9.2" + } +} diff --git a/web-ide-main/projects/package.json b/web-ide-main/projects/package.json new file mode 100644 index 0000000..32e3908 --- /dev/null +++ b/web-ide-main/projects/package.json @@ -0,0 +1,26 @@ +{ + "name": "@nand2tetris/projects", + "version": "0.0.0", + "private": true, + "description": "", + "author": "David Souther ", + "license": "ISC", + "homepage": "https://davidsouther.github.io/nand2tetris", + "type": "module", + "exports": { + "./*": "./build/*" + }, + "typesVersions": { + "*": { + "*": [ + "build/*" + ] + } + }, + "dependencies": { + "@davidsouther/jiffies": "^2.2.5" + }, + "scripts": { + "build": "tsc" + } +} diff --git a/web-ide-main/projects/src/base.ts b/web-ide-main/projects/src/base.ts new file mode 100644 index 0000000..37f7364 --- /dev/null +++ b/web-ide-main/projects/src/base.ts @@ -0,0 +1,254 @@ +export { FIBONACCI } from "./samples/vm/fibonnaci.js"; + +/** + * Duplicated for web from node:path. + * A parsed path object generated by path.parse() or consumed by path.format(). + */ + +export interface ParsedPath { + /** The root of the path such as '/' or 'c:\' */ + root: string; + /** The full directory path such as '/home/user/dir' or 'c:\path\dir' */ + dir: string; + /** The file name including extension (if any) such as 'index.html' */ + base: string; + /** The file extension (if any) such as '.html' */ + ext: string; + /** The file name without extension (if any) such as 'index' */ + name: string; +} + +export type Assignment = ParsedPath; + +// To rebuild this list of stubs using node.js: +// +// full = await import("./full.js") +// Object.entries(full.Assignments).map(([key, entry]) => ({key, entries: Object.keys(entry).reduce((a, b) => (a[b] = '', a), {})})).reduce(((a, b) => (a[b.key] = b.entries, a)), {}) +export const AssignmentStubs = { + Nand: { "Nand.tst": "", "Nand.cmp": "" }, + Not: { "Not.hdl": "", "Not.tst": "", "Not.cmp": "" }, + And: { "And.hdl": "", "And.tst": "", "And.cmp": "" }, + Or: { "Or.hdl": "", "Or.tst": "", "Or.cmp": "" }, + Xor: { "Xor.hdl": "", "Xor.tst": "", "Xor.cmp": "" }, + Mux: { "Mux.hdl": "", "Mux.tst": "", "Mux.cmp": "" }, + DMux: { "DMux.hdl": "", "DMux.tst": "", "DMux.cmp": "" }, + Not16: { "Not16.hdl": "", "Not16.tst": "", "Not16.cmp": "" }, + And16: { "And16.hdl": "", "And16.tst": "", "And16.cmp": "" }, + Or16: { "Or16.hdl": "", "Or16.tst": "", "Or16.cmp": "" }, + Mux16: { "Mux16.hdl": "", "Mux16.tst": "", "Mux16.cmp": "" }, + Mux4Way16: { "Mux4Way16.hdl": "", "Mux4Way16.tst": "", "Mux4Way16.cmp": "" }, + Mux8Way16: { "Mux8Way16.hdl": "", "Mux8Way16.tst": "", "Mux8Way16.cmp": "" }, + DMux4Way: { "DMux4Way.hdl": "", "DMux4Way.tst": "", "DMux4Way.cmp": "" }, + DMux8Way: { "DMux8Way.hdl": "", "DMux8Way.tst": "", "DMux8Way.cmp": "" }, + Or8Way: { "Or8Way.hdl": "", "Or8Way.tst": "", "Or8Way.cmp": "" }, + HalfAdder: { "HalfAdder.hdl": "", "HalfAdder.tst": "", "HalfAdder.cmp": "" }, + FullAdder: { "FullAdder.hdl": "", "FullAdder.tst": "", "FullAdder.cmp": "" }, + Add16: { "Add16.hdl": "", "Add16.tst": "", "Add16.cmp": "" }, + Inc16: { "Inc16.hdl": "", "Inc16.tst": "", "Inc16.cmp": "" }, + ALU: { + "ALU.hdl": "", + "ALU.tst": "", + "ALU.cmp": "", + "ALU-basic.tst": "", + "ALU-basic.cmp": "", + }, + Bit: { "Bit.hdl": "", "Bit.tst": "", "Bit.cmp": "" }, + Register: { "Register.hdl": "", "Register.tst": "", "Register.cmp": "" }, + PC: { "PC.hdl": "", "PC.tst": "", "PC.cmp": "" }, + RAM8: { "RAM8.hdl": "", "RAM8.tst": "", "RAM8.cmp": "" }, + RAM64: { "RAM64.hdl": "", "RAM64.tst": "", "RAM64.cmp": "" }, + RAM512: { "RAM512.hdl": "", "RAM512.tst": "", "RAM512.cmp": "" }, + RAM4K: { "RAM4K.hdl": "", "RAM4K.tst": "", "RAM4K.cmp": "" }, + RAM16K: { "RAM16K.hdl": "", "RAM16K.tst": "", "RAM16K.cmp": "" }, + Memory: { "Memory.hdl": "", "Memory.tst": "", "Memory.cmp": "" }, + CPU: { + "CPU.hdl": "", + "CPU.tst": "", + "CPU.cmp": "", + "CPU-external.tst": "", + "CPU-external.cmp": "", + }, + Computer: { + "Computer.hdl": "", + "ComputerAdd.tst": "", + "ComputerAdd.cmp": "", + "ComputerMax.tst": "", + "ComputerMax.cmp": "", + "ComputerRect.tst": "", + "ComputerRect.cmp": "", + }, + SimpleAdd: { + "SimpleAdd.vm": "", + "SimpleAddVME.tst": "", + "SimpleAdd.cmp": "", + "SimpleAdd.tst": "", + }, + StackTest: { + "StackTest.vm": "", + "StackTestVME.tst": "", + "StackTest.cmp": "", + "StackTest.tst": "", + }, + BasicTest: { + "BasicTest.vm": "", + "BasicTestVME.tst": "", + "BasicTest.cmp": "", + "BasicTest.tst": "", + }, + PointerTest: { + "PointerTest.vm": "", + "PointerTestVME.tst": "", + "PointerTest.cmp": "", + "PointerTest.tst": "", + }, + StaticTest: { + "StaticTest.vm": "", + "StaticTestVME.tst": "", + "StaticTest.cmp": "", + "StaticTest.tst": "", + }, + BasicLoop: { + "BasicLoop.vm": "", + "BasicLoopVME.tst": "", + "BasicLoop.cmp": "", + "BasicLoop.tst": "", + }, + FibonacciSeries: { + "FibonacciSeries.vm": "", + "FibonacciSeriesVME.tst": "", + "FibonacciSeries.cmp": "", + "FibonacciSeries.tst": "", + }, + SimpleFunction: { + "SimpleFunction.vm": "", + "SimpleFunctionVME.tst": "", + "SimpleFunction.cmp": "", + "SimpleFunction.tst": "", + }, + NestedCall: { + "Sys.vm": "", + "NestedCallVME.tst": "", + "NestedCall.cmp": "", + "NestedCall.tst": "", + }, + FibonacciElement: { + "Sys.vm": "", + "Main.vm": "", + "FibonacciElementVME.tst": "", + "FibonacciElement.cmp": "", + "FibonacciElement.tst": "", + }, + StaticsTest: { + "Class1.vm": "", + "Class2.vm": "", + "Sys.vm": "", + "StaticsTestVME.tst": "", + "StaticsTest.cmp": "", + "StaticsTest.tst": "", + }, +}; + +export const BUILTIN_CHIP_PROJECTS: Record< + "01" | "02" | "03" | "05", + string[] +> = { + "01": ["Nand"], + "02": [], + "03": ["DFF"], + "05": ["Screen", "Keyboard", "DRegister", "ARegister", "ROM32K", "RAM16K"], +}; + +export const CHIP_PROJECTS: Record<"01" | "02" | "03" | "05", string[]> = { + "01": [ + "Not", + "And", + "Or", + "Xor", + "Mux", + "DMux", + "Not16", + "And16", + "Or16", + "Mux16", + "Or8Way", + "Mux4Way16", + "Mux8Way16", + "DMux4Way", + "DMux8Way", + ], + "02": [ + "HalfAdder", + "FullAdder", + "Add16", + "Inc16", + "ALU", + // "ALUAll", // Special secret undocumented ALU tests + ], + "03": ["Bit", "Register", "RAM8", "RAM64", "RAM512", "RAM4K", "RAM16K", "PC"], + "05": ["Memory", "CPU", "Computer"], +}; + +export const CHIP_ORDER: Partial> = + { + "05": [ + "Memory", + "CPU", + "Computer", + "Screen", + "Keyboard", + "DRegister", + "ARegister", + "ROM32K", + "RAM16K", + ], + }; + +export const ASM_PROJECTS: Record<"06", string[]> = { + "06": ["Add", "Max", "Rectangle", "Pong"], +}; + +export const VM_PROJECTS: Record<"07" | "08", string[]> = { + "07": ["SimpleAdd", "StackTest", "BasicTest", "PointerTest", "StaticTest"], + "08": [ + "BasicLoop", + "FibonacciSeries", + "SimpleFunction", + "NestedCall", + "FibonacciElement", + "StaticsTest", + ], +}; + +function partitionChips(project: "01" | "02" | "03" | "05", chips: string[]) { + const base = CHIP_PROJECTS[project]; + // Get all the default project chips, in order, and remove those that aren't in `chips`. + const core = base.filter((name) => chips.includes(name)); + // Get all the chips that aren't in base. + const rest = chips.filter((name) => !base.includes(name)); + rest.sort(); + return [...core, ...rest]; +} + +export function sortChips(project: string, chips: string[]): string[] { + switch (project) { + case "1": + case "01": { + return partitionChips("01", chips); + } + case "2": + case "02": { + return partitionChips("02", chips); + } + case "3": + case "03": { + return partitionChips("03", chips); + } + case "5": + case "05": { + return partitionChips("05", chips); + } + default: + chips.sort(); + return chips; + } +} diff --git a/web-ide-main/projects/src/full.ts b/web-ide-main/projects/src/full.ts new file mode 100644 index 0000000..13a859f --- /dev/null +++ b/web-ide-main/projects/src/full.ts @@ -0,0 +1,74 @@ +import { FileSystem, Tree } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import * as project_01 from "./project_01/index.js"; +import * as project_02 from "./project_02/index.js"; +import * as project_03 from "./project_03/index.js"; +import * as project_04 from "./project_04/index.js"; +import * as project_05 from "./project_05/index.js"; +import * as project_07 from "./project_07/index.js"; +import * as project_08 from "./project_08/index.js"; +import { reset } from "./reset.js"; +import * as project_06 from "./samples/project_06/index.js"; + +export const ChipProjects = { + "01": project_01, + "02": project_02, + "03": project_03, + "05": project_05, +}; + +export const VmProjects = { + "07": project_07, + "08": project_08, +}; + +export const Projects = { + "1": project_01, + "2": project_02, + "3": project_03, + "4": project_04, + "5": project_05, + "6": project_06, + "7": project_07, + "8": project_08, +}; + +export const ProjectIDs: (keyof typeof Projects)[] = Object.keys( + Projects, +) as unknown as (keyof typeof Projects)[]; + +const ProjectFiles: Record = { + "1": project_01.CHIPS, + "2": project_02.CHIPS, + "3": project_03.CHIPS, + "4": project_04.TESTS, + "5": project_05.CHIPS, + "6": project_06.FILES, + "7": project_07.VMS, + "8": project_08.VMS, +}; + +export const resetFiles = async (fs: FileSystem, projects = ProjectIDs) => { + for (const project of projects) { + await Projects[project as keyof typeof Projects].resetFiles(fs); + } +}; + +export const resetTests = async (fs: FileSystem, projects = ProjectIDs) => { + for (const project of projects) { + await Projects[project as keyof typeof Projects].resetTests(fs); + } +}; + +export const createFiles = async (fs: FileSystem) => { + await reset(fs, ProjectFiles, "/", false); +}; + +export const Assignments = { + ...project_01.CHIPS, + ...project_02.CHIPS, + ...project_03.CHIPS, + ...project_05.CHIPS, + ...project_07.VMS, + ...project_08.VMS, +}; diff --git a/web-ide-main/projects/src/loader.ts b/web-ide-main/projects/src/loader.ts new file mode 100644 index 0000000..d575f89 --- /dev/null +++ b/web-ide-main/projects/src/loader.ts @@ -0,0 +1,36 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { type Projects } from "./full.js"; + +export async function resetFiles( + fs: FileSystem, + projects?: (keyof typeof Projects)[], +) { + await (await import("./full.js")).resetFiles(fs, projects); +} + +export async function resetTests( + fs: FileSystem, + projects?: (keyof typeof Projects)[], +) { + await (await import("./full.js")).resetTests(fs, projects); +} + +export async function createFiles(fs: FileSystem) { + await (await import("./full.js")).createFiles(fs); +} + +export async function loadSamples(fs: FileSystem) { + (await import("./samples/index.js")).loadSamples(fs); +} + +export async function loadSolutions(fs: FileSystem) { + (await import("./testing/index.js")).loadSolutions(fs); +} + +export const loaders = { + resetFiles, + loadSolutions, + loadSamples, +}; + +export default loaders; diff --git a/web-ide-main/projects/src/project_01/00_nand.ts b/web-ide-main/projects/src/project_01/00_nand.ts new file mode 100644 index 0000000..95c054b --- /dev/null +++ b/web-ide-main/projects/src/project_01/00_nand.ts @@ -0,0 +1,48 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Nand.hdl +/** + * Nand gate: + * if (a and b) out = 0, else out = 1 + */ +CHIP Nand { + IN a, b; + OUT out; + + PARTS: + BUILTIN Nand; +}`; + +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Nand.tst + +output-list a b out; + +set a 0, +set b 0, +eval, +output; + +set a 0, +set b 1, +eval, +output; + +set a 1, +set b 0, +eval, +output; + +set a 1, +set b 1, +eval, +output;`; + +export const cmp = `| a | b |out| +| 0 | 0 | 1 | +| 0 | 1 | 1 | +| 1 | 0 | 1 | +| 1 | 1 | 0 |`; diff --git a/web-ide-main/projects/src/project_01/01_not.ts b/web-ide-main/projects/src/project_01/01_not.ts new file mode 100644 index 0000000..f4b1342 --- /dev/null +++ b/web-ide-main/projects/src/project_01/01_not.ts @@ -0,0 +1,34 @@ +export const cmp = `|in |out| +| 0 | 1 | +| 1 | 0 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Not.hdl +/** + * Not gate: + * if (in) out = 0, else out = 1 + */ +CHIP Not { + IN in; + OUT out; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Not.tst + +load Not.hdl, +compare-to Not.cmp, +output-list in out; + +set in 0, +eval, +output; + +set in 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/02_and.ts b/web-ide-main/projects/src/project_01/02_and.ts new file mode 100644 index 0000000..8ea9ce3 --- /dev/null +++ b/web-ide-main/projects/src/project_01/02_and.ts @@ -0,0 +1,49 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/And.hdl +/** + * And gate: + * if (a and b) out = 1, else out = 0 + */ +CHIP And { + IN a, b; + OUT out; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/And.tst + +load And.hdl, +compare-to And.cmp, +output-list a b out; + +set a 0, +set b 0, +eval, +output; + +set a 0, +set b 1, +eval, +output; + +set a 1, +set b 0, +eval, +output; + +set a 1, +set b 1, +eval, +output;`; + +export const cmp = `| a | b |out| +| 0 | 0 | 0 | +| 0 | 1 | 0 | +| 1 | 0 | 0 | +| 1 | 1 | 1 |`; diff --git a/web-ide-main/projects/src/project_01/03_or.ts b/web-ide-main/projects/src/project_01/03_or.ts new file mode 100644 index 0000000..a8af547 --- /dev/null +++ b/web-ide-main/projects/src/project_01/03_or.ts @@ -0,0 +1,48 @@ +export const cmp = `| a | b |out| +| 0 | 0 | 0 | +| 0 | 1 | 1 | +| 1 | 0 | 1 | +| 1 | 1 | 1 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Or.hdl +/** + * Or gate: + * if (a or b) out = 1, else out = 0 + */ +CHIP Or { + IN a, b; + OUT out; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Or.tst + +load Or.hdl, +compare-to Or.cmp, +output-list a b out; + +set a 0, +set b 0, +eval, +output; + +set a 0, +set b 1, +eval, +output; + +set a 1, +set b 0, +eval, +output; + +set a 1, +set b 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/04_xor.ts b/web-ide-main/projects/src/project_01/04_xor.ts new file mode 100644 index 0000000..5fad3e6 --- /dev/null +++ b/web-ide-main/projects/src/project_01/04_xor.ts @@ -0,0 +1,48 @@ +export const cmp = `| a | b |out| +| 0 | 0 | 0 | +| 0 | 1 | 1 | +| 1 | 0 | 1 | +| 1 | 1 | 0 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Xor.hdl +/** + * Exclusive-or gate: + * if ((a and Not(b)) or (Not(a) and b)) out = 1, else out = 0 + */ +CHIP Xor { + IN a, b; + OUT out; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Xor.tst + +load Xor.hdl, +compare-to Xor.cmp, +output-list a b out; + +set a 0, +set b 0, +eval, +output; + +set a 0, +set b 1, +eval, +output; + +set a 1, +set b 0, +eval, +output; + +set a 1, +set b 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/05_mux.ts b/web-ide-main/projects/src/project_01/05_mux.ts new file mode 100644 index 0000000..8e3238f --- /dev/null +++ b/web-ide-main/projects/src/project_01/05_mux.ts @@ -0,0 +1,72 @@ +export const cmp = `| a | b |sel|out| +| 0 | 0 | 0 | 0 | +| 0 | 0 | 1 | 0 | +| 0 | 1 | 0 | 0 | +| 0 | 1 | 1 | 1 | +| 1 | 0 | 0 | 1 | +| 1 | 0 | 1 | 0 | +| 1 | 1 | 0 | 1 | +| 1 | 1 | 1 | 1 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux.hdl +/** + * Multiplexor: + * if (sel = 0) out = a, else out = b + */ +CHIP Mux { + IN a, b, sel; + OUT out; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux.tst + +load Mux.hdl, +compare-to Mux.cmp, +output-list a b sel out; + +set a 0, +set b 0, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set a 0, +set b 1, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set a 1, +set b 0, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set a 1, +set b 1, +set sel 0, +eval, +output; + +set sel 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/06_dmux.ts b/web-ide-main/projects/src/project_01/06_dmux.ts new file mode 100644 index 0000000..8b08908 --- /dev/null +++ b/web-ide-main/projects/src/project_01/06_dmux.ts @@ -0,0 +1,48 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/DMux.hdl +/** + * Demultiplexor: + * [a, b] = [in, 0] if sel = 0 + * [0, in] if sel = 1 + */ +CHIP DMux { + IN in, sel; + OUT a, b; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/DMux.tst + +load DMux.hdl, +compare-to DMux.cmp, +output-list in sel a b; + +set in 0, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set in 1, +set sel 0, +eval, +output; + +set sel 1, +eval, +output;`; + +export const cmp = `|in |sel| a | b | +| 0 | 0 | 0 | 0 | +| 0 | 1 | 0 | 0 | +| 1 | 0 | 1 | 0 | +| 1 | 1 | 0 | 1 |`; diff --git a/web-ide-main/projects/src/project_01/07_not16.ts b/web-ide-main/projects/src/project_01/07_not16.ts new file mode 100644 index 0000000..4bda9a4 --- /dev/null +++ b/web-ide-main/projects/src/project_01/07_not16.ts @@ -0,0 +1,50 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/01/Not16.hdl +/** + * 16-bit Not gate: + * for i = 0, ..., 15: + * out[i] = Not(a[i]) + */ +CHIP Not16 { + IN in[16]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Not16.tst + +load Not16.hdl, +compare-to Not16.cmp, +output-list in%B1.16.1 out%B1.16.1; + +set in %B0000000000000000, +eval, +output; + +set in %B1111111111111111, +eval, +output; + +set in %B1010101010101010, +eval, +output; + +set in %B0011110011000011, +eval, +output; + +set in %B0001001000110100, +eval, +output;`; +export const cmp = `| in | out | +| 0000000000000000 | 1111111111111111 | +| 1111111111111111 | 0000000000000000 | +| 1010101010101010 | 0101010101010101 | +| 0011110011000011 | 1100001100111100 | +| 0001001000110100 | 1110110111001011 |`; diff --git a/web-ide-main/projects/src/project_01/08_and16.ts b/web-ide-main/projects/src/project_01/08_and16.ts new file mode 100644 index 0000000..f208a22 --- /dev/null +++ b/web-ide-main/projects/src/project_01/08_and16.ts @@ -0,0 +1,62 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/And16.hdl +/** + * 16-bit And gate: + * for i = 0, ..., 15: + * out[i] = a[i] And b[i] + */ +CHIP And16 { + IN a[16], b[16]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/And16.tst + +load And16.hdl, +compare-to And16.cmp, +output-list a%B1.16.1 b%B1.16.1 out%B1.16.1; + +set a %B0000000000000000, +set b %B0000000000000000, +eval, +output; + +set a %B0000000000000000, +set b %B1111111111111111, +eval, +output; + +set a %B1111111111111111, +set b %B1111111111111111, +eval, +output; + +set a %B1010101010101010, +set b %B0101010101010101, +eval, +output; + +set a %B0011110011000011, +set b %B0000111111110000, +eval, +output; + +set a %B0001001000110100, +set b %B1001100001110110, +eval, +output;`; + +export const cmp = `| a | b | out | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 0000000000000000 | +| 1111111111111111 | 1111111111111111 | 1111111111111111 | +| 1010101010101010 | 0101010101010101 | 0000000000000000 | +| 0011110011000011 | 0000111111110000 | 0000110011000000 | +| 0001001000110100 | 1001100001110110 | 0001000000110100 |`; diff --git a/web-ide-main/projects/src/project_01/09_or16.ts b/web-ide-main/projects/src/project_01/09_or16.ts new file mode 100644 index 0000000..81852cd --- /dev/null +++ b/web-ide-main/projects/src/project_01/09_or16.ts @@ -0,0 +1,61 @@ +export const cmp = `| a | b | out | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1111111111111111 | +| 1111111111111111 | 1111111111111111 | 1111111111111111 | +| 1010101010101010 | 0101010101010101 | 1111111111111111 | +| 0011110011000011 | 0000111111110000 | 0011111111110011 | +| 0001001000110100 | 1001100001110110 | 1001101001110110 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Or16.hdl +/** + * 16-bit Or gate: + * for i = 0, ..., 15: + * out[i] = a[i] Or b[i] + */ +CHIP Or16 { + IN a[16], b[16]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Or16.tst + +load Or16.hdl, +compare-to Or16.cmp, +output-list a%B1.16.1 b%B1.16.1 out%B1.16.1; + +set a %B0000000000000000, +set b %B0000000000000000, +eval, +output; + +set a %B0000000000000000, +set b %B1111111111111111, +eval, +output; + +set a %B1111111111111111, +set b %B1111111111111111, +eval, +output; + +set a %B1010101010101010, +set b %B0101010101010101, +eval, +output; + +set a %B0011110011000011, +set b %B0000111111110000, +eval, +output; + +set a %B0001001000110100, +set b %B1001100001110110, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/10_mux16.ts b/web-ide-main/projects/src/project_01/10_mux16.ts new file mode 100644 index 0000000..4041639 --- /dev/null +++ b/web-ide-main/projects/src/project_01/10_mux16.ts @@ -0,0 +1,73 @@ +export const cmp = `| a | b |sel| out | +| 0000000000000000 | 0000000000000000 | 0 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 1 | 0000000000000000 | +| 0000000000000000 | 0001001000110100 | 0 | 0000000000000000 | +| 0000000000000000 | 0001001000110100 | 1 | 0001001000110100 | +| 1001100001110110 | 0000000000000000 | 0 | 1001100001110110 | +| 1001100001110110 | 0000000000000000 | 1 | 0000000000000000 | +| 1010101010101010 | 0101010101010101 | 0 | 1010101010101010 | +| 1010101010101010 | 0101010101010101 | 1 | 0101010101010101 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux16.hdl +/** + * 16-bit multiplexor: + * for i = 0, ..., 15: + * if (sel = 0) out[i] = a[i], else out[i] = b[i] + */ +CHIP Mux16 { + IN a[16], b[16], sel; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux16.tst + +load Mux16.hdl, +compare-to Mux16.cmp, +output-list a%B1.16.1 b%B1.16.1 sel out%B1.16.1; + +set a 0, +set b 0, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set a %B0000000000000000, +set b %B0001001000110100, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set a %B1001100001110110, +set b %B0000000000000000, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set a %B1010101010101010, +set b %B0101010101010101, +set sel 0, +eval, +output; + +set sel 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/11_mux4way16.ts b/web-ide-main/projects/src/project_01/11_mux4way16.ts new file mode 100644 index 0000000..88662c7 --- /dev/null +++ b/web-ide-main/projects/src/project_01/11_mux4way16.ts @@ -0,0 +1,75 @@ +export const cmp = `| a | b | c | d | sel | out | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 00 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 01 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 10 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 11 | 0000000000000000 | +| 0001001000110100 | 1001100001110110 | 1010101010101010 | 0101010101010101 | 00 | 0001001000110100 | +| 0001001000110100 | 1001100001110110 | 1010101010101010 | 0101010101010101 | 01 | 1001100001110110 | +| 0001001000110100 | 1001100001110110 | 1010101010101010 | 0101010101010101 | 10 | 1010101010101010 | +| 0001001000110100 | 1001100001110110 | 1010101010101010 | 0101010101010101 | 11 | 0101010101010101 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux4Way16.hdl +/** + * 4-way 16-bit multiplexor: + * out = a if sel = 00 + * b if sel = 01 + * c if sel = 10 + * d if sel = 11 + */ +CHIP Mux4Way16 { + IN a[16], b[16], c[16], d[16], sel[2]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux4Way16.tst + +load Mux4Way16.hdl, +compare-to Mux4Way16.cmp, +output-list a%B1.16.1 b%B1.16.1 c%B1.16.1 d%B1.16.1 sel%B2.2.2 out%B1.16.1; + +set a 0, +set b 0, +set c 0, +set d 0, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set sel 2, +eval, +output; + +set sel 3, +eval, +output; + +set a %B0001001000110100, +set b %B1001100001110110, +set c %B1010101010101010, +set d %B0101010101010101, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set sel 2, +eval, +output; + +set sel 3, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/12_mux8way16.ts b/web-ide-main/projects/src/project_01/12_mux8way16.ts new file mode 100644 index 0000000..71f40cb --- /dev/null +++ b/web-ide-main/projects/src/project_01/12_mux8way16.ts @@ -0,0 +1,129 @@ +export const cmp = `| a | b | c | d | e | f | g | h | sel | out | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 000 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 001 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 010 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 011 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 100 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 101 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 110 | 0000000000000000 | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 0000000000000000 | 111 | 0000000000000000 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 000 | 0001001000110100 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 001 | 0010001101000101 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 010 | 0011010001010110 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 011 | 0100010101100111 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 100 | 0101011001111000 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 101 | 0110011110001001 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 110 | 0111100010011010 | +| 0001001000110100 | 0010001101000101 | 0011010001010110 | 0100010101100111 | 0101011001111000 | 0110011110001001 | 0111100010011010 | 1000100110101011 | 111 | 1000100110101011 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux8Way16.hdl +/** + * 8-way 16-bit multiplexor: + * out = a if sel = 000 + * b if sel = 001 + * c if sel = 010 + * d if sel = 011 + * e if sel = 100 + * f if sel = 101 + * g if sel = 110 + * h if sel = 111 + */ +CHIP Mux8Way16 { + IN a[16], b[16], c[16], d[16], + e[16], f[16], g[16], h[16], + sel[3]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Mux8Way16.tst + +load Mux8Way16.hdl, +compare-to Mux8Way16.cmp, +output-list a%B1.16.1 b%B1.16.1 c%B1.16.1 d%B1.16.1 e%B1.16.1 f%B1.16.1 g%B1.16.1 h%B1.16.1 sel%B2.3.2 out%B1.16.1; + +set a 0, +set b 0, +set c 0, +set d 0, +set e 0, +set f 0, +set g 0, +set h 0, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set sel 2, +eval, +output; + +set sel 3, +eval, +output; + +set sel 4, +eval, +output; + +set sel 5, +eval, +output; + +set sel 6, +eval, +output; + +set sel 7, +eval, +output; + +set a %B0001001000110100, +set b %B0010001101000101, +set c %B0011010001010110, +set d %B0100010101100111, +set e %B0101011001111000, +set f %B0110011110001001, +set g %B0111100010011010, +set h %B1000100110101011, +set sel 0, +eval, +output; + +set sel 1, +eval, +output; + +set sel 2, +eval, +output; + +set sel 3, +eval, +output; + +set sel 4, +eval, +output; + +set sel 5, +eval, +output; + +set sel 6, +eval, +output; + +set sel 7, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/13_dmux4way.ts b/web-ide-main/projects/src/project_01/13_dmux4way.ts new file mode 100644 index 0000000..d391617 --- /dev/null +++ b/web-ide-main/projects/src/project_01/13_dmux4way.ts @@ -0,0 +1,70 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/DMux4Way.hdl +/** + * 4-way demultiplexor: + * [a, b, c, d] = [in, 0, 0, 0] if sel = 00 + * [0, in, 0, 0] if sel = 01 + * [0, 0, in, 0] if sel = 10 + * [0, 0, 0, in] if sel = 11 + */ +CHIP DMux4Way { + IN in, sel[2]; + OUT a, b, c, d; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/DMux4Way.tst + +load DMux4Way.hdl, +compare-to DMux4Way.cmp, +output-list in sel%B2.2.2 a b c d; + +set in 0, +set sel %B00, +eval, +output; + +set sel %B01, +eval, +output; + +set sel %B10, +eval, +output; + +set sel %B11, +eval, +output; + +set in 1, +set sel %B00, +eval, +output; + +set sel %B01, +eval, +output; + +set sel %B10, +eval, +output; + +set sel %B11, +eval, +output;`; + +export const cmp = `|in | sel | a | b | c | d | +| 0 | 00 | 0 | 0 | 0 | 0 | +| 0 | 01 | 0 | 0 | 0 | 0 | +| 0 | 10 | 0 | 0 | 0 | 0 | +| 0 | 11 | 0 | 0 | 0 | 0 | +| 1 | 00 | 1 | 0 | 0 | 0 | +| 1 | 01 | 0 | 1 | 0 | 0 | +| 1 | 10 | 0 | 0 | 1 | 0 | +| 1 | 11 | 0 | 0 | 0 | 1 |`; diff --git a/web-ide-main/projects/src/project_01/14_dmux8way.ts b/web-ide-main/projects/src/project_01/14_dmux8way.ts new file mode 100644 index 0000000..b554ca8 --- /dev/null +++ b/web-ide-main/projects/src/project_01/14_dmux8way.ts @@ -0,0 +1,115 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/DMux8Way.hdl +/** + * 8-way demultiplexor: + * [a, b, c, d, e, f, g, h] = [in, 0, 0, 0, 0, 0, 0, 0] if sel = 000 + * [0, in, 0, 0, 0, 0, 0, 0] if sel = 001 + * [0, 0, in, 0, 0, 0, 0, 0] if sel = 010 + * [0, 0, 0, in, 0, 0, 0, 0] if sel = 011 + * [0, 0, 0, 0, in, 0, 0, 0] if sel = 100 + * [0, 0, 0, 0, 0, in, 0, 0] if sel = 101 + * [0, 0, 0, 0, 0, 0, in, 0] if sel = 110 + * [0, 0, 0, 0, 0, 0, 0, in] if sel = 111 + */ +CHIP DMux8Way { + IN in, sel[3]; + OUT a, b, c, d, e, f, g, h; + + PARTS: + //// Replace this comment with your code. +}`; + +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/DMux8Way.tst + +load DMux8Way.hdl, +compare-to DMux8Way.cmp, +output-list in sel%B2.3.2 a b c d e f g h; + +set in 0, +set sel %B000, +eval, +output; + +set sel %B001, +eval, +output; + +set sel %B010, +eval, +output; + +set sel %B011, +eval, +output; + +set sel %B100, +eval, +output; + +set sel %B101, +eval, +output; + +set sel %B110, +eval, +output; + +set sel %B111, +eval, +output; + +set in 1, +set sel %B000, +eval, +output; + +set sel %B001, +eval, +output; + +set sel %B010, +eval, +output; + +set sel %B011, +eval, +output; + +set sel %B100, +eval, +output; + +set sel %B101, +eval, +output; + +set sel %B110, +eval, +output; + +set sel %B111, +eval, +output;`; + +export const cmp = `|in | sel | a | b | c | d | e | f | g | h | +| 0 | 000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 001 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 010 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 011 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 101 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 110 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 0 | 111 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 1 | 000 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| 1 | 001 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | +| 1 | 010 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | +| 1 | 011 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | +| 1 | 100 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | +| 1 | 101 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | +| 1 | 110 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | +| 1 | 111 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |`; diff --git a/web-ide-main/projects/src/project_01/15_or8way.ts b/web-ide-main/projects/src/project_01/15_or8way.ts new file mode 100644 index 0000000..cf14ce1 --- /dev/null +++ b/web-ide-main/projects/src/project_01/15_or8way.ts @@ -0,0 +1,49 @@ +export const cmp = `| in |out| +| 00000000 | 0 | +| 11111111 | 1 | +| 00010000 | 1 | +| 00000001 | 1 | +| 00100110 | 1 |`; +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Or8Way.hdl +/** + * 8-way Or gate: + * out = in[0] Or in[1] Or ... Or in[7] + */ +CHIP Or8Way { + IN in[8]; + OUT out; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/1/Or8Way.tst + +load Or8Way.hdl, +compare-to Or8Way.cmp, +output-list in%B2.8.2 out; + +set in %B00000000, +eval, +output; + +set in %B11111111, +eval, +output; + +set in %B00010000, +eval, +output; + +set in %B00000001, +eval, +output; + +set in %B00100110, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_01/index.ts b/web-ide-main/projects/src/project_01/index.ts new file mode 100644 index 0000000..9110de3 --- /dev/null +++ b/web-ide-main/projects/src/project_01/index.ts @@ -0,0 +1,86 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import { resetBySuffix } from "../reset.js"; +import * as Nand from "./00_nand.js"; +import * as Not from "./01_not.js"; +import * as And from "./02_and.js"; +import * as Or from "./03_or.js"; +import * as Xor from "./04_xor.js"; +import * as Mux from "./05_mux.js"; +import * as DMux from "./06_dmux.js"; +import * as Not16 from "./07_not16.js"; +import * as And16 from "./08_and16.js"; +import * as Or16 from "./09_or16.js"; +import * as Mux16 from "./10_mux16.js"; +import * as Mux4Way16 from "./11_mux4way16.js"; +import * as Mux8Way16 from "./12_mux8way16.js"; +import * as DMux4Way from "./13_dmux4way.js"; +import * as DMux8Way from "./14_dmux8way.js"; +import * as Or8Way from "./15_or8way.js"; + +export const CHIPS = { + "Nand.tst": Nand.tst, + "Nand.cmp": Nand.cmp, + "Not.hdl": Not.hdl, + "Not.tst": Not.tst, + "Not.cmp": Not.cmp, + "And.hdl": And.hdl, + "And.tst": And.tst, + "And.cmp": And.cmp, + "Or.hdl": Or.hdl, + "Or.tst": Or.tst, + "Or.cmp": Or.cmp, + "Xor.hdl": Xor.hdl, + "Xor.tst": Xor.tst, + "Xor.cmp": Xor.cmp, + "Mux.hdl": Mux.hdl, + "Mux.tst": Mux.tst, + "Mux.cmp": Mux.cmp, + "DMux.hdl": DMux.hdl, + "DMux.tst": DMux.tst, + "DMux.cmp": DMux.cmp, + "Not16.hdl": Not16.hdl, + "Not16.tst": Not16.tst, + "Not16.cmp": Not16.cmp, + "And16.hdl": And16.hdl, + "And16.tst": And16.tst, + "And16.cmp": And16.cmp, + "Or16.hdl": Or16.hdl, + "Or16.tst": Or16.tst, + "Or16.cmp": Or16.cmp, + "Mux16.hdl": Mux16.hdl, + "Mux16.tst": Mux16.tst, + "Mux16.cmp": Mux16.cmp, + "Mux4Way16.hdl": Mux4Way16.hdl, + "Mux4Way16.tst": Mux4Way16.tst, + "Mux4Way16.cmp": Mux4Way16.cmp, + "Mux8Way16.hdl": Mux8Way16.hdl, + "Mux8Way16.tst": Mux8Way16.tst, + "Mux8Way16.cmp": Mux8Way16.cmp, + "DMux4Way.hdl": DMux4Way.hdl, + "DMux4Way.tst": DMux4Way.tst, + "DMux4Way.cmp": DMux4Way.cmp, + "DMux8Way.hdl": DMux8Way.hdl, + "DMux8Way.tst": DMux8Way.tst, + "DMux8Way.cmp": DMux8Way.cmp, + "Or8Way.hdl": Or8Way.hdl, + "Or8Way.tst": Or8Way.tst, + "Or8Way.cmp": Or8Way.cmp, +}; + +export const BUILTIN_CHIPS = { + Nand: Nand.hdl, +}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/01"); + await reset(fs, CHIPS); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + await fs.pushd("/projects/01"); + await resetBySuffix(fs, CHIPS, ".tst"); + await resetBySuffix(fs, CHIPS, ".cmp"); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/project_02/01_half_adder.ts b/web-ide-main/projects/src/project_02/01_half_adder.ts new file mode 100644 index 0000000..0a950fd --- /dev/null +++ b/web-ide-main/projects/src/project_02/01_half_adder.ts @@ -0,0 +1,48 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/HalfAdder.hdl +/** + * Computes the sum of two bits. + */ +CHIP HalfAdder { + IN a, b; // 1-bit inputs + OUT sum, // Right bit of a + b + carry; // Left bit of a + b + + PARTS: + //// Replace this comment with your code. +}`; +export const cmp = `| a | b |sum|car| +| 0 | 0 | 0 | 0 | +| 0 | 1 | 1 | 0 | +| 1 | 0 | 1 | 0 | +| 1 | 1 | 0 | 1 |`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/HalfAdder.tst + +load HalfAdder.hdl, +compare-to HalfAdder.cmp, +output-list a b sum carry; + +set a 0, +set b 0, +eval, +output; + +set a 0, +set b 1, +eval, +output; + +set a 1, +set b 0, +eval, +output; + +set a 1, +set b 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_02/02_full_adder.ts b/web-ide-main/projects/src/project_02/02_full_adder.ts new file mode 100644 index 0000000..6067822 --- /dev/null +++ b/web-ide-main/projects/src/project_02/02_full_adder.ts @@ -0,0 +1,70 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/FullAdder.hdl +/** + * Computes the sum of three bits. + */ +CHIP FullAdder { + IN a, b, c; // 1-bit inputs + OUT sum, // Right bit of a + b + c + carry; // Left bit of a + b + c + + PARTS: + //// Replace this comment with your code. +}`; +export const cmp = `| a | b | c |sum|carry| +| 0 | 0 | 0 | 0 | 0 | +| 0 | 0 | 1 | 1 | 0 | +| 0 | 1 | 0 | 1 | 0 | +| 0 | 1 | 1 | 0 | 1 | +| 1 | 0 | 0 | 1 | 0 | +| 1 | 0 | 1 | 0 | 1 | +| 1 | 1 | 0 | 0 | 1 | +| 1 | 1 | 1 | 1 | 1 |`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/FullAdder.tst + +load FullAdder.hdl, +compare-to FullAdder.cmp, +output-list a b c sum carry%B2.1.2; + +set a 0, +set b 0, +set c 0, +eval, +output; + +set c 1, +eval, +output; + +set b 1, +set c 0, +eval, +output; + +set c 1, +eval, +output; + +set a 1, +set b 0, +set c 0, +eval, +output; + +set c 1, +eval, +output; + +set b 1, +set c 0, +eval, +output; + +set c 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_02/03_add16.ts b/web-ide-main/projects/src/project_02/03_add16.ts new file mode 100644 index 0000000..8e17fa1 --- /dev/null +++ b/web-ide-main/projects/src/project_02/03_add16.ts @@ -0,0 +1,60 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/Add16.hdl +/** + * 16-bit adder: Adds two 16-bit two's complement values. + * The most significant carry bit is ignored. + */ +CHIP Add16 { + IN a[16], b[16]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const cmp = `| a | b | out | +| 0000000000000000 | 0000000000000000 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1111111111111111 | +| 1111111111111111 | 1111111111111111 | 1111111111111110 | +| 1010101010101010 | 0101010101010101 | 1111111111111111 | +| 0011110011000011 | 0000111111110000 | 0100110010110011 | +| 0001001000110100 | 1001100001110110 | 1010101010101010 |`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/Add16.tst + +load Add16.hdl, +compare-to Add16.cmp, +output-list a%B1.16.1 b%B1.16.1 out%B1.16.1; + +set a %B0000000000000000, +set b %B0000000000000000, +eval, +output; + +set a %B0000000000000000, +set b %B1111111111111111, +eval, +output; + +set a %B1111111111111111, +set b %B1111111111111111, +eval, +output; + +set a %B1010101010101010, +set b %B0101010101010101, +eval, +output; + +set a %B0011110011000011, +set b %B0000111111110000, +eval, +output; + +set a %B0001001000110100, +set b %B1001100001110110, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_02/04_inc16.ts b/web-ide-main/projects/src/project_02/04_inc16.ts new file mode 100644 index 0000000..13624fb --- /dev/null +++ b/web-ide-main/projects/src/project_02/04_inc16.ts @@ -0,0 +1,45 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/Inc16.hdl +/** + * 16-bit incrementer: + * out = in + 1 + */ +CHIP Inc16 { + IN in[16]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const cmp = `| in | out | +| 0000000000000000 | 0000000000000001 | +| 1111111111111111 | 0000000000000000 | +| 0000000000000101 | 0000000000000110 | +| 1111111111111011 | 1111111111111100 | +`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/Inc16.tst + +load Inc16.hdl, +compare-to Inc16.cmp, +output-list in%B1.16.1 out%B1.16.1; + +set in %B0000000000000000, // in = 0 +eval, +output; + +set in %B1111111111111111, // in = -1 +eval, +output; + +set in %B0000000000000101, // in = 5 +eval, +output; + +set in %B1111111111111011, // in = -5 +eval, +output;`; diff --git a/web-ide-main/projects/src/project_02/05_alu_no_stat.ts b/web-ide-main/projects/src/project_02/05_alu_no_stat.ts new file mode 100644 index 0000000..0329feb --- /dev/null +++ b/web-ide-main/projects/src/project_02/05_alu_no_stat.ts @@ -0,0 +1,422 @@ +export const hdl = `/** + * The ALU (Arithmetic Logic Unit). + * Computes one of the following functions: + * x+y, x-y, y-x, 0, 1, -1, x, y, -x, -y, !x, !y, + * x+1, y+1, x-1, y-1, x&y, x|y on two 16-bit inputs, + * according to 6 input bits denoted zx,nx,zy,ny,f,no. + * In addition, the ALU computes two 1-bit outputs: + * if the ALU output == 0, zr is set to 1; otherwise zr is set to 0; + * if the ALU output < 0, ng is set to 1; otherwise ng is set to 0. + */ + +// Implementation: the ALU logic manipulates the x and y inputs +// and operates on the resulting values, as follows: +// if (zx == 1) set x = 0 // 16-bit constant +// if (nx == 1) set x = !x // bitwise not +// if (zy == 1) set y = 0 // 16-bit constant +// if (ny == 1) set y = !y // bitwise not +// if (f == 1) set out = x + y // integer 2's complement addition +// if (f == 0) set out = x & y // bitwise and +// if (no == 1) set out = !out // bitwise not +// if (out == 0) set zr = 1 +// if (out < 0) set ng = 1 + +CHIP ALU { + IN + x[16], y[16], // 16-bit inputs + zx, // zero the x input? + nx, // negate the x input? + zy, // zero the y input? + ny, // negate the y input? + f, // compute out = x + y (if 1) or x & y (if 0) + no; // negate the out output? + + OUT + out[16]; // 16-bit output + + PARTS: +}`; +export const cmp = `| x | y |zx |nx |zy |ny | f |no | out | +| 0000000000000000 | 1111111111111111 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 0 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 1 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 1 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 1 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 1 | 1 | 1 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 0 | 1111111111111110 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 1 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 1 | 1 | 1 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 0 | 0 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 1 | 0 | 1 | 1111111111111111 | +| 0101101110100000 | 0001111011010010 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 0 | 0 | 0101101110100000 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 0 | 0 | 0001111011010010 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 0 | 1 | 1010010001011111 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 0 | 1 | 1110000100101101 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 1 | 1 | 1010010001100000 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 1 | 1 | 1110000100101110 | +| 0101101110100000 | 0001111011010010 | 0 | 1 | 1 | 1 | 1 | 1 | 0101101110100001 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 1 | 1 | 1 | 0001111011010011 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 1 | 0 | 0101101110011111 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 1 | 0 | 0001111011010001 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 0 | 0 | 1 | 0 | 0111101001110010 | +| 0101101110100000 | 0001111011010010 | 0 | 1 | 0 | 0 | 1 | 1 | 0011110011001110 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 0 | 1 | 1 | 1 | 1100001100110010 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 0 | 0 | 0 | 0 | 0001101010000000 | +| 0101101110100000 | 0001111011010010 | 0 | 1 | 0 | 1 | 0 | 1 | 0101111111110010 | +`; +export const tst = ` +// ALU no stat tst provides a partial test of the ALU chip. +// It IS NOT a replacement for ALU.tst. + +// ALU-nostat.tst tests only the computation part of the ALU. +// The 'zr' and 'ng' status outputs are ignored. + +// This test lets you concentrate on getting the ALU computation right without the +// additional task of handling the status outputs. + +// Once your ALU passes ALU-nostat.tst you need to test it with ALU.tst. +// This way, any comparison failures during ALU.tst will be caused by errors in +// the handling of the 'zr' and 'ng' status outputs. + +output-list x%B1.16.1 y%B1.16.1 zx%B1.1.1 nx%B1.1.1 zy%B1.1.1 + ny%B1.1.1 f%B1.1.1 no%B1.1.1 out%B1.16.1; + +set x %B0000000000000000, +set y %B1111111111111111, + +set zx 1, +set nx 0, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 1, +set f 0, +set no 1, +eval, +output; + +set x %B101101110100000, +set y %B001111011010010, + +set zx 1, +set nx 0, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 1, +set f 0, +set no 1, +eval, +output;`; diff --git a/web-ide-main/projects/src/project_02/06_alu.ts b/web-ide-main/projects/src/project_02/06_alu.ts new file mode 100644 index 0000000..3f3d5a1 --- /dev/null +++ b/web-ide-main/projects/src/project_02/06_alu.ts @@ -0,0 +1,834 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/ALU.hdl +/** + * ALU (Arithmetic Logic Unit): + * Computes out = one of the following functions: + * 0, 1, -1, + * x, y, !x, !y, -x, -y, + * x + 1, y + 1, x - 1, y - 1, + * x + y, x - y, y - x, + * x & y, x | y + * on the 16-bit inputs x, y, + * according to the input bits zx, nx, zy, ny, f, no. + * In addition, computes the two output bits: + * if (out == 0) zr = 1, else zr = 0 + * if (out < 0) ng = 1, else ng = 0 + */ +// Implementation: Manipulates the x and y inputs +// and operates on the resulting values, as follows: +// if (zx == 1) sets x = 0 // 16-bit constant +// if (nx == 1) sets x = !x // bitwise not +// if (zy == 1) sets y = 0 // 16-bit constant +// if (ny == 1) sets y = !y // bitwise not +// if (f == 1) sets out = x + y // integer 2's complement addition +// if (f == 0) sets out = x & y // bitwise and +// if (no == 1) sets out = !out // bitwise not + +CHIP ALU { + IN + x[16], y[16], // 16-bit inputs + zx, // zero the x input? + nx, // negate the x input? + zy, // zero the y input? + ny, // negate the y input? + f, // compute (out = x + y) or (out = x & y)? + no; // negate the out output? + OUT + out[16], // 16-bit output + zr, // if (out == 0) equals 1, else 0 + ng; // if (out < 0) equals 1, else 0 + + PARTS: + //// Replace this comment with your code. +}`; +export const cmp = `| x | y |zx |nx |zy |ny | f |no | out |zr |ng | +| 0000000000000000 | 1111111111111111 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 1 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 1 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 1 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 1 | 1 | 1 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 0 | 1111111111111110 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 1 | 1 | 1 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 0 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 1 | 0 | 1 | 1111111111111111 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 0 | 0 | 0000000000010001 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 0 | 0 | 0000000000000011 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 0 | 1 | 1111111111101110 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 0 | 1 | 1111111111111100 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 1 | 1 | 1111111111101111 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 1 | 1 | 1111111111111101 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 1 | 1 | 1 | 1 | 1 | 0000000000010010 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 1 | 1 | 1 | 0000000000000100 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 1 | 0 | 0000000000010000 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 1 | 0 | 0000000000000010 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 0 | 0 | 1 | 0 | 0000000000010100 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 1 | 0 | 0 | 1 | 1 | 0000000000001110 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 0 | 1 | 1 | 1 | 1111111111110010 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 0 | 0 | 0 | 0 | 0000000000000001 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 1 | 0 | 1 | 0 | 1 | 0000000000010011 | 0 | 0 |`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/ALU.tst + +load ALU.hdl, +compare-to ALU.cmp, +output-list x%B1.16.1 y%B1.16.1 zx nx zy ny f no out zr ng; + +set x %B0000000000000000, // x = 0 +set y %B1111111111111111; // y = -1 + +// Compute 0 +set zx 1, +set nx 0, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute 1 +set zx 1, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute -1 +set zx 1, +set nx 1, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute x +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 0, +eval, +output; + +// Compute y +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +// Compute !x +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 1, +eval, +output; + +// Compute !y +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 1, +eval, +output; + +// Compute -x +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute -y +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +// Compute x + 1 +set zx 0, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute y + 1 +set zx 1, +set nx 1, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute x - 1 +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 0, +eval, +output; + +// Compute y - 1 +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute x + y +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute x - y +set zx 0, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +// Compute y - x +set zx 0, +set nx 0, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute x & y +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +// Compute x | y +set zx 0, +set nx 1, +set zy 0, +set ny 1, +set f 0, +set no 1, +eval, +output; + +set x %B000000000010001, // x = 17 +set y %B000000000000011; // y = 3 + +// Compute 0 +set zx 1, +set nx 0, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute 1 +set zx 1, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute -1 +set zx 1, +set nx 1, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute x +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 0, +eval, +output; + +// Compute y +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +// Compute !x +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 1, +eval, +output; + +// Compute !y +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 1, +eval, +output; + +// Compute -x +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute -y +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +// Compute x + 1 +set zx 0, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute y + 1 +set zx 1, +set nx 1, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute x - 1 +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 0, +eval, +output; + +// Compute y - 1 +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute x + y +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +// Compute x - y +set zx 0, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +// Compute y - x +set zx 0, +set nx 0, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +// Compute x & y +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +// Compute x | y +set zx 0, +set nx 1, +set zy 0, +set ny 1, +set f 0, +set no 1, +eval, +output;`; +export const basic_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/2/ALU-basic.tst + +// Tests the basic version of the ALU chip. +// DOES NOT replace the final test provided by ALU.tst. +// Specifically: Tests the ALU logic that computes the 'out' output; +// The 'zr' and 'ng' output bits are ignored. + +output-list x%B1.16.1 y%B1.16.1 zx nx zy ny f no out%B1.16.1; + +set x %B0000000000000000, +set y %B1111111111111111, + +set zx 1, +set nx 0, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 1, +set f 0, +set no 1, +eval, +output; + +set x %B101101110100000, +set y %B001111011010010, + +set zx 1, +set nx 0, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 1, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 0, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 0, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 1, +set zy 1, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 1, +set ny 1, +set f 1, +set no 0, +eval, +output; + +set zx 1, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 1, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 0, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 1, +set f 1, +set no 1, +eval, +output; + +set zx 0, +set nx 0, +set zy 0, +set ny 0, +set f 0, +set no 0, +eval, +output; + +set zx 0, +set nx 1, +set zy 0, +set ny 1, +set f 0, +set no 1, +eval, +output;`; +export const basic_cmp = `| x | y |zx |nx |zy |ny | f |no | out | +| 0000000000000000 | 1111111111111111 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 0 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 1 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 1 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 1 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 1 | 1 | 1 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 0 | 1111111111111110 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 1 | 0 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 1 | 1 | 1 | 1111111111111111 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 0 | 0 | 0000000000000000 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 1 | 0 | 1 | 1111111111111111 | +| 0101101110100000 | 0001111011010010 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 0 | 0 | 0101101110100000 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 0 | 0 | 0001111011010010 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 0 | 1 | 1010010001011111 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 0 | 1 | 1110000100101101 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 1 | 1 | 1010010001100000 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 1 | 1 | 1110000100101110 | +| 0101101110100000 | 0001111011010010 | 0 | 1 | 1 | 1 | 1 | 1 | 0101101110100001 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 1 | 1 | 1 | 0001111011010011 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 1 | 1 | 1 | 0 | 0101101110011111 | +| 0101101110100000 | 0001111011010010 | 1 | 1 | 0 | 0 | 1 | 0 | 0001111011010001 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 0 | 0 | 1 | 0 | 0111101001110010 | +| 0101101110100000 | 0001111011010010 | 0 | 1 | 0 | 0 | 1 | 1 | 0011110011001110 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 0 | 1 | 1 | 1 | 1100001100110010 | +| 0101101110100000 | 0001111011010010 | 0 | 0 | 0 | 0 | 0 | 0 | 0001101010000000 | +| 0101101110100000 | 0001111011010010 | 0 | 1 | 0 | 1 | 0 | 1 | 0101111111110010 |`; diff --git a/web-ide-main/projects/src/project_02/06_alu_all.ts b/web-ide-main/projects/src/project_02/06_alu_all.ts new file mode 100644 index 0000000..0cf4a0a --- /dev/null +++ b/web-ide-main/projects/src/project_02/06_alu_all.ts @@ -0,0 +1,245 @@ +export const hdl = `/** + * The ALU (Arithmetic Logic Unit). + * Computes one of the following functions: + * x+y, x-y, y-x, 0, 1, -1, x, y, -x, -y, !x, !y, + * x+1, y+1, x-1, y-1, x&y, x|y on two 16-bit inputs, + * according to 6 input bits denoted zx,nx,zy,ny,f,no. + * + * All operations: + * Ensure your solution handles these undocumented opcodes: + * + * -2, !(x&y), !(x|y), !x&y, !(!x&y), !(x&!y), x&!y + * x+y+1, x-y-1, -(x+2), -(y+2), -(x+y+2), -(x+y+1), -(x-y+1) + * + * In addition, the ALU computes two 1-bit outputs: + * if the ALU output == 0, zr is set to 1; otherwise zr is set to 0; + * if the ALU output < 0, ng is set to 1; otherwise ng is set to 0. + */ + +// Implementation: the ALU logic manipulates the x and y inputs +// and operates on the resulting values, as follows: +// if (zx == 1) set x = 0 // 16-bit constant +// if (nx == 1) set x = !x // bitwise not +// if (zy == 1) set y = 0 // 16-bit constant +// if (ny == 1) set y = !y // bitwise not +// if (f == 1) set out = x + y // integer 2's complement addition +// if (f == 0) set out = x & y // bitwise and +// if (no == 1) set out = !out // bitwise not +// if (out == 0) set zr = 1 +// if (out < 0) set ng = 1 + +// Testing: the test script below has tests for the undocumented instructions +// listed first, and then has the tests for the documented ALU instructions. + +CHIP ALU { + IN + x[16], y[16], // 16-bit inputs + zx, // zero the x input? + nx, // negate the x input? + zy, // zero the y input? + ny, // negate the y input? + f, // compute out = x + y (if 1) or x & y (if 0) + no; // negate the out output? + + OUT + out[16], // 16-bit output + zr, // 1 if (out == 0), 0 otherwise + ng; // 1 if (out < 0), 0 otherwise + + PARTS: + // Put you code here: +}`; +export const cmp = `| x | y |zx |nx |zy |ny | f |no | out |zr |ng | +| 0000000000000000 | 0000000000000000 | 1 | 1 | 1 | 1 | 1 | 0 | 1111111111111110 | 0 | 1 | +| 0000000000000011 | 0000000000000101 | 0 | 0 | 0 | 0 | 0 | 1 | 1111111111111110 | 0 | 1 | +| 0000000000000011 | 0000000000000101 | 0 | 1 | 0 | 1 | 0 | 0 | 1111111111111000 | 0 | 1 | +| 0000000000000011 | 0000000000000101 | 0 | 1 | 0 | 0 | 0 | 0 | 1111111111110100 | 0 | 1 | +| 0000000000000011 | 0000000000000101 | 0 | 1 | 0 | 0 | 0 | 1 | 1111111111111011 | 0 | 1 | +| 0000000000000011 | 0000000000000101 | 0 | 0 | 0 | 1 | 0 | 1 | 1111111111111101 | 0 | 1 | +| 0000000000000011 | 0000000000000101 | 0 | 0 | 0 | 1 | 0 | 0 | 1111111111110010 | 0 | 1 | +| 0000000000001101 | 0000000000010011 | 0 | 1 | 0 | 1 | 1 | 1 | 0000000000100001 | 0 | 0 | +| 0000000000001101 | 0000000000010011 | 0 | 0 | 0 | 1 | 1 | 0 | 1111111111111001 | 0 | 1 | +| 0000000000001101 | 0000000000010011 | 0 | 1 | 1 | 1 | 1 | 0 | 1111111111110001 | 0 | 1 | +| 0000000000001101 | 0000000000010011 | 1 | 1 | 0 | 1 | 1 | 0 | 1111111111101011 | 0 | 1 | +| 0000000000001101 | 0000000000010011 | 0 | 1 | 0 | 1 | 1 | 0 | 1111111111011110 | 0 | 1 | +| 0000000000001101 | 0000000000010011 | 0 | 0 | 0 | 0 | 1 | 1 | 1111111111011111 | 0 | 1 | +| 0000000000001101 | 0000000000010011 | 0 | 1 | 0 | 0 | 1 | 0 | 0000000000000101 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 0 | 1 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 0 | 1 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 1 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 1 | 1 | 1 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 1 | 1 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 1 | 1 | 0 | 0 | 1 | 0 | 1111111111111110 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 0 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 1 | 1 | 1 | 1111111111111111 | 0 | 1 | +| 0000000000000000 | 1111111111111111 | 0 | 0 | 0 | 0 | 0 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000000000 | 1111111111111111 | 0 | 1 | 0 | 1 | 0 | 1 | 1111111111111111 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 1 | 0 | 1 | 0 | 1 | 0 | 0000000000000000 | 1 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 1 | 1 | 1 | 1 | 0000000000000001 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 1 | 0 | 1 | 0 | 1111111111111111 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 0 | 0 | 0000000000010001 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 0 | 0 | 0000000000000011 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 0 | 1 | 1111111111101110 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 0 | 1 | 1111111111111100 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 1 | 1 | 1111111111101111 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 1 | 1 | 1111111111111101 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 1 | 1 | 1 | 1 | 1 | 0000000000010010 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 1 | 1 | 1 | 0000000000000100 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 1 | 1 | 1 | 0 | 0000000000010000 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 1 | 1 | 0 | 0 | 1 | 0 | 0000000000000010 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 0 | 0 | 1 | 0 | 0000000000010100 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 1 | 0 | 0 | 1 | 1 | 0000000000001110 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 0 | 1 | 1 | 1 | 1111111111110010 | 0 | 1 | +| 0000000000010001 | 0000000000000011 | 0 | 0 | 0 | 0 | 0 | 0 | 0000000000000001 | 0 | 0 | +| 0000000000010001 | 0000000000000011 | 0 | 1 | 0 | 1 | 0 | 1 | 0000000000010011 | 0 | 0 |`; +export const tst = `output-list x%B1.16.1 y%B1.16.1 zx%B1.1.1 nx%B1.1.1 zy%B1.1.1 +ny%B1.1.1 f%B1.1.1 no%B1.1.1 out%B1.16.1 zr%B1.1.1 +ng%B1.1.1; + +// Compute -2 +set x %B0000000000000000, +set y %B0000000000000000, +set zx 1, set nx 1, set zy 1, set ny 1, set f 1, set no 0, eval, output; + +set x %B0000000000000011, +set y %B0000000000000101; + +set zx 0, set nx 0, set zy 0, set ny 0, set f 0, set no 1, eval, output; +set zx 0, set nx 1, set zy 0, set ny 1, set f 0, set no 0, eval, output; +set zx 0, set nx 1, set zy 0, set ny 0, set f 0, set no 0, eval, output; +set zx 0, set nx 1, set zy 0, set ny 0, set f 0, set no 1, eval, output; +set zx 0, set nx 0, set zy 0, set ny 1, set f 0, set no 1, eval, output; +set zx 0, set nx 0, set zy 0, set ny 1, set f 0, set no 0, eval, output; + +set x %B0000000000001101, // x = 13 +set y %B0000000000010011; // y = 19 + +set zx 0, set nx 1, set zy 0, set ny 1, set f 1, set no 1, eval, output; +set zx 0, set nx 0, set zy 0, set ny 1, set f 1, set no 0, eval, output; +set zx 0, set nx 1, set zy 1, set ny 1, set f 1, set no 0, eval, output; +set zx 1, set nx 1, set zy 0, set ny 1, set f 1, set no 0, eval, output; +set zx 0, set nx 1, set zy 0, set ny 1, set f 1, set no 0, eval, output; +set zx 0, set nx 0, set zy 0, set ny 0, set f 1, set no 1, eval, output; +set zx 0, set nx 1, set zy 0, set ny 0, set f 1, set no 0, eval, output; + +set x %B0000000000000000, // x = 0 +set y %B1111111111111111; // y = -1 + +// Compute 0 +set zx 1, set nx 0, set zy 1, set ny 0, set f 1, set no 0, eval, output; + +// Compute 1 +set zx 1, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; + +// Compute -1 +set zx 1, set nx 1, set zy 1, set ny 0, set f 1, set no 0, eval, output; + +// Compute x +set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 0, eval, output; + +// Compute y +set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 0, eval, output; + +// Compute !x +set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 1, eval, output; + +// Compute !y +set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 1, eval, output; + +// Compute -x +set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 1, eval, output; + +// Compute -y +set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; + +// Compute x + 1 +set zx 0, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; + +// Compute y + 1 +set zx 1, set nx 1, set zy 0, set ny 1, set f 1, set no 1, eval, output; + +// Compute x - 1 +set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 0, eval, output; + +// Compute y - 1 +set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 0, eval, output; + +// Compute x + y +set zx 0, set nx 0, set zy 0, set ny 0, set f 1, set no 0, eval, output; + +// Compute x - y +set zx 0, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; + +// Compute y - x +set zx 0, set nx 0, set zy 0, set ny 1, set f 1, set no 1, eval, output; + +// Compute x & y +set zx 0, set nx 0, set zy 0, set ny 0, set f 0, set no 0, eval, output; + +// Compute x | y +set zx 0, set nx 1, set zy 0, set ny 1, set f 0, set no 1, eval, output; + +set x %B000000000010001, // x = 17 +set y %B000000000000011; // y = 3 + +// Compute 0 +set zx 1, set nx 0, set zy 1, set ny 0, set f 1, set no 0, eval, output; + +// Compute 1 +set zx 1, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; + +// Compute -1 +set zx 1, set nx 1, set zy 1, set ny 0, set f 1, set no 0, eval, output; + +// Compute x +set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 0, eval, output; + +// Compute y +set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 0, eval, output; + +// Compute !x +set zx 0, set nx 0, set zy 1, set ny 1, set f 0, set no 1, eval, output; + +// Compute !y +set zx 1, set nx 1, set zy 0, set ny 0, set f 0, set no 1, eval, output; + +// Compute -x +set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 1, eval, output; + +// Compute -y +set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; + +// Compute x + 1 +set zx 0, set nx 1, set zy 1, set ny 1, set f 1, set no 1, eval, output; + +// Compute y + 1 +set zx 1, set nx 1, set zy 0, set ny 1, set f 1, set no 1, eval, output; + +// Compute x - 1 +set zx 0, set nx 0, set zy 1, set ny 1, set f 1, set no 0, eval, output; + +// Compute y - 1 +set zx 1, set nx 1, set zy 0, set ny 0, set f 1, set no 0, eval, output; + +// Compute x + y +set zx 0, set nx 0, set zy 0, set ny 0, set f 1, set no 0, eval, output; + +// Compute x - y +set zx 0, set nx 1, set zy 0, set ny 0, set f 1, set no 1, eval, output; + +// Compute y - x +set zx 0, set nx 0, set zy 0, set ny 1, set f 1, set no 1, eval, output; + +// Compute x & y +set zx 0, set nx 0, set zy 0, set ny 0, set f 0, set no 0, eval, output; + +// Compute x | y +set zx 0, set nx 1, set zy 0, set ny 1, set f 0, set no 1, eval, output;`; diff --git a/web-ide-main/projects/src/project_02/index.ts b/web-ide-main/projects/src/project_02/index.ts new file mode 100644 index 0000000..9f83555 --- /dev/null +++ b/web-ide-main/projects/src/project_02/index.ts @@ -0,0 +1,43 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import { resetBySuffix } from "../reset.js"; +import * as HalfAdder from "./01_half_adder.js"; +import * as FullAdder from "./02_full_adder.js"; +import * as Add16 from "./03_add16.js"; +import * as Inc16 from "./04_inc16.js"; +import * as Alu from "./06_alu.js"; + +export const CHIPS = { + "HalfAdder.hdl": HalfAdder.hdl, + "HalfAdder.tst": HalfAdder.tst, + "HalfAdder.cmp": HalfAdder.cmp, + "FullAdder.hdl": FullAdder.hdl, + "FullAdder.tst": FullAdder.tst, + "FullAdder.cmp": FullAdder.cmp, + "Add16.hdl": Add16.hdl, + "Add16.tst": Add16.tst, + "Add16.cmp": Add16.cmp, + "Inc16.hdl": Inc16.hdl, + "Inc16.tst": Inc16.tst, + "Inc16.cmp": Inc16.cmp, + "ALU.hdl": Alu.hdl, + "ALU.tst": Alu.tst, + "ALU.cmp": Alu.cmp, + "ALU-basic.tst": Alu.basic_tst, + "ALU-basic.cmp": Alu.basic_cmp, +}; + +export const BUILTIN_CHIPS = {}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/02"); + await reset(fs, CHIPS); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + await fs.pushd("/projects/02"); + await resetBySuffix(fs, CHIPS, ".tst"); + await resetBySuffix(fs, CHIPS, ".cmp"); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/project_03/00_dff.ts b/web-ide-main/projects/src/project_03/00_dff.ts new file mode 100644 index 0000000..e4726f0 --- /dev/null +++ b/web-ide-main/projects/src/project_03/00_dff.ts @@ -0,0 +1,17 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/03/DFF.hdl +/** + * Data Flip-flop: + * maintains its current value: + * out(t+1) = in(t) + */ +CHIP DFF { + IN in; + OUT out; + + PARTS: + BUILTIN DFF; + CLOCKED in; +}`; diff --git a/web-ide-main/projects/src/project_03/01_bit.ts b/web-ide-main/projects/src/project_03/01_bit.ts new file mode 100644 index 0000000..310bbcf --- /dev/null +++ b/web-ide-main/projects/src/project_03/01_bit.ts @@ -0,0 +1,1096 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/Bit.hdl +/** + * 1-bit register: + * If load is asserted, the register's value is set to in; + * Otherwise, the register maintains its current value: + * if (load(t)) out(t+1) = in(t), else out(t+1) = out(t) + */ +CHIP Bit { + IN in, load; + OUT out; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/Bit.tst + +load Bit.hdl, +compare-to Bit.cmp, +output-list time%S1.4.1 in load%B1.1.2 out; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 1, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 1, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 1, +tick, +output; + +tock, +output; + +set in 1, +set load 1, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 1, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output; + +set in 1, +set load 0, +tick, +output; + +tock, +output;`; +export const cmp = `| time |in |load|out| +| 0+ | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | +| 2 | 0 | 1 | 0 | +| 2+ | 1 | 0 | 0 | +| 3 | 1 | 0 | 0 | +| 3+ | 1 | 1 | 0 | +| 4 | 1 | 1 | 1 | +| 4+ | 0 | 0 | 1 | +| 5 | 0 | 0 | 1 | +| 5+ | 1 | 0 | 1 | +| 6 | 1 | 0 | 1 | +| 6+ | 0 | 1 | 1 | +| 7 | 0 | 1 | 0 | +| 7+ | 1 | 1 | 0 | +| 8 | 1 | 1 | 1 | +| 8+ | 0 | 0 | 1 | +| 9 | 0 | 0 | 1 | +| 9+ | 0 | 0 | 1 | +| 10 | 0 | 0 | 1 | +| 10+ | 0 | 0 | 1 | +| 11 | 0 | 0 | 1 | +| 11+ | 0 | 0 | 1 | +| 12 | 0 | 0 | 1 | +| 12+ | 0 | 0 | 1 | +| 13 | 0 | 0 | 1 | +| 13+ | 0 | 0 | 1 | +| 14 | 0 | 0 | 1 | +| 14+ | 0 | 0 | 1 | +| 15 | 0 | 0 | 1 | +| 15+ | 0 | 0 | 1 | +| 16 | 0 | 0 | 1 | +| 16+ | 0 | 0 | 1 | +| 17 | 0 | 0 | 1 | +| 17+ | 0 | 0 | 1 | +| 18 | 0 | 0 | 1 | +| 18+ | 0 | 0 | 1 | +| 19 | 0 | 0 | 1 | +| 19+ | 0 | 0 | 1 | +| 20 | 0 | 0 | 1 | +| 20+ | 0 | 0 | 1 | +| 21 | 0 | 0 | 1 | +| 21+ | 0 | 0 | 1 | +| 22 | 0 | 0 | 1 | +| 22+ | 0 | 0 | 1 | +| 23 | 0 | 0 | 1 | +| 23+ | 0 | 0 | 1 | +| 24 | 0 | 0 | 1 | +| 24+ | 0 | 0 | 1 | +| 25 | 0 | 0 | 1 | +| 25+ | 0 | 0 | 1 | +| 26 | 0 | 0 | 1 | +| 26+ | 0 | 0 | 1 | +| 27 | 0 | 0 | 1 | +| 27+ | 0 | 0 | 1 | +| 28 | 0 | 0 | 1 | +| 28+ | 0 | 0 | 1 | +| 29 | 0 | 0 | 1 | +| 29+ | 0 | 0 | 1 | +| 30 | 0 | 0 | 1 | +| 30+ | 0 | 0 | 1 | +| 31 | 0 | 0 | 1 | +| 31+ | 0 | 0 | 1 | +| 32 | 0 | 0 | 1 | +| 32+ | 0 | 0 | 1 | +| 33 | 0 | 0 | 1 | +| 33+ | 0 | 0 | 1 | +| 34 | 0 | 0 | 1 | +| 34+ | 0 | 0 | 1 | +| 35 | 0 | 0 | 1 | +| 35+ | 0 | 0 | 1 | +| 36 | 0 | 0 | 1 | +| 36+ | 0 | 0 | 1 | +| 37 | 0 | 0 | 1 | +| 37+ | 0 | 0 | 1 | +| 38 | 0 | 0 | 1 | +| 38+ | 0 | 0 | 1 | +| 39 | 0 | 0 | 1 | +| 39+ | 0 | 0 | 1 | +| 40 | 0 | 0 | 1 | +| 40+ | 0 | 0 | 1 | +| 41 | 0 | 0 | 1 | +| 41+ | 0 | 0 | 1 | +| 42 | 0 | 0 | 1 | +| 42+ | 0 | 0 | 1 | +| 43 | 0 | 0 | 1 | +| 43+ | 0 | 0 | 1 | +| 44 | 0 | 0 | 1 | +| 44+ | 0 | 0 | 1 | +| 45 | 0 | 0 | 1 | +| 45+ | 0 | 0 | 1 | +| 46 | 0 | 0 | 1 | +| 46+ | 0 | 0 | 1 | +| 47 | 0 | 0 | 1 | +| 47+ | 0 | 0 | 1 | +| 48 | 0 | 0 | 1 | +| 48+ | 0 | 0 | 1 | +| 49 | 0 | 0 | 1 | +| 49+ | 0 | 0 | 1 | +| 50 | 0 | 0 | 1 | +| 50+ | 0 | 0 | 1 | +| 51 | 0 | 0 | 1 | +| 51+ | 0 | 0 | 1 | +| 52 | 0 | 0 | 1 | +| 52+ | 0 | 0 | 1 | +| 53 | 0 | 0 | 1 | +| 53+ | 0 | 0 | 1 | +| 54 | 0 | 0 | 1 | +| 54+ | 0 | 0 | 1 | +| 55 | 0 | 0 | 1 | +| 55+ | 0 | 0 | 1 | +| 56 | 0 | 0 | 1 | +| 56+ | 0 | 0 | 1 | +| 57 | 0 | 0 | 1 | +| 57+ | 0 | 1 | 1 | +| 58 | 0 | 1 | 0 | +| 58+ | 1 | 0 | 0 | +| 59 | 1 | 0 | 0 | +| 59+ | 1 | 0 | 0 | +| 60 | 1 | 0 | 0 | +| 60+ | 1 | 0 | 0 | +| 61 | 1 | 0 | 0 | +| 61+ | 1 | 0 | 0 | +| 62 | 1 | 0 | 0 | +| 62+ | 1 | 0 | 0 | +| 63 | 1 | 0 | 0 | +| 63+ | 1 | 0 | 0 | +| 64 | 1 | 0 | 0 | +| 64+ | 1 | 0 | 0 | +| 65 | 1 | 0 | 0 | +| 65+ | 1 | 0 | 0 | +| 66 | 1 | 0 | 0 | +| 66+ | 1 | 0 | 0 | +| 67 | 1 | 0 | 0 | +| 67+ | 1 | 0 | 0 | +| 68 | 1 | 0 | 0 | +| 68+ | 1 | 0 | 0 | +| 69 | 1 | 0 | 0 | +| 69+ | 1 | 0 | 0 | +| 70 | 1 | 0 | 0 | +| 70+ | 1 | 0 | 0 | +| 71 | 1 | 0 | 0 | +| 71+ | 1 | 0 | 0 | +| 72 | 1 | 0 | 0 | +| 72+ | 1 | 0 | 0 | +| 73 | 1 | 0 | 0 | +| 73+ | 1 | 0 | 0 | +| 74 | 1 | 0 | 0 | +| 74+ | 1 | 0 | 0 | +| 75 | 1 | 0 | 0 | +| 75+ | 1 | 0 | 0 | +| 76 | 1 | 0 | 0 | +| 76+ | 1 | 0 | 0 | +| 77 | 1 | 0 | 0 | +| 77+ | 1 | 0 | 0 | +| 78 | 1 | 0 | 0 | +| 78+ | 1 | 0 | 0 | +| 79 | 1 | 0 | 0 | +| 79+ | 1 | 0 | 0 | +| 80 | 1 | 0 | 0 | +| 80+ | 1 | 0 | 0 | +| 81 | 1 | 0 | 0 | +| 81+ | 1 | 0 | 0 | +| 82 | 1 | 0 | 0 | +| 82+ | 1 | 0 | 0 | +| 83 | 1 | 0 | 0 | +| 83+ | 1 | 0 | 0 | +| 84 | 1 | 0 | 0 | +| 84+ | 1 | 0 | 0 | +| 85 | 1 | 0 | 0 | +| 85+ | 1 | 0 | 0 | +| 86 | 1 | 0 | 0 | +| 86+ | 1 | 0 | 0 | +| 87 | 1 | 0 | 0 | +| 87+ | 1 | 0 | 0 | +| 88 | 1 | 0 | 0 | +| 88+ | 1 | 0 | 0 | +| 89 | 1 | 0 | 0 | +| 89+ | 1 | 0 | 0 | +| 90 | 1 | 0 | 0 | +| 90+ | 1 | 0 | 0 | +| 91 | 1 | 0 | 0 | +| 91+ | 1 | 0 | 0 | +| 92 | 1 | 0 | 0 | +| 92+ | 1 | 0 | 0 | +| 93 | 1 | 0 | 0 | +| 93+ | 1 | 0 | 0 | +| 94 | 1 | 0 | 0 | +| 94+ | 1 | 0 | 0 | +| 95 | 1 | 0 | 0 | +| 95+ | 1 | 0 | 0 | +| 96 | 1 | 0 | 0 | +| 96+ | 1 | 0 | 0 | +| 97 | 1 | 0 | 0 | +| 97+ | 1 | 0 | 0 | +| 98 | 1 | 0 | 0 | +| 98+ | 1 | 0 | 0 | +| 99 | 1 | 0 | 0 | +| 99+ | 1 | 0 | 0 | +| 100 | 1 | 0 | 0 | +| 100+ | 1 | 0 | 0 | +| 101 | 1 | 0 | 0 | +| 101+ | 1 | 0 | 0 | +| 102 | 1 | 0 | 0 | +| 102+ | 1 | 0 | 0 | +| 103 | 1 | 0 | 0 | +| 103+ | 1 | 0 | 0 | +| 104 | 1 | 0 | 0 | +| 104+ | 1 | 0 | 0 | +| 105 | 1 | 0 | 0 | +| 105+ | 1 | 0 | 0 | +| 106 | 1 | 0 | 0 | +| 106+ | 1 | 0 | 0 | +| 107 | 1 | 0 | 0 |`; diff --git a/web-ide-main/projects/src/project_03/02_register.ts b/web-ide-main/projects/src/project_03/02_register.ts new file mode 100644 index 0000000..3e308ca --- /dev/null +++ b/web-ide-main/projects/src/project_03/02_register.ts @@ -0,0 +1,735 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/Register.hdl +/** + * 16-bit register: + * If load is asserted, the register's value is set to in; + * Otherwise, the register maintains its current value: + * if (load(t)) out(t+1) = int(t), else out(t+1) = out(t) + */ +CHIP Register { + IN in[16], load; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/Register.tst + +load Register.hdl, +compare-to Register.cmp, +output-list time%S1.3.1 in%D1.6.1 load%B2.1.1 out%D1.6.1; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 1, +tick, +output; + +tock, +output; + +set in -32123, +set load 0, +tick, +output; + +tock, +output; + +set in 11111, +set load 0, +tick, +output; + +tock, +output; + +set in -32123, +set load 1, +tick, +output; + +tock, +output; + +set in -32123, +set load 1, +tick, +output; + +tock, +output; + +set in -32123, +set load 0, +tick, +output; + +tock, +output; + +set in 12345, +set load 1, +tick, +output; + +tock, +output; + +set in 0, +set load 0, +tick, +output; + +tock, +output; + +set in 0, +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000000000001, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000000000010, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000000000100, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000000001000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000000010000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000000100000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000001000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000010000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000000100000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000001000000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000010000000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0000100000000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0001000000000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0010000000000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0100000000000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1000000000000000, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111111111110, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111111111101, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111111111011, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111111110111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111111101111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111111011111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111110111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111101111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111111011111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111110111111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111101111111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1111011111111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1110111111111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1101111111111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B1011111111111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set in %B0111111111111111, +set load 0, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output;`; + +export const cmp = `|time | in |load| out | +| 0+ | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | +| 2 | 0 | 1 | 0 | +| 2+ | -32123 | 0 | 0 | +| 3 | -32123 | 0 | 0 | +| 3+ | 11111 | 0 | 0 | +| 4 | 11111 | 0 | 0 | +| 4+ | -32123 | 1 | 0 | +| 5 | -32123 | 1 | -32123 | +| 5+ | -32123 | 1 | -32123 | +| 6 | -32123 | 1 | -32123 | +| 6+ | -32123 | 0 | -32123 | +| 7 | -32123 | 0 | -32123 | +| 7+ | 12345 | 1 | -32123 | +| 8 | 12345 | 1 | 12345 | +| 8+ | 0 | 0 | 12345 | +| 9 | 0 | 0 | 12345 | +| 9+ | 0 | 1 | 12345 | +| 10 | 0 | 1 | 0 | +| 10+ | 1 | 0 | 0 | +| 11 | 1 | 0 | 0 | +| 11+ | 1 | 1 | 0 | +| 12 | 1 | 1 | 1 | +| 12+ | 2 | 0 | 1 | +| 13 | 2 | 0 | 1 | +| 13+ | 2 | 1 | 1 | +| 14 | 2 | 1 | 2 | +| 14+ | 4 | 0 | 2 | +| 15 | 4 | 0 | 2 | +| 15+ | 4 | 1 | 2 | +| 16 | 4 | 1 | 4 | +| 16+ | 8 | 0 | 4 | +| 17 | 8 | 0 | 4 | +| 17+ | 8 | 1 | 4 | +| 18 | 8 | 1 | 8 | +| 18+ | 16 | 0 | 8 | +| 19 | 16 | 0 | 8 | +| 19+ | 16 | 1 | 8 | +| 20 | 16 | 1 | 16 | +| 20+ | 32 | 0 | 16 | +| 21 | 32 | 0 | 16 | +| 21+ | 32 | 1 | 16 | +| 22 | 32 | 1 | 32 | +| 22+ | 64 | 0 | 32 | +| 23 | 64 | 0 | 32 | +| 23+ | 64 | 1 | 32 | +| 24 | 64 | 1 | 64 | +| 24+ | 128 | 0 | 64 | +| 25 | 128 | 0 | 64 | +| 25+ | 128 | 1 | 64 | +| 26 | 128 | 1 | 128 | +| 26+ | 256 | 0 | 128 | +| 27 | 256 | 0 | 128 | +| 27+ | 256 | 1 | 128 | +| 28 | 256 | 1 | 256 | +| 28+ | 512 | 0 | 256 | +| 29 | 512 | 0 | 256 | +| 29+ | 512 | 1 | 256 | +| 30 | 512 | 1 | 512 | +| 30+ | 1024 | 0 | 512 | +| 31 | 1024 | 0 | 512 | +| 31+ | 1024 | 1 | 512 | +| 32 | 1024 | 1 | 1024 | +| 32+ | 2048 | 0 | 1024 | +| 33 | 2048 | 0 | 1024 | +| 33+ | 2048 | 1 | 1024 | +| 34 | 2048 | 1 | 2048 | +| 34+ | 4096 | 0 | 2048 | +| 35 | 4096 | 0 | 2048 | +| 35+ | 4096 | 1 | 2048 | +| 36 | 4096 | 1 | 4096 | +| 36+ | 8192 | 0 | 4096 | +| 37 | 8192 | 0 | 4096 | +| 37+ | 8192 | 1 | 4096 | +| 38 | 8192 | 1 | 8192 | +| 38+ | 16384 | 0 | 8192 | +| 39 | 16384 | 0 | 8192 | +| 39+ | 16384 | 1 | 8192 | +| 40 | 16384 | 1 | 16384 | +| 40+ | -32768 | 0 | 16384 | +| 41 | -32768 | 0 | 16384 | +| 41+ | -32768 | 1 | 16384 | +| 42 | -32768 | 1 | -32768 | +| 42+ | -2 | 0 | -32768 | +| 43 | -2 | 0 | -32768 | +| 43+ | -2 | 1 | -32768 | +| 44 | -2 | 1 | -2 | +| 44+ | -3 | 0 | -2 | +| 45 | -3 | 0 | -2 | +| 45+ | -3 | 1 | -2 | +| 46 | -3 | 1 | -3 | +| 46+ | -5 | 0 | -3 | +| 47 | -5 | 0 | -3 | +| 47+ | -5 | 1 | -3 | +| 48 | -5 | 1 | -5 | +| 48+ | -9 | 0 | -5 | +| 49 | -9 | 0 | -5 | +| 49+ | -9 | 1 | -5 | +| 50 | -9 | 1 | -9 | +| 50+ | -17 | 0 | -9 | +| 51 | -17 | 0 | -9 | +| 51+ | -17 | 1 | -9 | +| 52 | -17 | 1 | -17 | +| 52+ | -33 | 0 | -17 | +| 53 | -33 | 0 | -17 | +| 53+ | -33 | 1 | -17 | +| 54 | -33 | 1 | -33 | +| 54+ | -65 | 0 | -33 | +| 55 | -65 | 0 | -33 | +| 55+ | -65 | 1 | -33 | +| 56 | -65 | 1 | -65 | +| 56+ | -129 | 0 | -65 | +| 57 | -129 | 0 | -65 | +| 57+ | -129 | 1 | -65 | +| 58 | -129 | 1 | -129 | +| 58+ | -257 | 0 | -129 | +| 59 | -257 | 0 | -129 | +| 59+ | -257 | 1 | -129 | +| 60 | -257 | 1 | -257 | +| 60+ | -513 | 0 | -257 | +| 61 | -513 | 0 | -257 | +| 61+ | -513 | 1 | -257 | +| 62 | -513 | 1 | -513 | +| 62+ | -1025 | 0 | -513 | +| 63 | -1025 | 0 | -513 | +| 63+ | -1025 | 1 | -513 | +| 64 | -1025 | 1 | -1025 | +| 64+ | -2049 | 0 | -1025 | +| 65 | -2049 | 0 | -1025 | +| 65+ | -2049 | 1 | -1025 | +| 66 | -2049 | 1 | -2049 | +| 66+ | -4097 | 0 | -2049 | +| 67 | -4097 | 0 | -2049 | +| 67+ | -4097 | 1 | -2049 | +| 68 | -4097 | 1 | -4097 | +| 68+ | -8193 | 0 | -4097 | +| 69 | -8193 | 0 | -4097 | +| 69+ | -8193 | 1 | -4097 | +| 70 | -8193 | 1 | -8193 | +| 70+ | -16385 | 0 | -8193 | +| 71 | -16385 | 0 | -8193 | +| 71+ | -16385 | 1 | -8193 | +| 72 | -16385 | 1 | -16385 | +| 72+ | 32767 | 0 | -16385 | +| 73 | 32767 | 0 | -16385 | +| 73+ | 32767 | 1 | -16385 | +| 74 | 32767 | 1 | 32767 |`; diff --git a/web-ide-main/projects/src/project_03/03_pc.ts b/web-ide-main/projects/src/project_03/03_pc.ts new file mode 100644 index 0000000..e326125 --- /dev/null +++ b/web-ide-main/projects/src/project_03/03_pc.ts @@ -0,0 +1,173 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/PC.hdl +/** + * A 16-bit counter. + * if reset(t): out(t+1) = 0 + * else if load(t): out(t+1) = in(t) + * else if inc(t): out(t+1) = out(t) + 1 + * else out(t+1) = out(t) + */ +CHIP PC { + IN in[16], reset, load, inc; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/03/a/PC.tst + +load PC.hdl, +compare-to PC.cmp, +output-list time%S1.3.1 in%D1.6.1 reset%B2.1.2 load%B2.1.2 inc%B2.1.2 out%D1.6.1; + +set in 0, +set reset 0, +set load 0, +set inc 0, +tick, +output; + +tock, +output; + +set inc 1, +tick, +output; + +tock, +output; + +set in -32123, +tick, +output; + +tock, +output; + +set load 1, +tick, +output; + +tock, +output; + +set load 0, +tick, +output; + +tock, +output; + +tick, +output; + +tock, +output; + +set in 12345, +set load 1, +set inc 0, +tick, +output; + +tock, +output; + +set reset 1, +tick, +output; + +tock, +output; + +set reset 0, +set inc 1, +tick, +output; + +tock, +output; + +set reset 1, +tick, +output; + +tock, +output; + +set reset 0, +set load 0, +tick, +output; + +tock, +output; + +set reset 1, +tick, +output; + +tock, +output; + +set in 0, +set reset 0, +set load 1, +tick, +output; + +tock, +output; + +set load 0, +set inc 1, +tick, +output; + +tock, +output; + +set in 22222, +set reset 1, +set inc 0, +tick, +output; + +tock, +output;`; +export const cmp = `|time | in |reset|load | inc | out | +| 0+ | 0 | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 0 | 0 | 1 | 0 | +| 2 | 0 | 0 | 0 | 1 | 1 | +| 2+ | -32123 | 0 | 0 | 1 | 1 | +| 3 | -32123 | 0 | 0 | 1 | 2 | +| 3+ | -32123 | 0 | 1 | 1 | 2 | +| 4 | -32123 | 0 | 1 | 1 | -32123 | +| 4+ | -32123 | 0 | 0 | 1 | -32123 | +| 5 | -32123 | 0 | 0 | 1 | -32122 | +| 5+ | -32123 | 0 | 0 | 1 | -32122 | +| 6 | -32123 | 0 | 0 | 1 | -32121 | +| 6+ | 12345 | 0 | 1 | 0 | -32121 | +| 7 | 12345 | 0 | 1 | 0 | 12345 | +| 7+ | 12345 | 1 | 1 | 0 | 12345 | +| 8 | 12345 | 1 | 1 | 0 | 0 | +| 8+ | 12345 | 0 | 1 | 1 | 0 | +| 9 | 12345 | 0 | 1 | 1 | 12345 | +| 9+ | 12345 | 1 | 1 | 1 | 12345 | +| 10 | 12345 | 1 | 1 | 1 | 0 | +| 10+ | 12345 | 0 | 0 | 1 | 0 | +| 11 | 12345 | 0 | 0 | 1 | 1 | +| 11+ | 12345 | 1 | 0 | 1 | 1 | +| 12 | 12345 | 1 | 0 | 1 | 0 | +| 12+ | 0 | 0 | 1 | 1 | 0 | +| 13 | 0 | 0 | 1 | 1 | 0 | +| 13+ | 0 | 0 | 0 | 1 | 0 | +| 14 | 0 | 0 | 0 | 1 | 1 | +| 14+ | 22222 | 1 | 0 | 0 | 1 | +| 15 | 22222 | 1 | 0 | 0 | 0 |`; diff --git a/web-ide-main/projects/src/project_03/04_ram8.ts b/web-ide-main/projects/src/project_03/04_ram8.ts new file mode 100644 index 0000000..ed873d8 --- /dev/null +++ b/web-ide-main/projects/src/project_03/04_ram8.ts @@ -0,0 +1,749 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/RAM8.hdl +/** + * Memory of eight 16-bit registers. + * If load is asserted, the value of the register selected by + * address is set to in; Otherwise, the value does not change. + * The value of the selected register is emitted by out. + */ +CHIP RAM8 { + IN in[16], load, address[3]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/RAM8.tst + +load RAM8.hdl, +compare-to RAM8.cmp, +output-list time%S1.3.1 in%D1.6.1 load%B2.1.1 address%D3.1.3 out%D1.6.1; + +set in 0, +set load 0, +set address 0, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set in 11111, +set load 0, +tick, +output; +tock, +output; + +set load 1, +set address 1, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; + +set in 3333, +set address 3, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 1, +eval, +output; + +set in 7777, +tick, +output; +tock, +output; + +set load 1, +set address 7, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 3, +eval, +output; + +set address 7, +eval, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address 0, +tick, +output; +tock, +output; +set address 1, +tick, +output, +tock, +output; +set address 2, +tick, +output, +tock, +output; +set address 3, +tick, +output, +tock, +output; +set address 4, +tick, +output, +tock, +output; +set address 5, +tick, +output, +tock, +output; +set address 6, +tick, +output, +tock, +output; +set address 7, +tick, +output, +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 0, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 0, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address 1, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 1, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address 2, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 2, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address 3, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 3, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address 4, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 4, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address 5, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 5, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address 6, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 6, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address 7, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; + +set load 1, +set address 7, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; +set address 1, +eval, +output; +set address 2, +eval, +output; +set address 3, +eval, +output; +set address 4, +eval, +output; +set address 5, +eval, +output; +set address 6, +eval, +output; +set address 7, +eval, +output; +`; +export const cmp = `|time | in |load|address| out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 11111 | 0 | 0 | 0 | +| 3 | 11111 | 0 | 0 | 0 | +| 3+ | 11111 | 1 | 1 | 0 | +| 4 | 11111 | 1 | 1 | 11111 | +| 4+ | 11111 | 0 | 0 | 0 | +| 5 | 11111 | 0 | 0 | 0 | +| 5+ | 3333 | 0 | 3 | 0 | +| 6 | 3333 | 0 | 3 | 0 | +| 6+ | 3333 | 1 | 3 | 0 | +| 7 | 3333 | 1 | 3 | 3333 | +| 7+ | 3333 | 0 | 3 | 3333 | +| 8 | 3333 | 0 | 3 | 3333 | +| 8 | 3333 | 0 | 1 | 11111 | +| 8+ | 7777 | 0 | 1 | 11111 | +| 9 | 7777 | 0 | 1 | 11111 | +| 9+ | 7777 | 1 | 7 | 0 | +| 10 | 7777 | 1 | 7 | 7777 | +| 10+ | 7777 | 0 | 7 | 7777 | +| 11 | 7777 | 0 | 7 | 7777 | +| 11 | 7777 | 0 | 3 | 3333 | +| 11 | 7777 | 0 | 7 | 7777 | +| 11+ | 7777 | 0 | 0 | 0 | +| 12 | 7777 | 0 | 0 | 0 | +| 12 | 7777 | 0 | 1 | 11111 | +| 12 | 7777 | 0 | 2 | 0 | +| 12 | 7777 | 0 | 3 | 3333 | +| 12 | 7777 | 0 | 4 | 0 | +| 12 | 7777 | 0 | 5 | 0 | +| 12 | 7777 | 0 | 6 | 0 | +| 12 | 7777 | 0 | 7 | 7777 | +| 12+ | 21845 | 1 | 0 | 0 | +| 13 | 21845 | 1 | 0 | 21845 | +| 13+ | 21845 | 1 | 1 | 11111 | +| 14 | 21845 | 1 | 1 | 21845 | +| 14+ | 21845 | 1 | 2 | 0 | +| 15 | 21845 | 1 | 2 | 21845 | +| 15+ | 21845 | 1 | 3 | 3333 | +| 16 | 21845 | 1 | 3 | 21845 | +| 16+ | 21845 | 1 | 4 | 0 | +| 17 | 21845 | 1 | 4 | 21845 | +| 17+ | 21845 | 1 | 5 | 0 | +| 18 | 21845 | 1 | 5 | 21845 | +| 18+ | 21845 | 1 | 6 | 0 | +| 19 | 21845 | 1 | 6 | 21845 | +| 19+ | 21845 | 1 | 7 | 7777 | +| 20 | 21845 | 1 | 7 | 21845 | +| 20+ | 21845 | 0 | 0 | 21845 | +| 21 | 21845 | 0 | 0 | 21845 | +| 21 | 21845 | 0 | 1 | 21845 | +| 21 | 21845 | 0 | 2 | 21845 | +| 21 | 21845 | 0 | 3 | 21845 | +| 21 | 21845 | 0 | 4 | 21845 | +| 21 | 21845 | 0 | 5 | 21845 | +| 21 | 21845 | 0 | 6 | 21845 | +| 21 | 21845 | 0 | 7 | 21845 | +| 21+ | -21846 | 1 | 0 | 21845 | +| 22 | -21846 | 1 | 0 | -21846 | +| 22+ | -21846 | 0 | 0 | -21846 | +| 23 | -21846 | 0 | 0 | -21846 | +| 23 | -21846 | 0 | 1 | 21845 | +| 23 | -21846 | 0 | 2 | 21845 | +| 23 | -21846 | 0 | 3 | 21845 | +| 23 | -21846 | 0 | 4 | 21845 | +| 23 | -21846 | 0 | 5 | 21845 | +| 23 | -21846 | 0 | 6 | 21845 | +| 23 | -21846 | 0 | 7 | 21845 | +| 23+ | 21845 | 1 | 0 | -21846 | +| 24 | 21845 | 1 | 0 | 21845 | +| 24+ | -21846 | 1 | 1 | 21845 | +| 25 | -21846 | 1 | 1 | -21846 | +| 25+ | -21846 | 0 | 0 | 21845 | +| 26 | -21846 | 0 | 0 | 21845 | +| 26 | -21846 | 0 | 1 | -21846 | +| 26 | -21846 | 0 | 2 | 21845 | +| 26 | -21846 | 0 | 3 | 21845 | +| 26 | -21846 | 0 | 4 | 21845 | +| 26 | -21846 | 0 | 5 | 21845 | +| 26 | -21846 | 0 | 6 | 21845 | +| 26 | -21846 | 0 | 7 | 21845 | +| 26+ | 21845 | 1 | 1 | -21846 | +| 27 | 21845 | 1 | 1 | 21845 | +| 27+ | -21846 | 1 | 2 | 21845 | +| 28 | -21846 | 1 | 2 | -21846 | +| 28+ | -21846 | 0 | 0 | 21845 | +| 29 | -21846 | 0 | 0 | 21845 | +| 29 | -21846 | 0 | 1 | 21845 | +| 29 | -21846 | 0 | 2 | -21846 | +| 29 | -21846 | 0 | 3 | 21845 | +| 29 | -21846 | 0 | 4 | 21845 | +| 29 | -21846 | 0 | 5 | 21845 | +| 29 | -21846 | 0 | 6 | 21845 | +| 29 | -21846 | 0 | 7 | 21845 | +| 29+ | 21845 | 1 | 2 | -21846 | +| 30 | 21845 | 1 | 2 | 21845 | +| 30+ | -21846 | 1 | 3 | 21845 | +| 31 | -21846 | 1 | 3 | -21846 | +| 31+ | -21846 | 0 | 0 | 21845 | +| 32 | -21846 | 0 | 0 | 21845 | +| 32 | -21846 | 0 | 1 | 21845 | +| 32 | -21846 | 0 | 2 | 21845 | +| 32 | -21846 | 0 | 3 | -21846 | +| 32 | -21846 | 0 | 4 | 21845 | +| 32 | -21846 | 0 | 5 | 21845 | +| 32 | -21846 | 0 | 6 | 21845 | +| 32 | -21846 | 0 | 7 | 21845 | +| 32+ | 21845 | 1 | 3 | -21846 | +| 33 | 21845 | 1 | 3 | 21845 | +| 33+ | -21846 | 1 | 4 | 21845 | +| 34 | -21846 | 1 | 4 | -21846 | +| 34+ | -21846 | 0 | 0 | 21845 | +| 35 | -21846 | 0 | 0 | 21845 | +| 35 | -21846 | 0 | 1 | 21845 | +| 35 | -21846 | 0 | 2 | 21845 | +| 35 | -21846 | 0 | 3 | 21845 | +| 35 | -21846 | 0 | 4 | -21846 | +| 35 | -21846 | 0 | 5 | 21845 | +| 35 | -21846 | 0 | 6 | 21845 | +| 35 | -21846 | 0 | 7 | 21845 | +| 35+ | 21845 | 1 | 4 | -21846 | +| 36 | 21845 | 1 | 4 | 21845 | +| 36+ | -21846 | 1 | 5 | 21845 | +| 37 | -21846 | 1 | 5 | -21846 | +| 37+ | -21846 | 0 | 0 | 21845 | +| 38 | -21846 | 0 | 0 | 21845 | +| 38 | -21846 | 0 | 1 | 21845 | +| 38 | -21846 | 0 | 2 | 21845 | +| 38 | -21846 | 0 | 3 | 21845 | +| 38 | -21846 | 0 | 4 | 21845 | +| 38 | -21846 | 0 | 5 | -21846 | +| 38 | -21846 | 0 | 6 | 21845 | +| 38 | -21846 | 0 | 7 | 21845 | +| 38+ | 21845 | 1 | 5 | -21846 | +| 39 | 21845 | 1 | 5 | 21845 | +| 39+ | -21846 | 1 | 6 | 21845 | +| 40 | -21846 | 1 | 6 | -21846 | +| 40+ | -21846 | 0 | 0 | 21845 | +| 41 | -21846 | 0 | 0 | 21845 | +| 41 | -21846 | 0 | 1 | 21845 | +| 41 | -21846 | 0 | 2 | 21845 | +| 41 | -21846 | 0 | 3 | 21845 | +| 41 | -21846 | 0 | 4 | 21845 | +| 41 | -21846 | 0 | 5 | 21845 | +| 41 | -21846 | 0 | 6 | -21846 | +| 41 | -21846 | 0 | 7 | 21845 | +| 41+ | 21845 | 1 | 6 | -21846 | +| 42 | 21845 | 1 | 6 | 21845 | +| 42+ | -21846 | 1 | 7 | 21845 | +| 43 | -21846 | 1 | 7 | -21846 | +| 43+ | -21846 | 0 | 0 | 21845 | +| 44 | -21846 | 0 | 0 | 21845 | +| 44 | -21846 | 0 | 1 | 21845 | +| 44 | -21846 | 0 | 2 | 21845 | +| 44 | -21846 | 0 | 3 | 21845 | +| 44 | -21846 | 0 | 4 | 21845 | +| 44 | -21846 | 0 | 5 | 21845 | +| 44 | -21846 | 0 | 6 | 21845 | +| 44 | -21846 | 0 | 7 | -21846 | +| 44+ | 21845 | 1 | 7 | -21846 | +| 45 | 21845 | 1 | 7 | 21845 | +| 45+ | 21845 | 0 | 0 | 21845 | +| 46 | 21845 | 0 | 0 | 21845 | +| 46 | 21845 | 0 | 1 | 21845 | +| 46 | 21845 | 0 | 2 | 21845 | +| 46 | 21845 | 0 | 3 | 21845 | +| 46 | 21845 | 0 | 4 | 21845 | +| 46 | 21845 | 0 | 5 | 21845 | +| 46 | 21845 | 0 | 6 | 21845 | +| 46 | 21845 | 0 | 7 | 21845 |`; diff --git a/web-ide-main/projects/src/project_03/05_ram64.ts b/web-ide-main/projects/src/project_03/05_ram64.ts new file mode 100644 index 0000000..6f636cb --- /dev/null +++ b/web-ide-main/projects/src/project_03/05_ram64.ts @@ -0,0 +1,1363 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/RAM64.hdl +/** + * Memory of sixty four 16-bit registers. + * If load is asserted, the value of the register selected by + * address is set to in; Otherwise, the value does not change. + * The value of the selected register is emitted by out. + */ +CHIP RAM64 { + IN in[16], load, address[6]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/a/RAM64.tst + +load RAM64.hdl, +compare-to RAM64.cmp, +output-list time%S1.3.1 in%D1.6.1 load%B2.1.1 address%D2.3.2 out%D1.6.1; + +set in 0, +set load 0, +set address 0, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set in 1313, +set load 0, +tick, +output; +tock, +output; + +set load 1, +set address 13, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; + +set in 4747, +set address 47, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 13, +eval, +output; + +set in 6363, +tick, +output; +tock, +output; + +set load 1, +set address 63, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 47, +eval, +output; + +set address 63, +eval, +output; + + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +tick, +output, +tock, +output; +set address %B101010, +tick, +output, +tock, +output; +set address %B101011, +tick, +output, +tock, +output; +set address %B101100, +tick, +output, +tock, +output; +set address %B101101, +tick, +output, +tock, +output; +set address %B101110, +tick, +output, +tock, +output; +set address %B101111, +tick, +output, +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101000, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101000, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101001, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101001, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101011, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101011, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101100, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101100, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101110, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101110, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101111, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + +set load 1, +set address %B101111, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B101000, +tick, +output; +tock, +output; +set address %B101001, +eval, +output; +set address %B101010, +eval, +output; +set address %B101011, +eval, +output; +set address %B101100, +eval, +output; +set address %B101101, +eval, +output; +set address %B101110, +eval, +output; +set address %B101111, +eval, +output; + + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +tick, +output, +tock, +output; +set address %B010101, +tick, +output, +tock, +output; +set address %B011101, +tick, +output, +tock, +output; +set address %B100101, +tick, +output, +tock, +output; +set address %B101101, +tick, +output, +tock, +output; +set address %B110101, +tick, +output, +tock, +output; +set address %B111101, +tick, +output, +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B000101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B000101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B001101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B001101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B011101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B011101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B100101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B100101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B101101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B110101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B110101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B111101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output; + +set load 1, +set address %B111101, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B000101, +tick, +output; +tock, +output; +set address %B001101, +eval, +output; +set address %B010101, +eval, +output; +set address %B011101, +eval, +output; +set address %B100101, +eval, +output; +set address %B101101, +eval, +output; +set address %B110101, +eval, +output; +set address %B111101, +eval, +output;`; + +export const cmp = `|time | in |load|address| out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 1313 | 0 | 0 | 0 | +| 3 | 1313 | 0 | 0 | 0 | +| 3+ | 1313 | 1 | 13 | 0 | +| 4 | 1313 | 1 | 13 | 1313 | +| 4+ | 1313 | 0 | 0 | 0 | +| 5 | 1313 | 0 | 0 | 0 | +| 5+ | 4747 | 0 | 47 | 0 | +| 6 | 4747 | 0 | 47 | 0 | +| 6+ | 4747 | 1 | 47 | 0 | +| 7 | 4747 | 1 | 47 | 4747 | +| 7+ | 4747 | 0 | 47 | 4747 | +| 8 | 4747 | 0 | 47 | 4747 | +| 8 | 4747 | 0 | 13 | 1313 | +| 8+ | 6363 | 0 | 13 | 1313 | +| 9 | 6363 | 0 | 13 | 1313 | +| 9+ | 6363 | 1 | 63 | 0 | +| 10 | 6363 | 1 | 63 | 6363 | +| 10+ | 6363 | 0 | 63 | 6363 | +| 11 | 6363 | 0 | 63 | 6363 | +| 11 | 6363 | 0 | 47 | 4747 | +| 11 | 6363 | 0 | 63 | 6363 | +| 11+ | 6363 | 0 | 40 | 0 | +| 12 | 6363 | 0 | 40 | 0 | +| 12 | 6363 | 0 | 41 | 0 | +| 12 | 6363 | 0 | 42 | 0 | +| 12 | 6363 | 0 | 43 | 0 | +| 12 | 6363 | 0 | 44 | 0 | +| 12 | 6363 | 0 | 45 | 0 | +| 12 | 6363 | 0 | 46 | 0 | +| 12 | 6363 | 0 | 47 | 4747 | +| 12+ | 21845 | 1 | 40 | 0 | +| 13 | 21845 | 1 | 40 | 21845 | +| 13+ | 21845 | 1 | 41 | 0 | +| 14 | 21845 | 1 | 41 | 21845 | +| 14+ | 21845 | 1 | 42 | 0 | +| 15 | 21845 | 1 | 42 | 21845 | +| 15+ | 21845 | 1 | 43 | 0 | +| 16 | 21845 | 1 | 43 | 21845 | +| 16+ | 21845 | 1 | 44 | 0 | +| 17 | 21845 | 1 | 44 | 21845 | +| 17+ | 21845 | 1 | 45 | 0 | +| 18 | 21845 | 1 | 45 | 21845 | +| 18+ | 21845 | 1 | 46 | 0 | +| 19 | 21845 | 1 | 46 | 21845 | +| 19+ | 21845 | 1 | 47 | 4747 | +| 20 | 21845 | 1 | 47 | 21845 | +| 20+ | 21845 | 0 | 40 | 21845 | +| 21 | 21845 | 0 | 40 | 21845 | +| 21 | 21845 | 0 | 41 | 21845 | +| 21 | 21845 | 0 | 42 | 21845 | +| 21 | 21845 | 0 | 43 | 21845 | +| 21 | 21845 | 0 | 44 | 21845 | +| 21 | 21845 | 0 | 45 | 21845 | +| 21 | 21845 | 0 | 46 | 21845 | +| 21 | 21845 | 0 | 47 | 21845 | +| 21+ | -21846 | 1 | 40 | 21845 | +| 22 | -21846 | 1 | 40 | -21846 | +| 22+ | -21846 | 0 | 40 | -21846 | +| 23 | -21846 | 0 | 40 | -21846 | +| 23 | -21846 | 0 | 41 | 21845 | +| 23 | -21846 | 0 | 42 | 21845 | +| 23 | -21846 | 0 | 43 | 21845 | +| 23 | -21846 | 0 | 44 | 21845 | +| 23 | -21846 | 0 | 45 | 21845 | +| 23 | -21846 | 0 | 46 | 21845 | +| 23 | -21846 | 0 | 47 | 21845 | +| 23+ | 21845 | 1 | 40 | -21846 | +| 24 | 21845 | 1 | 40 | 21845 | +| 24+ | -21846 | 1 | 41 | 21845 | +| 25 | -21846 | 1 | 41 | -21846 | +| 25+ | -21846 | 0 | 40 | 21845 | +| 26 | -21846 | 0 | 40 | 21845 | +| 26 | -21846 | 0 | 41 | -21846 | +| 26 | -21846 | 0 | 42 | 21845 | +| 26 | -21846 | 0 | 43 | 21845 | +| 26 | -21846 | 0 | 44 | 21845 | +| 26 | -21846 | 0 | 45 | 21845 | +| 26 | -21846 | 0 | 46 | 21845 | +| 26 | -21846 | 0 | 47 | 21845 | +| 26+ | 21845 | 1 | 41 | -21846 | +| 27 | 21845 | 1 | 41 | 21845 | +| 27+ | -21846 | 1 | 42 | 21845 | +| 28 | -21846 | 1 | 42 | -21846 | +| 28+ | -21846 | 0 | 40 | 21845 | +| 29 | -21846 | 0 | 40 | 21845 | +| 29 | -21846 | 0 | 41 | 21845 | +| 29 | -21846 | 0 | 42 | -21846 | +| 29 | -21846 | 0 | 43 | 21845 | +| 29 | -21846 | 0 | 44 | 21845 | +| 29 | -21846 | 0 | 45 | 21845 | +| 29 | -21846 | 0 | 46 | 21845 | +| 29 | -21846 | 0 | 47 | 21845 | +| 29+ | 21845 | 1 | 42 | -21846 | +| 30 | 21845 | 1 | 42 | 21845 | +| 30+ | -21846 | 1 | 43 | 21845 | +| 31 | -21846 | 1 | 43 | -21846 | +| 31+ | -21846 | 0 | 40 | 21845 | +| 32 | -21846 | 0 | 40 | 21845 | +| 32 | -21846 | 0 | 41 | 21845 | +| 32 | -21846 | 0 | 42 | 21845 | +| 32 | -21846 | 0 | 43 | -21846 | +| 32 | -21846 | 0 | 44 | 21845 | +| 32 | -21846 | 0 | 45 | 21845 | +| 32 | -21846 | 0 | 46 | 21845 | +| 32 | -21846 | 0 | 47 | 21845 | +| 32+ | 21845 | 1 | 43 | -21846 | +| 33 | 21845 | 1 | 43 | 21845 | +| 33+ | -21846 | 1 | 44 | 21845 | +| 34 | -21846 | 1 | 44 | -21846 | +| 34+ | -21846 | 0 | 40 | 21845 | +| 35 | -21846 | 0 | 40 | 21845 | +| 35 | -21846 | 0 | 41 | 21845 | +| 35 | -21846 | 0 | 42 | 21845 | +| 35 | -21846 | 0 | 43 | 21845 | +| 35 | -21846 | 0 | 44 | -21846 | +| 35 | -21846 | 0 | 45 | 21845 | +| 35 | -21846 | 0 | 46 | 21845 | +| 35 | -21846 | 0 | 47 | 21845 | +| 35+ | 21845 | 1 | 44 | -21846 | +| 36 | 21845 | 1 | 44 | 21845 | +| 36+ | -21846 | 1 | 45 | 21845 | +| 37 | -21846 | 1 | 45 | -21846 | +| 37+ | -21846 | 0 | 40 | 21845 | +| 38 | -21846 | 0 | 40 | 21845 | +| 38 | -21846 | 0 | 41 | 21845 | +| 38 | -21846 | 0 | 42 | 21845 | +| 38 | -21846 | 0 | 43 | 21845 | +| 38 | -21846 | 0 | 44 | 21845 | +| 38 | -21846 | 0 | 45 | -21846 | +| 38 | -21846 | 0 | 46 | 21845 | +| 38 | -21846 | 0 | 47 | 21845 | +| 38+ | 21845 | 1 | 45 | -21846 | +| 39 | 21845 | 1 | 45 | 21845 | +| 39+ | -21846 | 1 | 46 | 21845 | +| 40 | -21846 | 1 | 46 | -21846 | +| 40+ | -21846 | 0 | 40 | 21845 | +| 41 | -21846 | 0 | 40 | 21845 | +| 41 | -21846 | 0 | 41 | 21845 | +| 41 | -21846 | 0 | 42 | 21845 | +| 41 | -21846 | 0 | 43 | 21845 | +| 41 | -21846 | 0 | 44 | 21845 | +| 41 | -21846 | 0 | 45 | 21845 | +| 41 | -21846 | 0 | 46 | -21846 | +| 41 | -21846 | 0 | 47 | 21845 | +| 41+ | 21845 | 1 | 46 | -21846 | +| 42 | 21845 | 1 | 46 | 21845 | +| 42+ | -21846 | 1 | 47 | 21845 | +| 43 | -21846 | 1 | 47 | -21846 | +| 43+ | -21846 | 0 | 40 | 21845 | +| 44 | -21846 | 0 | 40 | 21845 | +| 44 | -21846 | 0 | 41 | 21845 | +| 44 | -21846 | 0 | 42 | 21845 | +| 44 | -21846 | 0 | 43 | 21845 | +| 44 | -21846 | 0 | 44 | 21845 | +| 44 | -21846 | 0 | 45 | 21845 | +| 44 | -21846 | 0 | 46 | 21845 | +| 44 | -21846 | 0 | 47 | -21846 | +| 44+ | 21845 | 1 | 47 | -21846 | +| 45 | 21845 | 1 | 47 | 21845 | +| 45+ | 21845 | 0 | 40 | 21845 | +| 46 | 21845 | 0 | 40 | 21845 | +| 46 | 21845 | 0 | 41 | 21845 | +| 46 | 21845 | 0 | 42 | 21845 | +| 46 | 21845 | 0 | 43 | 21845 | +| 46 | 21845 | 0 | 44 | 21845 | +| 46 | 21845 | 0 | 45 | 21845 | +| 46 | 21845 | 0 | 46 | 21845 | +| 46 | 21845 | 0 | 47 | 21845 | +| 46+ | 21845 | 0 | 5 | 0 | +| 47 | 21845 | 0 | 5 | 0 | +| 47 | 21845 | 0 | 13 | 1313 | +| 47 | 21845 | 0 | 21 | 0 | +| 47 | 21845 | 0 | 29 | 0 | +| 47 | 21845 | 0 | 37 | 0 | +| 47 | 21845 | 0 | 45 | 21845 | +| 47 | 21845 | 0 | 53 | 0 | +| 47 | 21845 | 0 | 61 | 0 | +| 47+ | 21845 | 1 | 5 | 0 | +| 48 | 21845 | 1 | 5 | 21845 | +| 48+ | 21845 | 1 | 13 | 1313 | +| 49 | 21845 | 1 | 13 | 21845 | +| 49+ | 21845 | 1 | 21 | 0 | +| 50 | 21845 | 1 | 21 | 21845 | +| 50+ | 21845 | 1 | 29 | 0 | +| 51 | 21845 | 1 | 29 | 21845 | +| 51+ | 21845 | 1 | 37 | 0 | +| 52 | 21845 | 1 | 37 | 21845 | +| 52+ | 21845 | 1 | 45 | 21845 | +| 53 | 21845 | 1 | 45 | 21845 | +| 53+ | 21845 | 1 | 53 | 0 | +| 54 | 21845 | 1 | 53 | 21845 | +| 54+ | 21845 | 1 | 61 | 0 | +| 55 | 21845 | 1 | 61 | 21845 | +| 55+ | 21845 | 0 | 5 | 21845 | +| 56 | 21845 | 0 | 5 | 21845 | +| 56 | 21845 | 0 | 13 | 21845 | +| 56 | 21845 | 0 | 21 | 21845 | +| 56 | 21845 | 0 | 29 | 21845 | +| 56 | 21845 | 0 | 37 | 21845 | +| 56 | 21845 | 0 | 45 | 21845 | +| 56 | 21845 | 0 | 53 | 21845 | +| 56 | 21845 | 0 | 61 | 21845 | +| 56+ | -21846 | 1 | 5 | 21845 | +| 57 | -21846 | 1 | 5 | -21846 | +| 57+ | -21846 | 0 | 5 | -21846 | +| 58 | -21846 | 0 | 5 | -21846 | +| 58 | -21846 | 0 | 13 | 21845 | +| 58 | -21846 | 0 | 21 | 21845 | +| 58 | -21846 | 0 | 29 | 21845 | +| 58 | -21846 | 0 | 37 | 21845 | +| 58 | -21846 | 0 | 45 | 21845 | +| 58 | -21846 | 0 | 53 | 21845 | +| 58 | -21846 | 0 | 61 | 21845 | +| 58+ | 21845 | 1 | 5 | -21846 | +| 59 | 21845 | 1 | 5 | 21845 | +| 59+ | -21846 | 1 | 13 | 21845 | +| 60 | -21846 | 1 | 13 | -21846 | +| 60+ | -21846 | 0 | 5 | 21845 | +| 61 | -21846 | 0 | 5 | 21845 | +| 61 | -21846 | 0 | 13 | -21846 | +| 61 | -21846 | 0 | 21 | 21845 | +| 61 | -21846 | 0 | 29 | 21845 | +| 61 | -21846 | 0 | 37 | 21845 | +| 61 | -21846 | 0 | 45 | 21845 | +| 61 | -21846 | 0 | 53 | 21845 | +| 61 | -21846 | 0 | 61 | 21845 | +| 61+ | 21845 | 1 | 13 | -21846 | +| 62 | 21845 | 1 | 13 | 21845 | +| 62+ | -21846 | 1 | 21 | 21845 | +| 63 | -21846 | 1 | 21 | -21846 | +| 63+ | -21846 | 0 | 5 | 21845 | +| 64 | -21846 | 0 | 5 | 21845 | +| 64 | -21846 | 0 | 13 | 21845 | +| 64 | -21846 | 0 | 21 | -21846 | +| 64 | -21846 | 0 | 29 | 21845 | +| 64 | -21846 | 0 | 37 | 21845 | +| 64 | -21846 | 0 | 45 | 21845 | +| 64 | -21846 | 0 | 53 | 21845 | +| 64 | -21846 | 0 | 61 | 21845 | +| 64+ | 21845 | 1 | 21 | -21846 | +| 65 | 21845 | 1 | 21 | 21845 | +| 65+ | -21846 | 1 | 29 | 21845 | +| 66 | -21846 | 1 | 29 | -21846 | +| 66+ | -21846 | 0 | 5 | 21845 | +| 67 | -21846 | 0 | 5 | 21845 | +| 67 | -21846 | 0 | 13 | 21845 | +| 67 | -21846 | 0 | 21 | 21845 | +| 67 | -21846 | 0 | 29 | -21846 | +| 67 | -21846 | 0 | 37 | 21845 | +| 67 | -21846 | 0 | 45 | 21845 | +| 67 | -21846 | 0 | 53 | 21845 | +| 67 | -21846 | 0 | 61 | 21845 | +| 67+ | 21845 | 1 | 29 | -21846 | +| 68 | 21845 | 1 | 29 | 21845 | +| 68+ | -21846 | 1 | 37 | 21845 | +| 69 | -21846 | 1 | 37 | -21846 | +| 69+ | -21846 | 0 | 5 | 21845 | +| 70 | -21846 | 0 | 5 | 21845 | +| 70 | -21846 | 0 | 13 | 21845 | +| 70 | -21846 | 0 | 21 | 21845 | +| 70 | -21846 | 0 | 29 | 21845 | +| 70 | -21846 | 0 | 37 | -21846 | +| 70 | -21846 | 0 | 45 | 21845 | +| 70 | -21846 | 0 | 53 | 21845 | +| 70 | -21846 | 0 | 61 | 21845 | +| 70+ | 21845 | 1 | 37 | -21846 | +| 71 | 21845 | 1 | 37 | 21845 | +| 71+ | -21846 | 1 | 45 | 21845 | +| 72 | -21846 | 1 | 45 | -21846 | +| 72+ | -21846 | 0 | 5 | 21845 | +| 73 | -21846 | 0 | 5 | 21845 | +| 73 | -21846 | 0 | 13 | 21845 | +| 73 | -21846 | 0 | 21 | 21845 | +| 73 | -21846 | 0 | 29 | 21845 | +| 73 | -21846 | 0 | 37 | 21845 | +| 73 | -21846 | 0 | 45 | -21846 | +| 73 | -21846 | 0 | 53 | 21845 | +| 73 | -21846 | 0 | 61 | 21845 | +| 73+ | 21845 | 1 | 45 | -21846 | +| 74 | 21845 | 1 | 45 | 21845 | +| 74+ | -21846 | 1 | 53 | 21845 | +| 75 | -21846 | 1 | 53 | -21846 | +| 75+ | -21846 | 0 | 5 | 21845 | +| 76 | -21846 | 0 | 5 | 21845 | +| 76 | -21846 | 0 | 13 | 21845 | +| 76 | -21846 | 0 | 21 | 21845 | +| 76 | -21846 | 0 | 29 | 21845 | +| 76 | -21846 | 0 | 37 | 21845 | +| 76 | -21846 | 0 | 45 | 21845 | +| 76 | -21846 | 0 | 53 | -21846 | +| 76 | -21846 | 0 | 61 | 21845 | +| 76+ | 21845 | 1 | 53 | -21846 | +| 77 | 21845 | 1 | 53 | 21845 | +| 77+ | -21846 | 1 | 61 | 21845 | +| 78 | -21846 | 1 | 61 | -21846 | +| 78+ | -21846 | 0 | 5 | 21845 | +| 79 | -21846 | 0 | 5 | 21845 | +| 79 | -21846 | 0 | 13 | 21845 | +| 79 | -21846 | 0 | 21 | 21845 | +| 79 | -21846 | 0 | 29 | 21845 | +| 79 | -21846 | 0 | 37 | 21845 | +| 79 | -21846 | 0 | 45 | 21845 | +| 79 | -21846 | 0 | 53 | 21845 | +| 79 | -21846 | 0 | 61 | -21846 | +| 79+ | 21845 | 1 | 61 | -21846 | +| 80 | 21845 | 1 | 61 | 21845 | +| 80+ | 21845 | 0 | 5 | 21845 | +| 81 | 21845 | 0 | 5 | 21845 | +| 81 | 21845 | 0 | 13 | 21845 | +| 81 | 21845 | 0 | 21 | 21845 | +| 81 | 21845 | 0 | 29 | 21845 | +| 81 | 21845 | 0 | 37 | 21845 | +| 81 | 21845 | 0 | 45 | 21845 | +| 81 | 21845 | 0 | 53 | 21845 | +| 81 | 21845 | 0 | 61 | 21845 |`; diff --git a/web-ide-main/projects/src/project_03/06_ram512.ts b/web-ide-main/projects/src/project_03/06_ram512.ts new file mode 100644 index 0000000..3970f83 --- /dev/null +++ b/web-ide-main/projects/src/project_03/06_ram512.ts @@ -0,0 +1,1363 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/b/RAM512.hdl +/** + * Memory of 512 16-bit registers. + * If load is asserted, the value of the register selected by + * address is set to in; Otherwise, the value does not change. + * The value of the selected register is emitted by out. + */ +CHIP RAM512 { + IN in[16], load, address[9]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/b/RAM512.tst + +load RAM512.hdl, +compare-to RAM512.cmp, +output-list time%S1.3.1 in%D1.6.1 load%B2.1.1 address%D2.3.2 out%D1.6.1; + +set in 0, +set load 0, +set address 0, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set in 13099, +set load 0, +tick, +output; +tock, +output; + +set load 1, +set address 130, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; + +set in 4729, +set address 472, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 130, +eval, +output; + +set in 5119, +tick, +output; +tock, +output; + +set load 1, +set address 511, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 472, +eval, +output; + +set address 511, +eval, +output; + + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +tick, +output, +tock, +output; +set address %B010101010, +tick, +output, +tock, +output; +set address %B010101011, +tick, +output, +tock, +output; +set address %B010101100, +tick, +output, +tock, +output; +set address %B010101101, +tick, +output, +tock, +output; +set address %B010101110, +tick, +output, +tock, +output; +set address %B010101111, +tick, +output, +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101000, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101000, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101001, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101001, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101011, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101011, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101100, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101100, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101110, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101110, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101111, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + +set load 1, +set address %B010101111, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B010101000, +tick, +output; +tock, +output; +set address %B010101001, +eval, +output; +set address %B010101010, +eval, +output; +set address %B010101011, +eval, +output; +set address %B010101100, +eval, +output; +set address %B010101101, +eval, +output; +set address %B010101110, +eval, +output; +set address %B010101111, +eval, +output; + + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +tick, +output, +tock, +output; +set address %B010101010, +tick, +output, +tock, +output; +set address %B011101010, +tick, +output, +tock, +output; +set address %B100101010, +tick, +output, +tock, +output; +set address %B101101010, +tick, +output, +tock, +output; +set address %B110101010, +tick, +output, +tock, +output; +set address %B111101010, +tick, +output, +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B000101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B000101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B001101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B001101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B010101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B011101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B011101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B100101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B100101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B101101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B110101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B110101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B111101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; + +set load 1, +set address %B111101010, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B000101010, +tick, +output; +tock, +output; +set address %B001101010, +eval, +output; +set address %B010101010, +eval, +output; +set address %B011101010, +eval, +output; +set address %B100101010, +eval, +output; +set address %B101101010, +eval, +output; +set address %B110101010, +eval, +output; +set address %B111101010, +eval, +output; +`; +export const cmp = `|time | in |load|address| out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 13099 | 0 | 0 | 0 | +| 3 | 13099 | 0 | 0 | 0 | +| 3+ | 13099 | 1 | 130 | 0 | +| 4 | 13099 | 1 | 130 | 13099 | +| 4+ | 13099 | 0 | 0 | 0 | +| 5 | 13099 | 0 | 0 | 0 | +| 5+ | 4729 | 0 | 472 | 0 | +| 6 | 4729 | 0 | 472 | 0 | +| 6+ | 4729 | 1 | 472 | 0 | +| 7 | 4729 | 1 | 472 | 4729 | +| 7+ | 4729 | 0 | 472 | 4729 | +| 8 | 4729 | 0 | 472 | 4729 | +| 8 | 4729 | 0 | 130 | 13099 | +| 8+ | 5119 | 0 | 130 | 13099 | +| 9 | 5119 | 0 | 130 | 13099 | +| 9+ | 5119 | 1 | 511 | 0 | +| 10 | 5119 | 1 | 511 | 5119 | +| 10+ | 5119 | 0 | 511 | 5119 | +| 11 | 5119 | 0 | 511 | 5119 | +| 11 | 5119 | 0 | 472 | 4729 | +| 11 | 5119 | 0 | 511 | 5119 | +| 11+ | 5119 | 0 | 168 | 0 | +| 12 | 5119 | 0 | 168 | 0 | +| 12 | 5119 | 0 | 169 | 0 | +| 12 | 5119 | 0 | 170 | 0 | +| 12 | 5119 | 0 | 171 | 0 | +| 12 | 5119 | 0 | 172 | 0 | +| 12 | 5119 | 0 | 173 | 0 | +| 12 | 5119 | 0 | 174 | 0 | +| 12 | 5119 | 0 | 175 | 0 | +| 12+ | 21845 | 1 | 168 | 0 | +| 13 | 21845 | 1 | 168 | 21845 | +| 13+ | 21845 | 1 | 169 | 0 | +| 14 | 21845 | 1 | 169 | 21845 | +| 14+ | 21845 | 1 | 170 | 0 | +| 15 | 21845 | 1 | 170 | 21845 | +| 15+ | 21845 | 1 | 171 | 0 | +| 16 | 21845 | 1 | 171 | 21845 | +| 16+ | 21845 | 1 | 172 | 0 | +| 17 | 21845 | 1 | 172 | 21845 | +| 17+ | 21845 | 1 | 173 | 0 | +| 18 | 21845 | 1 | 173 | 21845 | +| 18+ | 21845 | 1 | 174 | 0 | +| 19 | 21845 | 1 | 174 | 21845 | +| 19+ | 21845 | 1 | 175 | 0 | +| 20 | 21845 | 1 | 175 | 21845 | +| 20+ | 21845 | 0 | 168 | 21845 | +| 21 | 21845 | 0 | 168 | 21845 | +| 21 | 21845 | 0 | 169 | 21845 | +| 21 | 21845 | 0 | 170 | 21845 | +| 21 | 21845 | 0 | 171 | 21845 | +| 21 | 21845 | 0 | 172 | 21845 | +| 21 | 21845 | 0 | 173 | 21845 | +| 21 | 21845 | 0 | 174 | 21845 | +| 21 | 21845 | 0 | 175 | 21845 | +| 21+ | -21846 | 1 | 168 | 21845 | +| 22 | -21846 | 1 | 168 | -21846 | +| 22+ | -21846 | 0 | 168 | -21846 | +| 23 | -21846 | 0 | 168 | -21846 | +| 23 | -21846 | 0 | 169 | 21845 | +| 23 | -21846 | 0 | 170 | 21845 | +| 23 | -21846 | 0 | 171 | 21845 | +| 23 | -21846 | 0 | 172 | 21845 | +| 23 | -21846 | 0 | 173 | 21845 | +| 23 | -21846 | 0 | 174 | 21845 | +| 23 | -21846 | 0 | 175 | 21845 | +| 23+ | 21845 | 1 | 168 | -21846 | +| 24 | 21845 | 1 | 168 | 21845 | +| 24+ | -21846 | 1 | 169 | 21845 | +| 25 | -21846 | 1 | 169 | -21846 | +| 25+ | -21846 | 0 | 168 | 21845 | +| 26 | -21846 | 0 | 168 | 21845 | +| 26 | -21846 | 0 | 169 | -21846 | +| 26 | -21846 | 0 | 170 | 21845 | +| 26 | -21846 | 0 | 171 | 21845 | +| 26 | -21846 | 0 | 172 | 21845 | +| 26 | -21846 | 0 | 173 | 21845 | +| 26 | -21846 | 0 | 174 | 21845 | +| 26 | -21846 | 0 | 175 | 21845 | +| 26+ | 21845 | 1 | 169 | -21846 | +| 27 | 21845 | 1 | 169 | 21845 | +| 27+ | -21846 | 1 | 170 | 21845 | +| 28 | -21846 | 1 | 170 | -21846 | +| 28+ | -21846 | 0 | 168 | 21845 | +| 29 | -21846 | 0 | 168 | 21845 | +| 29 | -21846 | 0 | 169 | 21845 | +| 29 | -21846 | 0 | 170 | -21846 | +| 29 | -21846 | 0 | 171 | 21845 | +| 29 | -21846 | 0 | 172 | 21845 | +| 29 | -21846 | 0 | 173 | 21845 | +| 29 | -21846 | 0 | 174 | 21845 | +| 29 | -21846 | 0 | 175 | 21845 | +| 29+ | 21845 | 1 | 170 | -21846 | +| 30 | 21845 | 1 | 170 | 21845 | +| 30+ | -21846 | 1 | 171 | 21845 | +| 31 | -21846 | 1 | 171 | -21846 | +| 31+ | -21846 | 0 | 168 | 21845 | +| 32 | -21846 | 0 | 168 | 21845 | +| 32 | -21846 | 0 | 169 | 21845 | +| 32 | -21846 | 0 | 170 | 21845 | +| 32 | -21846 | 0 | 171 | -21846 | +| 32 | -21846 | 0 | 172 | 21845 | +| 32 | -21846 | 0 | 173 | 21845 | +| 32 | -21846 | 0 | 174 | 21845 | +| 32 | -21846 | 0 | 175 | 21845 | +| 32+ | 21845 | 1 | 171 | -21846 | +| 33 | 21845 | 1 | 171 | 21845 | +| 33+ | -21846 | 1 | 172 | 21845 | +| 34 | -21846 | 1 | 172 | -21846 | +| 34+ | -21846 | 0 | 168 | 21845 | +| 35 | -21846 | 0 | 168 | 21845 | +| 35 | -21846 | 0 | 169 | 21845 | +| 35 | -21846 | 0 | 170 | 21845 | +| 35 | -21846 | 0 | 171 | 21845 | +| 35 | -21846 | 0 | 172 | -21846 | +| 35 | -21846 | 0 | 173 | 21845 | +| 35 | -21846 | 0 | 174 | 21845 | +| 35 | -21846 | 0 | 175 | 21845 | +| 35+ | 21845 | 1 | 172 | -21846 | +| 36 | 21845 | 1 | 172 | 21845 | +| 36+ | -21846 | 1 | 173 | 21845 | +| 37 | -21846 | 1 | 173 | -21846 | +| 37+ | -21846 | 0 | 168 | 21845 | +| 38 | -21846 | 0 | 168 | 21845 | +| 38 | -21846 | 0 | 169 | 21845 | +| 38 | -21846 | 0 | 170 | 21845 | +| 38 | -21846 | 0 | 171 | 21845 | +| 38 | -21846 | 0 | 172 | 21845 | +| 38 | -21846 | 0 | 173 | -21846 | +| 38 | -21846 | 0 | 174 | 21845 | +| 38 | -21846 | 0 | 175 | 21845 | +| 38+ | 21845 | 1 | 173 | -21846 | +| 39 | 21845 | 1 | 173 | 21845 | +| 39+ | -21846 | 1 | 174 | 21845 | +| 40 | -21846 | 1 | 174 | -21846 | +| 40+ | -21846 | 0 | 168 | 21845 | +| 41 | -21846 | 0 | 168 | 21845 | +| 41 | -21846 | 0 | 169 | 21845 | +| 41 | -21846 | 0 | 170 | 21845 | +| 41 | -21846 | 0 | 171 | 21845 | +| 41 | -21846 | 0 | 172 | 21845 | +| 41 | -21846 | 0 | 173 | 21845 | +| 41 | -21846 | 0 | 174 | -21846 | +| 41 | -21846 | 0 | 175 | 21845 | +| 41+ | 21845 | 1 | 174 | -21846 | +| 42 | 21845 | 1 | 174 | 21845 | +| 42+ | -21846 | 1 | 175 | 21845 | +| 43 | -21846 | 1 | 175 | -21846 | +| 43+ | -21846 | 0 | 168 | 21845 | +| 44 | -21846 | 0 | 168 | 21845 | +| 44 | -21846 | 0 | 169 | 21845 | +| 44 | -21846 | 0 | 170 | 21845 | +| 44 | -21846 | 0 | 171 | 21845 | +| 44 | -21846 | 0 | 172 | 21845 | +| 44 | -21846 | 0 | 173 | 21845 | +| 44 | -21846 | 0 | 174 | 21845 | +| 44 | -21846 | 0 | 175 | -21846 | +| 44+ | 21845 | 1 | 175 | -21846 | +| 45 | 21845 | 1 | 175 | 21845 | +| 45+ | 21845 | 0 | 168 | 21845 | +| 46 | 21845 | 0 | 168 | 21845 | +| 46 | 21845 | 0 | 169 | 21845 | +| 46 | 21845 | 0 | 170 | 21845 | +| 46 | 21845 | 0 | 171 | 21845 | +| 46 | 21845 | 0 | 172 | 21845 | +| 46 | 21845 | 0 | 173 | 21845 | +| 46 | 21845 | 0 | 174 | 21845 | +| 46 | 21845 | 0 | 175 | 21845 | +| 46+ | 21845 | 0 | 42 | 0 | +| 47 | 21845 | 0 | 42 | 0 | +| 47 | 21845 | 0 | 106 | 0 | +| 47 | 21845 | 0 | 170 | 21845 | +| 47 | 21845 | 0 | 234 | 0 | +| 47 | 21845 | 0 | 298 | 0 | +| 47 | 21845 | 0 | 362 | 0 | +| 47 | 21845 | 0 | 426 | 0 | +| 47 | 21845 | 0 | 490 | 0 | +| 47+ | 21845 | 1 | 42 | 0 | +| 48 | 21845 | 1 | 42 | 21845 | +| 48+ | 21845 | 1 | 106 | 0 | +| 49 | 21845 | 1 | 106 | 21845 | +| 49+ | 21845 | 1 | 170 | 21845 | +| 50 | 21845 | 1 | 170 | 21845 | +| 50+ | 21845 | 1 | 234 | 0 | +| 51 | 21845 | 1 | 234 | 21845 | +| 51+ | 21845 | 1 | 298 | 0 | +| 52 | 21845 | 1 | 298 | 21845 | +| 52+ | 21845 | 1 | 362 | 0 | +| 53 | 21845 | 1 | 362 | 21845 | +| 53+ | 21845 | 1 | 426 | 0 | +| 54 | 21845 | 1 | 426 | 21845 | +| 54+ | 21845 | 1 | 490 | 0 | +| 55 | 21845 | 1 | 490 | 21845 | +| 55+ | 21845 | 0 | 42 | 21845 | +| 56 | 21845 | 0 | 42 | 21845 | +| 56 | 21845 | 0 | 106 | 21845 | +| 56 | 21845 | 0 | 170 | 21845 | +| 56 | 21845 | 0 | 234 | 21845 | +| 56 | 21845 | 0 | 298 | 21845 | +| 56 | 21845 | 0 | 362 | 21845 | +| 56 | 21845 | 0 | 426 | 21845 | +| 56 | 21845 | 0 | 490 | 21845 | +| 56+ | -21846 | 1 | 42 | 21845 | +| 57 | -21846 | 1 | 42 | -21846 | +| 57+ | -21846 | 0 | 42 | -21846 | +| 58 | -21846 | 0 | 42 | -21846 | +| 58 | -21846 | 0 | 106 | 21845 | +| 58 | -21846 | 0 | 170 | 21845 | +| 58 | -21846 | 0 | 234 | 21845 | +| 58 | -21846 | 0 | 298 | 21845 | +| 58 | -21846 | 0 | 362 | 21845 | +| 58 | -21846 | 0 | 426 | 21845 | +| 58 | -21846 | 0 | 490 | 21845 | +| 58+ | 21845 | 1 | 42 | -21846 | +| 59 | 21845 | 1 | 42 | 21845 | +| 59+ | -21846 | 1 | 106 | 21845 | +| 60 | -21846 | 1 | 106 | -21846 | +| 60+ | -21846 | 0 | 42 | 21845 | +| 61 | -21846 | 0 | 42 | 21845 | +| 61 | -21846 | 0 | 106 | -21846 | +| 61 | -21846 | 0 | 170 | 21845 | +| 61 | -21846 | 0 | 234 | 21845 | +| 61 | -21846 | 0 | 298 | 21845 | +| 61 | -21846 | 0 | 362 | 21845 | +| 61 | -21846 | 0 | 426 | 21845 | +| 61 | -21846 | 0 | 490 | 21845 | +| 61+ | 21845 | 1 | 106 | -21846 | +| 62 | 21845 | 1 | 106 | 21845 | +| 62+ | -21846 | 1 | 170 | 21845 | +| 63 | -21846 | 1 | 170 | -21846 | +| 63+ | -21846 | 0 | 42 | 21845 | +| 64 | -21846 | 0 | 42 | 21845 | +| 64 | -21846 | 0 | 106 | 21845 | +| 64 | -21846 | 0 | 170 | -21846 | +| 64 | -21846 | 0 | 234 | 21845 | +| 64 | -21846 | 0 | 298 | 21845 | +| 64 | -21846 | 0 | 362 | 21845 | +| 64 | -21846 | 0 | 426 | 21845 | +| 64 | -21846 | 0 | 490 | 21845 | +| 64+ | 21845 | 1 | 170 | -21846 | +| 65 | 21845 | 1 | 170 | 21845 | +| 65+ | -21846 | 1 | 234 | 21845 | +| 66 | -21846 | 1 | 234 | -21846 | +| 66+ | -21846 | 0 | 42 | 21845 | +| 67 | -21846 | 0 | 42 | 21845 | +| 67 | -21846 | 0 | 106 | 21845 | +| 67 | -21846 | 0 | 170 | 21845 | +| 67 | -21846 | 0 | 234 | -21846 | +| 67 | -21846 | 0 | 298 | 21845 | +| 67 | -21846 | 0 | 362 | 21845 | +| 67 | -21846 | 0 | 426 | 21845 | +| 67 | -21846 | 0 | 490 | 21845 | +| 67+ | 21845 | 1 | 234 | -21846 | +| 68 | 21845 | 1 | 234 | 21845 | +| 68+ | -21846 | 1 | 298 | 21845 | +| 69 | -21846 | 1 | 298 | -21846 | +| 69+ | -21846 | 0 | 42 | 21845 | +| 70 | -21846 | 0 | 42 | 21845 | +| 70 | -21846 | 0 | 106 | 21845 | +| 70 | -21846 | 0 | 170 | 21845 | +| 70 | -21846 | 0 | 234 | 21845 | +| 70 | -21846 | 0 | 298 | -21846 | +| 70 | -21846 | 0 | 362 | 21845 | +| 70 | -21846 | 0 | 426 | 21845 | +| 70 | -21846 | 0 | 490 | 21845 | +| 70+ | 21845 | 1 | 298 | -21846 | +| 71 | 21845 | 1 | 298 | 21845 | +| 71+ | -21846 | 1 | 362 | 21845 | +| 72 | -21846 | 1 | 362 | -21846 | +| 72+ | -21846 | 0 | 42 | 21845 | +| 73 | -21846 | 0 | 42 | 21845 | +| 73 | -21846 | 0 | 106 | 21845 | +| 73 | -21846 | 0 | 170 | 21845 | +| 73 | -21846 | 0 | 234 | 21845 | +| 73 | -21846 | 0 | 298 | 21845 | +| 73 | -21846 | 0 | 362 | -21846 | +| 73 | -21846 | 0 | 426 | 21845 | +| 73 | -21846 | 0 | 490 | 21845 | +| 73+ | 21845 | 1 | 362 | -21846 | +| 74 | 21845 | 1 | 362 | 21845 | +| 74+ | -21846 | 1 | 426 | 21845 | +| 75 | -21846 | 1 | 426 | -21846 | +| 75+ | -21846 | 0 | 42 | 21845 | +| 76 | -21846 | 0 | 42 | 21845 | +| 76 | -21846 | 0 | 106 | 21845 | +| 76 | -21846 | 0 | 170 | 21845 | +| 76 | -21846 | 0 | 234 | 21845 | +| 76 | -21846 | 0 | 298 | 21845 | +| 76 | -21846 | 0 | 362 | 21845 | +| 76 | -21846 | 0 | 426 | -21846 | +| 76 | -21846 | 0 | 490 | 21845 | +| 76+ | 21845 | 1 | 426 | -21846 | +| 77 | 21845 | 1 | 426 | 21845 | +| 77+ | -21846 | 1 | 490 | 21845 | +| 78 | -21846 | 1 | 490 | -21846 | +| 78+ | -21846 | 0 | 42 | 21845 | +| 79 | -21846 | 0 | 42 | 21845 | +| 79 | -21846 | 0 | 106 | 21845 | +| 79 | -21846 | 0 | 170 | 21845 | +| 79 | -21846 | 0 | 234 | 21845 | +| 79 | -21846 | 0 | 298 | 21845 | +| 79 | -21846 | 0 | 362 | 21845 | +| 79 | -21846 | 0 | 426 | 21845 | +| 79 | -21846 | 0 | 490 | -21846 | +| 79+ | 21845 | 1 | 490 | -21846 | +| 80 | 21845 | 1 | 490 | 21845 | +| 80+ | 21845 | 0 | 42 | 21845 | +| 81 | 21845 | 0 | 42 | 21845 | +| 81 | 21845 | 0 | 106 | 21845 | +| 81 | 21845 | 0 | 170 | 21845 | +| 81 | 21845 | 0 | 234 | 21845 | +| 81 | 21845 | 0 | 298 | 21845 | +| 81 | 21845 | 0 | 362 | 21845 | +| 81 | 21845 | 0 | 426 | 21845 | +| 81 | 21845 | 0 | 490 | 21845 |`; diff --git a/web-ide-main/projects/src/project_03/07_ram4k.ts b/web-ide-main/projects/src/project_03/07_ram4k.ts new file mode 100644 index 0000000..69a8ce7 --- /dev/null +++ b/web-ide-main/projects/src/project_03/07_ram4k.ts @@ -0,0 +1,1362 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/b/RAM4K.hdl +/** + * Memory of 4K 16-bit registers. + * If load is asserted, the value of the register selected by + * address is set to in; Otherwise, the value does not change. + * The value of the selected register is emitted by out. + */ +CHIP RAM4K { + IN in[16], load, address[12]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/b/RAM4K.tst + +load RAM4K.hdl, +compare-to RAM4K.cmp, +output-list time%S1.3.1 in%D1.6.1 load%B2.1.1 address%D2.4.2 out%D1.6.1; + +set in 0, +set load 0, +set address 0, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set in 1111, +set load 0, +tick, +output; +tock, +output; + +set load 1, +set address 1111, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; + +set in 3513, +set address 3513, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 1111, +eval, +output; + +set in 4095, +tick, +output; +tock, +output; + +set load 1, +set address 4095, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 3513, +eval, +output; + +set address 4095, +eval, +output; + + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +tick, +output, +tock, +output; +set address %B101010101010, +tick, +output, +tock, +output; +set address %B101010101011, +tick, +output, +tock, +output; +set address %B101010101100, +tick, +output, +tock, +output; +set address %B101010101101, +tick, +output, +tock, +output; +set address %B101010101110, +tick, +output, +tock, +output; +set address %B101010101111, +tick, +output, +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101000, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101000, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010101001, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101001, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010101011, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101011, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010101100, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101100, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010101101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010101110, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101110, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101010101111, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + +set load 1, +set address %B101010101111, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B101010101000, +tick, +output; +tock, +output; +set address %B101010101001, +eval, +output; +set address %B101010101010, +eval, +output; +set address %B101010101011, +eval, +output; +set address %B101010101100, +eval, +output; +set address %B101010101101, +eval, +output; +set address %B101010101110, +eval, +output; +set address %B101010101111, +eval, +output; + + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +tick, +output, +tock, +output; +set address %B010101010101, +tick, +output, +tock, +output; +set address %B011101010101, +tick, +output, +tock, +output; +set address %B100101010101, +tick, +output, +tock, +output; +set address %B101101010101, +tick, +output, +tock, +output; +set address %B110101010101, +tick, +output, +tock, +output; +set address %B111101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B000101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B000101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B001101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B001101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B010101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B010101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B011101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B011101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B100101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B100101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B101101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B101101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B110101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B110101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B111101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output; + +set load 1, +set address %B111101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B000101010101, +tick, +output; +tock, +output; +set address %B001101010101, +eval, +output; +set address %B010101010101, +eval, +output; +set address %B011101010101, +eval, +output; +set address %B100101010101, +eval, +output; +set address %B101101010101, +eval, +output; +set address %B110101010101, +eval, +output; +set address %B111101010101, +eval, +output;`; +export const cmp = `|time | in |load|address | out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 1111 | 0 | 0 | 0 | +| 3 | 1111 | 0 | 0 | 0 | +| 3+ | 1111 | 1 | 1111 | 0 | +| 4 | 1111 | 1 | 1111 | 1111 | +| 4+ | 1111 | 0 | 0 | 0 | +| 5 | 1111 | 0 | 0 | 0 | +| 5+ | 3513 | 0 | 3513 | 0 | +| 6 | 3513 | 0 | 3513 | 0 | +| 6+ | 3513 | 1 | 3513 | 0 | +| 7 | 3513 | 1 | 3513 | 3513 | +| 7+ | 3513 | 0 | 3513 | 3513 | +| 8 | 3513 | 0 | 3513 | 3513 | +| 8 | 3513 | 0 | 1111 | 1111 | +| 8+ | 4095 | 0 | 1111 | 1111 | +| 9 | 4095 | 0 | 1111 | 1111 | +| 9+ | 4095 | 1 | 4095 | 0 | +| 10 | 4095 | 1 | 4095 | 4095 | +| 10+ | 4095 | 0 | 4095 | 4095 | +| 11 | 4095 | 0 | 4095 | 4095 | +| 11 | 4095 | 0 | 3513 | 3513 | +| 11 | 4095 | 0 | 4095 | 4095 | +| 11+ | 4095 | 0 | 2728 | 0 | +| 12 | 4095 | 0 | 2728 | 0 | +| 12 | 4095 | 0 | 2729 | 0 | +| 12 | 4095 | 0 | 2730 | 0 | +| 12 | 4095 | 0 | 2731 | 0 | +| 12 | 4095 | 0 | 2732 | 0 | +| 12 | 4095 | 0 | 2733 | 0 | +| 12 | 4095 | 0 | 2734 | 0 | +| 12 | 4095 | 0 | 2735 | 0 | +| 12+ | 21845 | 1 | 2728 | 0 | +| 13 | 21845 | 1 | 2728 | 21845 | +| 13+ | 21845 | 1 | 2729 | 0 | +| 14 | 21845 | 1 | 2729 | 21845 | +| 14+ | 21845 | 1 | 2730 | 0 | +| 15 | 21845 | 1 | 2730 | 21845 | +| 15+ | 21845 | 1 | 2731 | 0 | +| 16 | 21845 | 1 | 2731 | 21845 | +| 16+ | 21845 | 1 | 2732 | 0 | +| 17 | 21845 | 1 | 2732 | 21845 | +| 17+ | 21845 | 1 | 2733 | 0 | +| 18 | 21845 | 1 | 2733 | 21845 | +| 18+ | 21845 | 1 | 2734 | 0 | +| 19 | 21845 | 1 | 2734 | 21845 | +| 19+ | 21845 | 1 | 2735 | 0 | +| 20 | 21845 | 1 | 2735 | 21845 | +| 20+ | 21845 | 0 | 2728 | 21845 | +| 21 | 21845 | 0 | 2728 | 21845 | +| 21 | 21845 | 0 | 2729 | 21845 | +| 21 | 21845 | 0 | 2730 | 21845 | +| 21 | 21845 | 0 | 2731 | 21845 | +| 21 | 21845 | 0 | 2732 | 21845 | +| 21 | 21845 | 0 | 2733 | 21845 | +| 21 | 21845 | 0 | 2734 | 21845 | +| 21 | 21845 | 0 | 2735 | 21845 | +| 21+ | -21846 | 1 | 2728 | 21845 | +| 22 | -21846 | 1 | 2728 | -21846 | +| 22+ | -21846 | 0 | 2728 | -21846 | +| 23 | -21846 | 0 | 2728 | -21846 | +| 23 | -21846 | 0 | 2729 | 21845 | +| 23 | -21846 | 0 | 2730 | 21845 | +| 23 | -21846 | 0 | 2731 | 21845 | +| 23 | -21846 | 0 | 2732 | 21845 | +| 23 | -21846 | 0 | 2733 | 21845 | +| 23 | -21846 | 0 | 2734 | 21845 | +| 23 | -21846 | 0 | 2735 | 21845 | +| 23+ | 21845 | 1 | 2728 | -21846 | +| 24 | 21845 | 1 | 2728 | 21845 | +| 24+ | -21846 | 1 | 2729 | 21845 | +| 25 | -21846 | 1 | 2729 | -21846 | +| 25+ | -21846 | 0 | 2728 | 21845 | +| 26 | -21846 | 0 | 2728 | 21845 | +| 26 | -21846 | 0 | 2729 | -21846 | +| 26 | -21846 | 0 | 2730 | 21845 | +| 26 | -21846 | 0 | 2731 | 21845 | +| 26 | -21846 | 0 | 2732 | 21845 | +| 26 | -21846 | 0 | 2733 | 21845 | +| 26 | -21846 | 0 | 2734 | 21845 | +| 26 | -21846 | 0 | 2735 | 21845 | +| 26+ | 21845 | 1 | 2729 | -21846 | +| 27 | 21845 | 1 | 2729 | 21845 | +| 27+ | -21846 | 1 | 2730 | 21845 | +| 28 | -21846 | 1 | 2730 | -21846 | +| 28+ | -21846 | 0 | 2728 | 21845 | +| 29 | -21846 | 0 | 2728 | 21845 | +| 29 | -21846 | 0 | 2729 | 21845 | +| 29 | -21846 | 0 | 2730 | -21846 | +| 29 | -21846 | 0 | 2731 | 21845 | +| 29 | -21846 | 0 | 2732 | 21845 | +| 29 | -21846 | 0 | 2733 | 21845 | +| 29 | -21846 | 0 | 2734 | 21845 | +| 29 | -21846 | 0 | 2735 | 21845 | +| 29+ | 21845 | 1 | 2730 | -21846 | +| 30 | 21845 | 1 | 2730 | 21845 | +| 30+ | -21846 | 1 | 2731 | 21845 | +| 31 | -21846 | 1 | 2731 | -21846 | +| 31+ | -21846 | 0 | 2728 | 21845 | +| 32 | -21846 | 0 | 2728 | 21845 | +| 32 | -21846 | 0 | 2729 | 21845 | +| 32 | -21846 | 0 | 2730 | 21845 | +| 32 | -21846 | 0 | 2731 | -21846 | +| 32 | -21846 | 0 | 2732 | 21845 | +| 32 | -21846 | 0 | 2733 | 21845 | +| 32 | -21846 | 0 | 2734 | 21845 | +| 32 | -21846 | 0 | 2735 | 21845 | +| 32+ | 21845 | 1 | 2731 | -21846 | +| 33 | 21845 | 1 | 2731 | 21845 | +| 33+ | -21846 | 1 | 2732 | 21845 | +| 34 | -21846 | 1 | 2732 | -21846 | +| 34+ | -21846 | 0 | 2728 | 21845 | +| 35 | -21846 | 0 | 2728 | 21845 | +| 35 | -21846 | 0 | 2729 | 21845 | +| 35 | -21846 | 0 | 2730 | 21845 | +| 35 | -21846 | 0 | 2731 | 21845 | +| 35 | -21846 | 0 | 2732 | -21846 | +| 35 | -21846 | 0 | 2733 | 21845 | +| 35 | -21846 | 0 | 2734 | 21845 | +| 35 | -21846 | 0 | 2735 | 21845 | +| 35+ | 21845 | 1 | 2732 | -21846 | +| 36 | 21845 | 1 | 2732 | 21845 | +| 36+ | -21846 | 1 | 2733 | 21845 | +| 37 | -21846 | 1 | 2733 | -21846 | +| 37+ | -21846 | 0 | 2728 | 21845 | +| 38 | -21846 | 0 | 2728 | 21845 | +| 38 | -21846 | 0 | 2729 | 21845 | +| 38 | -21846 | 0 | 2730 | 21845 | +| 38 | -21846 | 0 | 2731 | 21845 | +| 38 | -21846 | 0 | 2732 | 21845 | +| 38 | -21846 | 0 | 2733 | -21846 | +| 38 | -21846 | 0 | 2734 | 21845 | +| 38 | -21846 | 0 | 2735 | 21845 | +| 38+ | 21845 | 1 | 2733 | -21846 | +| 39 | 21845 | 1 | 2733 | 21845 | +| 39+ | -21846 | 1 | 2734 | 21845 | +| 40 | -21846 | 1 | 2734 | -21846 | +| 40+ | -21846 | 0 | 2728 | 21845 | +| 41 | -21846 | 0 | 2728 | 21845 | +| 41 | -21846 | 0 | 2729 | 21845 | +| 41 | -21846 | 0 | 2730 | 21845 | +| 41 | -21846 | 0 | 2731 | 21845 | +| 41 | -21846 | 0 | 2732 | 21845 | +| 41 | -21846 | 0 | 2733 | 21845 | +| 41 | -21846 | 0 | 2734 | -21846 | +| 41 | -21846 | 0 | 2735 | 21845 | +| 41+ | 21845 | 1 | 2734 | -21846 | +| 42 | 21845 | 1 | 2734 | 21845 | +| 42+ | -21846 | 1 | 2735 | 21845 | +| 43 | -21846 | 1 | 2735 | -21846 | +| 43+ | -21846 | 0 | 2728 | 21845 | +| 44 | -21846 | 0 | 2728 | 21845 | +| 44 | -21846 | 0 | 2729 | 21845 | +| 44 | -21846 | 0 | 2730 | 21845 | +| 44 | -21846 | 0 | 2731 | 21845 | +| 44 | -21846 | 0 | 2732 | 21845 | +| 44 | -21846 | 0 | 2733 | 21845 | +| 44 | -21846 | 0 | 2734 | 21845 | +| 44 | -21846 | 0 | 2735 | -21846 | +| 44+ | 21845 | 1 | 2735 | -21846 | +| 45 | 21845 | 1 | 2735 | 21845 | +| 45+ | 21845 | 0 | 2728 | 21845 | +| 46 | 21845 | 0 | 2728 | 21845 | +| 46 | 21845 | 0 | 2729 | 21845 | +| 46 | 21845 | 0 | 2730 | 21845 | +| 46 | 21845 | 0 | 2731 | 21845 | +| 46 | 21845 | 0 | 2732 | 21845 | +| 46 | 21845 | 0 | 2733 | 21845 | +| 46 | 21845 | 0 | 2734 | 21845 | +| 46 | 21845 | 0 | 2735 | 21845 | +| 46+ | 21845 | 0 | 341 | 0 | +| 47 | 21845 | 0 | 341 | 0 | +| 47 | 21845 | 0 | 853 | 0 | +| 47 | 21845 | 0 | 1365 | 0 | +| 47 | 21845 | 0 | 1877 | 0 | +| 47 | 21845 | 0 | 2389 | 0 | +| 47 | 21845 | 0 | 2901 | 0 | +| 47 | 21845 | 0 | 3413 | 0 | +| 47 | 21845 | 0 | 3925 | 0 | +| 47+ | 21845 | 1 | 341 | 0 | +| 48 | 21845 | 1 | 341 | 21845 | +| 48+ | 21845 | 1 | 853 | 0 | +| 49 | 21845 | 1 | 853 | 21845 | +| 49+ | 21845 | 1 | 1365 | 0 | +| 50 | 21845 | 1 | 1365 | 21845 | +| 50+ | 21845 | 1 | 1877 | 0 | +| 51 | 21845 | 1 | 1877 | 21845 | +| 51+ | 21845 | 1 | 2389 | 0 | +| 52 | 21845 | 1 | 2389 | 21845 | +| 52+ | 21845 | 1 | 2901 | 0 | +| 53 | 21845 | 1 | 2901 | 21845 | +| 53+ | 21845 | 1 | 3413 | 0 | +| 54 | 21845 | 1 | 3413 | 21845 | +| 54+ | 21845 | 1 | 3925 | 0 | +| 55 | 21845 | 1 | 3925 | 21845 | +| 55+ | 21845 | 0 | 341 | 21845 | +| 56 | 21845 | 0 | 341 | 21845 | +| 56 | 21845 | 0 | 853 | 21845 | +| 56 | 21845 | 0 | 1365 | 21845 | +| 56 | 21845 | 0 | 1877 | 21845 | +| 56 | 21845 | 0 | 2389 | 21845 | +| 56 | 21845 | 0 | 2901 | 21845 | +| 56 | 21845 | 0 | 3413 | 21845 | +| 56 | 21845 | 0 | 3925 | 21845 | +| 56+ | -21846 | 1 | 341 | 21845 | +| 57 | -21846 | 1 | 341 | -21846 | +| 57+ | -21846 | 0 | 341 | -21846 | +| 58 | -21846 | 0 | 341 | -21846 | +| 58 | -21846 | 0 | 853 | 21845 | +| 58 | -21846 | 0 | 1365 | 21845 | +| 58 | -21846 | 0 | 1877 | 21845 | +| 58 | -21846 | 0 | 2389 | 21845 | +| 58 | -21846 | 0 | 2901 | 21845 | +| 58 | -21846 | 0 | 3413 | 21845 | +| 58 | -21846 | 0 | 3925 | 21845 | +| 58+ | 21845 | 1 | 341 | -21846 | +| 59 | 21845 | 1 | 341 | 21845 | +| 59+ | -21846 | 1 | 853 | 21845 | +| 60 | -21846 | 1 | 853 | -21846 | +| 60+ | -21846 | 0 | 341 | 21845 | +| 61 | -21846 | 0 | 341 | 21845 | +| 61 | -21846 | 0 | 853 | -21846 | +| 61 | -21846 | 0 | 1365 | 21845 | +| 61 | -21846 | 0 | 1877 | 21845 | +| 61 | -21846 | 0 | 2389 | 21845 | +| 61 | -21846 | 0 | 2901 | 21845 | +| 61 | -21846 | 0 | 3413 | 21845 | +| 61 | -21846 | 0 | 3925 | 21845 | +| 61+ | 21845 | 1 | 853 | -21846 | +| 62 | 21845 | 1 | 853 | 21845 | +| 62+ | -21846 | 1 | 1365 | 21845 | +| 63 | -21846 | 1 | 1365 | -21846 | +| 63+ | -21846 | 0 | 341 | 21845 | +| 64 | -21846 | 0 | 341 | 21845 | +| 64 | -21846 | 0 | 853 | 21845 | +| 64 | -21846 | 0 | 1365 | -21846 | +| 64 | -21846 | 0 | 1877 | 21845 | +| 64 | -21846 | 0 | 2389 | 21845 | +| 64 | -21846 | 0 | 2901 | 21845 | +| 64 | -21846 | 0 | 3413 | 21845 | +| 64 | -21846 | 0 | 3925 | 21845 | +| 64+ | 21845 | 1 | 1365 | -21846 | +| 65 | 21845 | 1 | 1365 | 21845 | +| 65+ | -21846 | 1 | 1877 | 21845 | +| 66 | -21846 | 1 | 1877 | -21846 | +| 66+ | -21846 | 0 | 341 | 21845 | +| 67 | -21846 | 0 | 341 | 21845 | +| 67 | -21846 | 0 | 853 | 21845 | +| 67 | -21846 | 0 | 1365 | 21845 | +| 67 | -21846 | 0 | 1877 | -21846 | +| 67 | -21846 | 0 | 2389 | 21845 | +| 67 | -21846 | 0 | 2901 | 21845 | +| 67 | -21846 | 0 | 3413 | 21845 | +| 67 | -21846 | 0 | 3925 | 21845 | +| 67+ | 21845 | 1 | 1877 | -21846 | +| 68 | 21845 | 1 | 1877 | 21845 | +| 68+ | -21846 | 1 | 2389 | 21845 | +| 69 | -21846 | 1 | 2389 | -21846 | +| 69+ | -21846 | 0 | 341 | 21845 | +| 70 | -21846 | 0 | 341 | 21845 | +| 70 | -21846 | 0 | 853 | 21845 | +| 70 | -21846 | 0 | 1365 | 21845 | +| 70 | -21846 | 0 | 1877 | 21845 | +| 70 | -21846 | 0 | 2389 | -21846 | +| 70 | -21846 | 0 | 2901 | 21845 | +| 70 | -21846 | 0 | 3413 | 21845 | +| 70 | -21846 | 0 | 3925 | 21845 | +| 70+ | 21845 | 1 | 2389 | -21846 | +| 71 | 21845 | 1 | 2389 | 21845 | +| 71+ | -21846 | 1 | 2901 | 21845 | +| 72 | -21846 | 1 | 2901 | -21846 | +| 72+ | -21846 | 0 | 341 | 21845 | +| 73 | -21846 | 0 | 341 | 21845 | +| 73 | -21846 | 0 | 853 | 21845 | +| 73 | -21846 | 0 | 1365 | 21845 | +| 73 | -21846 | 0 | 1877 | 21845 | +| 73 | -21846 | 0 | 2389 | 21845 | +| 73 | -21846 | 0 | 2901 | -21846 | +| 73 | -21846 | 0 | 3413 | 21845 | +| 73 | -21846 | 0 | 3925 | 21845 | +| 73+ | 21845 | 1 | 2901 | -21846 | +| 74 | 21845 | 1 | 2901 | 21845 | +| 74+ | -21846 | 1 | 3413 | 21845 | +| 75 | -21846 | 1 | 3413 | -21846 | +| 75+ | -21846 | 0 | 341 | 21845 | +| 76 | -21846 | 0 | 341 | 21845 | +| 76 | -21846 | 0 | 853 | 21845 | +| 76 | -21846 | 0 | 1365 | 21845 | +| 76 | -21846 | 0 | 1877 | 21845 | +| 76 | -21846 | 0 | 2389 | 21845 | +| 76 | -21846 | 0 | 2901 | 21845 | +| 76 | -21846 | 0 | 3413 | -21846 | +| 76 | -21846 | 0 | 3925 | 21845 | +| 76+ | 21845 | 1 | 3413 | -21846 | +| 77 | 21845 | 1 | 3413 | 21845 | +| 77+ | -21846 | 1 | 3925 | 21845 | +| 78 | -21846 | 1 | 3925 | -21846 | +| 78+ | -21846 | 0 | 341 | 21845 | +| 79 | -21846 | 0 | 341 | 21845 | +| 79 | -21846 | 0 | 853 | 21845 | +| 79 | -21846 | 0 | 1365 | 21845 | +| 79 | -21846 | 0 | 1877 | 21845 | +| 79 | -21846 | 0 | 2389 | 21845 | +| 79 | -21846 | 0 | 2901 | 21845 | +| 79 | -21846 | 0 | 3413 | 21845 | +| 79 | -21846 | 0 | 3925 | -21846 | +| 79+ | 21845 | 1 | 3925 | -21846 | +| 80 | 21845 | 1 | 3925 | 21845 | +| 80+ | 21845 | 0 | 341 | 21845 | +| 81 | 21845 | 0 | 341 | 21845 | +| 81 | 21845 | 0 | 853 | 21845 | +| 81 | 21845 | 0 | 1365 | 21845 | +| 81 | 21845 | 0 | 1877 | 21845 | +| 81 | 21845 | 0 | 2389 | 21845 | +| 81 | 21845 | 0 | 2901 | 21845 | +| 81 | 21845 | 0 | 3413 | 21845 | +| 81 | 21845 | 0 | 3925 | 21845 |`; diff --git a/web-ide-main/projects/src/project_03/08_ram16k.ts b/web-ide-main/projects/src/project_03/08_ram16k.ts new file mode 100644 index 0000000..6b60c0e --- /dev/null +++ b/web-ide-main/projects/src/project_03/08_ram16k.ts @@ -0,0 +1,1362 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/b/RAM16K.hdl +/** + * Memory of 16K 16-bit registers. + * If load is asserted, the value of the register selected by + * address is set to in; Otherwise, the value does not change. + * The value of the selected register is emitted by out. + */ +CHIP RAM16K { + IN in[16], load, address[14]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/3/b/RAM16K.tst + +load RAM16K.hdl, +compare-to RAM16K.cmp, +output-list time%S1.3.1 in%D1.6.1 load%B2.1.1 address%D2.5.2 out%D1.6.1; + +set in 0, +set load 0, +set address 0, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set in 4321, +set load 0, +tick, +output; +tock, +output; + +set load 1, +set address 4321, +tick, +output; +tock, +output; + +set load 0, +set address 0, +tick, +output; +tock, +output; + +set in 12345, +set address 12345, +tick, +output; +tock, +output; + +set load 1, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 4321, +eval, +output; + +set in 16383, +tick, +output; +tock, +output; + +set load 1, +set address 16383, +tick, +output; +tock, +output; + +set load 0, +tick, +output; +tock, +output; + +set address 12345, +eval, +output; + +set address 16383, +eval, +output; + + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +tick, +output, +tock, +output; +set address %B10101010101010, +tick, +output, +tock, +output; +set address %B10101010101011, +tick, +output, +tock, +output; +set address %B10101010101100, +tick, +output, +tock, +output; +set address %B10101010101101, +tick, +output, +tock, +output; +set address %B10101010101110, +tick, +output, +tock, +output; +set address %B10101010101111, +tick, +output, +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101000, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101000, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10101010101001, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101001, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10101010101010, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101010, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10101010101011, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101011, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10101010101100, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101100, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10101010101101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10101010101110, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101110, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10101010101111, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + +set load 1, +set address %B10101010101111, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B10101010101000, +tick, +output; +tock, +output; +set address %B10101010101001, +eval, +output; +set address %B10101010101010, +eval, +output; +set address %B10101010101011, +eval, +output; +set address %B10101010101100, +eval, +output; +set address %B10101010101101, +eval, +output; +set address %B10101010101110, +eval, +output; +set address %B10101010101111, +eval, +output; + + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set in %B0101010101010101, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +tick, +output, +tock, +output; +set address %B01010101010101, +tick, +output, +tock, +output; +set address %B01110101010101, +tick, +output, +tock, +output; +set address %B10010101010101, +tick, +output, +tock, +output; +set address %B10110101010101, +tick, +output, +tock, +output; +set address %B11010101010101, +tick, +output, +tock, +output; +set address %B11110101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B00010101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B00010101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B00110101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B00110101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B01010101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B01010101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B01110101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B01110101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10010101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B10010101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B10110101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B10110101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B11010101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B11010101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; +set address %B11110101010101, +set in %B1010101010101010, +tick, +output; +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output; + +set load 1, +set address %B11110101010101, +set in %B0101010101010101, +tick, +output, +tock, +output; + +set load 0, +set address %B00010101010101, +tick, +output; +tock, +output; +set address %B00110101010101, +eval, +output; +set address %B01010101010101, +eval, +output; +set address %B01110101010101, +eval, +output; +set address %B10010101010101, +eval, +output; +set address %B10110101010101, +eval, +output; +set address %B11010101010101, +eval, +output; +set address %B11110101010101, +eval, +output;`; +export const cmp = `|time | in |load| address | out | +| 0+ | 0 | 0 | 0 | 0 | +| 1 | 0 | 0 | 0 | 0 | +| 1+ | 0 | 1 | 0 | 0 | +| 2 | 0 | 1 | 0 | 0 | +| 2+ | 4321 | 0 | 0 | 0 | +| 3 | 4321 | 0 | 0 | 0 | +| 3+ | 4321 | 1 | 4321 | 0 | +| 4 | 4321 | 1 | 4321 | 4321 | +| 4+ | 4321 | 0 | 0 | 0 | +| 5 | 4321 | 0 | 0 | 0 | +| 5+ | 12345 | 0 | 12345 | 0 | +| 6 | 12345 | 0 | 12345 | 0 | +| 6+ | 12345 | 1 | 12345 | 0 | +| 7 | 12345 | 1 | 12345 | 12345 | +| 7+ | 12345 | 0 | 12345 | 12345 | +| 8 | 12345 | 0 | 12345 | 12345 | +| 8 | 12345 | 0 | 4321 | 4321 | +| 8+ | 16383 | 0 | 4321 | 4321 | +| 9 | 16383 | 0 | 4321 | 4321 | +| 9+ | 16383 | 1 | 16383 | 0 | +| 10 | 16383 | 1 | 16383 | 16383 | +| 10+ | 16383 | 0 | 16383 | 16383 | +| 11 | 16383 | 0 | 16383 | 16383 | +| 11 | 16383 | 0 | 12345 | 12345 | +| 11 | 16383 | 0 | 16383 | 16383 | +| 11+ | 16383 | 0 | 10920 | 0 | +| 12 | 16383 | 0 | 10920 | 0 | +| 12 | 16383 | 0 | 10921 | 0 | +| 12 | 16383 | 0 | 10922 | 0 | +| 12 | 16383 | 0 | 10923 | 0 | +| 12 | 16383 | 0 | 10924 | 0 | +| 12 | 16383 | 0 | 10925 | 0 | +| 12 | 16383 | 0 | 10926 | 0 | +| 12 | 16383 | 0 | 10927 | 0 | +| 12+ | 21845 | 1 | 10920 | 0 | +| 13 | 21845 | 1 | 10920 | 21845 | +| 13+ | 21845 | 1 | 10921 | 0 | +| 14 | 21845 | 1 | 10921 | 21845 | +| 14+ | 21845 | 1 | 10922 | 0 | +| 15 | 21845 | 1 | 10922 | 21845 | +| 15+ | 21845 | 1 | 10923 | 0 | +| 16 | 21845 | 1 | 10923 | 21845 | +| 16+ | 21845 | 1 | 10924 | 0 | +| 17 | 21845 | 1 | 10924 | 21845 | +| 17+ | 21845 | 1 | 10925 | 0 | +| 18 | 21845 | 1 | 10925 | 21845 | +| 18+ | 21845 | 1 | 10926 | 0 | +| 19 | 21845 | 1 | 10926 | 21845 | +| 19+ | 21845 | 1 | 10927 | 0 | +| 20 | 21845 | 1 | 10927 | 21845 | +| 20+ | 21845 | 0 | 10920 | 21845 | +| 21 | 21845 | 0 | 10920 | 21845 | +| 21 | 21845 | 0 | 10921 | 21845 | +| 21 | 21845 | 0 | 10922 | 21845 | +| 21 | 21845 | 0 | 10923 | 21845 | +| 21 | 21845 | 0 | 10924 | 21845 | +| 21 | 21845 | 0 | 10925 | 21845 | +| 21 | 21845 | 0 | 10926 | 21845 | +| 21 | 21845 | 0 | 10927 | 21845 | +| 21+ | -21846 | 1 | 10920 | 21845 | +| 22 | -21846 | 1 | 10920 | -21846 | +| 22+ | -21846 | 0 | 10920 | -21846 | +| 23 | -21846 | 0 | 10920 | -21846 | +| 23 | -21846 | 0 | 10921 | 21845 | +| 23 | -21846 | 0 | 10922 | 21845 | +| 23 | -21846 | 0 | 10923 | 21845 | +| 23 | -21846 | 0 | 10924 | 21845 | +| 23 | -21846 | 0 | 10925 | 21845 | +| 23 | -21846 | 0 | 10926 | 21845 | +| 23 | -21846 | 0 | 10927 | 21845 | +| 23+ | 21845 | 1 | 10920 | -21846 | +| 24 | 21845 | 1 | 10920 | 21845 | +| 24+ | -21846 | 1 | 10921 | 21845 | +| 25 | -21846 | 1 | 10921 | -21846 | +| 25+ | -21846 | 0 | 10920 | 21845 | +| 26 | -21846 | 0 | 10920 | 21845 | +| 26 | -21846 | 0 | 10921 | -21846 | +| 26 | -21846 | 0 | 10922 | 21845 | +| 26 | -21846 | 0 | 10923 | 21845 | +| 26 | -21846 | 0 | 10924 | 21845 | +| 26 | -21846 | 0 | 10925 | 21845 | +| 26 | -21846 | 0 | 10926 | 21845 | +| 26 | -21846 | 0 | 10927 | 21845 | +| 26+ | 21845 | 1 | 10921 | -21846 | +| 27 | 21845 | 1 | 10921 | 21845 | +| 27+ | -21846 | 1 | 10922 | 21845 | +| 28 | -21846 | 1 | 10922 | -21846 | +| 28+ | -21846 | 0 | 10920 | 21845 | +| 29 | -21846 | 0 | 10920 | 21845 | +| 29 | -21846 | 0 | 10921 | 21845 | +| 29 | -21846 | 0 | 10922 | -21846 | +| 29 | -21846 | 0 | 10923 | 21845 | +| 29 | -21846 | 0 | 10924 | 21845 | +| 29 | -21846 | 0 | 10925 | 21845 | +| 29 | -21846 | 0 | 10926 | 21845 | +| 29 | -21846 | 0 | 10927 | 21845 | +| 29+ | 21845 | 1 | 10922 | -21846 | +| 30 | 21845 | 1 | 10922 | 21845 | +| 30+ | -21846 | 1 | 10923 | 21845 | +| 31 | -21846 | 1 | 10923 | -21846 | +| 31+ | -21846 | 0 | 10920 | 21845 | +| 32 | -21846 | 0 | 10920 | 21845 | +| 32 | -21846 | 0 | 10921 | 21845 | +| 32 | -21846 | 0 | 10922 | 21845 | +| 32 | -21846 | 0 | 10923 | -21846 | +| 32 | -21846 | 0 | 10924 | 21845 | +| 32 | -21846 | 0 | 10925 | 21845 | +| 32 | -21846 | 0 | 10926 | 21845 | +| 32 | -21846 | 0 | 10927 | 21845 | +| 32+ | 21845 | 1 | 10923 | -21846 | +| 33 | 21845 | 1 | 10923 | 21845 | +| 33+ | -21846 | 1 | 10924 | 21845 | +| 34 | -21846 | 1 | 10924 | -21846 | +| 34+ | -21846 | 0 | 10920 | 21845 | +| 35 | -21846 | 0 | 10920 | 21845 | +| 35 | -21846 | 0 | 10921 | 21845 | +| 35 | -21846 | 0 | 10922 | 21845 | +| 35 | -21846 | 0 | 10923 | 21845 | +| 35 | -21846 | 0 | 10924 | -21846 | +| 35 | -21846 | 0 | 10925 | 21845 | +| 35 | -21846 | 0 | 10926 | 21845 | +| 35 | -21846 | 0 | 10927 | 21845 | +| 35+ | 21845 | 1 | 10924 | -21846 | +| 36 | 21845 | 1 | 10924 | 21845 | +| 36+ | -21846 | 1 | 10925 | 21845 | +| 37 | -21846 | 1 | 10925 | -21846 | +| 37+ | -21846 | 0 | 10920 | 21845 | +| 38 | -21846 | 0 | 10920 | 21845 | +| 38 | -21846 | 0 | 10921 | 21845 | +| 38 | -21846 | 0 | 10922 | 21845 | +| 38 | -21846 | 0 | 10923 | 21845 | +| 38 | -21846 | 0 | 10924 | 21845 | +| 38 | -21846 | 0 | 10925 | -21846 | +| 38 | -21846 | 0 | 10926 | 21845 | +| 38 | -21846 | 0 | 10927 | 21845 | +| 38+ | 21845 | 1 | 10925 | -21846 | +| 39 | 21845 | 1 | 10925 | 21845 | +| 39+ | -21846 | 1 | 10926 | 21845 | +| 40 | -21846 | 1 | 10926 | -21846 | +| 40+ | -21846 | 0 | 10920 | 21845 | +| 41 | -21846 | 0 | 10920 | 21845 | +| 41 | -21846 | 0 | 10921 | 21845 | +| 41 | -21846 | 0 | 10922 | 21845 | +| 41 | -21846 | 0 | 10923 | 21845 | +| 41 | -21846 | 0 | 10924 | 21845 | +| 41 | -21846 | 0 | 10925 | 21845 | +| 41 | -21846 | 0 | 10926 | -21846 | +| 41 | -21846 | 0 | 10927 | 21845 | +| 41+ | 21845 | 1 | 10926 | -21846 | +| 42 | 21845 | 1 | 10926 | 21845 | +| 42+ | -21846 | 1 | 10927 | 21845 | +| 43 | -21846 | 1 | 10927 | -21846 | +| 43+ | -21846 | 0 | 10920 | 21845 | +| 44 | -21846 | 0 | 10920 | 21845 | +| 44 | -21846 | 0 | 10921 | 21845 | +| 44 | -21846 | 0 | 10922 | 21845 | +| 44 | -21846 | 0 | 10923 | 21845 | +| 44 | -21846 | 0 | 10924 | 21845 | +| 44 | -21846 | 0 | 10925 | 21845 | +| 44 | -21846 | 0 | 10926 | 21845 | +| 44 | -21846 | 0 | 10927 | -21846 | +| 44+ | 21845 | 1 | 10927 | -21846 | +| 45 | 21845 | 1 | 10927 | 21845 | +| 45+ | 21845 | 0 | 10920 | 21845 | +| 46 | 21845 | 0 | 10920 | 21845 | +| 46 | 21845 | 0 | 10921 | 21845 | +| 46 | 21845 | 0 | 10922 | 21845 | +| 46 | 21845 | 0 | 10923 | 21845 | +| 46 | 21845 | 0 | 10924 | 21845 | +| 46 | 21845 | 0 | 10925 | 21845 | +| 46 | 21845 | 0 | 10926 | 21845 | +| 46 | 21845 | 0 | 10927 | 21845 | +| 46+ | 21845 | 0 | 1365 | 0 | +| 47 | 21845 | 0 | 1365 | 0 | +| 47 | 21845 | 0 | 3413 | 0 | +| 47 | 21845 | 0 | 5461 | 0 | +| 47 | 21845 | 0 | 7509 | 0 | +| 47 | 21845 | 0 | 9557 | 0 | +| 47 | 21845 | 0 | 11605 | 0 | +| 47 | 21845 | 0 | 13653 | 0 | +| 47 | 21845 | 0 | 15701 | 0 | +| 47+ | 21845 | 1 | 1365 | 0 | +| 48 | 21845 | 1 | 1365 | 21845 | +| 48+ | 21845 | 1 | 3413 | 0 | +| 49 | 21845 | 1 | 3413 | 21845 | +| 49+ | 21845 | 1 | 5461 | 0 | +| 50 | 21845 | 1 | 5461 | 21845 | +| 50+ | 21845 | 1 | 7509 | 0 | +| 51 | 21845 | 1 | 7509 | 21845 | +| 51+ | 21845 | 1 | 9557 | 0 | +| 52 | 21845 | 1 | 9557 | 21845 | +| 52+ | 21845 | 1 | 11605 | 0 | +| 53 | 21845 | 1 | 11605 | 21845 | +| 53+ | 21845 | 1 | 13653 | 0 | +| 54 | 21845 | 1 | 13653 | 21845 | +| 54+ | 21845 | 1 | 15701 | 0 | +| 55 | 21845 | 1 | 15701 | 21845 | +| 55+ | 21845 | 0 | 1365 | 21845 | +| 56 | 21845 | 0 | 1365 | 21845 | +| 56 | 21845 | 0 | 3413 | 21845 | +| 56 | 21845 | 0 | 5461 | 21845 | +| 56 | 21845 | 0 | 7509 | 21845 | +| 56 | 21845 | 0 | 9557 | 21845 | +| 56 | 21845 | 0 | 11605 | 21845 | +| 56 | 21845 | 0 | 13653 | 21845 | +| 56 | 21845 | 0 | 15701 | 21845 | +| 56+ | -21846 | 1 | 1365 | 21845 | +| 57 | -21846 | 1 | 1365 | -21846 | +| 57+ | -21846 | 0 | 1365 | -21846 | +| 58 | -21846 | 0 | 1365 | -21846 | +| 58 | -21846 | 0 | 3413 | 21845 | +| 58 | -21846 | 0 | 5461 | 21845 | +| 58 | -21846 | 0 | 7509 | 21845 | +| 58 | -21846 | 0 | 9557 | 21845 | +| 58 | -21846 | 0 | 11605 | 21845 | +| 58 | -21846 | 0 | 13653 | 21845 | +| 58 | -21846 | 0 | 15701 | 21845 | +| 58+ | 21845 | 1 | 1365 | -21846 | +| 59 | 21845 | 1 | 1365 | 21845 | +| 59+ | -21846 | 1 | 3413 | 21845 | +| 60 | -21846 | 1 | 3413 | -21846 | +| 60+ | -21846 | 0 | 1365 | 21845 | +| 61 | -21846 | 0 | 1365 | 21845 | +| 61 | -21846 | 0 | 3413 | -21846 | +| 61 | -21846 | 0 | 5461 | 21845 | +| 61 | -21846 | 0 | 7509 | 21845 | +| 61 | -21846 | 0 | 9557 | 21845 | +| 61 | -21846 | 0 | 11605 | 21845 | +| 61 | -21846 | 0 | 13653 | 21845 | +| 61 | -21846 | 0 | 15701 | 21845 | +| 61+ | 21845 | 1 | 3413 | -21846 | +| 62 | 21845 | 1 | 3413 | 21845 | +| 62+ | -21846 | 1 | 5461 | 21845 | +| 63 | -21846 | 1 | 5461 | -21846 | +| 63+ | -21846 | 0 | 1365 | 21845 | +| 64 | -21846 | 0 | 1365 | 21845 | +| 64 | -21846 | 0 | 3413 | 21845 | +| 64 | -21846 | 0 | 5461 | -21846 | +| 64 | -21846 | 0 | 7509 | 21845 | +| 64 | -21846 | 0 | 9557 | 21845 | +| 64 | -21846 | 0 | 11605 | 21845 | +| 64 | -21846 | 0 | 13653 | 21845 | +| 64 | -21846 | 0 | 15701 | 21845 | +| 64+ | 21845 | 1 | 5461 | -21846 | +| 65 | 21845 | 1 | 5461 | 21845 | +| 65+ | -21846 | 1 | 7509 | 21845 | +| 66 | -21846 | 1 | 7509 | -21846 | +| 66+ | -21846 | 0 | 1365 | 21845 | +| 67 | -21846 | 0 | 1365 | 21845 | +| 67 | -21846 | 0 | 3413 | 21845 | +| 67 | -21846 | 0 | 5461 | 21845 | +| 67 | -21846 | 0 | 7509 | -21846 | +| 67 | -21846 | 0 | 9557 | 21845 | +| 67 | -21846 | 0 | 11605 | 21845 | +| 67 | -21846 | 0 | 13653 | 21845 | +| 67 | -21846 | 0 | 15701 | 21845 | +| 67+ | 21845 | 1 | 7509 | -21846 | +| 68 | 21845 | 1 | 7509 | 21845 | +| 68+ | -21846 | 1 | 9557 | 21845 | +| 69 | -21846 | 1 | 9557 | -21846 | +| 69+ | -21846 | 0 | 1365 | 21845 | +| 70 | -21846 | 0 | 1365 | 21845 | +| 70 | -21846 | 0 | 3413 | 21845 | +| 70 | -21846 | 0 | 5461 | 21845 | +| 70 | -21846 | 0 | 7509 | 21845 | +| 70 | -21846 | 0 | 9557 | -21846 | +| 70 | -21846 | 0 | 11605 | 21845 | +| 70 | -21846 | 0 | 13653 | 21845 | +| 70 | -21846 | 0 | 15701 | 21845 | +| 70+ | 21845 | 1 | 9557 | -21846 | +| 71 | 21845 | 1 | 9557 | 21845 | +| 71+ | -21846 | 1 | 11605 | 21845 | +| 72 | -21846 | 1 | 11605 | -21846 | +| 72+ | -21846 | 0 | 1365 | 21845 | +| 73 | -21846 | 0 | 1365 | 21845 | +| 73 | -21846 | 0 | 3413 | 21845 | +| 73 | -21846 | 0 | 5461 | 21845 | +| 73 | -21846 | 0 | 7509 | 21845 | +| 73 | -21846 | 0 | 9557 | 21845 | +| 73 | -21846 | 0 | 11605 | -21846 | +| 73 | -21846 | 0 | 13653 | 21845 | +| 73 | -21846 | 0 | 15701 | 21845 | +| 73+ | 21845 | 1 | 11605 | -21846 | +| 74 | 21845 | 1 | 11605 | 21845 | +| 74+ | -21846 | 1 | 13653 | 21845 | +| 75 | -21846 | 1 | 13653 | -21846 | +| 75+ | -21846 | 0 | 1365 | 21845 | +| 76 | -21846 | 0 | 1365 | 21845 | +| 76 | -21846 | 0 | 3413 | 21845 | +| 76 | -21846 | 0 | 5461 | 21845 | +| 76 | -21846 | 0 | 7509 | 21845 | +| 76 | -21846 | 0 | 9557 | 21845 | +| 76 | -21846 | 0 | 11605 | 21845 | +| 76 | -21846 | 0 | 13653 | -21846 | +| 76 | -21846 | 0 | 15701 | 21845 | +| 76+ | 21845 | 1 | 13653 | -21846 | +| 77 | 21845 | 1 | 13653 | 21845 | +| 77+ | -21846 | 1 | 15701 | 21845 | +| 78 | -21846 | 1 | 15701 | -21846 | +| 78+ | -21846 | 0 | 1365 | 21845 | +| 79 | -21846 | 0 | 1365 | 21845 | +| 79 | -21846 | 0 | 3413 | 21845 | +| 79 | -21846 | 0 | 5461 | 21845 | +| 79 | -21846 | 0 | 7509 | 21845 | +| 79 | -21846 | 0 | 9557 | 21845 | +| 79 | -21846 | 0 | 11605 | 21845 | +| 79 | -21846 | 0 | 13653 | 21845 | +| 79 | -21846 | 0 | 15701 | -21846 | +| 79+ | 21845 | 1 | 15701 | -21846 | +| 80 | 21845 | 1 | 15701 | 21845 | +| 80+ | 21845 | 0 | 1365 | 21845 | +| 81 | 21845 | 0 | 1365 | 21845 | +| 81 | 21845 | 0 | 3413 | 21845 | +| 81 | 21845 | 0 | 5461 | 21845 | +| 81 | 21845 | 0 | 7509 | 21845 | +| 81 | 21845 | 0 | 9557 | 21845 | +| 81 | 21845 | 0 | 11605 | 21845 | +| 81 | 21845 | 0 | 13653 | 21845 | +| 81 | 21845 | 0 | 15701 | 21845 |`; diff --git a/web-ide-main/projects/src/project_03/index.ts b/web-ide-main/projects/src/project_03/index.ts new file mode 100644 index 0000000..b68b0e6 --- /dev/null +++ b/web-ide-main/projects/src/project_03/index.ts @@ -0,0 +1,56 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import { resetBySuffix } from "../reset.js"; +import * as DFF from "./00_dff.js"; +import * as Bit from "./01_bit.js"; +import * as Register from "./02_register.js"; +import * as PC from "./03_pc.js"; +import * as RAM8 from "./04_ram8.js"; +import * as RAM64 from "./05_ram64.js"; +import * as RAM512 from "./06_ram512.js"; +import * as RAM4k from "./07_ram4k.js"; +import * as RAM16k from "./08_ram16k.js"; + +export const CHIPS = { + "Bit.hdl": Bit.hdl, + "Bit.tst": Bit.tst, + "Bit.cmp": Bit.cmp, + "Register.hdl": Register.hdl, + "Register.tst": Register.tst, + "Register.cmp": Register.cmp, + "PC.hdl": PC.hdl, + "PC.tst": PC.tst, + "PC.cmp": PC.cmp, + "RAM8.hdl": RAM8.hdl, + "RAM8.tst": RAM8.tst, + "RAM8.cmp": RAM8.cmp, + "RAM64.hdl": RAM64.hdl, + "RAM64.tst": RAM64.tst, + "RAM64.cmp": RAM64.cmp, + "RAM512.hdl": RAM512.hdl, + "RAM512.tst": RAM512.tst, + "RAM512.cmp": RAM512.cmp, + "RAM4K.hdl": RAM4k.hdl, + "RAM4K.tst": RAM4k.tst, + "RAM4K.cmp": RAM4k.cmp, + "RAM16K.hdl": RAM16k.hdl, + "RAM16K.tst": RAM16k.tst, + "RAM16K.cmp": RAM16k.cmp, +}; + +export const BUILTIN_CHIPS = { + DFF: DFF.hdl, +}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/03"); + await reset(fs, CHIPS); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + await fs.pushd("/projects/03"); + await resetBySuffix(fs, CHIPS, ".tst"); + await resetBySuffix(fs, CHIPS, ".cmp"); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/project_04/01_mult.ts b/web-ide-main/projects/src/project_04/01_mult.ts new file mode 100644 index 0000000..16d75b5 --- /dev/null +++ b/web-ide-main/projects/src/project_04/01_mult.ts @@ -0,0 +1,96 @@ +export const asm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/4/Mult.asm + +// Multiplies R0 and R1 and stores the result in R2. +// (R0, R1, R2 refer to RAM[0], RAM[1], and RAM[2], respectively.) +// The algorithm is based on repetitive addition. + +//// Replace this comment with your code.`; + +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/4/mult/Mult.tst + +// Tests the Mult program, designed to compute R2 = R0 * R1. +// Tests the program by having it multiply several sets of +// R0 and R1 values. + +load Mult.asm, +compare-to Mult.cmp, +output-list RAM[0]%D2.6.2 RAM[1]%D2.6.2 RAM[2]%D2.6.2; + +set RAM[0] 0, // Sets R0 and R1 to some input values +set RAM[1] 0, +set RAM[2] -1; // Ensures that the program initialized R2 to 0 +repeat 20 { + ticktock; +} +set RAM[0] 0, // Restores R0 and R1 in case the program changed them +set RAM[1] 0, +output; + +set PC 0, +set RAM[0] 1, // Sets R0 and R1 to some input values +set RAM[1] 0, +set RAM[2] -1; // Ensures that the program initialized R2 to 0 +repeat 50 { + ticktock; +} +set RAM[0] 1, // Restores R0 and R1 in case the program changed them +set RAM[1] 0, +output; + +set PC 0, +set RAM[0] 0, // Sets R0 and R1 to some input values +set RAM[1] 2, +set RAM[2] -1; // Ensures that the program initialized R2 to 0 +repeat 80 { + ticktock; +} +set RAM[0] 0, // Restores R0 and R1 in case the program changed them +set RAM[1] 2, +output; + +set PC 0, +set RAM[0] 3, // Sets R0 and R1 to some input values +set RAM[1] 1, +set RAM[2] -1; // Ensures that the program initialized R2 to 0 +repeat 120 { + ticktock; +} +set RAM[0] 3, // Restores R0 and R1 in case the program changed them +set RAM[1] 1, +output; + +set PC 0, +set RAM[0] 2, // Sets R0 and R1 to some input values +set RAM[1] 4, +set RAM[2] -1; // Ensures that the program initialized R2 to 0 +repeat 150 { + ticktock; +} +set RAM[0] 2, // Restores R0 and R1 in case the program changed them +set RAM[1] 4, +output; + +set PC 0, +set RAM[0] 6, // Sets R0 and R1 to some input values +set RAM[1] 7, +set RAM[2] -1; // Ensures that the program initialized R2 to 0 +repeat 210 { + ticktock; +} +set RAM[0] 6, // Restores R0 and R1 in case the program changed them +set RAM[1] 7, +output;`; + +export const cmp = `| RAM[0] | RAM[1] | RAM[2] | +| 0 | 0 | 0 | +| 1 | 0 | 0 | +| 0 | 2 | 0 | +| 3 | 1 | 3 | +| 2 | 4 | 8 | +| 6 | 7 | 42 |`; diff --git a/web-ide-main/projects/src/project_04/02_fill.ts b/web-ide-main/projects/src/project_04/02_fill.ts new file mode 100644 index 0000000..3377be4 --- /dev/null +++ b/web-ide-main/projects/src/project_04/02_fill.ts @@ -0,0 +1,66 @@ +export const asm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/4/Fill.asm + +// Runs an infinite loop that listens to the keyboard input. +// When a key is pressed (any key), the program blackens the screen, +// i.e. writes "black" in every pixel. When no key is pressed, +// the screen should be cleared. + +//// Replace this comment with your code.`; + +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/4/fill/Fill.tst + +// Tests the Fill.hack program in the CPU emulator. + +load Fill.asm; +echo "Select the highest speed and 'enable keyboard'. Then press any key for some time, and inspect the screen."; + +repeat { + ticktock; +}`; + +export const autoTst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/4/fill/FillAutomatic + +// This script can be used to test the Fill program automatically, +// rather than interactively. Specifically, the script sets the keyboard +// memory map (RAM[24576]) to 0, 1, and then again to 0. This simulates the +// acts of leaving the keyboard untouched, pressing some key, and then releasing +// the key. After each one of these simulated events, the script outputs the values +// of some selected registers from the screen memory map (RAM[16384]-RAM[24576]). +// This is done in order to test that these registers are set to 000...0 or 111....1, +// as mandated by how the Fill program should react to the keyboard events. + +load Fill.asm, +compare-to FillAutomatic.cmp, +output-list RAM[16384]%D2.6.2 RAM[17648]%D2.6.2 RAM[18349]%D2.6.2 RAM[19444]%D2.6.2 RAM[20771]%D2.6.2 RAM[21031]%D2.6.2 RAM[22596]%D2.6.2 RAM[23754]%D2.6.2 RAM[24575]%D2.6.2; + +set RAM[24576] 0, // the keyboard is untouched +repeat 1000000 { + ticktock; +} +output; // tests that the screen is white + +set RAM[24576] 1, // a keyboard key is pressed +repeat 1000000 { + ticktock; +} +output; // tests that the screen is black + +set RAM[24576] 0, // the keyboard is untouched +repeat 1000000 { + ticktock; +} +output; // tests that the screen is white`; + +export const autoCmp = `|RAM[16384]|RAM[17648]|RAM[18349]|RAM[19444]|RAM[20771]|RAM[21031]|RAM[22596]|RAM[23754]|RAM[24575]| +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | +| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |`; diff --git a/web-ide-main/projects/src/project_04/index.ts b/web-ide-main/projects/src/project_04/index.ts new file mode 100644 index 0000000..1e0b52c --- /dev/null +++ b/web-ide-main/projects/src/project_04/index.ts @@ -0,0 +1,31 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { resetBySuffix } from "../reset.js"; +import * as Mult from "./01_mult.js"; +import * as Fill from "./02_fill.js"; + +export const TESTS = { + Mult: { + "Mult.asm": Mult.asm, + "Mult.tst": Mult.tst, + "Mult.cmp": Mult.cmp, + }, + Fill: { + "Fill.asm": Fill.asm, + "Fill.tst": Fill.tst, + "FillAutomatic.tst": Fill.autoTst, + "FillAutomatic.cmp": Fill.autoCmp, + }, +}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/04"); + await reset(fs, TESTS); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + await fs.pushd("/projects/04"); + await resetBySuffix(fs, TESTS, ".tst"); + await resetBySuffix(fs, TESTS, ".cmp"); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/project_05/01_memory.ts b/web-ide-main/projects/src/project_05/01_memory.ts new file mode 100644 index 0000000..b38aa01 --- /dev/null +++ b/web-ide-main/projects/src/project_05/01_memory.ts @@ -0,0 +1,287 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/Memory.hdl +/** + * The complete address space of the Hack computer's memory, + * including RAM and memory-mapped I/O. + * The chip facilitates read and write operations, as follows: + * Read: out(t) = Memory[address(t)](t) + * Write: if load(t-1) then Memory[address(t-1)](t) = in(t-1) + * In words: the chip always outputs the value stored at the memory + * location specified by address. If load=1, the in value is loaded + * into the memory location specified by address. This value becomes + * available through the out output from the next time step onward. + * Address space rules: + * Only the upper 16K+8K+1 words of the Memory chip are used. + * Access to address>0x6000 is invalid and reads 0. Access to any address + * in the range 0x4000-0x5FFF results in accessing the screen memory + * map. Access to address 0x6000 results in accessing the keyboard + * memory map. The behavior in these addresses is described in the Screen + * and Keyboard chip specifications given in the lectures and the book. + */ +CHIP Memory { + IN in[16], load, address[15]; + OUT out[16]; + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/05/Memory.tst + +// Tests the Memory chip by inputting values to selected addresses, +// verifying that these addresses were indeed written to, and verifying +// that other addresses were not accessed by mistake. In particular, we +// focus on probing the registers in addresses 'lower RAM', 'upper RAM', +// and 'Screen', which correspond to 0, %X2000, and %X4000 in Hexadecimal +// (0, 8192 (8K), and 16385 (16K+1) in decimal). + +load Memory.hdl, +compare-to Memory.cmp, +output-list in%D1.6.1 load%B2.1.2 address%B1.15.1 out%D1.6.1; + +echo "Before you run this script, select the 'Screen' option from the 'View' menu"; + +// We've noticed a common design mistake in several students' Memory.hdl files. +// This error leads to zeros being written in the offset of inactive memory segments +// instead of the intended location. To identify this issue, the test should check not +// only for incorrect writes into the wrong segment but also for any unexpected changes. +// To prepare for this, we've initialized the memory with a specific number in the areas +// where these erroneous writes might happen. + +//// Sets RAM[2000], RAM[4000] = 12345 (for the following overwrite test) +set in 12345, set load 1, set address %X2000, tick, output; tock, output; +set address %X4000, tick, output; tock, output; + +set in -1, // Sets RAM[0] = -1 +set load 1, +set address 0, +tick, +output; +tock, +output; + +set in 9999, // RAM[0] holds value +set load 0, +tick, +output; +tock, +output; + +set address %X2000, // Did not also write to upper RAM or Screen +eval, +output; +set address %X4000, +eval, +output; + +//// Sets RAM[0], RAM[4000] = 12345 (for following overwrite test) +set in 12345, set load 1, set address %X0000, tick, output; tock, output; +set address %X4000, tick, output; tock, output; + +set in 2222, // Sets RAM[2000] = 2222 +set load 1, +set address %X2000, +tick, +output; +tock, +output; + +set in 9999, // RAM[2000] holds value +set load 0, +tick, +output; +tock, +output; + +set address 0, // Did not also write to lower RAM or Screen +eval, +output; +set address %X4000, +eval, +output; + +set load 0, // Low order address bits connected +set address %X0001, eval, output; +set address %X0002, eval, output; +set address %X0004, eval, output; +set address %X0008, eval, output; +set address %X0010, eval, output; +set address %X0020, eval, output; +set address %X0040, eval, output; +set address %X0080, eval, output; +set address %X0100, eval, output; +set address %X0200, eval, output; +set address %X0400, eval, output; +set address %X0800, eval, output; +set address %X1000, eval, output; +set address %X2000, eval, output; + +set address %X1234, // RAM[1234] = 1234 +set in 1234, +set load 1, +tick, +output; +tock, +output; + +set load 0, +set address %X2234, // Did not also write to upper RAM or Screen +eval, output; +set address %X6234, +eval, output; + +set address %X2345, // RAM[2345] = 2345 +set in 2345, +set load 1, +tick, +output; +tock, +output; + +set load 0, +set address %X0345, // Did not also write to lower RAM or Screen +eval, output; +set address %X4345, +eval, output; + +//// Clears the overwrite detection value from the screen +set in 0, set load 1, set address %X4000, tick, output; tock, output; + +// Keyboard test + +set address 24576, +echo "Click the Keyboard icon and hold down the 'K' key (uppercase) until you see the next message...", +// It's important to keep holding the key down since if the system is busy, +// the memory will zero itself before being outputted. + +while out <> 75 { + tick, tock; // tick, tock prevents hang if sync. parts used in KB path. +} + +clear-echo, +output; + +// Screen test + +//// Sets RAM[0FCF], RAM[2FCF] = 12345 (for following overwrite test) +set in 12345, set load 1, set address %X0FCF, tick, output; tock, output; +set address %X2FCF, tick, output; tock, output; + +set load 1, +set in -1, +set address %X4FCF, +tick, +tock, +output, + +set address %X504F, +tick, +tock, +output; + +set address %X0FCF, // Did not also write to lower or upper RAM +eval, +output; +set address %X2FCF, +eval, +output; + +set load 0, // Low order address bits connected +set address %X4FCE, eval, output; +set address %X4FCD, eval, output; +set address %X4FCB, eval, output; +set address %X4FC7, eval, output; +set address %X4FDF, eval, output; +set address %X4FEF, eval, output; +set address %X4F8F, eval, output; +set address %X4F4F, eval, output; +set address %X4ECF, eval, output; +set address %X4DCF, eval, output; +set address %X4BCF, eval, output; +set address %X47CF, eval, output; +set address %X5FCF, eval, output; + +set load 0, +set address 24576, +echo "Two horizontal lines should be in the middle of the screen. Hold down 'Y' (uppercase) until you see the next message ...", +// It's important to keep holding the key down since if the system is busy, +// the memory will zero itself before being outputted. + +while out <> 89 { + tick, tock; // tick, tock prevents hang if sync. parts used in KB path. +} + +clear-echo, +output;`; +export const cmp = `| in |load | address | out | +| 12345 | 1 | 010000000000000 | 0 | +| 12345 | 1 | 010000000000000 | 12345 | +| 12345 | 1 | 100000000000000 | 0 | +| 12345 | 1 | 100000000000000 | 12345 | +| -1 | 1 | 000000000000000 | 0 | +| -1 | 1 | 000000000000000 | -1 | +| 9999 | 0 | 000000000000000 | -1 | +| 9999 | 0 | 000000000000000 | -1 | +| 9999 | 0 | 010000000000000 | 12345 | +| 9999 | 0 | 100000000000000 | 12345 | +| 12345 | 1 | 000000000000000 | -1 | +| 12345 | 1 | 000000000000000 | 12345 | +| 12345 | 1 | 100000000000000 | 12345 | +| 12345 | 1 | 100000000000000 | 12345 | +| 2222 | 1 | 010000000000000 | 12345 | +| 2222 | 1 | 010000000000000 | 2222 | +| 9999 | 0 | 010000000000000 | 2222 | +| 9999 | 0 | 010000000000000 | 2222 | +| 9999 | 0 | 000000000000000 | 12345 | +| 9999 | 0 | 100000000000000 | 12345 | +| 9999 | 0 | 000000000000001 | 0 | +| 9999 | 0 | 000000000000010 | 0 | +| 9999 | 0 | 000000000000100 | 0 | +| 9999 | 0 | 000000000001000 | 0 | +| 9999 | 0 | 000000000010000 | 0 | +| 9999 | 0 | 000000000100000 | 0 | +| 9999 | 0 | 000000001000000 | 0 | +| 9999 | 0 | 000000010000000 | 0 | +| 9999 | 0 | 000000100000000 | 0 | +| 9999 | 0 | 000001000000000 | 0 | +| 9999 | 0 | 000010000000000 | 0 | +| 9999 | 0 | 000100000000000 | 0 | +| 9999 | 0 | 001000000000000 | 0 | +| 9999 | 0 | 010000000000000 | 2222 | +| 1234 | 1 | 001001000110100 | 0 | +| 1234 | 1 | 001001000110100 | 1234 | +| 1234 | 0 | 010001000110100 | 0 | +| 1234 | 0 | 110001000110100 | 0 | +| 2345 | 1 | 010001101000101 | 0 | +| 2345 | 1 | 010001101000101 | 2345 | +| 2345 | 0 | 000001101000101 | 0 | +| 2345 | 0 | 100001101000101 | 0 | +| 0 | 1 | 100000000000000 | 12345 | +| 0 | 1 | 100000000000000 | 0 | +| 0 | 1 | 110000000000000 | 75 | +| 12345 | 1 | 000111111001111 | 0 | +| 12345 | 1 | 000111111001111 | 12345 | +| 12345 | 1 | 010111111001111 | 0 | +| 12345 | 1 | 010111111001111 | 12345 | +| -1 | 1 | 100111111001111 | -1 | +| -1 | 1 | 101000001001111 | -1 | +| -1 | 1 | 000111111001111 | 12345 | +| -1 | 1 | 010111111001111 | 12345 | +| -1 | 0 | 100111111001110 | 0 | +| -1 | 0 | 100111111001101 | 0 | +| -1 | 0 | 100111111001011 | 0 | +| -1 | 0 | 100111111000111 | 0 | +| -1 | 0 | 100111111011111 | 0 | +| -1 | 0 | 100111111101111 | 0 | +| -1 | 0 | 100111110001111 | 0 | +| -1 | 0 | 100111101001111 | 0 | +| -1 | 0 | 100111011001111 | 0 | +| -1 | 0 | 100110111001111 | 0 | +| -1 | 0 | 100101111001111 | 0 | +| -1 | 0 | 100011111001111 | 0 | +| -1 | 0 | 101111111001111 | 0 | +| -1 | 0 | 110000000000000 | 89 |`; diff --git a/web-ide-main/projects/src/project_05/02_cpu.ts b/web-ide-main/projects/src/project_05/02_cpu.ts new file mode 100644 index 0000000..03ecb55 --- /dev/null +++ b/web-ide-main/projects/src/project_05/02_cpu.ts @@ -0,0 +1,522 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/CPU.hdl +/** + * The Hack Central Processing unit (CPU). + * Parses the binary code in the instruction input and executes it according to the + * Hack machine language specification. In the case of a C-instruction, computes the + * function specified by the instruction. If the instruction specifies to read a memory + * value, the inM input is expected to contain this value. If the instruction specifies + * to write a value to the memory, sets the outM output to this value, sets the addressM + * output to the target address, and asserts the writeM output (when writeM = 0, any + * value may appear in outM). + * If the reset input is 0, computes the address of the next instruction and sets the + * pc output to that value. If the reset input is 1, sets pc to 0. + * Note: The outM and writeM outputs are combinational: they are affected by the + * instruction's execution during the current cycle. The addressM and pc outputs are + * clocked: although they are affected by the instruction's execution, they commit to + * their new values only in the next cycle. + */ +CHIP CPU { + + IN inM[16], // M value input (M = contents of RAM[A]) + instruction[16], // Instruction for execution + reset; // Signals whether to re-start the current + // program (reset==1) or continue executing + // the current program (reset==0). + + OUT outM[16], // M value output + writeM, // Write to M? + addressM[15], // Address in data memory (of M) + pc[15]; // address of next instruction + + PARTS: + //// Replace this comment with your code. +}`; +export const tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/CPU.tst + +load CPU.hdl, +compare-to CPU.cmp, +output-list time%S0.4.0 inM%D0.6.0 instruction%B0.16.0 reset%B2.1.2 outM%D1.6.0 writeM%B3.1.3 addressM%D0.5.0 pc%D0.5.0 DRegister[]%D1.6.1; + + +set instruction %B0011000000111001, // @12345 +tick, output, tock, output; + +set instruction %B1110110000010000, // D=A +tick, output, tock, output; + +set instruction %B0101101110100000, // @23456 +tick, output, tock, output; + +set instruction %B1110000111010000, // D=A-D +tick, output, tock, output; + +set instruction %B0000001111101000, // @1000 +tick, output, tock, output; + +set instruction %B1110001100001000, // M=D +tick, output, tock, output; + +set instruction %B0000001111101001, // @1001 +tick, output, tock, output; + +set instruction %B1110001110011000, // MD=D-1 +tick, output, tock, output; + +set instruction %B0000001111101000, // @1000 +tick, output, tock, output; + +set instruction %B1111010011010000, // D=D-M +set inM 11111, +tick, output, tock, output; + +set instruction %B0000000000001110, // @14 +tick, output, tock, output; + +set instruction %B1110001100000100, // D;jlt +tick, output, tock, output; + +set instruction %B0000001111100111, // @999 +tick, output, tock, output; + +set instruction %B1110110111100000, // A=A+1 +tick, output, tock, output; + +set instruction %B1110001100001000, // M=D +tick, output, tock, output; + +set instruction %B0000000000010101, // @21 +tick, output, tock, output; + +set instruction %B1110011111000010, // D+1;jeq +tick, output, tock, output; + +set instruction %B0000000000000010, // @2 +tick, output, tock, output; + +set instruction %B1110000010010000, // D=D+A +tick, output, tock, output; + +set instruction %B0000001111101000, // @1000 +tick, output, tock, output; + +set instruction %B1110111010010000, // D=-1 +tick, output, tock, output; + +set instruction %B1110001100000001, // D;JGT +tick, output, tock, output; + +set instruction %B1110001100000010, // D;JEQ +tick, output, tock, output; + +set instruction %B1110001100000011, // D;JGE +tick, output, tock, output; + +set instruction %B1110001100000100, // D;JLT +tick, output, tock, output; + +set instruction %B1110001100000101, // D;JNE +tick, output, tock, output; + +set instruction %B1110001100000110, // D;JLE +tick, output, tock, output; + +set instruction %B1110001100000111, // D;JMP +tick, output, tock, output; + +set instruction %B1110101010010000, // D=0 +tick, output, tock, output; + +set instruction %B1110001100000001, // D;JGT +tick, output, tock, output; + +set instruction %B1110001100000010, // D;JEQ +tick, output, tock, output; + +set instruction %B1110001100000011, // D;JGE +tick, output, tock, output; + +set instruction %B1110001100000100, // D;JLT +tick, output, tock, output; + +set instruction %B1110001100000101, // D;JNE +tick, output, tock, output; + +set instruction %B1110001100000110, // D;JLE +tick, output, tock, output; + +set instruction %B1110001100000111, // D;JMP +tick, output, tock, output; + +set instruction %B1110111111010000, // D=1 +tick, output, tock, output; + +set instruction %B1110001100000001, // D;JGT +tick, output, tock, output; + +set instruction %B1110001100000010, // D;JEQ +tick, output, tock, output; + +set instruction %B1110001100000011, // D;JGE +tick, output, tock, output; + +set instruction %B1110001100000100, // D;JLT +tick, output, tock, output; + +set instruction %B1110001100000101, // D;JNE +tick, output, tock, output; + +set instruction %B1110001100000110, // D;JLE +tick, output, tock, output; + +set instruction %B1110001100000111, // D;JMP +tick, output, tock, output; + +set reset 1; +tick, output, tock, output; + +set instruction %B0111111111111111, // @32767 +set reset 0; +tick, output, tock, output;`; +export const cmp = `|time| inM | instruction |reset| outM |writeM |addre| pc |DRegiste| +|0+ | 0|0011000000111001| 0 |*******| 0 | 0| 0| 0 | +|1 | 0|0011000000111001| 0 |*******| 0 |12345| 1| 0 | +|1+ | 0|1110110000010000| 0 |*******| 0 |12345| 1| 12345 | +|2 | 0|1110110000010000| 0 |*******| 0 |12345| 2| 12345 | +|2+ | 0|0101101110100000| 0 |*******| 0 |12345| 2| 12345 | +|3 | 0|0101101110100000| 0 |*******| 0 |23456| 3| 12345 | +|3+ | 0|1110000111010000| 0 |*******| 0 |23456| 3| 11111 | +|4 | 0|1110000111010000| 0 |*******| 0 |23456| 4| 11111 | +|4+ | 0|0000001111101000| 0 |*******| 0 |23456| 4| 11111 | +|5 | 0|0000001111101000| 0 |*******| 0 | 1000| 5| 11111 | +|5+ | 0|1110001100001000| 0 | 11111| 1 | 1000| 5| 11111 | +|6 | 0|1110001100001000| 0 | 11111| 1 | 1000| 6| 11111 | +|6+ | 0|0000001111101001| 0 |*******| 0 | 1000| 6| 11111 | +|7 | 0|0000001111101001| 0 |*******| 0 | 1001| 7| 11111 | +|7+ | 0|1110001110011000| 0 | 11110| 1 | 1001| 7| 11110 | +|8 | 0|1110001110011000| 0 | 11109| 1 | 1001| 8| 11110 | +|8+ | 0|0000001111101000| 0 |*******| 0 | 1001| 8| 11110 | +|9 | 0|0000001111101000| 0 |*******| 0 | 1000| 9| 11110 | +|9+ | 11111|1111010011010000| 0 |*******| 0 | 1000| 9| -1 | +|10 | 11111|1111010011010000| 0 |*******| 0 | 1000| 10| -1 | +|10+ | 11111|0000000000001110| 0 |*******| 0 | 1000| 10| -1 | +|11 | 11111|0000000000001110| 0 |*******| 0 | 14| 11| -1 | +|11+ | 11111|1110001100000100| 0 |*******| 0 | 14| 11| -1 | +|12 | 11111|1110001100000100| 0 |*******| 0 | 14| 14| -1 | +|12+ | 11111|0000001111100111| 0 |*******| 0 | 14| 14| -1 | +|13 | 11111|0000001111100111| 0 |*******| 0 | 999| 15| -1 | +|13+ | 11111|1110110111100000| 0 |*******| 0 | 999| 15| -1 | +|14 | 11111|1110110111100000| 0 |*******| 0 | 1000| 16| -1 | +|14+ | 11111|1110001100001000| 0 | -1| 1 | 1000| 16| -1 | +|15 | 11111|1110001100001000| 0 | -1| 1 | 1000| 17| -1 | +|15+ | 11111|0000000000010101| 0 |*******| 0 | 1000| 17| -1 | +|16 | 11111|0000000000010101| 0 |*******| 0 | 21| 18| -1 | +|16+ | 11111|1110011111000010| 0 |*******| 0 | 21| 18| -1 | +|17 | 11111|1110011111000010| 0 |*******| 0 | 21| 21| -1 | +|17+ | 11111|0000000000000010| 0 |*******| 0 | 21| 21| -1 | +|18 | 11111|0000000000000010| 0 |*******| 0 | 2| 22| -1 | +|18+ | 11111|1110000010010000| 0 |*******| 0 | 2| 22| 1 | +|19 | 11111|1110000010010000| 0 |*******| 0 | 2| 23| 1 | +|19+ | 11111|0000001111101000| 0 |*******| 0 | 2| 23| 1 | +|20 | 11111|0000001111101000| 0 |*******| 0 | 1000| 24| 1 | +|20+ | 11111|1110111010010000| 0 |*******| 0 | 1000| 24| -1 | +|21 | 11111|1110111010010000| 0 |*******| 0 | 1000| 25| -1 | +|21+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 25| -1 | +|22 | 11111|1110001100000001| 0 |*******| 0 | 1000| 26| -1 | +|22+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 26| -1 | +|23 | 11111|1110001100000010| 0 |*******| 0 | 1000| 27| -1 | +|23+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 27| -1 | +|24 | 11111|1110001100000011| 0 |*******| 0 | 1000| 28| -1 | +|24+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 28| -1 | +|25 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000| -1 | +|25+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000| -1 | +|26 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000| -1 | +|26+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| -1 | +|27 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| -1 | +|27+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| -1 | +|28 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| -1 | +|28+ | 11111|1110101010010000| 0 |*******| 0 | 1000| 1000| 0 | +|29 | 11111|1110101010010000| 0 |*******| 0 | 1000| 1001| 0 | +|29+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 1001| 0 | +|30 | 11111|1110001100000001| 0 |*******| 0 | 1000| 1002| 0 | +|30+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 1002| 0 | +|31 | 11111|1110001100000010| 0 |*******| 0 | 1000| 1000| 0 | +|31+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000| 0 | +|32 | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000| 0 | +|32+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000| 0 | +|33 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1001| 0 | +|33+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1001| 0 | +|34 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1002| 0 | +|34+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1002| 0 | +|35 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| 0 | +|35+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| 0 | +|36 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| 0 | +|36+ | 11111|1110111111010000| 0 |*******| 0 | 1000| 1000| 1 | +|37 | 11111|1110111111010000| 0 |*******| 0 | 1000| 1001| 1 | +|37+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 1001| 1 | +|38 | 11111|1110001100000001| 0 |*******| 0 | 1000| 1000| 1 | +|38+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 1000| 1 | +|39 | 11111|1110001100000010| 0 |*******| 0 | 1000| 1001| 1 | +|39+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 1001| 1 | +|40 | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000| 1 | +|40+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000| 1 | +|41 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1001| 1 | +|41+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1001| 1 | +|42 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000| 1 | +|42+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| 1 | +|43 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1001| 1 | +|43+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1001| 1 | +|44 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| 1 | +|44+ | 11111|1110001100000111| 1 |*******| 0 | 1000| 1000| 1 | +|45 | 11111|1110001100000111| 1 |*******| 0 | 1000| 0| 1 | +|45+ | 11111|0111111111111111| 0 |*******| 0 | 1000| 0| 1 | +|46 | 11111|0111111111111111| 0 |*******| 0 |32767| 1| 1 |`; + +export const external_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/CPU-external.tst + +load CPU.hdl, +output-list time%S0.4.0 inM%D0.6.0 instruction%B0.16.0 reset%B2.1.2 outM%D1.6.0 writeM%B3.1.3 addressM%D0.5.0 pc%D0.5.0; + + +set instruction %B0011000000111001, // @12345 +tick, output, tock, output; + +set instruction %B1110110000010000, // D=A +tick, output, tock, output; + +set instruction %B0101101110100000, // @23456 +tick, output, tock, output; + +set instruction %B1110000111010000, // D=A-D +tick, output, tock, output; + +set instruction %B0000001111101000, // @1000 +tick, output, tock, output; + +set instruction %B1110001100001000, // M=D +tick, output, tock, output; + +set instruction %B0000001111101001, // @1001 +tick, output, tock, output; + +set instruction %B1110001110011000, // MD=D-1 +tick, output, tock, output; + +set instruction %B0000001111101000, // @1000 +tick, output, tock, output; + +set instruction %B1111010011010000, // D=D-M +set inM 11111, +tick, output, tock, output; + +set instruction %B0000000000001110, // @14 +tick, output, tock, output; + +set instruction %B1110001100000100, // D;jlt +tick, output, tock, output; + +set instruction %B0000001111100111, // @999 +tick, output, tock, output; + +set instruction %B1110110111100000, // A=A+1 +tick, output, tock, output; + +set instruction %B1110001100001000, // M=D +tick, output, tock, output; + +set instruction %B0000000000010101, // @21 +tick, output, tock, output; + +set instruction %B1110011111000010, // D+1;jeq +tick, output, tock, output; + +set instruction %B0000000000000010, // @2 +tick, output, tock, output; + +set instruction %B1110000010010000, // D=D+A +tick, output, tock, output; + +set instruction %B0000001111101000, // @1000 +tick, output, tock, output; + +set instruction %B1110111010010000, // D=-1 +tick, output, tock, output; + +set instruction %B1110001100000001, // D;JGT +tick, output, tock, output; + +set instruction %B1110001100000010, // D;JEQ +tick, output, tock, output; + +set instruction %B1110001100000011, // D;JGE +tick, output, tock, output; + +set instruction %B1110001100000100, // D;JLT +tick, output, tock, output; + +set instruction %B1110001100000101, // D;JNE +tick, output, tock, output; + +set instruction %B1110001100000110, // D;JLE +tick, output, tock, output; + +set instruction %B1110001100000111, // D;JMP +tick, output, tock, output; + +set instruction %B1110101010010000, // D=0 +tick, output, tock, output; + +set instruction %B1110001100000001, // D;JGT +tick, output, tock, output; + +set instruction %B1110001100000010, // D;JEQ +tick, output, tock, output; + +set instruction %B1110001100000011, // D;JGE +tick, output, tock, output; + +set instruction %B1110001100000100, // D;JLT +tick, output, tock, output; + +set instruction %B1110001100000101, // D;JNE +tick, output, tock, output; + +set instruction %B1110001100000110, // D;JLE +tick, output, tock, output; + +set instruction %B1110001100000111, // D;JMP +tick, output, tock, output; + +set instruction %B1110111111010000, // D=1 +tick, output, tock, output; + +set instruction %B1110001100000001, // D;JGT +tick, output, tock, output; + +set instruction %B1110001100000010, // D;JEQ +tick, output, tock, output; + +set instruction %B1110001100000011, // D;JGE +tick, output, tock, output; + +set instruction %B1110001100000100, // D;JLT +tick, output, tock, output; + +set instruction %B1110001100000101, // D;JNE +tick, output, tock, output; + +set instruction %B1110001100000110, // D;JLE +tick, output, tock, output; + +set instruction %B1110001100000111, // D;JMP +tick, output, tock, output; + +set reset 1; +tick, output, tock, output; + +set instruction %B0111111111111111, // @32767 +set reset 0; +tick, output, tock, output;`; + +export const external_cmp = `|time| inM | instruction |reset| outM |writeM |addre| pc | +|0+ | 0|0011000000111001| 0 |*******| 0 | 0| 0| +|1 | 0|0011000000111001| 0 |*******| 0 |12345| 1| +|1+ | 0|1110110000010000| 0 |*******| 0 |12345| 1| +|2 | 0|1110110000010000| 0 |*******| 0 |12345| 2| +|2+ | 0|0101101110100000| 0 |*******| 0 |12345| 2| +|3 | 0|0101101110100000| 0 |*******| 0 |23456| 3| +|3+ | 0|1110000111010000| 0 |*******| 0 |23456| 3| +|4 | 0|1110000111010000| 0 |*******| 0 |23456| 4| +|4+ | 0|0000001111101000| 0 |*******| 0 |23456| 4| +|5 | 0|0000001111101000| 0 |*******| 0 | 1000| 5| +|5+ | 0|1110001100001000| 0 | 11111| 1 | 1000| 5| +|6 | 0|1110001100001000| 0 | 11111| 1 | 1000| 6| +|6+ | 0|0000001111101001| 0 |*******| 0 | 1000| 6| +|7 | 0|0000001111101001| 0 |*******| 0 | 1001| 7| +|7+ | 0|1110001110011000| 0 | 11110| 1 | 1001| 7| +|8 | 0|1110001110011000| 0 | 11109| 1 | 1001| 8| +|8+ | 0|0000001111101000| 0 |*******| 0 | 1001| 8| +|9 | 0|0000001111101000| 0 |*******| 0 | 1000| 9| +|9+ | 11111|1111010011010000| 0 |*******| 0 | 1000| 9| +|10 | 11111|1111010011010000| 0 |*******| 0 | 1000| 10| +|10+ | 11111|0000000000001110| 0 |*******| 0 | 1000| 10| +|11 | 11111|0000000000001110| 0 |*******| 0 | 14| 11| +|11+ | 11111|1110001100000100| 0 |*******| 0 | 14| 11| +|12 | 11111|1110001100000100| 0 |*******| 0 | 14| 14| +|12+ | 11111|0000001111100111| 0 |*******| 0 | 14| 14| +|13 | 11111|0000001111100111| 0 |*******| 0 | 999| 15| +|13+ | 11111|1110110111100000| 0 |*******| 0 | 999| 15| +|14 | 11111|1110110111100000| 0 |*******| 0 | 1000| 16| +|14+ | 11111|1110001100001000| 0 | -1| 1 | 1000| 16| +|15 | 11111|1110001100001000| 0 | -1| 1 | 1000| 17| +|15+ | 11111|0000000000010101| 0 |*******| 0 | 1000| 17| +|16 | 11111|0000000000010101| 0 |*******| 0 | 21| 18| +|16+ | 11111|1110011111000010| 0 |*******| 0 | 21| 18| +|17 | 11111|1110011111000010| 0 |*******| 0 | 21| 21| +|17+ | 11111|0000000000000010| 0 |*******| 0 | 21| 21| +|18 | 11111|0000000000000010| 0 |*******| 0 | 2| 22| +|18+ | 11111|1110000010010000| 0 |*******| 0 | 2| 22| +|19 | 11111|1110000010010000| 0 |*******| 0 | 2| 23| +|19+ | 11111|0000001111101000| 0 |*******| 0 | 2| 23| +|20 | 11111|0000001111101000| 0 |*******| 0 | 1000| 24| +|20+ | 11111|1110111010010000| 0 |*******| 0 | 1000| 24| +|21 | 11111|1110111010010000| 0 |*******| 0 | 1000| 25| +|21+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 25| +|22 | 11111|1110001100000001| 0 |*******| 0 | 1000| 26| +|22+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 26| +|23 | 11111|1110001100000010| 0 |*******| 0 | 1000| 27| +|23+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 27| +|24 | 11111|1110001100000011| 0 |*******| 0 | 1000| 28| +|24+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 28| +|25 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000| +|25+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000| +|26 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000| +|26+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| +|27 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| +|27+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| +|28 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| +|28+ | 11111|1110101010010000| 0 |*******| 0 | 1000| 1000| +|29 | 11111|1110101010010000| 0 |*******| 0 | 1000| 1001| +|29+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 1001| +|30 | 11111|1110001100000001| 0 |*******| 0 | 1000| 1002| +|30+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 1002| +|31 | 11111|1110001100000010| 0 |*******| 0 | 1000| 1000| +|31+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000| +|32 | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000| +|32+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000| +|33 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1001| +|33+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1001| +|34 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1002| +|34+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1002| +|35 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| +|35+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| +|36 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| +|36+ | 11111|1110111111010000| 0 |*******| 0 | 1000| 1000| +|37 | 11111|1110111111010000| 0 |*******| 0 | 1000| 1001| +|37+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 1001| +|38 | 11111|1110001100000001| 0 |*******| 0 | 1000| 1000| +|38+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 1000| +|39 | 11111|1110001100000010| 0 |*******| 0 | 1000| 1001| +|39+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 1001| +|40 | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000| +|40+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000| +|41 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1001| +|41+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1001| +|42 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000| +|42+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000| +|43 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1001| +|43+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1001| +|44 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000| +|44+ | 11111|1110001100000111| 1 |*******| 0 | 1000| 1000| +|45 | 11111|1110001100000111| 1 |*******| 0 | 1000| 0| +|45+ | 11111|0111111111111111| 0 |*******| 0 | 1000| 0| +|46 | 11111|0111111111111111| 0 |*******| 0 |32767| 1| +`; diff --git a/web-ide-main/projects/src/project_05/03_computer.ts b/web-ide-main/projects/src/project_05/03_computer.ts new file mode 100644 index 0000000..44fc0ea --- /dev/null +++ b/web-ide-main/projects/src/project_05/03_computer.ts @@ -0,0 +1,284 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/Computer.hdl +/** + * The Hack computer, consisting of CPU, ROM and RAM. + * When reset = 0, the program stored in the ROM executes. + * When reset = 1, the program's execution restarts. + * Thus, to start running the currently loaded program, + * set reset to 1, and then set it to 0. + * From this point onwards, the user is at the mercy of the software. + * Depending on the program's code, and whether the code is correct, + * the screen may show some output, the user may be expected to enter + * some input using the keyboard, or the program may do some procerssing. + */ +CHIP Computer { + + IN reset; + + PARTS: + //// Replace this comment with your code. +}`; +export const add_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/ComputerAdd.tst + +// Tests the Computer chip by having it execute the program Add.hack. +// The program adds up the constants 2 and 3 and writes the result in RAM[0]. + +// Tracks the values of the time, reset bit, A-register, D-register, +// program counter, R0, R1, and R2. + +load Computer.hdl, +compare-to ComputerAdd.cmp, +output-list time%S1.3.1 reset%B2.1.2 ARegister[0]%D1.7.1 DRegister[0]%D1.7.1 PC[]%D0.4.0 RAM16K[0]%D1.7.1 RAM16K[1]%D1.7.1 RAM16K[2]%D1.7.1; + +// Loads the binary program Add.hack into the computer's instruction memory +ROM32K load Add.hack, +output; + +// First run (at the beginning PC=0) +repeat 6 { + tick, tock, output; +} + +// Resets the PC +set reset 1, +set RAM16K[0] 0, +tick, tock, output; + +// Second run, to check that the PC was reset correctly. +set reset 0, + +repeat 6 { + tick, tock, output; +}`; +export const add_cmp = `|time |reset|ARegister|DRegister|PC[]|RAM16K[0]|RAM16K[1]|RAM16K[2]| +| 0 | 0 | 0 | 0 | 0| 0 | 0 | 0 | +| 1 | 0 | 2 | 0 | 1| 0 | 0 | 0 | +| 2 | 0 | 2 | 2 | 2| 0 | 0 | 0 | +| 3 | 0 | 3 | 2 | 3| 0 | 0 | 0 | +| 4 | 0 | 3 | 5 | 4| 0 | 0 | 0 | +| 5 | 0 | 0 | 5 | 5| 0 | 0 | 0 | +| 6 | 0 | 0 | 5 | 6| 5 | 0 | 0 | +| 7 | 1 | 0 | 5 | 0| 0 | 0 | 0 | +| 8 | 0 | 2 | 5 | 1| 0 | 0 | 0 | +| 9 | 0 | 2 | 2 | 2| 0 | 0 | 0 | +| 10 | 0 | 3 | 2 | 3| 0 | 0 | 0 | +| 11 | 0 | 3 | 5 | 4| 0 | 0 | 0 | +| 12 | 0 | 0 | 5 | 5| 0 | 0 | 0 | +| 13 | 0 | 0 | 5 | 6| 5 | 0 | 0 |`; +export const max_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/ComputerMax.tst + +// Tests the Computer chip by having it execute the program Max.hack. +// The program computes maximum(R0, R1) and writes the result in RAM[2]. + +// Tracks the values of the time, reset bit, A-register, D-register, +// program counter, R0, R1, and R2. +load Computer.hdl, +compare-to ComputerMax.cmp, +output-list time%S1.3.1 reset%B2.1.2 ARegister[]%D1.7.1 DRegister[]%D1.7.1 PC[]%D0.4.0 RAM16K[0]%D1.7.1 RAM16K[1]%D1.7.1 RAM16K[2]%D1.7.1; + +// Loads the binary program Add.hack into the computer's instruction memory +ROM32K load Max.hack, + +// first run: computes max(3,5) +set RAM16K[0] 3, +set RAM16K[1] 5, +output; + +repeat 14 { + tick, tock, output; +} + +// resets the PC +set reset 1, +tick, tock, output; + +// second run: computes max(23456,12345) +set reset 0, +set RAM16K[0] 23456, +set RAM16K[1] 12345, +output; + +// The run on these inputs requires less cycles (different branching) +repeat 10 { + tick, tock, output; +} +`; +export const max_cmp = `|time |reset|ARegister|DRegister|PC[]|RAM16K[0]|RAM16K[1]|RAM16K[2]| +| 0 | 0 | 0 | 0 | 0| 3 | 5 | 0 | +| 1 | 0 | 0 | 0 | 1| 3 | 5 | 0 | +| 2 | 0 | 0 | 3 | 2| 3 | 5 | 0 | +| 3 | 0 | 1 | 3 | 3| 3 | 5 | 0 | +| 4 | 0 | 1 | -2 | 4| 3 | 5 | 0 | +| 5 | 0 | 10 | -2 | 5| 3 | 5 | 0 | +| 6 | 0 | 10 | -2 | 6| 3 | 5 | 0 | +| 7 | 0 | 1 | -2 | 7| 3 | 5 | 0 | +| 8 | 0 | 1 | 5 | 8| 3 | 5 | 0 | +| 9 | 0 | 12 | 5 | 9| 3 | 5 | 0 | +| 10 | 0 | 12 | 5 | 12| 3 | 5 | 0 | +| 11 | 0 | 2 | 5 | 13| 3 | 5 | 0 | +| 12 | 0 | 2 | 5 | 14| 3 | 5 | 5 | +| 13 | 0 | 14 | 5 | 15| 3 | 5 | 5 | +| 14 | 0 | 14 | 5 | 14| 3 | 5 | 5 | +| 15 | 1 | 14 | 5 | 0| 3 | 5 | 5 | +| 15 | 0 | 14 | 5 | 0| 23456 | 12345 | 5 | +| 16 | 0 | 0 | 5 | 1| 23456 | 12345 | 5 | +| 17 | 0 | 0 | 23456 | 2| 23456 | 12345 | 5 | +| 18 | 0 | 1 | 23456 | 3| 23456 | 12345 | 5 | +| 19 | 0 | 1 | 11111 | 4| 23456 | 12345 | 5 | +| 20 | 0 | 10 | 11111 | 5| 23456 | 12345 | 5 | +| 21 | 0 | 10 | 11111 | 10| 23456 | 12345 | 5 | +| 22 | 0 | 0 | 11111 | 11| 23456 | 12345 | 5 | +| 23 | 0 | 0 | 23456 | 12| 23456 | 12345 | 5 | +| 24 | 0 | 2 | 23456 | 13| 23456 | 12345 | 5 | +| 25 | 0 | 2 | 23456 | 14| 23456 | 12345 | 23456 |`; +export const rect_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/5/ComputerRect.tst + +// Tests the Computer chip by having it execute the program Rect.hack. +// The program draws a rectangle of width 16 pixels and length RAM[0] +// at the top left corner of the screen. + +// Tracks the values of the time, A-register, D-register, program counter, R0, R1, and R2. +load Computer.hdl, +compare-to ComputerRect.cmp, +output-list time%S1.3.1 ARegister[]%D1.7.1 DRegister[]%D1.7.1 PC[]%D0.4.0 RAM16K[0]%D1.7.1 RAM16K[1]%D1.7.1 RAM16K[2]%D1.7.1; + +// Loads the binary program Rect.hack into the computer's instruction memory +ROM32K load Rect.hack, + +echo "Before you run this script, select the 'Screen' option from the 'View' menu"; + +echo "A small rectangle should be drawn at the top left of the screen (the 'Screen' option of the 'View' menu should be selected.)"; + +// Draws a rectangle consisting of 4 rows (each 16 pixels wide) +set RAM16K[0] 4, +output; + +repeat 63 { + tick, tock, output; +}`; +export const rect_cmp = `|time |ARegister|DRegister|PC[]|RAM16K[0]|RAM16K[1]|RAM16K[2]| +| 0 | 0 | 0 | 0| 4 | 0 | 0 | +| 1 | 0 | 0 | 1| 4 | 0 | 0 | +| 2 | 0 | 4 | 2| 4 | 0 | 0 | +| 3 | 23 | 4 | 3| 4 | 0 | 0 | +| 4 | 23 | 4 | 4| 4 | 0 | 0 | +| 5 | 16 | 4 | 5| 4 | 0 | 0 | +| 6 | 16 | 4 | 6| 4 | 0 | 0 | +| 7 | 16384 | 4 | 7| 4 | 0 | 0 | +| 8 | 16384 | 16384 | 8| 4 | 0 | 0 | +| 9 | 17 | 16384 | 9| 4 | 0 | 0 | +| 10 | 17 | 16384 | 10| 4 | 0 | 0 | +| 11 | 17 | 16384 | 11| 4 | 0 | 0 | +| 12 | 16384 | 16384 | 12| 4 | 0 | 0 | +| 13 | 16384 | 16384 | 13| 4 | 0 | 0 | +| 14 | 17 | 16384 | 14| 4 | 0 | 0 | +| 15 | 17 | 16384 | 15| 4 | 0 | 0 | +| 16 | 32 | 16384 | 16| 4 | 0 | 0 | +| 17 | 32 | 16416 | 17| 4 | 0 | 0 | +| 18 | 17 | 16416 | 18| 4 | 0 | 0 | +| 19 | 17 | 16416 | 19| 4 | 0 | 0 | +| 20 | 16 | 16416 | 20| 4 | 0 | 0 | +| 21 | 16 | 3 | 21| 4 | 0 | 0 | +| 22 | 10 | 3 | 22| 4 | 0 | 0 | +| 23 | 10 | 3 | 10| 4 | 0 | 0 | +| 24 | 17 | 3 | 11| 4 | 0 | 0 | +| 25 | 16416 | 3 | 12| 4 | 0 | 0 | +| 26 | 16416 | 3 | 13| 4 | 0 | 0 | +| 27 | 17 | 3 | 14| 4 | 0 | 0 | +| 28 | 17 | 16416 | 15| 4 | 0 | 0 | +| 29 | 32 | 16416 | 16| 4 | 0 | 0 | +| 30 | 32 | 16448 | 17| 4 | 0 | 0 | +| 31 | 17 | 16448 | 18| 4 | 0 | 0 | +| 32 | 17 | 16448 | 19| 4 | 0 | 0 | +| 33 | 16 | 16448 | 20| 4 | 0 | 0 | +| 34 | 16 | 2 | 21| 4 | 0 | 0 | +| 35 | 10 | 2 | 22| 4 | 0 | 0 | +| 36 | 10 | 2 | 10| 4 | 0 | 0 | +| 37 | 17 | 2 | 11| 4 | 0 | 0 | +| 38 | 16448 | 2 | 12| 4 | 0 | 0 | +| 39 | 16448 | 2 | 13| 4 | 0 | 0 | +| 40 | 17 | 2 | 14| 4 | 0 | 0 | +| 41 | 17 | 16448 | 15| 4 | 0 | 0 | +| 42 | 32 | 16448 | 16| 4 | 0 | 0 | +| 43 | 32 | 16480 | 17| 4 | 0 | 0 | +| 44 | 17 | 16480 | 18| 4 | 0 | 0 | +| 45 | 17 | 16480 | 19| 4 | 0 | 0 | +| 46 | 16 | 16480 | 20| 4 | 0 | 0 | +| 47 | 16 | 1 | 21| 4 | 0 | 0 | +| 48 | 10 | 1 | 22| 4 | 0 | 0 | +| 49 | 10 | 1 | 10| 4 | 0 | 0 | +| 50 | 17 | 1 | 11| 4 | 0 | 0 | +| 51 | 16480 | 1 | 12| 4 | 0 | 0 | +| 52 | 16480 | 1 | 13| 4 | 0 | 0 | +| 53 | 17 | 1 | 14| 4 | 0 | 0 | +| 54 | 17 | 16480 | 15| 4 | 0 | 0 | +| 55 | 32 | 16480 | 16| 4 | 0 | 0 | +| 56 | 32 | 16512 | 17| 4 | 0 | 0 | +| 57 | 17 | 16512 | 18| 4 | 0 | 0 | +| 58 | 17 | 16512 | 19| 4 | 0 | 0 | +| 59 | 16 | 16512 | 20| 4 | 0 | 0 | +| 60 | 16 | 0 | 21| 4 | 0 | 0 | +| 61 | 10 | 0 | 22| 4 | 0 | 0 | +| 62 | 10 | 0 | 23| 4 | 0 | 0 | +| 63 | 23 | 0 | 24| 4 | 0 | 0 |`; +export const add = ` +0000000000000010 +1110110000010000 +0000000000000011 +1110000010010000 +0000000000000000 +1110001100001000 +`; +export const max = `0000000000000000 +1111110000010000 +0000000000000001 +1111010011010000 +0000000000001010 +1110001100000001 +0000000000000001 +1111110000010000 +0000000000001100 +1110101010000111 +0000000000000000 +1111110000010000 +0000000000000010 +1110001100001000 +0000000000001110 +1110101010000111`; +export const rect = ` +0000000000000000 +1111110000010000 +0000000000010111 +1110001100000110 +0000000000010000 +1110001100001000 +0100000000000000 +1110110000010000 +0000000000010001 +1110001100001000 +0000000000010001 +1111110000100000 +1110111010001000 +0000000000010001 +1111110000010000 +0000000000100000 +1110000010010000 +0000000000010001 +1110001100001000 +0000000000010000 +1111110010011000 +0000000000001010 +1110001100000001 +0000000000010111 +1110101010000111`; diff --git a/web-ide-main/projects/src/project_05/04_screen.ts b/web-ide-main/projects/src/project_05/04_screen.ts new file mode 100644 index 0000000..3a54ff0 --- /dev/null +++ b/web-ide-main/projects/src/project_05/04_screen.ts @@ -0,0 +1,29 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/05/Screen.hdl +/** + * The Screen (memory map). + * Same functionality as a 16-bit 8K RAM: + * If load is asserted, the value of the register selected by + * address is set to in; Otherwise, the value does not change. + * The value of the selected register is emitted by out. + * + * This built-in implementation has the side effect of continuously + * refreshing a visual 256 by 512 black-and-white screen, simulated + * by the simulator. Each row in the visual screen is represented + * by 32 consecutive 16-bit words, starting at the top left corner + * of the visual screen. Thus the pixel at row r from the top and + * column c from the left (0<=r<256, 0<=c<512) reflects the c%16 + * bit (counting from LSB to MSB) of the word found in Screen[r*32+c/16]. + */ +CHIP Screen { + IN in[16], // what to write + load, // write-enable bit + address[13]; // where to read/write + OUT out[16]; // Screen value at the given address + + PARTS: + BUILTIN Screen; + CLOCKED in, load; +}`; diff --git a/web-ide-main/projects/src/project_05/05_keyboard.ts b/web-ide-main/projects/src/project_05/05_keyboard.ts new file mode 100644 index 0000000..bcf5770 --- /dev/null +++ b/web-ide-main/projects/src/project_05/05_keyboard.ts @@ -0,0 +1,17 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/05/Keyboard.hdl +/** + * The keyboard (memory map). + * Outputs the character code of the currently pressed key, + * or 0 if no key is pressed. + * + * This built-in implementation has a visualization side effect. + */ +CHIP Keyboard { + OUT out[16]; + + PARTS: + BUILTIN Keyboard; +}`; diff --git a/web-ide-main/projects/src/project_05/06_d_register.ts b/web-ide-main/projects/src/project_05/06_d_register.ts new file mode 100644 index 0000000..39a31d2 --- /dev/null +++ b/web-ide-main/projects/src/project_05/06_d_register.ts @@ -0,0 +1,21 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/05/DRegister.hdl +/** + * A 16-bit register named DRegister with the same functionality + * of the Register chip: + * If load is asserted, the register's value is set to in; + * Otherwise, the register maintains its current value. + * out(t+1) = (load(t), in(t), out(t)) + * + * This built-in implementation has a visualization side effect. + */ +CHIP DRegister { + IN in[16], load; + OUT out[16]; + + PARTS: + BUILTIN DRegister; + CLOCKED in, load; +}`; diff --git a/web-ide-main/projects/src/project_05/07_a_register.ts b/web-ide-main/projects/src/project_05/07_a_register.ts new file mode 100644 index 0000000..efc8b6e --- /dev/null +++ b/web-ide-main/projects/src/project_05/07_a_register.ts @@ -0,0 +1,21 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/05/ARegister.hdl +/** + * A 16-bit register named ARegister with the same functionality + * of the Register chip: + * If load is asserted, the register's value is set to in; + * Otherwise, the register maintains its current value. + * out(t+1) = (load(t), in(t), out(t)) + * + * This built-in implementation has a visualization side effect. + */ + CHIP ARegister { + IN in[16], load; + OUT out[16]; + + PARTS: + BUILTIN ARegister; + CLOCKED in, load; +}`; diff --git a/web-ide-main/projects/src/project_05/08_rom32k.ts b/web-ide-main/projects/src/project_05/08_rom32k.ts new file mode 100644 index 0000000..396fef0 --- /dev/null +++ b/web-ide-main/projects/src/project_05/08_rom32k.ts @@ -0,0 +1,25 @@ +export const hdl = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/05/ROM32K.hdl +/** + * Read-Only memory (ROM) of 32K registers, each 16-bit wide. + * Facilitates data read, as follows: + * out(t) = ROM32K[address(t)](t) + * In words: the chip outputs the value stored at the + * memory location specified by address. + * + * Can be used as the instruction memory of the Hack computer. + * To that end, the built-in chip implementation supports the handling + * of the "ROM32K load Xxx" script command, where Xxx is the name of a + * text file containing a program written in the binary Hack machine language. + * When the simulator encounters such a command in a test script, + * the file's contents is loaded into the simulated ROM32K chip. + */ + CHIP ROM32K { + IN address[15]; + OUT out[16]; + + PARTS: + BUILTIN ROM32K; +}`; diff --git a/web-ide-main/projects/src/project_05/index.ts b/web-ide-main/projects/src/project_05/index.ts new file mode 100644 index 0000000..d0fb6df --- /dev/null +++ b/web-ide-main/projects/src/project_05/index.ts @@ -0,0 +1,58 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import * as RAM16K from "../project_03/08_ram16k.js"; +import { resetBySuffix } from "../reset.js"; +import * as Memory from "./01_memory.js"; +import * as CPU from "./02_cpu.js"; +import * as Computer from "./03_computer.js"; +import * as Screen from "./04_screen.js"; +import * as Keyboard from "./05_keyboard.js"; +import * as DRegister from "./06_d_register.js"; +import * as ARegister from "./07_a_register.js"; +import * as ROM32K from "./08_rom32k.js"; + +export const CHIPS = { + "Memory.hdl": Memory.hdl, + "Memory.tst": Memory.tst, + "Memory.cmp": Memory.cmp, + "CPU.hdl": CPU.hdl, + "CPU.tst": CPU.tst, + "CPU.cmp": CPU.cmp, + "CPU-external.tst": CPU.external_tst, + "CPU-external.cmp": CPU.external_cmp, + "Computer.hdl": Computer.hdl, + "ComputerAdd.tst": Computer.add_tst, + "ComputerAdd.cmp": Computer.add_cmp, + "ComputerMax.tst": Computer.max_tst, + "ComputerMax.cmp": Computer.max_cmp, + "ComputerRect.tst": Computer.rect_tst, + "ComputerRect.cmp": Computer.rect_cmp, + "Add.hack": Computer.add, + "Max.hack": Computer.max, + "Rect.hack": Computer.rect, +}; + +export const BUILTIN_CHIPS = { + Screen: Screen.hdl, + Keyboard: Keyboard.hdl, + DRegister: DRegister.hdl, + ARegister: ARegister.hdl, + ROM32K: ROM32K.hdl, + RAM16K: RAM16K.hdl.replace( + "//// Replace this comment with your code.", + "BUILTIN RAM16K;", + ), +}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/05"); + await reset(fs, CHIPS); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + await fs.pushd("/projects/05"); + await resetBySuffix(fs, CHIPS, ".tst"); + await resetBySuffix(fs, CHIPS, ".cmp"); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/project_05/make_samples.sh b/web-ide-main/projects/src/project_05/make_samples.sh new file mode 100644 index 0000000..bd2b4e3 --- /dev/null +++ b/web-ide-main/projects/src/project_05/make_samples.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# write FileName.ts varname SourceFile + +function write () { + echo -n "export const $2 = \`" >> $1 + cat $3 >> $1 + echo "\`;\n\n" >> $1 +} + +# write_all ts_name ProjName +function write_all() { + for e in vm vm_tst hdl_tst cmp ; do write $1 $e $2.$e ; done +} \ No newline at end of file diff --git a/web-ide-main/projects/src/project_07/11_simple_add.ts b/web-ide-main/projects/src/project_07/11_simple_add.ts new file mode 100644 index 0000000..43d1e05 --- /dev/null +++ b/web-ide-main/projects/src/project_07/11_simple_add.ts @@ -0,0 +1,55 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/StackArithmetic/SimpleAdd/SimpleAdd.vm + +// Pushes and adds two constants. + +push constant 7 +push constant 8 +add +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/StackArithmetic/SimpleAdd/SimpleAddVME.tst + +// Tests and illustrates SimpleAdd.vm on the VM simulator. + +load SimpleAdd.vm, +compare-to SimpleAdd.cmp, + +set RAM[0] 256, // initializes the stack pointer + +repeat 3 { // SimpleAdd.vm has 3 VM commands + vmstep; +} + +// Outputs the stack pointer and the value at the stack's base +output-list RAM[0]%D2.6.2 RAM[256]%D2.6.2; +output;`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/StackArithmetic/SimpleAdd/SimpleAdd.tst + +// Tests SimpleAdd.asm on the CPU emulator. + +compare-to SimpleAdd.cmp, + +set RAM[0] 256, // initializes the stack pointer + +repeat 60 { // enough cycles to complete the execution + ticktock; +} + +// Outputs the stack pointer and the value at the stack's base +output-list RAM[0]%D2.6.2 RAM[256]%D2.6.2; +output; +`; + +export const cmp = `| RAM[0] | RAM[256] | +| 257 | 15 | +`; diff --git a/web-ide-main/projects/src/project_07/12_stack_test.ts b/web-ide-main/projects/src/project_07/12_stack_test.ts new file mode 100644 index 0000000..6eb3b8a --- /dev/null +++ b/web-ide-main/projects/src/project_07/12_stack_test.ts @@ -0,0 +1,99 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/StackArithmetic/StackTest/StackTest.vm + +// Executes a sequence of arithmetic and logical operations on the stack. + +push constant 17 +push constant 17 +eq +push constant 17 +push constant 16 +eq +push constant 16 +push constant 17 +eq +push constant 892 +push constant 891 +lt +push constant 891 +push constant 892 +lt +push constant 891 +push constant 891 +lt +push constant 32767 +push constant 32766 +gt +push constant 32766 +push constant 32767 +gt +push constant 32766 +push constant 32766 +gt +push constant 57 +push constant 31 +push constant 53 +add +push constant 112 +sub +neg +and +push constant 82 +or +not +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/StackArithmetic/StackTest/StackTestVME.tst + +// Tests and illustrates StackTest.vm on the VM simulator. + +load StackTest.vm, +compare-to StackTest.cmp, + +set RAM[0] 256, // initializes the stack pointer + +repeat 38 { // StackTest.vm has 38 VM commands + vmstep; +} + +// Outputs the stack pointer (RAM[0]) and the stack contents: RAM[256]-RAM[265] +output-list RAM[0]%D2.6.2 + RAM[256]%D2.6.2 RAM[257]%D2.6.2 RAM[258]%D2.6.2 RAM[259]%D2.6.2 RAM[260]%D2.6.2; +output; +output-list RAM[261]%D2.6.2 RAM[262]%D2.6.2 RAM[263]%D2.6.2 RAM[264]%D2.6.2 RAM[265]%D2.6.2; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/StackArithmetic/StackTest/StackTest.tst + +// Tests StackTest.asm on the CPU emulator. + +compare-to StackTest.cmp, + +set RAM[0] 256, // initializes the stack pointer + +repeat 1000 { // enough cycles to complete the execution + ticktock; +} + +// Outputs the stack pointer and the stack contents: RAM[256]-RAM[265] +output-list RAM[0]%D2.6.2 + RAM[256]%D2.6.2 RAM[257]%D2.6.2 RAM[258]%D2.6.2 RAM[259]%D2.6.2 RAM[260]%D2.6.2; +output; +output-list RAM[261]%D2.6.2 RAM[262]%D2.6.2 RAM[263]%D2.6.2 RAM[264]%D2.6.2 RAM[265]%D2.6.2; +output; +`; + +export const cmp = `| RAM[0] | RAM[256] | RAM[257] | RAM[258] | RAM[259] | RAM[260] | +| 266 | -1 | 0 | 0 | 0 | -1 | +| RAM[261] | RAM[262] | RAM[263] | RAM[264] | RAM[265] | +| 0 | -1 | 0 | 0 | -91 | +`; diff --git a/web-ide-main/projects/src/project_07/21_basic_test.ts b/web-ide-main/projects/src/project_07/21_basic_test.ts new file mode 100644 index 0000000..2acce81 --- /dev/null +++ b/web-ide-main/projects/src/project_07/21_basic_test.ts @@ -0,0 +1,91 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/BasicTest/BasicTest.vm + +// Executes pop and push commands. + +push constant 10 +pop local 0 +push constant 21 +push constant 22 +pop argument 2 +pop argument 1 +push constant 36 +pop this 6 +push constant 42 +push constant 45 +pop that 5 +pop that 2 +push constant 510 +pop temp 6 +push local 0 +push that 5 +add +push argument 1 +sub +push this 6 +push this 6 +add +sub +push temp 6 +add +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/BasicTest/BasicTestVME.tst + +// Tests and illustrates BasicTest.vm on the VM simulator. +// Starts by setting the stack pointer and the base addresses +// of relevant memory segments to selected RAM addresses. + +load BasicTest.vm, +compare-to BasicTest.cmp, + +set sp 256, // stack pointer +set local 300, // base address of the local segment +set argument 400, // base address of the argument segment +set this 3000, // base address of the this segment +set that 3010, // base address of the that segment + +repeat 25 { // BasicTest.vm has 25 VM commands + vmstep; +} + +// Outputs the value at the stack's base and some values from the tested memory segments +output-list RAM[256]%D1.6.1 RAM[300]%D1.6.1 RAM[401]%D1.6.1 + RAM[402]%D1.6.1 RAM[3006]%D1.6.1 RAM[3012]%D1.6.1 + RAM[3015]%D1.6.1 RAM[11]%D1.6.1; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/BasicTest/BasicTest.tst + +// Tests BasicTest.asm on the CPU emulator. + +compare-to BasicTest.cmp, + +set RAM[0] 256, // stack pointer +set RAM[1] 300, // base address of the local segment +set RAM[2] 400, // base address of the argument segment +set RAM[3] 3000, // base address of the this segment +set RAM[4] 3010, // base address of the that segment + +repeat 600 { // enough cycles to complete the execution + ticktock; +} + +// Outputs the value at the stack's base and some values from the tested memory segments +output-list RAM[256]%D1.6.1 RAM[300]%D1.6.1 RAM[401]%D1.6.1 + RAM[402]%D1.6.1 RAM[3006]%D1.6.1 RAM[3012]%D1.6.1 + RAM[3015]%D1.6.1 RAM[11]%D1.6.1; +output; +`; + +export const cmp = `|RAM[256]|RAM[300]|RAM[401]|RAM[402]|RAM[3006|RAM[3012|RAM[3015|RAM[11] | +| 472 | 10 | 21 | 22 | 36 | 42 | 45 | 510 |`; diff --git a/web-ide-main/projects/src/project_07/22_pointer_test.ts b/web-ide-main/projects/src/project_07/22_pointer_test.ts new file mode 100644 index 0000000..5e5ecca --- /dev/null +++ b/web-ide-main/projects/src/project_07/22_pointer_test.ts @@ -0,0 +1,72 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/PointerTest/PointerTest.vm + +// Executes pop and push commands using the +// pointer, this, and that segments. + +push constant 3030 +pop pointer 0 +push constant 3040 +pop pointer 1 +push constant 32 +pop this 2 +push constant 46 +pop that 6 +push pointer 0 +push pointer 1 +add +push this 2 +sub +push that 6 +add +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/PointerTest/PointerTestVME.tst + +// Tests and illustrates PointerTest.vm on the VM simulator. + +load PointerTest.vm, +compare-to PointerTest.cmp, + +set RAM[0] 256, // initializes the stack pointer + +repeat 15 { // PointerTest.vm has 15 VM commands + vmstep; +} + +// Outputs the stack base, THIS, THAT, and +// some values from the the this and that segments +output-list RAM[256]%D1.6.1 RAM[3]%D1.6.1 RAM[4]%D1.6.1 + RAM[3032]%D1.6.1 RAM[3046]%D1.6.1; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/PointerTest/PointerTest.tst + +// Tests PointerTest.asm on the CPU emulator. + +compare-to PointerTest.cmp, + +set RAM[0] 256, // initializes the stack pointer + +repeat 450 { // enough cycles to complete the execution + ticktock; +} + +// Outputs the value at the stack's base, THIS, THAT, and +// some values from the the this and that segments +output-list RAM[256]%D1.6.1 RAM[3]%D1.6.1 + RAM[4]%D1.6.1 RAM[3032]%D1.6.1 RAM[3046]%D1.6.1; +output; +`; + +export const cmp = `|RAM[256]| RAM[3] | RAM[4] |RAM[3032|RAM[3046| + | 6084 | 3030 | 3040 | 32 | 46 |`; diff --git a/web-ide-main/projects/src/project_07/23_static_test.ts b/web-ide-main/projects/src/project_07/23_static_test.ts new file mode 100644 index 0000000..d54b057 --- /dev/null +++ b/web-ide-main/projects/src/project_07/23_static_test.ts @@ -0,0 +1,63 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/StaticTest/StaticTest.vm + +// Executes pop and push commands using the static segment. + +push constant 111 +push constant 333 +push constant 888 +pop static 8 +pop static 3 +pop static 1 +push static 3 +push static 1 +sub +push static 8 +add +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/StaticTest/StaticTestVME.tst + +// Tests and illustrates StaticTest.vm on the VM simulator. + +load StaticTest.vm, +compare-to StaticTest.cmp, + +set sp 256, // initializes the stack pointer + +repeat 11 { // StaticTest.vm has 11 VM commands + vmstep; +} + +// Outputs the value at the stack's base +output-list RAM[256]%D1.6.1; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/7/MemoryAccess/StaticTest/StaticTest.tst + +// Tests StaticTest.asm on the CPU emulator. + +compare-to StaticTest.cmp, + +set RAM[0] 256, // initializes the stack pointer + +repeat 200 { // enough cycles to complete the execution + ticktock; +} + +// Outputs the value at the stack's base +output-list RAM[256]%D1.6.1; +output; +`; + +export const cmp = `|RAM[256]| +| 1110 |`; diff --git a/web-ide-main/projects/src/project_07/index.ts b/web-ide-main/projects/src/project_07/index.ts new file mode 100644 index 0000000..f7504af --- /dev/null +++ b/web-ide-main/projects/src/project_07/index.ts @@ -0,0 +1,54 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { resetBySuffix } from "../reset.js"; +import * as simple_add from "./11_simple_add.js"; +import * as stack_test from "./12_stack_test.js"; +import * as basic_test from "./21_basic_test.js"; +import * as pointer_test from "./22_pointer_test.js"; +import * as static_test from "./23_static_test.js"; + +export const VMS = { + SimpleAdd: { + "SimpleAdd.vm": simple_add.vm, + "SimpleAddVME.tst": simple_add.vm_tst, + "SimpleAdd.cmp": simple_add.cmp, + "SimpleAdd.tst": simple_add.hdl_tst, + }, + StackTest: { + "StackTest.vm": stack_test.vm, + "StackTestVME.tst": stack_test.vm_tst, + "StackTest.cmp": stack_test.cmp, + "StackTest.tst": stack_test.hdl_tst, + }, + BasicTest: { + "BasicTest.vm": basic_test.vm, + "BasicTestVME.tst": basic_test.vm_tst, + "BasicTest.cmp": basic_test.cmp, + "BasicTest.tst": basic_test.hdl_tst, + }, + PointerTest: { + "PointerTest.vm": pointer_test.vm, + "PointerTestVME.tst": pointer_test.vm_tst, + "PointerTest.cmp": pointer_test.cmp, + "PointerTest.tst": pointer_test.hdl_tst, + }, + StaticTest: { + "StaticTest.vm": static_test.vm, + "StaticTestVME.tst": static_test.vm_tst, + "StaticTest.cmp": static_test.cmp, + "StaticTest.tst": static_test.hdl_tst, + }, +}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/07"); + await reset(fs, VMS); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + await fs.pushd("/projects/07"); + await resetBySuffix(fs, VMS, ".tst"); + await resetBySuffix(fs, VMS, "VME.tst"); + await resetBySuffix(fs, VMS, ".cmp"); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/project_08/11_basic_loop.ts b/web-ide-main/projects/src/project_08/11_basic_loop.ts new file mode 100644 index 0000000..10cef1e --- /dev/null +++ b/web-ide-main/projects/src/project_08/11_basic_loop.ts @@ -0,0 +1,81 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/ProgramFlow/BasicLoop/BasicLoop.vm + +// Computes the sum 1 + 2 + ... + n and pushes the result onto +// the stack. The value n is given in argument[0], which must be +// initialized by the caller of this code. + + push constant 0 + pop local 0 // sum = 0 +label LOOP + push argument 0 + push local 0 + add + pop local 0 // sum = sum + n + push argument 0 + push constant 1 + sub + pop argument 0 // n-- + push argument 0 + if-goto LOOP // if n > 0, goto LOOP + push local 0 // else, pushes sum to the stack's top +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/ProgramFlow/BasicLoop/BasicLoopVME.tst + +// Tests and illustrates BasicLoop.vm on the VM emulator. +// Before executing the code, initializes the stack pointer +// and the base addresses of the local and argument segments, +// and sets argument[0]. + +load BasicLoop.vm, +compare-to BasicLoop.cmp, + +set sp 256, +set local 300, +set argument 400, +set argument[0] 3, + +repeat 33 { + vmstep; +} + +// Outputs the stack pointer and the value at the stack's base +output-list RAM[0]%D1.6.1 RAM[256]%D1.6.1; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/ProgramFlow/BasicLoop/BasicLoop.tst + +// Tests BasicLoop.asm on the CPU emulator. +// Before executing the code, initializes the stack pointer +// and the base addresses of the local and argument segments, +// and sets argument[0]. + +compare-to BasicLoop.cmp, + +set RAM[0] 256, // SP +set RAM[1] 300, // LCL +set RAM[2] 400, // ARG +set RAM[400] 3, // argument 0 + +repeat 600 { + ticktock; +} + +// Outputs the stack pointer and the value at the stack's base +output-list RAM[0]%D1.6.1 RAM[256]%D1.6.1; +output; +`; + +export const cmp = `| RAM[0] |RAM[256]| +| 257 | 6 | +`; diff --git a/web-ide-main/projects/src/project_08/12_fibonacci_series.ts b/web-ide-main/projects/src/project_08/12_fibonacci_series.ts new file mode 100644 index 0000000..0dc721f --- /dev/null +++ b/web-ide-main/projects/src/project_08/12_fibonacci_series.ts @@ -0,0 +1,107 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/ProgramFlow/FibonacciSeries/FibonacciSeries.vm + +// Puts the first n elements of the Fibonacci series in the memory, +// starting at address addr. n and addr are given in argument[0] and +// argument[1], which must be initialized by the caller of this code. + + push argument 1 // sets THAT, the base address of the + pop pointer 1 // that segment, to argument[1] + push constant 0 // sets the series' first and second + pop that 0 // elements to 0 and 1, respectively + push constant 1 + pop that 1 + push argument 0 // sets n, the number of remaining elements + push constant 2 // to be computed, to argument[0] minus 2, + sub // since 2 elements were already computed. + pop argument 0 + +label LOOP + push argument 0 + if-goto COMPUTE_ELEMENT // if n > 0, goto COMPUTE_ELEMENT + goto END // otherwise, goto END + +label COMPUTE_ELEMENT + // that[2] = that[0] + that[1] + push that 0 + push that 1 + add + pop that 2 + // THAT += 1 (updates the base address of that) + push pointer 1 + push constant 1 + add + pop pointer 1 + // updates n-- and loops + push argument 0 + push constant 1 + sub + pop argument 0 + goto LOOP + +label END +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/ProgramFlow/FibonacciSeries/FibonacciSeriesVME.tst + +// Tests and illustrates FibonacciSeries.vm on the VM emulator. +// Before executing the code, initializes the stack pointer +// and the base addresses of the local and argument segments, +// and sets argument[0] to n and argument [1] to the base address +// of the generated series. + +load FibonacciSeries.vm, +compare-to FibonacciSeries.cmp, + +set sp 256, +set local 300, +set argument 400, +set argument[0] 6, +set argument[1] 3000, + +repeat 73 { + vmstep; +} + +// Outputs the series of values generated and written by the code. +output-list RAM[3000]%D1.6.2 RAM[3001]%D1.6.2 RAM[3002]%D1.6.2 + RAM[3003]%D1.6.2 RAM[3004]%D1.6.2 RAM[3005]%D1.6.2; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/ProgramFlow/FibonacciSeries/FibonacciSeries.tst + +// Tests FibonacciSeries.asm on the CPU emulator. +// Before executing the code, initializes the stack pointer +// and the base addresses of the local and argument segments, +// and sets argument[0] and argument [1]. + +compare-to FibonacciSeries.cmp, + +set RAM[0] 256, // SP +set RAM[1] 300, // LCL +set RAM[2] 400, // ARG +set RAM[400] 6, // argument[0], n +set RAM[401] 3000, // argument[1], base address of the generated series + +repeat 1100 { + ticktock; +} + +// Outputs the series of values generated and written by the code. +output-list RAM[3000]%D1.6.2 RAM[3001]%D1.6.2 RAM[3002]%D1.6.2 + RAM[3003]%D1.6.2 RAM[3004]%D1.6.2 RAM[3005]%D1.6.2; +output; +`; + +export const cmp = `|RAM[3000]|RAM[3001]|RAM[3002]|RAM[3003]|RAM[3004]|RAM[3005]| +| 0 | 1 | 1 | 2 | 3 | 5 | +`; diff --git a/web-ide-main/projects/src/project_08/20_simple_function.ts b/web-ide-main/projects/src/project_08/20_simple_function.ts new file mode 100644 index 0000000..0f104ed --- /dev/null +++ b/web-ide-main/projects/src/project_08/20_simple_function.ts @@ -0,0 +1,96 @@ +export const vm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/SimpleFunction/SimpleFunction.vm + +// Performs a simple calculation and returns the result. +// argument[0] and argument[1] must be set by the caller. + +function SimpleFunction.test 2 + push local 0 + push local 1 + add + not + push argument 0 + add + push argument 1 + sub + return +`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/SimpleFunction/SimpleFunctionVME.tst + +// Tests and illustrates SimpleFunction.vm in the VM emulator. +// Before executing the code, initializes the stack pointer +// and the base addresses of some of the memory segments, +// and sets some values in the argument segment. + +load SimpleFunction.vm, +compare-to SimpleFunction.cmp, + +set sp 317, +set local 317, +set argument 310, +set this 3000, +set that 4000, +set argument[0] 1234, +set argument[1] 37, +set argument[2] 9, +set argument[3] 305, +set argument[4] 300, +set argument[5] 3010, +set argument[6] 4010, + +repeat 10 { + vmstep; +} + +// Outputs SP, LCL, ARG, THIS, THAT, and the return value. +output-list RAM[0]%D1.6.1 RAM[1]%D1.6.1 RAM[2]%D1.6.1 + RAM[3]%D1.6.1 RAM[4]%D1.6.1 RAM[310]%D1.6.1; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/SimpleFunction/SimpleFunction.tst + +// Tests SimpleFunction.asm in the CPU emulator. +// In particular, tests how the assembly implementation of the 'function' +// VM command initializes local variables, and how the assembly implementation +// of the 'return' VM command handles the return value, SP, LCL, ARG, THIS, and THAT. +// Before executing the code, initializes the stack pointer and the pointers of some +// of the memory segments, and sets some values in the argument segment. + +compare-to SimpleFunction.cmp, + +set RAM[0] 317, // SP +set RAM[1] 317, // LCL +set RAM[2] 310, // ARG +set RAM[3] 3000, // THIS +set RAM[4] 4000, // THAT +set RAM[310] 1234, +set RAM[311] 37, +set RAM[312] 1000, +set RAM[313] 305, +set RAM[314] 300, +set RAM[315] 3010, +set RAM[316] 4010, + +repeat 300 { + ticktock; +} + +// Outputs SP, LCL, ARG, THIS, THAT, and the return value. +output-list RAM[0]%D1.6.1 RAM[1]%D1.6.1 RAM[2]%D1.6.1 + RAM[3]%D1.6.1 RAM[4]%D1.6.1 RAM[310]%D1.6.1; +output; +`; + +export const cmp = `| RAM[0] | RAM[1] | RAM[2] | RAM[3] | RAM[4] |RAM[310]| +| 311 | 305 | 300 | 3010 | 4010 | 1196 | +`; diff --git a/web-ide-main/projects/src/project_08/21_nested_call.ts b/web-ide-main/projects/src/project_08/21_nested_call.ts new file mode 100644 index 0000000..4439ac8 --- /dev/null +++ b/web-ide-main/projects/src/project_08/21_nested_call.ts @@ -0,0 +1,204 @@ +export const sys = `// Sys.vm. Tested by the NestedCall test script. +// Consists of three functions: Sys.init, Sys.main, and Sys.add12. + +// Calls Sys.main() and stores a return value in temp 1. +// Does not return (enters infinite loop). +// The VM implementation starts running the Sys.init function, by default. +function Sys.init 0 + push constant 4000 // tests that THIS and THAT are handled correctly + pop pointer 0 + push constant 5000 + pop pointer 1 + call Sys.main 0 + pop temp 1 + label LOOP + goto LOOP + +// Sets locals 1, 2 and 3 to some values. Leaves locals 0 and 4 unchanged, +// to test that the 'function' VM command initializes them to 0 (the test +// script sets them to -1 before this code starts running). +// Calls Sys.add12(123) and stores the return value (should be 135) in temp 0. +// Returns local 0 + local 1 + local 2 + local 3 + local 4 (should be 456), to +// confirm that locals were not mangled by the function call. +function Sys.main 5 + push constant 4001 + pop pointer 0 + push constant 5001 + pop pointer 1 + push constant 200 + pop local 1 + push constant 40 + pop local 2 + push constant 6 + pop local 3 + push constant 123 + call Sys.add12 1 + pop temp 0 + push local 0 + push local 1 + push local 2 + push local 3 + push local 4 + add + add + add + add + return + +// Returns (argument 0) + 12. +function Sys.add12 0 + push constant 4002 + pop pointer 0 + push constant 5002 + pop pointer 1 + push argument 0 + push constant 12 + add + return +`; + +export const vm_tst = `// Tests and illustrates how the VM implementation handles function-call-and-return, +// by executing the functions in Sys.vm in the VM emulator. +// In particular, loads and runs the functions in Sys.vm. + +load Sys.vm, +compare-to NestedCall.cmp, +output-list RAM[0]%D1.6.1 RAM[1]%D1.6.1 RAM[2]%D1.6.1 RAM[3]%D1.6.1 RAM[4]%D1.6.1 RAM[5]%D1.6.1 RAM[6]%D1.6.1; + +set RAM[0] 261, +set RAM[1] 261, +set RAM[2] 256, +set RAM[3] -3, +set RAM[4] -4, +set RAM[5] -1, // test results +set RAM[6] -1, +set RAM[256] 1234, // fake stack frame from call Sys.init +set RAM[257] -1, +set RAM[258] -2, +set RAM[259] -3, +set RAM[260] -4, + +set RAM[261] -1, // Initialize stack to check for local segment +set RAM[262] -1, // being cleared to zero. +set RAM[263] -1, +set RAM[264] -1, +set RAM[265] -1, +set RAM[266] -1, +set RAM[267] -1, +set RAM[268] -1, +set RAM[269] -1, +set RAM[270] -1, +set RAM[271] -1, +set RAM[272] -1, +set RAM[273] -1, +set RAM[274] -1, +set RAM[275] -1, +set RAM[276] -1, +set RAM[277] -1, +set RAM[278] -1, +set RAM[279] -1, +set RAM[280] -1, +set RAM[281] -1, +set RAM[282] -1, +set RAM[283] -1, +set RAM[284] -1, +set RAM[285] -1, +set RAM[286] -1, +set RAM[287] -1, +set RAM[288] -1, +set RAM[289] -1, +set RAM[290] -1, +set RAM[291] -1, +set RAM[292] -1, +set RAM[293] -1, +set RAM[294] -1, +set RAM[295] -1, +set RAM[296] -1, +set RAM[297] -1, +set RAM[298] -1, +set RAM[299] -1, + +set sp 261, +set local 261, +set argument 256, +set this 3000, +set that 4000; + +repeat 50 { + vmstep; +} +output; +`; + +export const hdl_tst = `// Tests how the VM implementation handles function-call-and-return, +// by executing the functions in Sys.vm. +// In particular, loads and runs NestedCall.asm, which results when +// the VM translator is applied to the NestedCall folder, which +// includes only one VM file: Sys.vm. + +compare-to NestedCall.cmp, + +set RAM[0] 261, +set RAM[1] 261, +set RAM[2] 256, +set RAM[3] -3, +set RAM[4] -4, +set RAM[5] -1, // test results +set RAM[6] -1, +set RAM[256] 1234, // fake stack frame from call Sys.init +set RAM[257] -1, +set RAM[258] -2, +set RAM[259] -3, +set RAM[260] -4, + +set RAM[261] -1, // Initializes the stack, to check that the local segment +set RAM[262] -1, // is initialized to zeros by the 'function' VM command. +set RAM[263] -1, +set RAM[264] -1, +set RAM[265] -1, +set RAM[266] -1, +set RAM[267] -1, +set RAM[268] -1, +set RAM[269] -1, +set RAM[270] -1, +set RAM[271] -1, +set RAM[272] -1, +set RAM[273] -1, +set RAM[274] -1, +set RAM[275] -1, +set RAM[276] -1, +set RAM[277] -1, +set RAM[278] -1, +set RAM[279] -1, +set RAM[280] -1, +set RAM[281] -1, +set RAM[282] -1, +set RAM[283] -1, +set RAM[284] -1, +set RAM[285] -1, +set RAM[286] -1, +set RAM[287] -1, +set RAM[288] -1, +set RAM[289] -1, +set RAM[290] -1, +set RAM[291] -1, +set RAM[292] -1, +set RAM[293] -1, +set RAM[294] -1, +set RAM[295] -1, +set RAM[296] -1, +set RAM[297] -1, +set RAM[298] -1, +set RAM[299] -1, + +repeat 4000 { + ticktock; +} + +output-list RAM[0]%D1.6.1 RAM[1]%D1.6.1 RAM[2]%D1.6.1 RAM[3]%D1.6.1 RAM[4]%D1.6.1 RAM[5]%D1.6.1 RAM[6]%D1.6.1; +output; +`; + +export const cmp = `| RAM[0] | RAM[1] | RAM[2] | RAM[3] | RAM[4] | RAM[5] | RAM[6] | +| 261 | 261 | 256 | 4000 | 5000 | 135 | 246 | +`; diff --git a/web-ide-main/projects/src/project_08/22_fibonacci_element.ts b/web-ide-main/projects/src/project_08/22_fibonacci_element.ts new file mode 100644 index 0000000..94e81c9 --- /dev/null +++ b/web-ide-main/projects/src/project_08/22_fibonacci_element.ts @@ -0,0 +1,98 @@ +export const main = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/FibonacciElement/Main.vm + +// Contains one function: Main.fibonacci. + +// Computes the n'th element of the Fibonacci series, recursively. +// n is given in argument[0]. Called by the Sys.init function +// (part of the Sys.vm file), which sets argument[0] to an input +// value and then calls Main.fibonacci. +function Main.fibonacci 0 + push argument 0 + push constant 2 + lt + if-goto N_LT_2 + goto N_GE_2 +label N_LT_2 // if n < 2 returns n + push argument 0 + return +label N_GE_2 // if n >= 2 returns fib(n - 2) + fib(n - 1) + push argument 0 + push constant 2 + sub + call Main.fibonacci 1 // computes fib(n - 2) + push argument 0 + push constant 1 + sub + call Main.fibonacci 1 // computes fib(n - 1) + add // returns fib(n - 1) + fib(n - 2) + return +`; + +export const sys = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/FibonacciElement/Sys.vm + +// Containts one function: Sys.init. + +// Pushes a constant n onto the stack, and calls the Main.fibonacii +// function, which computes the n'th element of the Fibonacci series. +// Note that by convention, the Sys.init function is called "automatically" +// by the bootstrap code generated by the VM translator. +function Sys.init 0 + // Computes fibonacci(4) + push constant 4 + // Calls the function, informing that one argument was pushed onto the stack + call Main.fibonacci 1 +label END + goto END // loops infinitely`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/FibonacciElement/FibonacciElementVME.tst + +// Tests and illustrates the given Fibonacci element program on the VM emulator. + +load, +compare-to FibonacciElement.cmp, + +set sp 261, + +repeat 110 { + vmstep; +} + +// Outputs the stack pointer and the value at the stack's base. +// That's where the implementation should put the return value. +output-list RAM[0]%D1.6.1 RAM[261]%D1.6.1; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/FibonacciElement/FibonacciElement.tst + +// Tests FibonacciElement.asm on the CPU emulator. +// FibonacciElement.asm results from translating Main.vm and Sys.vm into +// a single assembly program, stored in the file FibonacciElement.asm. + +compare-to FibonacciElement.cmp, + +repeat 6000 { + ticktock; +} + +// Outputs the stack pointer and the value at the stack's base. +// That's where the implementation should put the return value. +output-list RAM[0]%D1.6.1 RAM[261]%D1.6.1; +output; +`; + +export const cmp = `| RAM[0] |RAM[261]| +| 262 | 3 | +`; diff --git a/web-ide-main/projects/src/project_08/23_statics_test.ts b/web-ide-main/projects/src/project_08/23_statics_test.ts new file mode 100644 index 0000000..835d471 --- /dev/null +++ b/web-ide-main/projects/src/project_08/23_statics_test.ts @@ -0,0 +1,107 @@ +export const class1 = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/StaticsTest/Class1.vm + +// Stores two supplied arguments in static[0] and static[1]. +function Class1.set 0 + push argument 0 + pop static 0 + push argument 1 + pop static 1 + push constant 0 + return + +// Returns static[0] - static[1]. +function Class1.get 0 + push static 0 + push static 1 + sub + return`; + +export const class2 = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/StaticsTest/Class2.vm + +// Stores two supplied arguments in static[0] and static[1]. +function Class2.set 0 + push argument 0 + pop static 0 + push argument 1 + pop static 1 + push constant 0 + return + +// Returns static[0] - static[1]. +function Class2.get 0 + push static 0 + push static 1 + sub + return`; + +export const sys = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/StaticsTest/Sys.vm + +// Tests that different functions, stored in two different +// class files, manipulate the static segment correctly. + +function Sys.init 0 + push constant 6 + push constant 8 + call Class1.set 2 + pop temp 0 // dumps the return value + push constant 23 + push constant 15 + call Class2.set 2 + pop temp 0 // dumps the return value + call Class1.get 0 + call Class2.get 0 +label END + goto END`; + +export const vm_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/StaticsTest/StaticsTestVME.tst + +// Tests and illustrates the statics test on the VM emulator. + +load, +compare-to StaticsTest.cmp, + +set sp 261, + +repeat 36 { + vmstep; +} + +output-list RAM[0]%D1.6.1 RAM[261]%D1.6.1 RAM[262]%D1.6.1; +output; +`; + +export const hdl_tst = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/8/FunctionCalls/StaticsTest/StaticsTest.tst + +// Tests StaticTest.asm in the CPU emulator. +// This assembly file results from translating the staticsTest folder. + +compare-to StaticsTest.cmp, + +set RAM[0] 256, + +repeat 2500 { + ticktock; +} + +output-list RAM[0]%D1.6.1 RAM[261]%D1.6.1 RAM[262]%D1.6.1; +output; +`; + +export const cmp = `| RAM[0] |RAM[261]|RAM[262]| +| 263 | -2 | 8 | +`; diff --git a/web-ide-main/projects/src/project_08/index.ts b/web-ide-main/projects/src/project_08/index.ts new file mode 100644 index 0000000..08cbe2c --- /dev/null +++ b/web-ide-main/projects/src/project_08/index.ts @@ -0,0 +1,64 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { resetBySuffix } from "../reset.js"; +import * as basic_loop from "./11_basic_loop.js"; +import * as fibonacci_series from "./12_fibonacci_series.js"; +import * as simple_function from "./20_simple_function.js"; +import * as nested_call from "./21_nested_call.js"; +import * as fibonacci_element from "./22_fibonacci_element.js"; +import * as statics_test from "./23_statics_test.js"; + +export const VMS = { + BasicLoop: { + "BasicLoop.vm": basic_loop.vm, + "BasicLoopVME.tst": basic_loop.vm_tst, + "BasicLoop.cmp": basic_loop.cmp, + "BasicLoop.tst": basic_loop.hdl_tst, + }, + FibonacciSeries: { + "FibonacciSeries.vm": fibonacci_series.vm, + "FibonacciSeriesVME.tst": fibonacci_series.vm_tst, + "FibonacciSeries.cmp": fibonacci_series.cmp, + "FibonacciSeries.tst": fibonacci_series.hdl_tst, + }, + SimpleFunction: { + "SimpleFunction.vm": simple_function.vm, + "SimpleFunctionVME.tst": simple_function.vm_tst, + "SimpleFunction.cmp": simple_function.cmp, + "SimpleFunction.tst": simple_function.hdl_tst, + }, + NestedCall: { + "Sys.vm": nested_call.sys, // Test uses a special name here + "NestedCallVME.tst": nested_call.vm_tst, + "NestedCall.cmp": nested_call.cmp, + "NestedCall.tst": nested_call.hdl_tst, + }, + FibonacciElement: { + "Sys.vm": fibonacci_element.sys, + "Main.vm": fibonacci_element.main, + "FibonacciElementVME.tst": fibonacci_element.vm_tst, + "FibonacciElement.cmp": fibonacci_element.cmp, + "FibonacciElement.tst": fibonacci_element.hdl_tst, + }, + StaticsTest: { + "Class1.vm": statics_test.class1, + "Class2.vm": statics_test.class2, + "Sys.vm": statics_test.sys, + "StaticsTestVME.tst": statics_test.vm_tst, + "StaticsTest.cmp": statics_test.cmp, + "StaticsTest.tst": statics_test.hdl_tst, + }, +}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/08"); + await reset(fs, VMS); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + await fs.pushd("/projects/08"); + await resetBySuffix(fs, VMS, ".tst"); + await resetBySuffix(fs, VMS, "VME.tst"); + await resetBySuffix(fs, VMS, ".cmp"); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/reset.ts b/web-ide-main/projects/src/reset.ts new file mode 100644 index 0000000..6f54f99 --- /dev/null +++ b/web-ide-main/projects/src/reset.ts @@ -0,0 +1,40 @@ +import { Tree } from "@davidsouther/jiffies/lib/esm/fs"; +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; + +export async function resetBySuffix( + fs: FileSystem, + tree: Tree, + suffix: string, +) { + for (const [key, value] of Object.entries(tree)) { + if (typeof value === "string") { + if (key.endsWith(`${suffix}`)) { + await fs.writeFile(key, value); + } + } else { + fs.cd(key); + await resetBySuffix(fs, value as Tree, suffix); + fs.cd(".."); + } + } +} + +export async function reset( + fs: FileSystem, + tree: Tree, + base?: string, + override = true, +) { + const items = (await fs.scandir(base ?? "/")).map((item) => item.name); + for (const [key, value] of Object.entries(tree)) { + const path = `${base ? `${base}/` : ""}${key}`; + if (typeof value === "string") { + if (override || !items.includes(key)) { + await fs.writeFile(path, value); + } + } else { + await fs.mkdir(path); + await reset(fs, value as Tree, path); + } + } +} diff --git a/web-ide-main/projects/src/samples/Mult.cmp b/web-ide-main/projects/src/samples/Mult.cmp new file mode 100644 index 0000000..188d9f7 --- /dev/null +++ b/web-ide-main/projects/src/samples/Mult.cmp @@ -0,0 +1,7 @@ +| RAM[2] | +| 0 | +| 0 | +| 0 | +| 3 | +| 8 | +| 42 | \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/Mult.tst b/web-ide-main/projects/src/samples/Mult.tst new file mode 100644 index 0000000..c5ebbfe --- /dev/null +++ b/web-ide-main/projects/src/samples/Mult.tst @@ -0,0 +1,48 @@ +output-list RAM[2]%D2.6.2; + +set RAM[0] 0, +set RAM[1] 0; +repeat 20 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 1, +set RAM[1] 0; +repeat 50 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 0, +set RAM[1] 2; +repeat 80 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 3, +set RAM[1] 1; +repeat 120 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 2, +set RAM[1] 4; +repeat 150 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 6, +set RAM[1] 7; +repeat 210 { + ticktock; +} +output; \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/asm.ts b/web-ide-main/projects/src/samples/asm.ts new file mode 100644 index 0000000..52851d4 --- /dev/null +++ b/web-ide-main/projects/src/samples/asm.ts @@ -0,0 +1,276 @@ +export const Fill = `// Runs an infinite loop that listens to the keyboard input. +// When a key is pressed (any key), the program blackens the screen, +// i.e. writes "black" in every pixel. When no key is pressed, +// the screen should be cleared. + +// initialize variables +(START) // while (true) + @SCREEN + D=A + @i + M=D // i = SCREEN + +(LOOP) // while (i < screen - 1) + @i + D=M + @24575 // screen - 1 + D=A-D + @START + D;JLT // i < screen - 1 (negative check) + @KBD + D=M + @BLACKEN // if (kbd != 0) + D;JNE + +// Clear the screen (write "white" in every pixel) + @i + D=M + A=D + M=0 // write "white" + @CONTINUE + 0;JMP + +(BLACKEN) + @i + D=M + A=D + M=-1 // write "black" + +(CONTINUE) + @i + M=M+1 // i++ + @LOOP + 0;JMP + `; + +export const FillAlt1 = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/04/Fill.asm + +// This version uses two similar loops to fill the screen either with +// black or white. Each loop always starts filling the screen from +// the top. The press or release of a key flips between the two loops. +// +// The advantage of this program over the single loop program is that +// it is much more responsive to changes in key state. One can watch +// it working even when the CPU simulator is running with animation. + +(FILL_WHITE) + @SCREEN + D=A + @pScreen + M=D // pScreen = pointer to SCREEN + +(WHITE_LOOP) + @KBD // if key down fill screen with black + D=M + @FILL_BLACK + D;JNE + @pScreen // Memory[pScreen] = black (0) + A=M + M=0 + + @pScreen // pScreen = pScreen + 1 + MD=M+1 + + @24576 // SCREEN + size of screen + D=D-A + @WHITE_LOOP + D;JLT // loop if pScreen still within screen + + @FILL_WHITE // restart at beginning of screen + 0;JMP + + +(FILL_BLACK) + @SCREEN + D=A + @pScreen + M=D // pScreen = pointer to SCREEN + +(BLACK_LOOP) + @KBD // if key down fill screen with white + D=M + @FILL_WHITE + D;JEQ + @pScreen // Memory[pScreen] = white (-1) + A=M + M=-1 + + @pScreen // pScreen = pScreen + 1 + MD=M+1 + + @24576 // SCREEN + size of screen + D=D-A + @BLACK_LOOP + D;JLT // loop if pScreen still within screen + + @FILL_BLACK // restart at beginning of screen + 0;JMP +`; + +export const FillAlt2 = `// This version uses a single loop. When a key is down, the loop +// writes black and increments the screen pointer. When no key is +// down, it decrements the screen pointer and writes white. +// +// The advantages of this program over the original single loop program +// and the double loop program are that it is much more responsive to +// changes in key state and that it does not leave partially written +// black bands temporarily visible on the screen. (And it looks cool!) + + @SCREEN + D=A + @pScreen + M=D // pScreen = pointer to SCREEN + +(LOOP) + @KBD // if key down fill screen with black + D=M + @FILL_BLACK + D;JNE + // Roll back the darkness + @pScreen + D=M + @SCREEN // if pScreen <= SCREEN there is nothing to do + D=D-A + @LOOP + D;JLE + + @pScreen + AM=M-1 // A = pScreen = pScreen - 1 + M=0 // Memory[pScreen] = white (0) + + @LOOP + 0;JMP + +(FILL_BLACK) // Let darkness descend + @pScreen + D=M + @24576 // if pScreen >= SCREEN + size of screen, + D=D-A // there is nothing to do + @LOOP + D;JGE + + @pScreen // Memory[pScreen] = black (-1) + A=M + M=-1 + + @pScreen // pScreen = pScreen + 1 + M=M+1 + + @LOOP + 0;JMP +`; + +export const Mult = `// Multiplies R0 and R1 and stores the result in R2. +// (R0, R1, R2 refer to RAM[0], RAM[1], and RAM[2], respectively.) +// The algorithm is based on repetitive addition. + +// Initialize the variables + @sum + M=0 + @R0 + D=M + @i + M=D +(LOOP) + @i + MD=M-1 // decrement the counter + @FINISH + D;JLT + @R1 + D=M + @sum + M=D+M // tally the sum + @LOOP + 0;JMP +(FINISH) + @sum + D=M + @R2 + M=D +(END) + @END + 0;JMP`; + +export const MultAlt1 = `// Multiplies R0 and R1 and stores the result in R2. +// (R0, R1, R2 refer to RAM[0], RAM[1], and RAM[2], respectively.) +// The algorithm is based on repetitive addition. + + @R2 // Zero the partial product + M=0 + +(LOOP) + @R1 + MD=M-1 // Decrement and test the multiplier + @HALT + D;JLT + + @R0 // Add the multiplicand to the partial product + D=M + @R2 + M=D+M + @LOOP + 0;JMP + +(HALT) + @HALT + 0;JMP`; + +export const MultCmp = `| RAM[2] | +| 0 | +| 0 | +| 0 | +| 3 | +| 8 | +| 42 |`; + +export const MultTst = `output-list RAM[2]%D2.6.2; + +set RAM[0] 0, +set RAM[1] 0; +repeat 20 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 1, +set RAM[1] 0; +repeat 50 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 0, +set RAM[1] 2; +repeat 80 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 3, +set RAM[1] 1; +repeat 120 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 2, +set RAM[1] 4; +repeat 150 { + ticktock; +} +output; + +set PC 0, +set RAM[0] 6, +set RAM[1] 7; +repeat 210 { + ticktock; +} +output;`; diff --git a/web-ide-main/projects/src/samples/hack.ts b/web-ide-main/projects/src/samples/hack.ts new file mode 100644 index 0000000..2fb1653 --- /dev/null +++ b/web-ide-main/projects/src/samples/hack.ts @@ -0,0 +1,52 @@ +export const Add = ` +0000000000000010 +1110110000010000 +0000000000000011 +1110000010010000 +0000000000000000 +1110001100001000`; + +export const Max = ` +0000000000000000 +1111110000010000 +0000000000000001 +1111010011010000 +0000000000001010 +1110001100000001 +0000000000000001 +1111110000010000 +0000000000001100 +1110101010000111 +0000000000000000 +1111110000010000 +0000000000000010 +1110001100001000 +0000000000001110 +1110101010000111`; + +export const Rect = ` +0000000000000000 +1111110000010000 +0000000000010111 +1110001100000110 +0000000000010000 +1110001100001000 +0100000000000000 +1110110000010000 +0000000000010001 +1110001100001000 +0000000000010001 +1111110000100000 +1110111010001000 +0000000000010001 +1111110000010000 +0000000000100000 +1110000010010000 +0000000000010001 +1110001100001000 +0000000000010000 +1111110010011000 +0000000000001010 +1110001100000001 +0000000000010111 +1110101010000111`; diff --git a/web-ide-main/projects/src/samples/hack/Fill.asm b/web-ide-main/projects/src/samples/hack/Fill.asm new file mode 100644 index 0000000..75e6205 --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/Fill.asm @@ -0,0 +1,43 @@ +// Runs an infinite loop that listens to the keyboard input. +// When a key is pressed (any key), the program blackens the screen, +// i.e. writes "black" in every pixel. When no key is pressed, +// the screen should be cleared. + +// initialize variables +(START) // while (true) + @SCREEN + D=A + @i + M=D // i = SCREEN + +(LOOP) // while (i < screen - 1) + @i + D=M + @24575 // screen - 1 + D=A-D + @START + D;JLT // i < screen - 1 (negative check) + @KBD + D=M + @BLACKEN // if (kbd != 0) + D;JNE + +// Clear the screen (write "white" in every pixel) + @i + D=M + A=D + M=0 // write "white" + @CONTINUE + 0;JMP + +(BLACKEN) + @i + D=M + A=D + M=-1 // write "black" + +(CONTINUE) + @i + M=M+1 // i++ + @LOOP + 0;JMP \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/hack/FillAlt1.asm b/web-ide-main/projects/src/samples/hack/FillAlt1.asm new file mode 100644 index 0000000..b493ffb --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/FillAlt1.asm @@ -0,0 +1,65 @@ +// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/04/Fill.asm + +// This version uses two similar loops to fill the screen either with +// black or white. Each loop always starts filling the screen from +// the top. The press or release of a key flips between the two loops. +// +// The advantage of this program over the single loop program is that +// it is much more responsive to changes in key state. One can watch +// it working even when the CPU simulator is running with animation. + +(FILL_WHITE) + @SCREEN + D=A + @pScreen + M=D // pScreen = pointer to SCREEN + +(WHITE_LOOP) + @KBD // if key down fill screen with black + D=M + @FILL_BLACK + D;JNE + @pScreen // Memory[pScreen] = black (0) + A=M + M=0 + + @pScreen // pScreen = pScreen + 1 + MD=M+1 + + @24576 // SCREEN + size of screen + D=D-A + @WHITE_LOOP + D;JLT // loop if pScreen still within screen + + @FILL_WHITE // restart at beginning of screen + 0;JMP + + +(FILL_BLACK) + @SCREEN + D=A + @pScreen + M=D // pScreen = pointer to SCREEN + +(BLACK_LOOP) + @KBD // if key down fill screen with white + D=M + @FILL_WHITE + D;JEQ + @pScreen // Memory[pScreen] = white (-1) + A=M + M=-1 + + @pScreen // pScreen = pScreen + 1 + MD=M+1 + + @24576 // SCREEN + size of screen + D=D-A + @BLACK_LOOP + D;JLT // loop if pScreen still within screen + + @FILL_BLACK // restart at beginning of screen + 0;JMP \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/hack/FillAlt2.asm b/web-ide-main/projects/src/samples/hack/FillAlt2.asm new file mode 100644 index 0000000..d151133 --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/FillAlt2.asm @@ -0,0 +1,83 @@ +// This version uses a single loop. When a key is down, the loop +// writes black and increments the screen pointer. When no key is +// down, it decrements the screen pointer and writes white. +// +// The advantages of this program over the original single loop program +// and the double loop program are that it is much more responsive to +// changes in key state and that it does not leave partially written +// black bands temporarily visible on the screen. (And it looks cool!) + + @SCREEN + D=A + @pScreen + M=D // pScreen = pointer to SCREEN + +(LOOP) + @KBD // if key down fill screen with black + D=M + @FILL_BLACK + D;JNE + // Roll back the darkness + @pScreen + D=M + @SCREEN // if pScreen <= SCREEN there is nothing to do + D=D-A + @LOOP + D;JLE + + @pScreen + AM=M-1 // A = pScreen = pScreen - 1 + M=0 // Memory[pScreen] = white (0) + + @LOOP + 0;JMP + +(FILL_BLACK) // Let darkness descend + @pScreen + D=M + @24576 // if pScreen >= SCREEN + size of screen, + D=D-A // there is nothing to do + @LOOP + D;JGE + + @pScreen // Memory[pScreen] = black (-1) + A=M + M=-1 + + @pScreen // pScreen = pScreen + 1 + M=M+1 + + @LOOP + 0;JMP +`; + +export const Mult = `// Multiplies R0 and R1 and stores the result in R2. +// (R0, R1, R2 refer to RAM[0], RAM[1], and RAM[2], respectively.) +// The algorithm is based on repetitive addition. + +// Initialize the variables + @sum + M=0 + @R0 + D=M + @i + M=D +(LOOP) + @i + MD=M-1 // decrement the counter + @FINISH + D;JLT + @R1 + D=M + @sum + M=D+M // tally the sum + @LOOP + 0;JMP +(FINISH) + @sum + D=M + @R2 + M=D +(END) + @END + 0;JMP \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/hack/Life.asm b/web-ide-main/projects/src/samples/hack/Life.asm new file mode 100644 index 0000000..e69de29 diff --git a/web-ide-main/projects/src/samples/hack/Life.hack b/web-ide-main/projects/src/samples/hack/Life.hack new file mode 100644 index 0000000..e6bc1b5 --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/Life.hack @@ -0,0 +1,7099 @@ +0000101011101011 +1110101010000111 +0100000000000000 +1110110010010000 +0000000000000000 +1110001100001000 +0000000000010001 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0010001010101111 +1110110000010000 +0000100101110110 +1110101010000111 +0110000000000000 +1111110000010000 +0000000001110101 +1110001100001000 +0000000110010001 +1110001100000101 +0110000000000000 +1111110000010000 +0000000001110101 +1110001100000101 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +1110001100010000 +0000000000010011 +1111110010011000 +0000000000010111 +1110001100000101 +0000000000010100 +1111110000010000 +0000000000010011 +1110001100001000 +0000000000010001 +1111110000110000 +1110000010110000 +1110000010110000 +1110000010110000 +1110000010110000 +1110000010110000 +1110000010110000 +1110000010110000 +0100000000100000 +1110000010010000 +0010011010101111 +1110001100001000 +0000000000000011 +1110110000010000 +0000000000010000 +1111000000010000 +0000000011100111 +1110000010100000 +1111110000010000 +0010011010110000 +1110001100001000 +0000000000010000 +1111110000010000 +0000000001100111 +1110000010100000 +1111110000010000 +0010011010101111 +1111000010101000 +1111110000010000 +0010011010110001 +1110001100001000 +0010011010110000 +1111010101010000 +0010011010110010 +1110001100001000 +0010011010110001 +1111110000010000 +0010011010110000 +1111000000010000 +1110001101010000 +0010011010110010 +1111000000010000 +0010011010110011 +1110001100001000 +0010011010101111 +1111110000100000 +1110001100001000 +0010011010101111 +1111110000010000 +0000000000100000 +1110000010010000 +0010011010101111 +1110001100001000 +0010011010110011 +1111110000010000 +0010011010101111 +1111110000100000 +1110001100001000 +0000000000010111 +1110101010000111 +0010011010110100 +1110001100001000 +0010011010110100 +1111110000010000 +0000000010000011 +1110010011010000 +0000000100101010 +1110001100000010 +0010011010110100 +1111110000010000 +0000000010000101 +1110010011010000 +0000000100110110 +1110001100000010 +0010011010110100 +1111110000010000 +0000000010000100 +1110010011010000 +0000000101001110 +1110001100000010 +0010011010110100 +1111110000010000 +0000000010000010 +1110010011010000 +0000000101000010 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001010111 +1110010011010000 +0000000100101010 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001011000 +1110010011010000 +0000000100110110 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001000100 +1110010011010000 +0000000101001110 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001000001 +1110010011010000 +0000000101000010 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001010001 +1110010011010000 +0000000100100101 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001000101 +1110010011010000 +0000000101001001 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001011010 +1110010011010000 +0000000100111101 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001000011 +1110010011010000 +0000000100110001 +1110001100000010 +0010011010110100 +1111110000010000 +0000000000100000 +1110010011010000 +0000000100010001 +1110001100000010 +0010011010110100 +1111110000010000 +0000000010000000 +1110010011010000 +0000000101101111 +1110001100000010 +0010011010110100 +1111110000010000 +0000000010000001 +1110010011010000 +0000000100011100 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001100000 +1110010011010000 +0000000101010101 +1110001100000010 +0010011010110100 +1111110000010000 +0000000001010011 +1110010011010000 +0000000101010101 +1110001100000010 +0000000110010001 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0010011010110100 +1111110000010000 +0000000000110000 +1110010011010000 +0000000100001001 +1110001100000010 +1110001110010000 +0000000100001101 +1110001100000010 +1110001110010000 +0010011010110101 +1110001100000010 +1110001110010000 +0000000100000101 +1110001100000010 +1110001110010000 +0000000100000101 +1110001100000010 +1110001110010000 +0000000100000101 +1110001100000010 +1110001110010000 +0000000100000101 +1110001100000010 +1110001110010000 +0000000100000101 +1110001100000010 +1110001110010000 +0000000100000101 +1110001100000010 +1110001110010000 +0000000100000101 +1110001100000010 +0000000000000000 +1111110111001000 +0000000110010001 +1110101010000111 +0010011010110110 +1110110000010000 +0000100101110110 +1110101010000111 +0010010010101111 +1110110000010000 +0000100101110110 +1110101010000111 +0000000100011010 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000000110011011 +1110101010000111 +0000000110010001 +1110101010000111 +0000000110001000 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000100111010000 +1110101010000111 +0000000001111111 +1110110000010000 +0000000000010000 +1111110010001000 +1111000000001000 +0000000000111111 +1110110000010000 +0000000000010001 +1111110010001000 +1111000000001000 +0000000110001000 +1110101010000111 +0000000001111111 +1110110000010000 +0000000000010000 +1111110111001000 +1111000000001000 +0000000000111111 +1110110000010000 +0000000000010001 +1111110111001000 +1111000000001000 +0000000110001000 +1110101010000111 +0000000000111111 +1110110000010000 +0000000000010001 +1111110111001000 +1111000000001000 +0000000001111111 +1110110000010000 +0000000000010000 +1111110010001000 +1111000000001000 +0000000110001000 +1110101010000111 +0000000000111111 +1110110000010000 +0000000000010001 +1111110010001000 +1111000000001000 +0000000001111111 +1110110000010000 +0000000000010000 +1111110111001000 +1111000000001000 +0000000110001000 +1110101010000111 +0000000000010001 +1111110000010000 +0000000011101011 +1110000010100000 +1111110000010000 +0000000000010000 +1111000010010000 +0010011010110111 +1110001100101000 +1111110000010000 +0000000101100111 +1110001100000010 +1110101010010000 +0010011010110111 +1111110000100000 +1110001100001000 +0000000110001000 +1110101010000111 +0100000000000000 +1110110000010000 +1110000010010000 +0010011010110111 +1111110000100000 +1110001100001000 +0000000110001000 +1110101010000111 +0000000101111000 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000000110011011 +1110101010000111 +0110000000000000 +1111110000010000 +0010011010110100 +1111010011010000 +0000000101101111 +1110001100000010 +0010011010110100 +1110101010001000 +0110000000000000 +1111110000010000 +0000000101101111 +1110001100000010 +0010011010110100 +1110001100001000 +0000000110010001 +1110101010000111 +0000000110010001 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000100111100110 +1110101010000111 +0010011010110100 +1111110000010000 +0110000000000000 +1111010011010000 +0000000110010001 +1110001100000010 +0000000000010111 +1110101010000111 +0000000110011010 +1110101010000111 +0000000110101110 +1110110000010000 +0010011010111000 +1110001100001000 +0010011010111000 +1111110000100000 +1111110000010000 +0000000110111100 +1110001100000011 +0010011010111000 +1111110000010000 +0000000010000011 +1110010011100000 +1111110111001000 +1110110111100000 +1111110111001000 +1110110111100000 +1111110111001000 +1110110000010000 +0000000010000000 +1110000010100000 +1111110111001000 +1110110111100000 +1110110111100000 +1111110111001000 +1110110000010000 +0000000010000000 +1110000010100000 +1111110111001000 +1110110111100000 +1111110111001000 +1110110111100000 +1111110111001000 +0010011010111000 +1111110111011000 +0010001000101100 +1110010011010000 +0000000110011111 +1110001100000101 +0000000100101011 +1111110000010000 +1110101010001000 +0010001000101011 +1111000010001000 +0000000101101100 +1111110000010000 +1110101010001000 +0010000110101100 +1111000010001000 +0010001000101101 +1111110000010000 +1110101010001000 +0000001000101101 +1111000010001000 +0010001010101110 +1111110000010000 +1110101010001000 +0000000110101110 +1111000010001000 +0000000100101100 +1111110000010000 +1110101010001000 +0010000110101100 +1111000010001000 +0010001000101110 +1111110000010000 +1110101010001000 +0000000110101110 +1111000010001000 +0000000100101101 +1111110000010000 +1110101010001000 +0010000110101101 +1111000010001000 +0010001000101111 +1111110000010000 +1110101010001000 +0000000110101111 +1111000010001000 +0000000100101110 +1111110000010000 +1110101010001000 +0010000110101110 +1111000010001000 +0010001000110000 +1111110000010000 +1110101010001000 +0000000110110000 +1111000010001000 +0000000100101111 +1111110000010000 +1110101010001000 +0010000110101111 +1111000010001000 +0010001000110001 +1111110000010000 +1110101010001000 +0000000110110001 +1111000010001000 +0000000100110000 +1111110000010000 +1110101010001000 +0010000110110000 +1111000010001000 +0010001000110010 +1111110000010000 +1110101010001000 +0000000110110010 +1111000010001000 +0000000100110001 +1111110000010000 +1110101010001000 +0010000110110001 +1111000010001000 +0010001000110011 +1111110000010000 +1110101010001000 +0000000110110011 +1111000010001000 +0000000100110010 +1111110000010000 +1110101010001000 +0010000110110010 +1111000010001000 +0010001000110100 +1111110000010000 +1110101010001000 +0000000110110100 +1111000010001000 +0000000100110011 +1111110000010000 +1110101010001000 +0010000110110011 +1111000010001000 +0010001000110101 +1111110000010000 +1110101010001000 +0000000110110101 +1111000010001000 +0000000100110100 +1111110000010000 +1110101010001000 +0010000110110100 +1111000010001000 +0010001000110110 +1111110000010000 +1110101010001000 +0000000110110110 +1111000010001000 +0000000100110101 +1111110000010000 +1110101010001000 +0010000110110101 +1111000010001000 +0010001000110111 +1111110000010000 +1110101010001000 +0000000110110111 +1111000010001000 +0000000100110110 +1111110000010000 +1110101010001000 +0010000110110110 +1111000010001000 +0010001000111000 +1111110000010000 +1110101010001000 +0000000110111000 +1111000010001000 +0000000100110111 +1111110000010000 +1110101010001000 +0010000110110111 +1111000010001000 +0010001000111001 +1111110000010000 +1110101010001000 +0000000110111001 +1111000010001000 +0000000100111000 +1111110000010000 +1110101010001000 +0010000110111000 +1111000010001000 +0010001000111010 +1111110000010000 +1110101010001000 +0000000110111010 +1111000010001000 +0000000100111001 +1111110000010000 +1110101010001000 +0010000110111001 +1111000010001000 +0010001000111011 +1111110000010000 +1110101010001000 +0000000110111011 +1111000010001000 +0000000100111010 +1111110000010000 +1110101010001000 +0010000110111010 +1111000010001000 +0010001000111100 +1111110000010000 +1110101010001000 +0000000110111100 +1111000010001000 +0000000100111011 +1111110000010000 +1110101010001000 +0010000110111011 +1111000010001000 +0010001000111101 +1111110000010000 +1110101010001000 +0000000110111101 +1111000010001000 +0000000100111100 +1111110000010000 +1110101010001000 +0010000110111100 +1111000010001000 +0010001000111110 +1111110000010000 +1110101010001000 +0000000110111110 +1111000010001000 +0000000100111101 +1111110000010000 +1110101010001000 +0010000110111101 +1111000010001000 +0010001000111111 +1111110000010000 +1110101010001000 +0000000110111111 +1111000010001000 +0000000100111110 +1111110000010000 +1110101010001000 +0010000110111110 +1111000010001000 +0010001001000000 +1111110000010000 +1110101010001000 +0000000111000000 +1111000010001000 +0000000100111111 +1111110000010000 +1110101010001000 +0010000110111111 +1111000010001000 +0010001001000001 +1111110000010000 +1110101010001000 +0000000111000001 +1111000010001000 +0000000101000000 +1111110000010000 +1110101010001000 +0010000111000000 +1111000010001000 +0010001001000010 +1111110000010000 +1110101010001000 +0000000111000010 +1111000010001000 +0000000101000001 +1111110000010000 +1110101010001000 +0010000111000001 +1111000010001000 +0010001001000011 +1111110000010000 +1110101010001000 +0000000111000011 +1111000010001000 +0000000101000010 +1111110000010000 +1110101010001000 +0010000111000010 +1111000010001000 +0010001001000100 +1111110000010000 +1110101010001000 +0000000111000100 +1111000010001000 +0000000101000011 +1111110000010000 +1110101010001000 +0010000111000011 +1111000010001000 +0010001001000101 +1111110000010000 +1110101010001000 +0000000111000101 +1111000010001000 +0000000101000100 +1111110000010000 +1110101010001000 +0010000111000100 +1111000010001000 +0010001001000110 +1111110000010000 +1110101010001000 +0000000111000110 +1111000010001000 +0000000101000101 +1111110000010000 +1110101010001000 +0010000111000101 +1111000010001000 +0010001001000111 +1111110000010000 +1110101010001000 +0000000111000111 +1111000010001000 +0000000101000110 +1111110000010000 +1110101010001000 +0010000111000110 +1111000010001000 +0010001001001000 +1111110000010000 +1110101010001000 +0000000111001000 +1111000010001000 +0000000101000111 +1111110000010000 +1110101010001000 +0010000111000111 +1111000010001000 +0010001001001001 +1111110000010000 +1110101010001000 +0000000111001001 +1111000010001000 +0000000101001000 +1111110000010000 +1110101010001000 +0010000111001000 +1111000010001000 +0010001001001010 +1111110000010000 +1110101010001000 +0000000111001010 +1111000010001000 +0000000101001001 +1111110000010000 +1110101010001000 +0010000111001001 +1111000010001000 +0010001001001011 +1111110000010000 +1110101010001000 +0000000111001011 +1111000010001000 +0000000101001010 +1111110000010000 +1110101010001000 +0010000111001010 +1111000010001000 +0010001001001100 +1111110000010000 +1110101010001000 +0000000111001100 +1111000010001000 +0000000101001011 +1111110000010000 +1110101010001000 +0010000111001011 +1111000010001000 +0010001001001101 +1111110000010000 +1110101010001000 +0000000111001101 +1111000010001000 +0000000101001100 +1111110000010000 +1110101010001000 +0010000111001100 +1111000010001000 +0010001001001110 +1111110000010000 +1110101010001000 +0000000111001110 +1111000010001000 +0000000101001101 +1111110000010000 +1110101010001000 +0010000111001101 +1111000010001000 +0010001001001111 +1111110000010000 +1110101010001000 +0000000111001111 +1111000010001000 +0000000101001110 +1111110000010000 +1110101010001000 +0010000111001110 +1111000010001000 +0010001001010000 +1111110000010000 +1110101010001000 +0000000111010000 +1111000010001000 +0000000101001111 +1111110000010000 +1110101010001000 +0010000111001111 +1111000010001000 +0010001001010001 +1111110000010000 +1110101010001000 +0000000111010001 +1111000010001000 +0000000101010000 +1111110000010000 +1110101010001000 +0010000111010000 +1111000010001000 +0010001001010010 +1111110000010000 +1110101010001000 +0000000111010010 +1111000010001000 +0000000101010001 +1111110000010000 +1110101010001000 +0010000111010001 +1111000010001000 +0010001001010011 +1111110000010000 +1110101010001000 +0000000111010011 +1111000010001000 +0000000101010010 +1111110000010000 +1110101010001000 +0010000111010010 +1111000010001000 +0010001001010100 +1111110000010000 +1110101010001000 +0000000111010100 +1111000010001000 +0000000101010011 +1111110000010000 +1110101010001000 +0010000111010011 +1111000010001000 +0010001001010101 +1111110000010000 +1110101010001000 +0000000111010101 +1111000010001000 +0000000101010100 +1111110000010000 +1110101010001000 +0010000111010100 +1111000010001000 +0010001001010110 +1111110000010000 +1110101010001000 +0000000111010110 +1111000010001000 +0000000101010101 +1111110000010000 +1110101010001000 +0010000111010101 +1111000010001000 +0010001001010111 +1111110000010000 +1110101010001000 +0000000111010111 +1111000010001000 +0000000101010110 +1111110000010000 +1110101010001000 +0010000111010110 +1111000010001000 +0010001001011000 +1111110000010000 +1110101010001000 +0000000111011000 +1111000010001000 +0000000101010111 +1111110000010000 +1110101010001000 +0010000111010111 +1111000010001000 +0010001001011001 +1111110000010000 +1110101010001000 +0000000111011001 +1111000010001000 +0000000101011000 +1111110000010000 +1110101010001000 +0010000111011000 +1111000010001000 +0010001001011010 +1111110000010000 +1110101010001000 +0000000111011010 +1111000010001000 +0000000101011001 +1111110000010000 +1110101010001000 +0010000111011001 +1111000010001000 +0010001001011011 +1111110000010000 +1110101010001000 +0000000111011011 +1111000010001000 +0000000101011010 +1111110000010000 +1110101010001000 +0010000111011010 +1111000010001000 +0010001001011100 +1111110000010000 +1110101010001000 +0000000111011100 +1111000010001000 +0000000101011011 +1111110000010000 +1110101010001000 +0010000111011011 +1111000010001000 +0010001001011101 +1111110000010000 +1110101010001000 +0000000111011101 +1111000010001000 +0000000101011100 +1111110000010000 +1110101010001000 +0010000111011100 +1111000010001000 +0010001001011110 +1111110000010000 +1110101010001000 +0000000111011110 +1111000010001000 +0000000101011101 +1111110000010000 +1110101010001000 +0010000111011101 +1111000010001000 +0010001001011111 +1111110000010000 +1110101010001000 +0000000111011111 +1111000010001000 +0000000101011110 +1111110000010000 +1110101010001000 +0010000111011110 +1111000010001000 +0010001001100000 +1111110000010000 +1110101010001000 +0000000111100000 +1111000010001000 +0000000101011111 +1111110000010000 +1110101010001000 +0010000111011111 +1111000010001000 +0010001001100001 +1111110000010000 +1110101010001000 +0000000111100001 +1111000010001000 +0000000101100000 +1111110000010000 +1110101010001000 +0010000111100000 +1111000010001000 +0010001001100010 +1111110000010000 +1110101010001000 +0000000111100010 +1111000010001000 +0000000101100001 +1111110000010000 +1110101010001000 +0010000111100001 +1111000010001000 +0010001001100011 +1111110000010000 +1110101010001000 +0000000111100011 +1111000010001000 +0000000101100010 +1111110000010000 +1110101010001000 +0010000111100010 +1111000010001000 +0010001001100100 +1111110000010000 +1110101010001000 +0000000111100100 +1111000010001000 +0000000101100011 +1111110000010000 +1110101010001000 +0010000111100011 +1111000010001000 +0010001001100101 +1111110000010000 +1110101010001000 +0000000111100101 +1111000010001000 +0000000101100100 +1111110000010000 +1110101010001000 +0010000111100100 +1111000010001000 +0010001001100110 +1111110000010000 +1110101010001000 +0000000111100110 +1111000010001000 +0000000101100101 +1111110000010000 +1110101010001000 +0010000111100101 +1111000010001000 +0010001001100111 +1111110000010000 +1110101010001000 +0000000111100111 +1111000010001000 +0000000101100110 +1111110000010000 +1110101010001000 +0010000111100110 +1111000010001000 +0010001001101000 +1111110000010000 +1110101010001000 +0000000111101000 +1111000010001000 +0000000101100111 +1111110000010000 +1110101010001000 +0010000111100111 +1111000010001000 +0010001001101001 +1111110000010000 +1110101010001000 +0000000111101001 +1111000010001000 +0000000101101000 +1111110000010000 +1110101010001000 +0010000111101000 +1111000010001000 +0010001001101010 +1111110000010000 +1110101010001000 +0000000111101010 +1111000010001000 +0000000101101001 +1111110000010000 +1110101010001000 +0010000111101001 +1111000010001000 +0010001001101011 +1111110000010000 +1110101010001000 +0000000111101011 +1111000010001000 +0000000101101010 +1111110000010000 +1110101010001000 +0010000111101010 +1111000010001000 +0010001001101100 +1111110000010000 +1110101010001000 +0000000111101100 +1111000010001000 +0000000101101011 +1111110000010000 +1110101010001000 +0010000111101011 +1111000010001000 +0010001001101101 +1111110000010000 +1110101010001000 +0000000111101101 +1111000010001000 +0000000101101100 +1111110000010000 +1110101010001000 +0010000111101100 +1111000010001000 +0010001001101110 +1111110000010000 +1110101010001000 +0000000111101110 +1111000010001000 +0000000101101101 +1111110000010000 +1110101010001000 +0010000111101101 +1111000010001000 +0010001001101111 +1111110000010000 +1110101010001000 +0000000111101111 +1111000010001000 +0000000101101110 +1111110000010000 +1110101010001000 +0010000111101110 +1111000010001000 +0010001001110000 +1111110000010000 +1110101010001000 +0000000111110000 +1111000010001000 +0000000101101111 +1111110000010000 +1110101010001000 +0010000111101111 +1111000010001000 +0010001001110001 +1111110000010000 +1110101010001000 +0000000111110001 +1111000010001000 +0000000101110000 +1111110000010000 +1110101010001000 +0010000111110000 +1111000010001000 +0010001001110010 +1111110000010000 +1110101010001000 +0000000111110010 +1111000010001000 +0000000101110001 +1111110000010000 +1110101010001000 +0010000111110001 +1111000010001000 +0010001001110011 +1111110000010000 +1110101010001000 +0000000111110011 +1111000010001000 +0000000101110010 +1111110000010000 +1110101010001000 +0010000111110010 +1111000010001000 +0010001001110100 +1111110000010000 +1110101010001000 +0000000111110100 +1111000010001000 +0000000101110011 +1111110000010000 +1110101010001000 +0010000111110011 +1111000010001000 +0010001001110101 +1111110000010000 +1110101010001000 +0000000111110101 +1111000010001000 +0000000101110100 +1111110000010000 +1110101010001000 +0010000111110100 +1111000010001000 +0010001001110110 +1111110000010000 +1110101010001000 +0000000111110110 +1111000010001000 +0000000101110101 +1111110000010000 +1110101010001000 +0010000111110101 +1111000010001000 +0010001001110111 +1111110000010000 +1110101010001000 +0000000111110111 +1111000010001000 +0000000101110110 +1111110000010000 +1110101010001000 +0010000111110110 +1111000010001000 +0010001001111000 +1111110000010000 +1110101010001000 +0000000111111000 +1111000010001000 +0000000101110111 +1111110000010000 +1110101010001000 +0010000111110111 +1111000010001000 +0010001001111001 +1111110000010000 +1110101010001000 +0000000111111001 +1111000010001000 +0000000101111000 +1111110000010000 +1110101010001000 +0010000111111000 +1111000010001000 +0010001001111010 +1111110000010000 +1110101010001000 +0000000111111010 +1111000010001000 +0000000101111001 +1111110000010000 +1110101010001000 +0010000111111001 +1111000010001000 +0010001001111011 +1111110000010000 +1110101010001000 +0000000111111011 +1111000010001000 +0000000101111010 +1111110000010000 +1110101010001000 +0010000111111010 +1111000010001000 +0010001001111100 +1111110000010000 +1110101010001000 +0000000111111100 +1111000010001000 +0000000101111011 +1111110000010000 +1110101010001000 +0010000111111011 +1111000010001000 +0010001001111101 +1111110000010000 +1110101010001000 +0000000111111101 +1111000010001000 +0000000101111100 +1111110000010000 +1110101010001000 +0010000111111100 +1111000010001000 +0010001001111110 +1111110000010000 +1110101010001000 +0000000111111110 +1111000010001000 +0000000101111101 +1111110000010000 +1110101010001000 +0010000111111101 +1111000010001000 +0010001001111111 +1111110000010000 +1110101010001000 +0000000111111111 +1111000010001000 +0000000101111110 +1111110000010000 +1110101010001000 +0010000111111110 +1111000010001000 +0010001010000000 +1111110000010000 +1110101010001000 +0000001000000000 +1111000010001000 +0000000101111111 +1111110000010000 +1110101010001000 +0010000111111111 +1111000010001000 +0010001010000001 +1111110000010000 +1110101010001000 +0000001000000001 +1111000010001000 +0000000110000000 +1111110000010000 +1110101010001000 +0010001000000000 +1111000010001000 +0010001010000010 +1111110000010000 +1110101010001000 +0000001000000010 +1111000010001000 +0000000110000001 +1111110000010000 +1110101010001000 +0010001000000001 +1111000010001000 +0010001010000011 +1111110000010000 +1110101010001000 +0000001000000011 +1111000010001000 +0000000110000010 +1111110000010000 +1110101010001000 +0010001000000010 +1111000010001000 +0010001010000100 +1111110000010000 +1110101010001000 +0000001000000100 +1111000010001000 +0000000110000011 +1111110000010000 +1110101010001000 +0010001000000011 +1111000010001000 +0010001010000101 +1111110000010000 +1110101010001000 +0000001000000101 +1111000010001000 +0000000110000100 +1111110000010000 +1110101010001000 +0010001000000100 +1111000010001000 +0010001010000110 +1111110000010000 +1110101010001000 +0000001000000110 +1111000010001000 +0000000110000101 +1111110000010000 +1110101010001000 +0010001000000101 +1111000010001000 +0010001010000111 +1111110000010000 +1110101010001000 +0000001000000111 +1111000010001000 +0000000110000110 +1111110000010000 +1110101010001000 +0010001000000110 +1111000010001000 +0010001010001000 +1111110000010000 +1110101010001000 +0000001000001000 +1111000010001000 +0000000110000111 +1111110000010000 +1110101010001000 +0010001000000111 +1111000010001000 +0010001010001001 +1111110000010000 +1110101010001000 +0000001000001001 +1111000010001000 +0000000110001000 +1111110000010000 +1110101010001000 +0010001000001000 +1111000010001000 +0010001010001010 +1111110000010000 +1110101010001000 +0000001000001010 +1111000010001000 +0000000110001001 +1111110000010000 +1110101010001000 +0010001000001001 +1111000010001000 +0010001010001011 +1111110000010000 +1110101010001000 +0000001000001011 +1111000010001000 +0000000110001010 +1111110000010000 +1110101010001000 +0010001000001010 +1111000010001000 +0010001010001100 +1111110000010000 +1110101010001000 +0000001000001100 +1111000010001000 +0000000110001011 +1111110000010000 +1110101010001000 +0010001000001011 +1111000010001000 +0010001010001101 +1111110000010000 +1110101010001000 +0000001000001101 +1111000010001000 +0000000110001100 +1111110000010000 +1110101010001000 +0010001000001100 +1111000010001000 +0010001010001110 +1111110000010000 +1110101010001000 +0000001000001110 +1111000010001000 +0000000110001101 +1111110000010000 +1110101010001000 +0010001000001101 +1111000010001000 +0010001010001111 +1111110000010000 +1110101010001000 +0000001000001111 +1111000010001000 +0000000110001110 +1111110000010000 +1110101010001000 +0010001000001110 +1111000010001000 +0010001010010000 +1111110000010000 +1110101010001000 +0000001000010000 +1111000010001000 +0000000110001111 +1111110000010000 +1110101010001000 +0010001000001111 +1111000010001000 +0010001010010001 +1111110000010000 +1110101010001000 +0000001000010001 +1111000010001000 +0000000110010000 +1111110000010000 +1110101010001000 +0010001000010000 +1111000010001000 +0010001010010010 +1111110000010000 +1110101010001000 +0000001000010010 +1111000010001000 +0000000110010001 +1111110000010000 +1110101010001000 +0010001000010001 +1111000010001000 +0010001010010011 +1111110000010000 +1110101010001000 +0000001000010011 +1111000010001000 +0000000110010010 +1111110000010000 +1110101010001000 +0010001000010010 +1111000010001000 +0010001010010100 +1111110000010000 +1110101010001000 +0000001000010100 +1111000010001000 +0000000110010011 +1111110000010000 +1110101010001000 +0010001000010011 +1111000010001000 +0010001010010101 +1111110000010000 +1110101010001000 +0000001000010101 +1111000010001000 +0000000110010100 +1111110000010000 +1110101010001000 +0010001000010100 +1111000010001000 +0010001010010110 +1111110000010000 +1110101010001000 +0000001000010110 +1111000010001000 +0000000110010101 +1111110000010000 +1110101010001000 +0010001000010101 +1111000010001000 +0010001010010111 +1111110000010000 +1110101010001000 +0000001000010111 +1111000010001000 +0000000110010110 +1111110000010000 +1110101010001000 +0010001000010110 +1111000010001000 +0010001010011000 +1111110000010000 +1110101010001000 +0000001000011000 +1111000010001000 +0000000110010111 +1111110000010000 +1110101010001000 +0010001000010111 +1111000010001000 +0010001010011001 +1111110000010000 +1110101010001000 +0000001000011001 +1111000010001000 +0000000110011000 +1111110000010000 +1110101010001000 +0010001000011000 +1111000010001000 +0010001010011010 +1111110000010000 +1110101010001000 +0000001000011010 +1111000010001000 +0000000110011001 +1111110000010000 +1110101010001000 +0010001000011001 +1111000010001000 +0010001010011011 +1111110000010000 +1110101010001000 +0000001000011011 +1111000010001000 +0000000110011010 +1111110000010000 +1110101010001000 +0010001000011010 +1111000010001000 +0010001010011100 +1111110000010000 +1110101010001000 +0000001000011100 +1111000010001000 +0000000110011011 +1111110000010000 +1110101010001000 +0010001000011011 +1111000010001000 +0010001010011101 +1111110000010000 +1110101010001000 +0000001000011101 +1111000010001000 +0000000110011100 +1111110000010000 +1110101010001000 +0010001000011100 +1111000010001000 +0010001010011110 +1111110000010000 +1110101010001000 +0000001000011110 +1111000010001000 +0000000110011101 +1111110000010000 +1110101010001000 +0010001000011101 +1111000010001000 +0010001010011111 +1111110000010000 +1110101010001000 +0000001000011111 +1111000010001000 +0000000110011110 +1111110000010000 +1110101010001000 +0010001000011110 +1111000010001000 +0010001010100000 +1111110000010000 +1110101010001000 +0000001000100000 +1111000010001000 +0000000110011111 +1111110000010000 +1110101010001000 +0010001000011111 +1111000010001000 +0010001010100001 +1111110000010000 +1110101010001000 +0000001000100001 +1111000010001000 +0000000110100000 +1111110000010000 +1110101010001000 +0010001000100000 +1111000010001000 +0010001010100010 +1111110000010000 +1110101010001000 +0000001000100010 +1111000010001000 +0000000110100001 +1111110000010000 +1110101010001000 +0010001000100001 +1111000010001000 +0010001010100011 +1111110000010000 +1110101010001000 +0000001000100011 +1111000010001000 +0000000110100010 +1111110000010000 +1110101010001000 +0010001000100010 +1111000010001000 +0010001010100100 +1111110000010000 +1110101010001000 +0000001000100100 +1111000010001000 +0000000110100011 +1111110000010000 +1110101010001000 +0010001000100011 +1111000010001000 +0010001010100101 +1111110000010000 +1110101010001000 +0000001000100101 +1111000010001000 +0000000110100100 +1111110000010000 +1110101010001000 +0010001000100100 +1111000010001000 +0010001010100110 +1111110000010000 +1110101010001000 +0000001000100110 +1111000010001000 +0000000110100101 +1111110000010000 +1110101010001000 +0010001000100101 +1111000010001000 +0010001010100111 +1111110000010000 +1110101010001000 +0000001000100111 +1111000010001000 +0000000110100110 +1111110000010000 +1110101010001000 +0010001000100110 +1111000010001000 +0010001010101000 +1111110000010000 +1110101010001000 +0000001000101000 +1111000010001000 +0000000110100111 +1111110000010000 +1110101010001000 +0010001000100111 +1111000010001000 +0010001010101001 +1111110000010000 +1110101010001000 +0000001000101001 +1111000010001000 +0000000110101000 +1111110000010000 +1110101010001000 +0010001000101000 +1111000010001000 +0010001010101010 +1111110000010000 +1110101010001000 +0000001000101010 +1111000010001000 +0000000110101001 +1111110000010000 +1110101010001000 +0010001000101001 +1111000010001000 +0010001010101011 +1111110000010000 +1110101010001000 +0000001000101011 +1111000010001000 +0000000110101010 +1111110000010000 +1110101010001000 +0010001000101010 +1111000010001000 +0010001010101100 +1111110000010000 +1110101010001000 +0000001000101100 +1111000010001000 +0000000110101011 +1111110000010000 +1110101010001000 +0010001000101011 +1111000010001000 +0010001010101101 +1111110000010000 +1110101010001000 +0000001000101101 +1111000010001000 +0000000110101101 +1111110000010000 +1110101010001000 +0000001000101101 +1111000010001000 +0000001000101110 +1111110000010000 +1110101010001000 +0000000110101110 +1111000010001000 +0000001000101111 +1111110000010000 +1110101010001000 +0000001010101111 +1111000010001000 +0000001010110000 +1111110000010000 +1110101010001000 +0000001000110000 +1111000010001000 +0000001010110001 +1111110000010000 +1110101010001000 +0000001100110001 +1111000010001000 +0000001100110010 +1111110000010000 +1110101010001000 +0000001010110010 +1111000010001000 +0000001100110011 +1111110000010000 +1110101010001000 +0000001110110011 +1111000010001000 +0000001110110100 +1111110000010000 +1110101010001000 +0000001100110100 +1111000010001000 +0000001110110101 +1111110000010000 +1110101010001000 +0000010000110101 +1111000010001000 +0000010000110110 +1111110000010000 +1110101010001000 +0000001110110110 +1111000010001000 +0000010000110111 +1111110000010000 +1110101010001000 +0000010010110111 +1111000010001000 +0000010010111000 +1111110000010000 +1110101010001000 +0000010000111000 +1111000010001000 +0000010010111001 +1111110000010000 +1110101010001000 +0000010100111001 +1111000010001000 +0000010100111010 +1111110000010000 +1110101010001000 +0000010010111010 +1111000010001000 +0000010100111011 +1111110000010000 +1110101010001000 +0000010110111011 +1111000010001000 +0000010110111100 +1111110000010000 +1110101010001000 +0000010100111100 +1111000010001000 +0000010110111101 +1111110000010000 +1110101010001000 +0000011000111101 +1111000010001000 +0000011000111110 +1111110000010000 +1110101010001000 +0000010110111110 +1111000010001000 +0000011000111111 +1111110000010000 +1110101010001000 +0000011010111111 +1111000010001000 +0000011011000000 +1111110000010000 +1110101010001000 +0000011001000000 +1111000010001000 +0000011011000001 +1111110000010000 +1110101010001000 +0000011101000001 +1111000010001000 +0000011101000010 +1111110000010000 +1110101010001000 +0000011011000010 +1111000010001000 +0000011101000011 +1111110000010000 +1110101010001000 +0000011111000011 +1111000010001000 +0000011111000100 +1111110000010000 +1110101010001000 +0000011101000100 +1111000010001000 +0000011111000101 +1111110000010000 +1110101010001000 +0000100001000101 +1111000010001000 +0000100001000110 +1111110000010000 +1110101010001000 +0000011111000110 +1111000010001000 +0000100001000111 +1111110000010000 +1110101010001000 +0000100011000111 +1111000010001000 +0000100011001000 +1111110000010000 +1110101010001000 +0000100001001000 +1111000010001000 +0000100011001001 +1111110000010000 +1110101010001000 +0000100101001001 +1111000010001000 +0000100101001010 +1111110000010000 +1110101010001000 +0000100011001010 +1111000010001000 +0000100101001011 +1111110000010000 +1110101010001000 +0000100111001011 +1111000010001000 +0000100111001100 +1111110000010000 +1110101010001000 +0000100101001100 +1111000010001000 +0000100111001101 +1111110000010000 +1110101010001000 +0000101001001101 +1111000010001000 +0000101001001110 +1111110000010000 +1110101010001000 +0000100111001110 +1111000010001000 +0000101001001111 +1111110000010000 +1110101010001000 +0000101011001111 +1111000010001000 +0000101011010000 +1111110000010000 +1110101010001000 +0000101001010000 +1111000010001000 +0000101011010001 +1111110000010000 +1110101010001000 +0000101101010001 +1111000010001000 +0000101101010010 +1111110000010000 +1110101010001000 +0000101011010010 +1111000010001000 +0000101101010011 +1111110000010000 +1110101010001000 +0000101111010011 +1111000010001000 +0000101111010100 +1111110000010000 +1110101010001000 +0000101101010100 +1111000010001000 +0000101111010101 +1111110000010000 +1110101010001000 +0000110001010101 +1111000010001000 +0000110001010110 +1111110000010000 +1110101010001000 +0000101111010110 +1111000010001000 +0000110001010111 +1111110000010000 +1110101010001000 +0000110011010111 +1111000010001000 +0000110011011000 +1111110000010000 +1110101010001000 +0000110001011000 +1111000010001000 +0000110011011001 +1111110000010000 +1110101010001000 +0000110101011001 +1111000010001000 +0000110101011010 +1111110000010000 +1110101010001000 +0000110011011010 +1111000010001000 +0000110101011011 +1111110000010000 +1110101010001000 +0000110111011011 +1111000010001000 +0000110111011100 +1111110000010000 +1110101010001000 +0000110101011100 +1111000010001000 +0000110111011101 +1111110000010000 +1110101010001000 +0000111001011101 +1111000010001000 +0000111001011110 +1111110000010000 +1110101010001000 +0000110111011110 +1111000010001000 +0000111001011111 +1111110000010000 +1110101010001000 +0000111011011111 +1111000010001000 +0000111011100000 +1111110000010000 +1110101010001000 +0000111001100000 +1111000010001000 +0000111011100001 +1111110000010000 +1110101010001000 +0000111101100001 +1111000010001000 +0000111101100010 +1111110000010000 +1110101010001000 +0000111011100010 +1111000010001000 +0000111101100011 +1111110000010000 +1110101010001000 +0000111111100011 +1111000010001000 +0000111111100100 +1111110000010000 +1110101010001000 +0000111101100100 +1111000010001000 +0000111111100101 +1111110000010000 +1110101010001000 +0001000001100101 +1111000010001000 +0001000001100110 +1111110000010000 +1110101010001000 +0000111111100110 +1111000010001000 +0001000001100111 +1111110000010000 +1110101010001000 +0001000011100111 +1111000010001000 +0001000011101000 +1111110000010000 +1110101010001000 +0001000001101000 +1111000010001000 +0001000011101001 +1111110000010000 +1110101010001000 +0001000101101001 +1111000010001000 +0001000101101010 +1111110000010000 +1110101010001000 +0001000011101010 +1111000010001000 +0001000101101011 +1111110000010000 +1110101010001000 +0001000111101011 +1111000010001000 +0001000111101100 +1111110000010000 +1110101010001000 +0001000101101100 +1111000010001000 +0001000111101101 +1111110000010000 +1110101010001000 +0001001001101101 +1111000010001000 +0001001001101110 +1111110000010000 +1110101010001000 +0001000111101110 +1111000010001000 +0001001001101111 +1111110000010000 +1110101010001000 +0001001011101111 +1111000010001000 +0001001011110000 +1111110000010000 +1110101010001000 +0001001001110000 +1111000010001000 +0001001011110001 +1111110000010000 +1110101010001000 +0001001101110001 +1111000010001000 +0001001101110010 +1111110000010000 +1110101010001000 +0001001011110010 +1111000010001000 +0001001101110011 +1111110000010000 +1110101010001000 +0001001111110011 +1111000010001000 +0001001111110100 +1111110000010000 +1110101010001000 +0001001101110100 +1111000010001000 +0001001111110101 +1111110000010000 +1110101010001000 +0001010001110101 +1111000010001000 +0001010001110110 +1111110000010000 +1110101010001000 +0001001111110110 +1111000010001000 +0001010001110111 +1111110000010000 +1110101010001000 +0001010011110111 +1111000010001000 +0001010011111000 +1111110000010000 +1110101010001000 +0001010001111000 +1111000010001000 +0001010011111001 +1111110000010000 +1110101010001000 +0001010101111001 +1111000010001000 +0001010101111010 +1111110000010000 +1110101010001000 +0001010011111010 +1111000010001000 +0001010101111011 +1111110000010000 +1110101010001000 +0001010111111011 +1111000010001000 +0001010111111100 +1111110000010000 +1110101010001000 +0001010101111100 +1111000010001000 +0001010111111101 +1111110000010000 +1110101010001000 +0001011001111101 +1111000010001000 +0001011001111110 +1111110000010000 +1110101010001000 +0001010111111110 +1111000010001000 +0001011001111111 +1111110000010000 +1110101010001000 +0001011011111111 +1111000010001000 +0001011100000000 +1111110000010000 +1110101010001000 +0001011010000000 +1111000010001000 +0001011100000001 +1111110000010000 +1110101010001000 +0001011110000001 +1111000010001000 +0001011110000010 +1111110000010000 +1110101010001000 +0001011100000010 +1111000010001000 +0001011110000011 +1111110000010000 +1110101010001000 +0001100000000011 +1111000010001000 +0001100000000100 +1111110000010000 +1110101010001000 +0001011110000100 +1111000010001000 +0001100000000101 +1111110000010000 +1110101010001000 +0001100010000101 +1111000010001000 +0001100010000110 +1111110000010000 +1110101010001000 +0001100000000110 +1111000010001000 +0001100010000111 +1111110000010000 +1110101010001000 +0001100100000111 +1111000010001000 +0001100100001000 +1111110000010000 +1110101010001000 +0001100010001000 +1111000010001000 +0001100100001001 +1111110000010000 +1110101010001000 +0001100110001001 +1111000010001000 +0001100110001010 +1111110000010000 +1110101010001000 +0001100100001010 +1111000010001000 +0001100110001011 +1111110000010000 +1110101010001000 +0001101000001011 +1111000010001000 +0001101000001100 +1111110000010000 +1110101010001000 +0001100110001100 +1111000010001000 +0001101000001101 +1111110000010000 +1110101010001000 +0001101010001101 +1111000010001000 +0001101010001110 +1111110000010000 +1110101010001000 +0001101000001110 +1111000010001000 +0001101010001111 +1111110000010000 +1110101010001000 +0001101100001111 +1111000010001000 +0001101100010000 +1111110000010000 +1110101010001000 +0001101010010000 +1111000010001000 +0001101100010001 +1111110000010000 +1110101010001000 +0001101110010001 +1111000010001000 +0001101110010010 +1111110000010000 +1110101010001000 +0001101100010010 +1111000010001000 +0001101110010011 +1111110000010000 +1110101010001000 +0001110000010011 +1111000010001000 +0001110000010100 +1111110000010000 +1110101010001000 +0001101110010100 +1111000010001000 +0001110000010101 +1111110000010000 +1110101010001000 +0001110010010101 +1111000010001000 +0001110010010110 +1111110000010000 +1110101010001000 +0001110000010110 +1111000010001000 +0001110010010111 +1111110000010000 +1110101010001000 +0001110100010111 +1111000010001000 +0001110100011000 +1111110000010000 +1110101010001000 +0001110010011000 +1111000010001000 +0001110100011001 +1111110000010000 +1110101010001000 +0001110110011001 +1111000010001000 +0001110110011010 +1111110000010000 +1110101010001000 +0001110100011010 +1111000010001000 +0001110110011011 +1111110000010000 +1110101010001000 +0001111000011011 +1111000010001000 +0001111000011100 +1111110000010000 +1110101010001000 +0001110110011100 +1111000010001000 +0001111000011101 +1111110000010000 +1110101010001000 +0001111010011101 +1111000010001000 +0001111010011110 +1111110000010000 +1110101010001000 +0001111000011110 +1111000010001000 +0001111010011111 +1111110000010000 +1110101010001000 +0001111100011111 +1111000010001000 +0001111100100000 +1111110000010000 +1110101010001000 +0001111010100000 +1111000010001000 +0001111100100001 +1111110000010000 +1110101010001000 +0001111110100001 +1111000010001000 +0001111110100010 +1111110000010000 +1110101010001000 +0001111100100010 +1111000010001000 +0001111110100011 +1111110000010000 +1110101010001000 +0010000000100011 +1111000010001000 +0010000000100100 +1111110000010000 +1110101010001000 +0001111110100100 +1111000010001000 +0010000000100101 +1111110000010000 +1110101010001000 +0010000010100101 +1111000010001000 +0010000010100110 +1111110000010000 +1110101010001000 +0010000000100110 +1111000010001000 +0010000010100111 +1111110000010000 +1110101010001000 +0010000100100111 +1111000010001000 +0010000100101000 +1111110000010000 +1110101010001000 +0010000010101000 +1111000010001000 +0010000100101001 +1111110000010000 +1110101010001000 +0010000110101001 +1111000010001000 +0010000110101010 +1111110000010000 +1110101010001000 +0010000100101010 +1111000010001000 +0010000110101011 +1111110000010000 +1110101010001000 +0010001000101011 +1111000010001000 +0010001000101100 +1111110000010000 +1110101010001000 +0010000110101100 +1111000010001000 +0000000110101110 +1110110000010000 +0010011010111000 +1110001100001000 +0010011010111000 +1111110000100000 +1111110000010000 +0000100101100110 +1110001100000100 +0000100101101110 +1110001100000010 +0000000000011110 +1110000010100000 +1111110000010000 +0000100101101011 +1110101010000111 +0000000000001111 +1110000000010000 +0000000000010101 +1110000010100000 +1111110000010000 +0010011010111000 +1111110000100000 +1110001100001000 +0010011010111000 +1111110111011000 +0010001000101100 +1110010011010000 +0000100101011010 +1110001100000100 +0000100111100110 +1110101010000111 +0010011010111001 +1110001100001000 +0000100110000001 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000100111010000 +1110101010000111 +0000000110101110 +1110110000010000 +0010011010111010 +1110001100001000 +0000000001000000 +1110110000010000 +0010011010111011 +1110001100001000 +0000100110010010 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000100110011000 +1110101010000111 +0010011010111011 +1111110010011000 +0000100110001001 +1110001100000001 +0000100111100110 +1110101010000111 +0000000000001000 +1110110000010000 +0010011010111100 +1110001100001000 +0000100110100101 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000100110110000 +1110101010000111 +0010011010111100 +1111110010011000 +0000100110011100 +1110001100000001 +0010011010111010 +1111110111001000 +1111110111001000 +0000000000000000 +1111110111101000 +1111110000100000 +1110101010000111 +0000000000010000 +1110110000010000 +0010011010111101 +1110001100001000 +0010011010111001 +1111110000100000 +1111110000010000 +0010011010111110 +1110001100001000 +0010011010111110 +1111110000010000 +1111000010001000 +0111111111111111 +1110001101010000 +1110010101010000 +1110001101010000 +0010011010111010 +1111110000100000 +1110001100001000 +1110110111010000 +0010011010111010 +1110001100001000 +0010011010111101 +1111110010011000 +0000100110111001 +1110001100000001 +0010011010111001 +1111110111001000 +0000000000000000 +1111110111101000 +1111110000100000 +1110101010000111 +0010000110000100 +1110110000010000 +0010011010111111 +1110001100001000 +0000000100101011 +1110110000010000 +0010011011000000 +1110001100001000 +0010011011000000 +1111110000100000 +1110101010001000 +1110110111010000 +0010011011000000 +1110001100001000 +0010011010111111 +1111110010011000 +0000100111011000 +1110001100000001 +0000000000000000 +1111110111101000 +1111110000100000 +1110101010000111 +0100000000000000 +1110110000010000 +0010011011000001 +1110001100001000 +0000000110101110 +1110110000010000 +0010011011000010 +1110001100001000 +0000000001000000 +1110110000010000 +0010011011000011 +1110001100001000 +0000100111111011 +1110110000010000 +0000000000000000 +1111110000100000 +1110001100001000 +0000000000000000 +1111110010001000 +0000101000000011 +1110101010000111 +0010011011000011 +1111110010011000 +0000100111110010 +1110001100000001 +0000000000000000 +1111110111101000 +1111110000100000 +1110101010000111 +0000000000100000 +1110110000010000 +0010011011000100 +1110001100001000 +0010011011000010 +1111110000100000 +1111110000010000 +0000101001011111 +1110001100000010 +0010011011000010 +1111110111101000 +1111110000010000 +0000101000111110 +1110001100000010 +0010011011000010 +1111110111101000 +1111110000010000 +0000101000110000 +1110001100000010 +0010011011000010 +1111110111101000 +1111110000010000 +0000101000101100 +1110001100000010 +0000000000100000 +1110110000010000 +0010011011000001 +1111110000100000 +1110111010001000 +1110000010100000 +1110111010001000 +1110000010100000 +1110111010001000 +1110000010100000 +1110111010001000 +0010011011000001 +1111110111001000 +0010011011000010 +1111110111001000 +0000101011011100 +1110101010000111 +0000111111111111 +1110110000010000 +0000101010110011 +1110101010000111 +0010011011000010 +1111110111101000 +1111110000010000 +0000101000111010 +1110001100000010 +0000111100000000 +1110111010010000 +1110010011010000 +0000101010110011 +1110101010000111 +0000000011111111 +1110110000010000 +0000101010110011 +1110101010000111 +0010011011000010 +1111110111101000 +1111110000010000 +0000101001010001 +1110001100000010 +0010011011000010 +1111110111101000 +1111110000010000 +0000101001001101 +1110001100000010 +0000000011110000 +1110111010010000 +1110010011010000 +0000101010110011 +1110101010000111 +0000111100001111 +1110110000010000 +0000101010110011 +1110101010000111 +0010011011000010 +1111110111101000 +1111110000010000 +0000101001011011 +1110001100000010 +0000111111110000 +1110111010010000 +1110010011010000 +0000101010110011 +1110101010000111 +0000000000001111 +1110110000010000 +0000101010110011 +1110101010000111 +0010011011000010 +1111110111101000 +1111110000010000 +0000101010000101 +1110001100000010 +0010011011000010 +1111110111101000 +1111110000010000 +0000101001110111 +1110001100000010 +0010011011000010 +1111110111101000 +1111110000010000 +0000101001110011 +1110001100000010 +0000000000001111 +1110111010010000 +1110010011010000 +0000101010110011 +1110101010000111 +0000111111110000 +1110110000010000 +0000101010110011 +1110101010000111 +0010011011000010 +1111110111101000 +1111110000010000 +0000101010000001 +1110001100000010 +0000111100001111 +1110111010010000 +1110010011010000 +0000101010110011 +1110101010000111 +0000000011110000 +1110110000010000 +0000101010110011 +1110101010000111 +0010011011000010 +1111110111101000 +1111110000010000 +0000101010011000 +1110001100000010 +0010011011000010 +1111110111101000 +1111110000010000 +0000101010010100 +1110001100000010 +0000000011111111 +1110111010010000 +1110010011010000 +0000101010110011 +1110101010000111 +0000111100000000 +1110110000010000 +0000101010110011 +1110101010000111 +0010011011000010 +1111110111101000 +1111110000010000 +0000101010100010 +1110001100000010 +0000111111111111 +1110111010010000 +1110010011010000 +0000101010110011 +1110101010000111 +0000000000100000 +1110110000010000 +0010011011000001 +1111110000100000 +1110101010001000 +1110000010100000 +1110101010001000 +1110000010100000 +1110101010001000 +1110000010100000 +1110101010001000 +0010011011000001 +1111110111001000 +0010011011000010 +1111110111001000 +0000101011011100 +1110101010000111 +0010011011000101 +1110001100001000 +0010011011000001 +1111110000100000 +1110001100001000 +1110110000010000 +0000000000100000 +1110000010010000 +0010011011000001 +1110001100001000 +0010011011000101 +1111110000010000 +0010011011000001 +1111110000100000 +1110001100001000 +1110110000010000 +0000000000100000 +1110000010010000 +0010011011000001 +1110001100001000 +0010011011000101 +1111110000010000 +0010011011000001 +1111110000100000 +1110001100001000 +1110110000010000 +0000000000100000 +1110000010010000 +0010011011000001 +1110001100001000 +0010011011000101 +1111110000010000 +0010011011000001 +1111110000100000 +1110001100001000 +0000000001011111 +1110110000010000 +0010011011000001 +1111000111001000 +0010011011000010 +1111110111001000 +0010011011000100 +1111110010011000 +0000101000000111 +1110001100000001 +0010011011000010 +1111110111001000 +1111110111001000 +0000000001100000 +1110110000010000 +0010011011000001 +1111000010001000 +0000000000000000 +1111110111101000 +1111110000100000 +1110101010000111 +0000000001000000 +1110110000010000 +0000000000010000 +1110001100001000 +0000000000100000 +1110110000010000 +0000000000010001 +1110001100001000 +0000000000010010 +1110101010001000 +0000000000010011 +1110111111001000 +0111111111111111 +1110110000010000 +0000000000010100 +1110001100001000 +0000000000010101 +1110101010001000 +0000000000010110 +1110101010001000 +1110111010010000 +0111111111111111 +1110010011010000 +0000000000010111 +1110001100001000 +1110111010010000 +0111111111111111 +1110010011010000 +0000000000011000 +1110001100001000 +0000000000011001 +1110101010001000 +0000000000011010 +1110101010001000 +0000000000011011 +1110101010001000 +0000000000011100 +1110101010001000 +0000000000011101 +1110101010001000 +0000000000011110 +1110101010001000 +0000000000011111 +1110101010001000 +0000000000100000 +1110101010001000 +1110111010010000 +0111111111111111 +1110010011010000 +0000000000100001 +1110001100001000 +0000000000100010 +1110101010001000 +0000000000100011 +1110101010001000 +0000000000100100 +1110101010001000 +0000000000100101 +1110101010001000 +0000000000100110 +1110101010001000 +0000000000100111 +1110101010001000 +0000000000101000 +1110101010001000 +0000000000101001 +1110111111001000 +0000000000101010 +1110111111001000 +0000000000000010 +1110110000010000 +0000000000101011 +1110001100001000 +0000000000000010 +1110110000010000 +0000000000101100 +1110001100001000 +0000000000000011 +1110110000010000 +0000000000101101 +1110001100001000 +0000000000000011 +1110110000010000 +0000000000101110 +1110001100001000 +0000000000000100 +1110110000010000 +0000000000101111 +1110001100001000 +0000000000000100 +1110110000010000 +0000000000110000 +1110001100001000 +0000000000000101 +1110110000010000 +0000000000110001 +1110001100001000 +0000000000000101 +1110110000010000 +0000000000110010 +1110001100001000 +0000000000000110 +1110110000010000 +0000000000110011 +1110001100001000 +0000000000000110 +1110110000010000 +0000000000110100 +1110001100001000 +0000000000000111 +1110110000010000 +0000000000110101 +1110001100001000 +0000000000000111 +1110110000010000 +0000000000110110 +1110001100001000 +0000000000001000 +1110110000010000 +0000000000110111 +1110001100001000 +0000000000001000 +1110110000010000 +0000000000111000 +1110001100001000 +0000000000001001 +1110110000010000 +0000000000111001 +1110001100001000 +0000000000001001 +1110110000010000 +0000000000111010 +1110001100001000 +0000000000001010 +1110110000010000 +0000000000111011 +1110001100001000 +0000000000001010 +1110110000010000 +0000000000111100 +1110001100001000 +0000000000001011 +1110110000010000 +0000000000111101 +1110001100001000 +0000000000001011 +1110110000010000 +0000000000111110 +1110001100001000 +0000000000001100 +1110110000010000 +0000000000111111 +1110001100001000 +0000000000001100 +1110110000010000 +0000000001000000 +1110001100001000 +0000000000001101 +1110110000010000 +0000000001000001 +1110001100001000 +0000000000001101 +1110110000010000 +0000000001000010 +1110001100001000 +0000000000001110 +1110110000010000 +0000000001000011 +1110001100001000 +0000000000001110 +1110110000010000 +0000000001000100 +1110001100001000 +0000000000001111 +1110110000010000 +0000000001000101 +1110001100001000 +0000000000001111 +1110110000010000 +0000000001000110 +1110001100001000 +0000000000010000 +1110110000010000 +0000000001000111 +1110001100001000 +0000000000010000 +1110110000010000 +0000000001001000 +1110001100001000 +0000000000010001 +1110110000010000 +0000000001001001 +1110001100001000 +0000000000010001 +1110110000010000 +0000000001001010 +1110001100001000 +0000000000010010 +1110110000010000 +0000000001001011 +1110001100001000 +0000000000010010 +1110110000010000 +0000000001001100 +1110001100001000 +0000000000010011 +1110110000010000 +0000000001001101 +1110001100001000 +0000000000010011 +1110110000010000 +0000000001001110 +1110001100001000 +0000000000010100 +1110110000010000 +0000000001001111 +1110001100001000 +0000000000010100 +1110110000010000 +0000000001010000 +1110001100001000 +0000000000010101 +1110110000010000 +0000000001010001 +1110001100001000 +0000000000010101 +1110110000010000 +0000000001010010 +1110001100001000 +0000000000010110 +1110110000010000 +0000000001010011 +1110001100001000 +0000000000010110 +1110110000010000 +0000000001010100 +1110001100001000 +0000000000010111 +1110110000010000 +0000000001010101 +1110001100001000 +0000000000010111 +1110110000010000 +0000000001010110 +1110001100001000 +0000000000011000 +1110110000010000 +0000000001010111 +1110001100001000 +0000000000011000 +1110110000010000 +0000000001011000 +1110001100001000 +0000000000011001 +1110110000010000 +0000000001011001 +1110001100001000 +0000000000011001 +1110110000010000 +0000000001011010 +1110001100001000 +0000000000011010 +1110110000010000 +0000000001011011 +1110001100001000 +0000000000011010 +1110110000010000 +0000000001011100 +1110001100001000 +0000000000011011 +1110110000010000 +0000000001011101 +1110001100001000 +0000000000011011 +1110110000010000 +0000000001011110 +1110001100001000 +0000000000011100 +1110110000010000 +0000000001011111 +1110001100001000 +0000000000011100 +1110110000010000 +0000000001100000 +1110001100001000 +0000000000011101 +1110110000010000 +0000000001100001 +1110001100001000 +0000000000011101 +1110110000010000 +0000000001100010 +1110001100001000 +0000000000011110 +1110110000010000 +0000000001100011 +1110001100001000 +0000000000011110 +1110110000010000 +0000000001100100 +1110001100001000 +0000000000011111 +1110110000010000 +0000000001100101 +1110001100001000 +0000000000011111 +1110110000010000 +0000000001100110 +1110001100001000 +0000000001100111 +1110101010001000 +0000000001101000 +1110101010001000 +0000000001101001 +1110101010001000 +0000000001101010 +1110101010001000 +0000000001101011 +1110111111001000 +0000000001101100 +1110111111001000 +0000000001101101 +1110111111001000 +0000000001101110 +1110111111001000 +0000000000000010 +1110110000010000 +0000000001101111 +1110001100001000 +0000000000000010 +1110110000010000 +0000000001110000 +1110001100001000 +0000000000000010 +1110110000010000 +0000000001110001 +1110001100001000 +0000000000000010 +1110110000010000 +0000000001110010 +1110001100001000 +0000000000000011 +1110110000010000 +0000000001110011 +1110001100001000 +0000000000000011 +1110110000010000 +0000000001110100 +1110001100001000 +0000000000000011 +1110110000010000 +0000000001110101 +1110001100001000 +0000000000000011 +1110110000010000 +0000000001110110 +1110001100001000 +0000000000000100 +1110110000010000 +0000000001110111 +1110001100001000 +0000000000000100 +1110110000010000 +0000000001111000 +1110001100001000 +0000000000000100 +1110110000010000 +0000000001111001 +1110001100001000 +0000000000000100 +1110110000010000 +0000000001111010 +1110001100001000 +0000000000000101 +1110110000010000 +0000000001111011 +1110001100001000 +0000000000000101 +1110110000010000 +0000000001111100 +1110001100001000 +0000000000000101 +1110110000010000 +0000000001111101 +1110001100001000 +0000000000000101 +1110110000010000 +0000000001111110 +1110001100001000 +0000000000000110 +1110110000010000 +0000000001111111 +1110001100001000 +0000000000000110 +1110110000010000 +0000000010000000 +1110001100001000 +0000000000000110 +1110110000010000 +0000000010000001 +1110001100001000 +0000000000000110 +1110110000010000 +0000000010000010 +1110001100001000 +0000000000000111 +1110110000010000 +0000000010000011 +1110001100001000 +0000000000000111 +1110110000010000 +0000000010000100 +1110001100001000 +0000000000000111 +1110110000010000 +0000000010000101 +1110001100001000 +0000000000000111 +1110110000010000 +0000000010000110 +1110001100001000 +0000000000001000 +1110110000010000 +0000000010000111 +1110001100001000 +0000000000001000 +1110110000010000 +0000000010001000 +1110001100001000 +0000000000001000 +1110110000010000 +0000000010001001 +1110001100001000 +0000000000001000 +1110110000010000 +0000000010001010 +1110001100001000 +0000000000001001 +1110110000010000 +0000000010001011 +1110001100001000 +0000000000001001 +1110110000010000 +0000000010001100 +1110001100001000 +0000000000001001 +1110110000010000 +0000000010001101 +1110001100001000 +0000000000001001 +1110110000010000 +0000000010001110 +1110001100001000 +0000000000001010 +1110110000010000 +0000000010001111 +1110001100001000 +0000000000001010 +1110110000010000 +0000000010010000 +1110001100001000 +0000000000001010 +1110110000010000 +0000000010010001 +1110001100001000 +0000000000001010 +1110110000010000 +0000000010010010 +1110001100001000 +0000000000001011 +1110110000010000 +0000000010010011 +1110001100001000 +0000000000001011 +1110110000010000 +0000000010010100 +1110001100001000 +0000000000001011 +1110110000010000 +0000000010010101 +1110001100001000 +0000000000001011 +1110110000010000 +0000000010010110 +1110001100001000 +0000000000001100 +1110110000010000 +0000000010010111 +1110001100001000 +0000000000001100 +1110110000010000 +0000000010011000 +1110001100001000 +0000000000001100 +1110110000010000 +0000000010011001 +1110001100001000 +0000000000001100 +1110110000010000 +0000000010011010 +1110001100001000 +0000000000001101 +1110110000010000 +0000000010011011 +1110001100001000 +0000000000001101 +1110110000010000 +0000000010011100 +1110001100001000 +0000000000001101 +1110110000010000 +0000000010011101 +1110001100001000 +0000000000001101 +1110110000010000 +0000000010011110 +1110001100001000 +0000000000001110 +1110110000010000 +0000000010011111 +1110001100001000 +0000000000001110 +1110110000010000 +0000000010100000 +1110001100001000 +0000000000001110 +1110110000010000 +0000000010100001 +1110001100001000 +0000000000001110 +1110110000010000 +0000000010100010 +1110001100001000 +0000000000001111 +1110110000010000 +0000000010100011 +1110001100001000 +0000000000001111 +1110110000010000 +0000000010100100 +1110001100001000 +0000000000001111 +1110110000010000 +0000000010100101 +1110001100001000 +0000000000001111 +1110110000010000 +0000000010100110 +1110001100001000 +0000000000010000 +1110110000010000 +0000000010100111 +1110001100001000 +0000000000010000 +1110110000010000 +0000000010101000 +1110001100001000 +0000000000010000 +1110110000010000 +0000000010101001 +1110001100001000 +0000000000010000 +1110110000010000 +0000000010101010 +1110001100001000 +0000000000010001 +1110110000010000 +0000000010101011 +1110001100001000 +0000000000010001 +1110110000010000 +0000000010101100 +1110001100001000 +0000000000010001 +1110110000010000 +0000000010101101 +1110001100001000 +0000000000010001 +1110110000010000 +0000000010101110 +1110001100001000 +0000000000010010 +1110110000010000 +0000000010101111 +1110001100001000 +0000000000010010 +1110110000010000 +0000000010110000 +1110001100001000 +0000000000010010 +1110110000010000 +0000000010110001 +1110001100001000 +0000000000010010 +1110110000010000 +0000000010110010 +1110001100001000 +0000000000010011 +1110110000010000 +0000000010110011 +1110001100001000 +0000000000010011 +1110110000010000 +0000000010110100 +1110001100001000 +0000000000010011 +1110110000010000 +0000000010110101 +1110001100001000 +0000000000010011 +1110110000010000 +0000000010110110 +1110001100001000 +0000000000010100 +1110110000010000 +0000000010110111 +1110001100001000 +0000000000010100 +1110110000010000 +0000000010111000 +1110001100001000 +0000000000010100 +1110110000010000 +0000000010111001 +1110001100001000 +0000000000010100 +1110110000010000 +0000000010111010 +1110001100001000 +0000000000010101 +1110110000010000 +0000000010111011 +1110001100001000 +0000000000010101 +1110110000010000 +0000000010111100 +1110001100001000 +0000000000010101 +1110110000010000 +0000000010111101 +1110001100001000 +0000000000010101 +1110110000010000 +0000000010111110 +1110001100001000 +0000000000010110 +1110110000010000 +0000000010111111 +1110001100001000 +0000000000010110 +1110110000010000 +0000000011000000 +1110001100001000 +0000000000010110 +1110110000010000 +0000000011000001 +1110001100001000 +0000000000010110 +1110110000010000 +0000000011000010 +1110001100001000 +0000000000010111 +1110110000010000 +0000000011000011 +1110001100001000 +0000000000010111 +1110110000010000 +0000000011000100 +1110001100001000 +0000000000010111 +1110110000010000 +0000000011000101 +1110001100001000 +0000000000010111 +1110110000010000 +0000000011000110 +1110001100001000 +0000000000011000 +1110110000010000 +0000000011000111 +1110001100001000 +0000000000011000 +1110110000010000 +0000000011001000 +1110001100001000 +0000000000011000 +1110110000010000 +0000000011001001 +1110001100001000 +0000000000011000 +1110110000010000 +0000000011001010 +1110001100001000 +0000000000011001 +1110110000010000 +0000000011001011 +1110001100001000 +0000000000011001 +1110110000010000 +0000000011001100 +1110001100001000 +0000000000011001 +1110110000010000 +0000000011001101 +1110001100001000 +0000000000011001 +1110110000010000 +0000000011001110 +1110001100001000 +0000000000011010 +1110110000010000 +0000000011001111 +1110001100001000 +0000000000011010 +1110110000010000 +0000000011010000 +1110001100001000 +0000000000011010 +1110110000010000 +0000000011010001 +1110001100001000 +0000000000011010 +1110110000010000 +0000000011010010 +1110001100001000 +0000000000011011 +1110110000010000 +0000000011010011 +1110001100001000 +0000000000011011 +1110110000010000 +0000000011010100 +1110001100001000 +0000000000011011 +1110110000010000 +0000000011010101 +1110001100001000 +0000000000011011 +1110110000010000 +0000000011010110 +1110001100001000 +0000000000011100 +1110110000010000 +0000000011010111 +1110001100001000 +0000000000011100 +1110110000010000 +0000000011011000 +1110001100001000 +0000000000011100 +1110110000010000 +0000000011011001 +1110001100001000 +0000000000011100 +1110110000010000 +0000000011011010 +1110001100001000 +0000000000011101 +1110110000010000 +0000000011011011 +1110001100001000 +0000000000011101 +1110110000010000 +0000000011011100 +1110001100001000 +0000000000011101 +1110110000010000 +0000000011011101 +1110001100001000 +0000000000011101 +1110110000010000 +0000000011011110 +1110001100001000 +0000000000011110 +1110110000010000 +0000000011011111 +1110001100001000 +0000000000011110 +1110110000010000 +0000000011100000 +1110001100001000 +0000000000011110 +1110110000010000 +0000000011100001 +1110001100001000 +0000000000011110 +1110110000010000 +0000000011100010 +1110001100001000 +0000000000011111 +1110110000010000 +0000000011100011 +1110001100001000 +0000000000011111 +1110110000010000 +0000000011100100 +1110001100001000 +0000000000011111 +1110110000010000 +0000000011100101 +1110001100001000 +0000000000011111 +1110110000010000 +0000000011100110 +1110001100001000 +0000000000000110 +1110110000010000 +0000000011100111 +1110001100001000 +0000000001100000 +1110110000010000 +0000000011101000 +1110001100001000 +0000011000000000 +1110110000010000 +0000000011101001 +1110001100001000 +0110000000000000 +1110110000010000 +0000000011101010 +1110001100001000 +0000000110101110 +1110110000010000 +0000000011101011 +1110001100001000 +0000001000110000 +1110110000010000 +0000000011101100 +1110001100001000 +0000001010110010 +1110110000010000 +0000000011101101 +1110001100001000 +0000001100110100 +1110110000010000 +0000000011101110 +1110001100001000 +0000001110110110 +1110110000010000 +0000000011101111 +1110001100001000 +0000010000111000 +1110110000010000 +0000000011110000 +1110001100001000 +0000010010111010 +1110110000010000 +0000000011110001 +1110001100001000 +0000010100111100 +1110110000010000 +0000000011110010 +1110001100001000 +0000010110111110 +1110110000010000 +0000000011110011 +1110001100001000 +0000011001000000 +1110110000010000 +0000000011110100 +1110001100001000 +0000011011000010 +1110110000010000 +0000000011110101 +1110001100001000 +0000011101000100 +1110110000010000 +0000000011110110 +1110001100001000 +0000011111000110 +1110110000010000 +0000000011110111 +1110001100001000 +0000100001001000 +1110110000010000 +0000000011111000 +1110001100001000 +0000100011001010 +1110110000010000 +0000000011111001 +1110001100001000 +0000100101001100 +1110110000010000 +0000000011111010 +1110001100001000 +0000100111001110 +1110110000010000 +0000000011111011 +1110001100001000 +0000101001010000 +1110110000010000 +0000000011111100 +1110001100001000 +0000101011010010 +1110110000010000 +0000000011111101 +1110001100001000 +0000101101010100 +1110110000010000 +0000000011111110 +1110001100001000 +0000101111010110 +1110110000010000 +0000000011111111 +1110001100001000 +0000110001011000 +1110110000010000 +0000000100000000 +1110001100001000 +0000110011011010 +1110110000010000 +0000000100000001 +1110001100001000 +0000110101011100 +1110110000010000 +0000000100000010 +1110001100001000 +0000110111011110 +1110110000010000 +0000000100000011 +1110001100001000 +0000111001100000 +1110110000010000 +0000000100000100 +1110001100001000 +0000111011100010 +1110110000010000 +0000000100000101 +1110001100001000 +0000111101100100 +1110110000010000 +0000000100000110 +1110001100001000 +0000111111100110 +1110110000010000 +0000000100000111 +1110001100001000 +0001000001101000 +1110110000010000 +0000000100001000 +1110001100001000 +0001000011101010 +1110110000010000 +0000000100001001 +1110001100001000 +0001000101101100 +1110110000010000 +0000000100001010 +1110001100001000 +0001000111101110 +1110110000010000 +0000000100001011 +1110001100001000 +0001001001110000 +1110110000010000 +0000000100001100 +1110001100001000 +0001001011110010 +1110110000010000 +0000000100001101 +1110001100001000 +0001001101110100 +1110110000010000 +0000000100001110 +1110001100001000 +0001001111110110 +1110110000010000 +0000000100001111 +1110001100001000 +0001010001111000 +1110110000010000 +0000000100010000 +1110001100001000 +0001010011111010 +1110110000010000 +0000000100010001 +1110001100001000 +0001010101111100 +1110110000010000 +0000000100010010 +1110001100001000 +0001010111111110 +1110110000010000 +0000000100010011 +1110001100001000 +0001011010000000 +1110110000010000 +0000000100010100 +1110001100001000 +0001011100000010 +1110110000010000 +0000000100010101 +1110001100001000 +0001011110000100 +1110110000010000 +0000000100010110 +1110001100001000 +0001100000000110 +1110110000010000 +0000000100010111 +1110001100001000 +0001100010001000 +1110110000010000 +0000000100011000 +1110001100001000 +0001100100001010 +1110110000010000 +0000000100011001 +1110001100001000 +0001100110001100 +1110110000010000 +0000000100011010 +1110001100001000 +0001101000001110 +1110110000010000 +0000000100011011 +1110001100001000 +0001101010010000 +1110110000010000 +0000000100011100 +1110001100001000 +0001101100010010 +1110110000010000 +0000000100011101 +1110001100001000 +0001101110010100 +1110110000010000 +0000000100011110 +1110001100001000 +0001110000010110 +1110110000010000 +0000000100011111 +1110001100001000 +0001110010011000 +1110110000010000 +0000000100100000 +1110001100001000 +0001110100011010 +1110110000010000 +0000000100100001 +1110001100001000 +0001110110011100 +1110110000010000 +0000000100100010 +1110001100001000 +0001111000011110 +1110110000010000 +0000000100100011 +1110001100001000 +0001111010100000 +1110110000010000 +0000000100100100 +1110001100001000 +0001111100100010 +1110110000010000 +0000000100100101 +1110001100001000 +0001111110100100 +1110110000010000 +0000000100100110 +1110001100001000 +0010000000100110 +1110110000010000 +0000000100100111 +1110001100001000 +0010000010101000 +1110110000010000 +0000000100101000 +1110001100001000 +0010000100101010 +1110110000010000 +0000000100101001 +1110001100001000 +0010000110101100 +1110110000010000 +0000000100101010 +1110001100001000 +0010001010101111 +1110111010001000 +0010001010110000 +1110111010001000 +0010001010110001 +1110111010001000 +0010001010110010 +1110111010001000 +0010001010110011 +1110111010001000 +0010001010110100 +1110111010001000 +0010001010110101 +1110111010001000 +0010001010110110 +1110111010001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001010110111 +1110001100001000 +0010001010111000 +1110101010001000 +0010001010111001 +1110101010001000 +0010001010111010 +1110101010001000 +0010001010111011 +1110101010001000 +0010001010111100 +1110101010001000 +0010001010111101 +1110101010001000 +0010001010111110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001010111111 +1110001100001000 +0010001011000000 +1110101010001000 +0010001011000001 +1110101010001000 +0010001011000010 +1110101010001000 +0010001011000011 +1110101010001000 +0010001011000100 +1110101010001000 +0010001011000101 +1110101010001000 +0010001011000110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011000111 +1110001100001000 +0010001011001000 +1110101010001000 +0010001011001001 +1110101010001000 +0010001011001010 +1110101010001000 +0010001011001011 +1110101010001000 +0010001011001100 +1110101010001000 +0010001011001101 +1110101010001000 +0010001011001110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011001111 +1110001100001000 +0010001011010000 +1110101010001000 +0010001011010001 +1110101010001000 +0010001011010010 +1110101010001000 +0010001011010011 +1110101010001000 +0010001011010100 +1110101010001000 +0010001011010101 +1110101010001000 +0010001011010110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011010111 +1110001100001000 +0010001011011000 +1110101010001000 +0010001011011001 +1110101010001000 +0010001011011010 +1110101010001000 +0010001011011011 +1110101010001000 +0010001011011100 +1110101010001000 +0010001011011101 +1110101010001000 +0010001011011110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011011111 +1110001100001000 +0010001011100000 +1110101010001000 +0010001011100001 +1110101010001000 +0010001011100010 +1110101010001000 +0010001011100011 +1110101010001000 +0010001011100100 +1110101010001000 +0010001011100101 +1110101010001000 +0010001011100110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011100111 +1110001100001000 +0010001011101000 +1110101010001000 +0010001011101001 +1110101010001000 +0010001011101010 +1110101010001000 +0010001011101011 +1110101010001000 +0010001011101100 +1110101010001000 +0010001011101101 +1110101010001000 +0010001011101110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011101111 +1110001100001000 +0010001011110000 +1110101010001000 +0010001011110001 +1110101010001000 +0010001011110010 +1110101010001000 +0010001011110011 +1110101010001000 +0010001011110100 +1110101010001000 +0010001011110101 +1110101010001000 +0010001011110110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011110111 +1110001100001000 +0001111111110001 +1110110000010000 +0010001011111000 +1110001100001000 +1110111010010000 +0000000011000011 +1110010011010000 +0010001011111001 +1110001100001000 +0111101111000001 +1110110000010000 +0010001011111010 +1110001100001000 +1110111010010000 +0001100000000011 +1110010011010000 +0010001011111011 +1110001100001000 +1110111010010000 +0000111100001000 +1110010011010000 +0010001011111100 +1110001100001000 +0011111111110000 +1110110000010000 +0010001011111101 +1110001100001000 +0010001011111110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001011111111 +1110001100001000 +0011111111111011 +1110110000010000 +0010001100000000 +1110001100001000 +1110111010010000 +0000000001000001 +1110010011010000 +0010001100000001 +1110001100001000 +0111101111000001 +1110110000010000 +0010001100000010 +1110001100001000 +1110111010010000 +0001000000000001 +1110010011010000 +0010001100000011 +1110001100001000 +1110111010010000 +0000111100001000 +1110010011010000 +0010001100000100 +1110001100001000 +0111111111110000 +1110110000010000 +0010001100000101 +1110001100001000 +0010001100000110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100000111 +1110001100001000 +0011110001111011 +1110110000010000 +0010001100001000 +1110001100001000 +1110111010010000 +0011100001000000 +1110010011010000 +0010001100001001 +1110001100001000 +0111101111000001 +1110110000010000 +0010001100001010 +1110001100001000 +1110111010010000 +0001000011100001 +1110010011010000 +0010001100001011 +1110001100001000 +1110111010010000 +0000111100001111 +1110010011010000 +0010001100001100 +1110001100001000 +0111100000000000 +1110110000010000 +0010001100001101 +1110001100001000 +0010001100001110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100001111 +1110001100001000 +0011110001111011 +1110110000010000 +0010001100010000 +1110001100001000 +1110111010010000 +0011100001000000 +1110010011010000 +0010001100010001 +1110001100001000 +1110111010010000 +0000010000110110 +1110010011010000 +0010001100010010 +1110001100001000 +1110111010010000 +0001000011100001 +1110010011010000 +0010001100010011 +1110001100001000 +1110111010010000 +0000011000001111 +1110010011010000 +0010001100010100 +1110001100001000 +0111100000000000 +1110110000010000 +0010001100010101 +1110001100001000 +0010001100010110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100010111 +1110001100001000 +0011110000000011 +1110110000010000 +0010001100011000 +1110001100001000 +1110111010010000 +0011100001000000 +1110010011010000 +0010001100011001 +1110001100001000 +1110111010010000 +0000010000100010 +1110010011010000 +0010001100011010 +1110001100001000 +1110111010010000 +0001000000000001 +1110010011010000 +0010001100011011 +1110001100001000 +0111111111100000 +1110110000010000 +0010001100011100 +1110001100001000 +0111111111100000 +1110110000010000 +0010001100011101 +1110001100001000 +0010001100011110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100011111 +1110001100001000 +0011110000000011 +1110110000010000 +0010001100100000 +1110001100001000 +1110111010010000 +0011100001000010 +1110010011010000 +0010001100100001 +1110001100001000 +1110111010010000 +0000010000000000 +1110010011010000 +0010001100100010 +1110001100001000 +1110111010010000 +0001000000000001 +1110010011010000 +0010001100100011 +1110001100001000 +0011111111000000 +1110110000010000 +0010001100100100 +1110001100001000 +0011111111110000 +1110110000010000 +0010001100100101 +1110001100001000 +0010001100100110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100100111 +1110001100001000 +0011110001111011 +1110110000010000 +0010001100101000 +1110001100001000 +1110111010010000 +0011100001000011 +1110010011010000 +0010001100101001 +1110001100001000 +1110111010010000 +0000010000000000 +1110010011010000 +0010001100101010 +1110001100001000 +1110111010010000 +0001000011100001 +1110010011010000 +0010001100101011 +1110001100001000 +0000111100000000 +1110110000010000 +0010001100101100 +1110001100001000 +0000000011110000 +1110110000010000 +0010001100101101 +1110001100001000 +0010001100101110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100101111 +1110001100001000 +0011110001111011 +1110110000010000 +0010001100110000 +1110001100001000 +1110111010010000 +0011100001000011 +1110010011010000 +0010001100110001 +1110001100001000 +0111101111110111 +1110110000010000 +0010001100110010 +1110001100001000 +1110111010010000 +0001000011100001 +1110010011010000 +0010001100110011 +1110001100001000 +0000111100000000 +1110110000010000 +0010001100110100 +1110001100001000 +0000000011110000 +1110110000010000 +0010001100110101 +1110001100001000 +0010001100110110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100110111 +1110001100001000 +0011111111111011 +1110110000010000 +0010001100111000 +1110001100001000 +1110111010010000 +0000000001000011 +1110010011010000 +0010001100111001 +1110001100001000 +0111101111100011 +1110110000010000 +0010001100111010 +1110001100001000 +1110111010010000 +0001000011100001 +1110010011010000 +0010001100111011 +1110001100001000 +0000111100000000 +1110110000010000 +0010001100111100 +1110001100001000 +0111111111110000 +1110110000010000 +0010001100111101 +1110001100001000 +0010001100111110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001100111111 +1110001100001000 +0001111111110001 +1110110000010000 +0010001101000000 +1110001100001000 +1110111010010000 +0000000011000011 +1110010011010000 +0010001101000001 +1110001100001000 +0111101111000001 +1110110000010000 +0010001101000010 +1110001100001000 +1110111010010000 +0001000011100001 +1110010011010000 +0010001101000011 +1110001100001000 +0000111100000000 +1110110000010000 +0010001101000100 +1110001100001000 +0111111111100000 +1110110000010000 +0010001101000101 +1110001100001000 +0010001101000110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101000111 +1110001100001000 +0010001101001000 +1110101010001000 +0010001101001001 +1110101010001000 +0010001101001010 +1110101010001000 +0010001101001011 +1110101010001000 +0010001101001100 +1110101010001000 +0010001101001101 +1110101010001000 +0010001101001110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101001111 +1110001100001000 +0010001101010000 +1110101010001000 +0010001101010001 +1110101010001000 +0010001101010010 +1110101010001000 +0010001101010011 +1110101010001000 +0010001101010100 +1110101010001000 +0010001101010101 +1110101010001000 +0010001101010110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101010111 +1110001100001000 +0010001101011000 +1110101010001000 +0010001101011001 +1110101010001000 +0010001101011010 +1110101010001000 +0010001101011011 +1110101010001000 +0010001101011100 +1110101010001000 +0010001101011101 +1110101010001000 +0010001101011110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101011111 +1110001100001000 +0001111000000001 +1110110000010000 +0010001101100000 +1110001100001000 +1110111010010000 +0000000001100000 +1110010011010000 +0010001101100001 +1110001100001000 +1110111010010000 +0000011000000000 +1110010011010000 +0010001101100010 +1110001100001000 +1110111010010000 +0111111111000000 +1110010011010000 +0010001101100011 +1110001100001000 +1110111010010000 +0000110000000001 +1110010011010000 +0010001101100100 +1110001100001000 +0111111111100000 +1110110000010000 +0010001101100101 +1110001100001000 +0010001101100110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101100111 +1110001100001000 +0001111000000001 +1110110000010000 +0010001101101000 +1110001100001000 +1110111010010000 +0000000001000000 +1110010011010000 +0010001101101001 +1110001100001000 +1110111010010000 +0000010000000000 +1110010011010000 +0010001101101010 +1110001100001000 +1110111010010000 +0111111110000000 +1110010011010000 +0010001101101011 +1110001100001000 +1110111010010000 +0000100000000000 +1110010011010000 +0010001101101100 +1110001100001000 +0111111111110000 +1110110000010000 +0010001101101101 +1110001100001000 +0010001101101110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101101111 +1110001100001000 +0001111000000000 +1110110000010000 +0010001101110000 +1110001100001000 +0011110000111100 +1110110000010000 +0010001101110001 +1110001100001000 +0000001111000000 +1110110000010000 +0010001101110010 +1110001100001000 +0000000001111000 +1110110000010000 +0010001101110011 +1110001100001000 +0000011110001111 +1110110000010000 +0010001101110100 +1110001100001000 +0111100011110000 +1110110000010000 +0010001101110101 +1110001100001000 +0010001101110110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101110111 +1110001100001000 +0001111000000000 +1110110000010000 +0010001101111000 +1110001100001000 +0011110000111100 +1110110000010000 +0010001101111001 +1110001100001000 +0000001111000000 +1110110000010000 +0010001101111010 +1110001100001000 +0000000001111000 +1110110000010000 +0010001101111011 +1110001100001000 +0000011110001111 +1110110000010000 +0010001101111100 +1110001100001000 +0111100011110000 +1110110000010000 +0010001101111101 +1110001100001000 +0010001101111110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001101111111 +1110001100001000 +0001111000000000 +1110110000010000 +0010001110000000 +1110001100001000 +0011110000111111 +1110110000010000 +0010001110000001 +1110001100001000 +1110111010010000 +0111110000000111 +1110010011010000 +0010001110000010 +1110001100001000 +0000000001111111 +1110110000010000 +0010001110000011 +1110001100001000 +0000011110001111 +1110110000010000 +0010001110000100 +1110001100001000 +0111111111100000 +1110110000010000 +0010001110000101 +1110001100001000 +0010001110000110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110000111 +1110001100001000 +0001111000000000 +1110110000010000 +0010001110001000 +1110001100001000 +0011110000111111 +1110110000010000 +0010001110001001 +1110001100001000 +1110111010010000 +0111110000000111 +1110010011010000 +0010001110001010 +1110001100001000 +0000000001111111 +1110110000010000 +0010001110001011 +1110001100001000 +0000011110001111 +1110110000010000 +0010001110001100 +1110001100001000 +0111111111100000 +1110110000010000 +0010001110001101 +1110001100001000 +0010001110001110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110001111 +1110001100001000 +0001111000000000 +1110110000010000 +0010001110010000 +1110001100001000 +0011110000111100 +1110110000010000 +0010001110010001 +1110001100001000 +0000001111000000 +1110110000010000 +0010001110010010 +1110001100001000 +0000000001111000 +1110110000010000 +0010001110010011 +1110001100001000 +0000011110001111 +1110110000010000 +0010001110010100 +1110001100001000 +0111100011110000 +1110110000010000 +0010001110010101 +1110001100001000 +0010001110010110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110010111 +1110001100001000 +0001111000000000 +1110110000010000 +0010001110011000 +1110001100001000 +0011110000111100 +1110110000010000 +0010001110011001 +1110001100001000 +0000001111000000 +1110110000010000 +0010001110011010 +1110001100001000 +0000000001111000 +1110110000010000 +0010001110011011 +1110001100001000 +0000011110001111 +1110110000010000 +0010001110011100 +1110001100001000 +0111100011110000 +1110110000010000 +0010001110011101 +1110001100001000 +0010001110011110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110011111 +1110001100001000 +0001111111111101 +1110110000010000 +0010001110100000 +1110001100001000 +1110111010010000 +0000000001000011 +1110010011010000 +0010001110100001 +1110001100001000 +0000001111111111 +1110110000010000 +0010001110100010 +1110001100001000 +1110111010010000 +0111111110000111 +1110010011010000 +0010001110100011 +1110001100001000 +0000011111111111 +1110110000010000 +0010001110100100 +1110001100001000 +0111100011110000 +1110110000010000 +0010001110100101 +1110001100001000 +0010001110100110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110100111 +1110001100001000 +0001111111111101 +1110110000010000 +0010001110101000 +1110001100001000 +1110111010010000 +0000000001000011 +1110010011010000 +0010001110101001 +1110001100001000 +0000000111111111 +1110110000010000 +0010001110101010 +1110001100001000 +1110111010010000 +0111111110000111 +1110010011010000 +0010001110101011 +1110001100001000 +0000001111111110 +1110110000010000 +0010001110101100 +1110001100001000 +0111100011110000 +1110110000010000 +0010001110101101 +1110001100001000 +0010001110101110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110101111 +1110001100001000 +0010001110110000 +1110101010001000 +0010001110110001 +1110101010001000 +0010001110110010 +1110101010001000 +0010001110110011 +1110101010001000 +0010001110110100 +1110101010001000 +0010001110110101 +1110101010001000 +0010001110110110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110110111 +1110001100001000 +0010001110111000 +1110101010001000 +0010001110111001 +1110101010001000 +0010001110111010 +1110101010001000 +0010001110111011 +1110101010001000 +0010001110111100 +1110101010001000 +0010001110111101 +1110101010001000 +0010001110111110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001110111111 +1110001100001000 +0010001111000000 +1110101010001000 +0010001111000001 +1110101010001000 +0010001111000010 +1110101010001000 +0010001111000011 +1110101010001000 +0010001111000100 +1110101010001000 +0010001111000101 +1110101010001000 +0010001111000110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111000111 +1110001100001000 +0010001111001000 +1110101010001000 +0000000111100011 +1110110000010000 +0010001111001001 +1110001100001000 +1110111010010000 +0011000000000111 +1110010011010000 +0010001111001010 +1110001100001000 +1110111010010000 +0000000001100001 +1110010011010000 +0010001111001011 +1110001100001000 +0011111000000000 +1110110000010000 +0010001111001100 +1110001100001000 +0010001111001101 +1110101010001000 +0010001111001110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111001111 +1110001100001000 +0010001111010000 +1110101010001000 +0000000111100011 +1110110000010000 +0010001111010001 +1110001100001000 +1110111010010000 +0010000000000010 +1110010011010000 +0010001111010010 +1110001100001000 +1110111010010000 +0000000000100001 +1110010011010000 +0010001111010011 +1110001100001000 +0111111000000000 +1110110000010000 +0010001111010100 +1110001100001000 +0010001111010101 +1110101010001000 +0010001111010110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111010111 +1110001100001000 +0010001111011000 +1110101010001000 +0000000111100011 +1110110000010000 +0010001111011001 +1110001100001000 +1110111010010000 +0010000111000010 +1110010011010000 +0010001111011010 +1110001100001000 +1110111010010000 +0001110000100001 +1110010011010000 +0010001111011011 +1110001100001000 +1110111010010000 +0000001111111111 +1110010011010000 +0010001111011100 +1110001100001000 +0010001111011101 +1110101010001000 +0010001111011110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111011111 +1110001100001000 +0010001111100000 +1110101010001000 +0000000111100011 +1110110000010000 +0010001111100001 +1110001100001000 +1110111010010000 +0010000111000010 +1110010011010000 +0010001111100010 +1110001100001000 +1110111010010000 +0001110000100000 +1110010011010000 +0010001111100011 +1110001100001000 +1110111010010000 +0000011111111111 +1110010011010000 +0010001111100100 +1110001100001000 +0010001111100101 +1110101010001000 +0010001111100110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111100111 +1110001100001000 +0010001111101000 +1110101010001000 +0000000111111111 +1110110000010000 +0010001111101001 +1110001100001000 +1110111010010000 +0010000000000010 +1110010011010000 +0010001111101010 +1110001100001000 +1110111010010000 +0001111111100000 +1110010011010000 +0010001111101011 +1110001100001000 +1110111010010000 +0000111111111111 +1110010011010000 +0010001111101100 +1110001100001000 +0010001111101101 +1110101010001000 +0010001111101110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111101111 +1110001100001000 +0010001111110000 +1110101010001000 +0000000111111111 +1110110000010000 +0010001111110001 +1110001100001000 +1110111010010000 +0010000000000010 +1110010011010000 +0010001111110010 +1110001100001000 +1110111010010000 +0001111111100000 +1110010011010000 +0010001111110011 +1110001100001000 +1110111010010000 +0000111111111111 +1110010011010000 +0010001111110100 +1110001100001000 +0010001111110101 +1110101010001000 +0010001111110110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111110111 +1110001100001000 +0010001111111000 +1110101010001000 +0000000111100011 +1110110000010000 +0010001111111001 +1110001100001000 +1110111010010000 +0010000111000010 +1110010011010000 +0010001111111010 +1110001100001000 +1110111010010000 +0001110000100000 +1110010011010000 +0010001111111011 +1110001100001000 +1110111010010000 +0000011111111111 +1110010011010000 +0010001111111100 +1110001100001000 +0010001111111101 +1110101010001000 +0010001111111110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010001111111111 +1110001100001000 +0010010000000000 +1110101010001000 +0000000111100011 +1110110000010000 +0010010000000001 +1110001100001000 +1110111010010000 +0010000111000010 +1110010011010000 +0010010000000010 +1110001100001000 +1110111010010000 +0001110000100001 +1110010011010000 +0010010000000011 +1110001100001000 +1110111010010000 +0000001111111111 +1110010011010000 +0010010000000100 +1110001100001000 +0010010000000101 +1110101010001000 +0010010000000110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000000111 +1110001100001000 +0010010000001000 +1110101010001000 +0000000111100011 +1110110000010000 +0010010000001001 +1110001100001000 +1110111010010000 +0010000111000010 +1110010011010000 +0010010000001010 +1110001100001000 +1110111010010000 +0000000000100001 +1110010011010000 +0010010000001011 +1110001100001000 +0111111000000000 +1110110000010000 +0010010000001100 +1110001100001000 +0010010000001101 +1110101010001000 +0010010000001110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000001111 +1110001100001000 +0010010000010000 +1110101010001000 +0000000111100011 +1110110000010000 +0010010000010001 +1110001100001000 +1110111010010000 +0010000111000011 +1110010011010000 +0010010000010010 +1110001100001000 +1110111010010000 +0000000001100001 +1110010011010000 +0010010000010011 +1110001100001000 +0011111000000000 +1110110000010000 +0010010000010100 +1110001100001000 +0010010000010101 +1110101010001000 +0010010000010110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000010111 +1110001100001000 +0010010000011000 +1110101010001000 +0010010000011001 +1110101010001000 +0010010000011010 +1110101010001000 +0010010000011011 +1110101010001000 +0010010000011100 +1110101010001000 +0010010000011101 +1110101010001000 +0010010000011110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000011111 +1110001100001000 +0010010000100000 +1110101010001000 +0010010000100001 +1110101010001000 +0010010000100010 +1110101010001000 +0010010000100011 +1110101010001000 +0010010000100100 +1110101010001000 +0010010000100101 +1110101010001000 +0010010000100110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000100111 +1110001100001000 +0010010000101000 +1110101010001000 +0010010000101001 +1110101010001000 +0010010000101010 +1110101010001000 +0010010000101011 +1110101010001000 +0010010000101100 +1110101010001000 +0010010000101101 +1110101010001000 +0010010000101110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000101111 +1110001100001000 +0010010000110000 +1110101010001000 +0010010000110001 +1110101010001000 +0010010000110010 +1110101010001000 +0010010000110011 +1110101010001000 +0010010000110100 +1110101010001000 +0010010000110101 +1110101010001000 +0010010000110110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000110111 +1110001100001000 +0010010000111000 +1110101010001000 +0010010000111001 +1110101010001000 +0010010000111010 +1110101010001000 +0010010000111011 +1110101010001000 +0010010000111100 +1110101010001000 +0010010000111101 +1110101010001000 +0010010000111110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010000111111 +1110001100001000 +0010010001000000 +1110101010001000 +0010010001000001 +1110101010001000 +0010010001000010 +1110101010001000 +0010010001000011 +1110101010001000 +0010010001000100 +1110101010001000 +0010010001000101 +1110101010001000 +0010010001000110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010001000111 +1110001100001000 +0010010001001000 +1110101010001000 +0010010001001001 +1110101010001000 +0010010001001010 +1110101010001000 +0010010001001011 +1110101010001000 +0010010001001100 +1110101010001000 +0010010001001101 +1110101010001000 +0010010001001110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010001001111 +1110001100001000 +0010010001010000 +1110101010001000 +0010010001010001 +1110101010001000 +0010010001010010 +1110101010001000 +0010010001010011 +1110101010001000 +0010010001010100 +1110101010001000 +0010010001010101 +1110101010001000 +0010010001010110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010001010111 +1110001100001000 +0010010001011000 +1110101010001000 +0010010001011001 +1110101010001000 +0010010001011010 +1110101010001000 +0010010001011011 +1110101010001000 +0010010001011100 +1110101010001000 +0010010001011101 +1110101010001000 +0010010001011110 +1110111111001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010001011111 +1110001100001000 +0010010001100000 +1110101010001000 +0010010001100001 +1110101010001000 +0010010001100010 +1110101010001000 +0010010001100011 +1110101010001000 +0010010001100100 +1110101010001000 +0010010001100101 +1110101010001000 +0010010001100110 +1110111111001000 +1110111010010000 +0111100001100001 +1110010011010000 +0010010001100111 +1110001100001000 +1110111010010000 +0000010000100001 +1110010011010000 +0010010001101000 +1110001100001000 +0000011110001110 +1110110000010000 +0010010001101001 +1110001100001000 +0111100111110111 +1110110000010000 +0010010001101010 +1110001100001000 +1110111010010000 +0110000011111101 +1110010011010000 +0010010001101011 +1110001100001000 +0010011100011100 +1110110000010000 +0010010001101100 +1110001100001000 +1110111010010000 +0000110111010000 +1110010011010000 +0010010001101101 +1110001100001000 +1110111010010000 +0110001100001110 +1110010011010000 +0010010001101110 +1110001100001000 +1110111010010000 +0111011110111101 +1110010011010000 +0010010001101111 +1110001100001000 +1110111010010000 +0111011110111101 +1110010011010000 +0010010001110000 +1110001100001000 +0000010001010001 +1110110000010000 +0010010001110001 +1110001100001000 +0100010100000100 +1110110000010000 +0010010001110010 +1110001100001000 +0100010000000010 +1110110000010000 +0010010001110011 +1110001100001000 +0010100010100010 +1110110000010000 +0010010001110100 +1110001100001000 +1110111010010000 +0111010111010111 +1110010011010000 +0010010001110101 +1110001100001000 +0010001010001001 +1110110000010000 +0010010001110110 +1110001100001000 +1110111010010000 +0111010010111101 +1110010011010000 +0010010001110111 +1110001100001000 +1110111010010000 +0111011110111101 +1110010011010000 +0010010001111000 +1110001100001000 +0000010001010001 +1110110000010000 +0010010001111001 +1110001100001000 +0100010100000100 +1110110000010000 +0010010001111010 +1110001100001000 +0100010000000010 +1110110000010000 +0010010001111011 +1110001100001000 +0010100010100010 +1110110000010000 +0010010001111100 +1110001100001000 +1110111010010000 +0111010111010111 +1110010011010000 +0010010001111101 +1110001100001000 +0010001010001001 +1110110000010000 +0010010001111110 +1110001100001000 +1110111010010000 +0111010110100001 +1110010011010000 +0010010001111111 +1110001100001000 +1110111010010000 +0111010000100001 +1110010011010000 +0010010010000000 +1110001100001000 +0000011110010001 +1110110000010000 +0010010010000001 +1110001100001000 +0111100111100111 +1110110000010000 +0010010010000010 +1110001100001000 +1110111010010000 +0111101111111101 +1110010011010000 +0010010010000011 +1110001100001000 +0010100010100010 +1110110000010000 +0010010010000100 +1110001100001000 +1110111010010000 +0111010000010000 +1110010011010000 +0010010010000101 +1110001100001000 +0011111010001001 +1110110000010000 +0010010010000110 +1110001100001000 +1110111010010000 +0111010010101111 +1110010011010000 +0010010010000111 +1110001100001000 +1110111010010000 +0111010111111101 +1110010011010000 +0010010010001000 +1110001100001000 +0000010001010001 +1110110000010000 +0010010010001001 +1110001100001000 +0100010100000100 +1110110000010000 +0010010010001010 +1110001100001000 +0100010000000010 +1110110000010000 +0010010010001011 +1110001100001000 +1110111010010000 +0101011101011101 +1110010011010000 +0010010010001100 +1110001100001000 +1110111010010000 +0111010111010111 +1110010011010000 +0010010010001101 +1110001100001000 +0010001010001001 +1110110000010000 +0010010010001110 +1110001100001000 +1110111010010000 +0111011110101111 +1110010011010000 +0010010010001111 +1110001100001000 +1110111010010000 +0111010111111101 +1110010011010000 +0010010010010000 +1110001100001000 +0000010001010001 +1110110000010000 +0010010010010001 +1110001100001000 +0100010100000100 +1110110000010000 +0010010010010010 +1110001100001000 +0100010000000010 +1110110000010000 +0010010010010011 +1110001100001000 +1110111010010000 +0101011101011101 +1110010011010000 +0010010010010100 +1110001100001000 +1110111010010000 +0111010111010111 +1110010011010000 +0010010010010101 +1110001100001000 +0010001010001001 +1110110000010000 +0010010010010110 +1110001100001000 +1110111010010000 +0111100001100001 +1110010011010000 +0010010010010111 +1110001100001000 +1110111010010000 +0000010000100001 +1110010011010000 +0010010010011000 +1110001100001000 +0000010001001110 +1110110000010000 +0010010010011001 +1110001100001000 +0111100111110100 +1110110000010000 +0010010010011010 +1110001100001000 +0100010000000001 +1110110000010000 +0010010010011011 +1110001100001000 +0100011100011100 +1110110000010000 +0010010010011100 +1110001100001000 +1110111010010000 +0000110111010000 +1110010011010000 +0010010010011101 +1110001100001000 +1110111010010000 +0101110100001110 +1110010011010000 +0010010010011110 +1110001100001000 +1110111010010000 +0111111111111111 +1110010011010000 +0010010010011111 +1110001100001000 +0010010010100000 +1110101010001000 +0010010010100001 +1110101010001000 +0010010010100010 +1110101010001000 +0010010010100011 +1110101010001000 +0010010010100100 +1110101010001000 +0010010010100101 +1110101010001000 +0010010010100110 +1110111111001000 +0010010010100111 +1110111010001000 +0010010010101000 +1110111010001000 +0010010010101001 +1110111010001000 +0010010010101010 +1110111010001000 +0010010010101011 +1110111010001000 +0010010010101100 +1110111010001000 +0010010010101101 +1110111010001000 +0010010010101110 +1110111010001000 +0010010010101111 +1110111010001000 +0010010010110000 +1110111010001000 +0010010010110001 +1110111010001000 +1110111010010000 +0000000000111100 +1110010011010000 +0010010010110010 +1110001100001000 +0010010010110011 +1110111010001000 +0010010010110100 +1110111010001000 +0010010010110101 +1110111010001000 +0010010010110110 +1110111010001000 +0010010010110111 +1110111010001000 +0010010010111000 +1110111010001000 +0010010010111001 +1110111010001000 +1110111010010000 +0000011111111111 +1110010011010000 +0010010010111010 +1110001100001000 +0001111111111111 +1110110000010000 +0010010010111011 +1110001100001000 +0010010010111100 +1110111010001000 +0010010010111101 +1110111010001000 +0010010010111110 +1110111010001000 +0010010010111111 +1110111010001000 +0010010011000000 +1110111010001000 +0010010011000001 +1110111010001000 +1110111010010000 +0011111111101111 +1110010011010000 +0010010011000010 +1110001100001000 +0100011111111111 +1110110000010000 +0010010011000011 +1110001100001000 +0010010011000100 +1110111010001000 +0010010011000101 +1110111010001000 +0010010011000110 +1110111010001000 +0010010011000111 +1110111010001000 +0010010011001000 +1110111010001000 +0010010011001001 +1110111010001000 +0001001000000100 +1110110000010000 +0010010011001010 +1110001100001000 +0000000111111111 +1110110000010000 +0010010011001011 +1110001100001000 +0010010011001100 +1110111010001000 +0010010011001101 +1110111010001000 +0010010011001110 +1110111010001000 +0010010011001111 +1110111010001000 +0010010011010000 +1110111010001000 +1110111010010000 +0000000000000001 +1110010011010000 +0010010011010001 +1110001100001000 +0100000010000001 +1110110000010000 +0010010011010010 +1110001100001000 +0010100001111111 +1110110000010000 +0010010011010011 +1110001100001000 +0010010011010100 +1110111010001000 +0010010011010101 +1110111010001000 +0010010011010110 +1110111010001000 +0010010011010111 +1110111010001000 +0010010011011000 +1110111010001000 +1110111010010000 +0000000000000110 +1110010011010000 +0010010011011001 +1110001100001000 +1110111010010000 +0101001111011111 +1110010011010000 +0010010011011010 +1110001100001000 +0000011000011111 +1110110000010000 +0010010011011011 +1110001100001000 +0010010011011100 +1110111010001000 +0010010011011101 +1110111010001000 +0010010011011110 +1110111010001000 +0010010011011111 +1110111010001000 +0010010011100000 +1110111010001000 +1110111010010000 +0000000000001101 +1110010011010000 +0010010011100001 +1110001100001000 +0010000000000010 +1110110000010000 +0010010011100010 +1110001100001000 +0001000010011111 +1110110000010000 +0010010011100011 +1110001100001000 +0010010011100100 +1110111010001000 +0010010011100101 +1110111010001000 +0010010011100110 +1110111010001000 +0010010011100111 +1110111010001000 +0010010011101000 +1110111010001000 +1110111010010000 +0000000000011001 +1110010011010000 +0010010011101001 +1110001100001000 +1110111010010000 +0111110111110111 +1110010011010000 +0010010011101010 +1110001100001000 +0000000100101111 +1110110000010000 +0010010011101011 +1110001100001000 +0010010011101100 +1110111010001000 +0010010011101101 +1110111010001000 +0010010011101110 +1110111010001000 +0010010011101111 +1110111010001000 +0010010011110000 +1110111010001000 +1110111010010000 +0000000000011110 +1110010011010000 +0010010011110001 +1110001100001000 +0011000000000000 +1110110000010000 +0010010011110010 +1110001100001000 +0100100100001111 +1110110000010000 +0010010011110011 +1110001100001000 +0010010011110100 +1110111010001000 +0010010011110101 +1110111010001000 +0010010011110110 +1110111010001000 +0010010011110111 +1110111010001000 +0010010011111000 +1110111010001000 +1110111010010000 +0000000000110011 +1110010011010000 +0010010011111001 +1110001100001000 +0100010000000000 +1110110000010000 +0010010011111010 +1110001100001000 +0000001001000111 +1110110000010000 +0010010011111011 +1110001100001000 +0010010011111100 +1110111010001000 +0010010011111101 +1110111010001000 +0010010011111110 +1110111010001000 +0010010011111111 +1110111010001000 +0010010100000000 +1110111010001000 +1110111010010000 +0000000000111001 +1110010011010000 +0010010100000001 +1110001100001000 +1110111010010000 +0111111111011111 +1110010011010000 +0010010100000010 +1110001100001000 +0000000010010111 +1110110000010000 +0010010100000011 +1110001100001000 +0010010100000100 +1110111010001000 +0010010100000101 +1110111010001000 +0010010100000110 +1110111010001000 +0010010100000111 +1110111010001000 +0010010100001000 +1110111010001000 +1110111010010000 +0000000001101101 +1110010011010000 +0010010100001001 +1110001100001000 +0010100100000000 +1110110000010000 +0010010100001010 +1110001100001000 +0100110010000011 +1110110000010000 +0010010100001011 +1110001100001000 +0010010100001100 +1110111010001000 +0010010100001101 +1110111010001000 +0010010100001110 +1110111010001000 +0010010100001111 +1110111010001000 +0010010100010000 +1110111010001000 +1110111010010000 +0000000001100110 +1110010011010000 +0010010100010001 +1110001100001000 +1110111010010000 +0111111111111101 +1110010011010000 +0010010100010010 +1110001100001000 +0000000001100011 +1110110000010000 +0010010100010011 +1110001100001000 +0010010100010100 +1110111010001000 +0010010100010101 +1110111010001000 +0010010100010110 +1110111010001000 +0010010100010111 +1110111010001000 +0010010100011000 +1110111010001000 +1110111010010000 +0000000000110011 +1110010011010000 +0010010100011001 +1110001100001000 +1110111010010000 +0010110111110111 +1110010011010000 +0010010100011010 +1110001100001000 +0010001100001011 +1110110000010000 +0010010100011011 +1110001100001000 +0010010100011100 +1110111010001000 +0010010100011101 +1110111010001000 +0010010100011110 +1110111010001000 +0010010100011111 +1110111010001000 +0010010100100000 +1110111010001000 +1110111010010000 +0000000001001001 +1110010011010000 +0010010100100001 +1110001100001000 +0001000010000001 +1110110000010000 +0010010100100010 +1110001100001000 +0000100010010011 +1110110000010000 +0010010100100011 +1110001100001000 +0010010100100100 +1110111010001000 +0010010100100101 +1110111010001000 +0010010100100110 +1110111010001000 +0010010100100111 +1110111010001000 +0010010100101000 +1110111010001000 +1110111010010000 +0000000001001100 +1110010011010000 +0010010100101001 +1110001100001000 +0110010000100000 +1110110000010000 +0010010100101010 +1110001100001000 +0100001001000011 +1110110000010000 +0010010100101011 +1110001100001000 +0010010100101100 +1110111010001000 +0010010100101101 +1110111010001000 +0010010100101110 +1110111010001000 +0010010100101111 +1110111010001000 +0010010100110000 +1110111010001000 +1110111010010000 +0000000000110110 +1110010011010000 +0010010100110001 +1110001100001000 +0000100100001000 +1110110000010000 +0010010100110010 +1110001100001000 +0001000100110011 +1110110000010000 +0010010100110011 +1110001100001000 +0010010100110100 +1110111010001000 +0010010100110101 +1110111010001000 +0010010100110110 +1110111010001000 +0010010100110111 +1110111010001000 +0010010100111000 +1110111010001000 +1110111010010000 +0000000001000011 +1110010011010000 +0010010100111001 +1110001100001000 +1110111010010000 +0011011111111101 +1110010011010000 +0010010100111010 +1110001100001000 +0000010010001001 +1110110000010000 +0010010100111011 +1110001100001000 +0010010100111100 +1110111010001000 +0010010100111101 +1110111010001000 +0010010100111110 +1110111010001000 +0010010100111111 +1110111010001000 +0010010101000000 +1110111010001000 +1110111010010000 +0000000001011001 +1110010011010000 +0010010101000001 +1110001100001000 +0100001000010000 +1110110000010000 +0010010101000010 +1110001100001000 +0100001001001001 +1110110000010000 +0010010101000011 +1110001100001000 +0010010101000100 +1110111010001000 +0010010101000101 +1110111010001000 +0010010101000110 +1110111010001000 +0010010101000111 +1110111010001000 +0010010101001000 +1110111010001000 +1110111010010000 +0000000000100110 +1110010011010000 +0010010101001001 +1110001100001000 +0011000001000001 +1110110000010000 +0010010101001010 +1110001100001000 +0001100001010011 +1110110000010000 +0010010101001011 +1110001100001000 +0111111111111111 +1110110000010000 +0010010101001100 +1110001100001000 +0010010101001101 +1110111010001000 +0010010101001110 +1110111010001000 +0010010101001111 +1110111010001000 +0010010101010000 +1110111010001000 +1110111010010000 +0000000000100100 +1110010011010000 +0010010101010001 +1110001100001000 +0010010000001000 +1110110000010000 +0010010101010010 +1110001100001000 +0010000100010100 +1110110000010000 +0010010101010011 +1110001100001000 +0111111111111111 +1110110000010000 +0010010101010100 +1110001100001000 +0010010101010101 +1110111010001000 +0010010101010110 +1110111010001000 +0010010101010111 +1110111010001000 +0010010101011000 +1110111010001000 +1110111010010000 +0000000000011001 +1110010011010000 +0010010101011001 +1110001100001000 +1110111010010000 +0111011001010101 +1110010011010000 +0010010101011010 +1110001100001000 +1110111010010000 +0111001001110010 +1110010011010000 +0010010101011011 +1110001100001000 +1110111010010000 +0010000000000000 +1110010011010000 +0010010101011100 +1110001100001000 +0010010101011101 +1110111010001000 +0010010101011110 +1110111010001000 +0010010101011111 +1110111010001000 +0010010101100000 +1110111010001000 +1110111010010000 +0000000001001011 +1110010011010000 +0010010101100001 +1110001100001000 +1110111010010000 +0011011011011011 +1110010011010000 +0010010101100010 +1110001100001000 +1110111010010000 +0000110100110110 +1110010011010000 +0010010101100011 +1110001100001000 +0011111111111111 +1110110000010000 +0010010101100100 +1110001100001000 +0010010101100101 +1110111010001000 +0010010101100110 +1110111010001000 +0010010101100111 +1110111010001000 +0010010101101000 +1110111010001000 +1110111010010000 +0000000001100110 +1110010011010000 +0010010101101001 +1110001100001000 +0111111001000111 +1110110000010000 +0010010101101010 +1110001100001000 +0101101001011000 +1110110000010000 +0010010101101011 +1110001100001000 +1110111010010000 +0110000000000000 +1110010011010000 +0010010101101100 +1110001100001000 +0010010101101101 +1110111010001000 +0010010101101110 +1110111010001000 +0010010101101111 +1110111010001000 +0010010101110000 +1110111010001000 +1110111010010000 +0000000010010100 +1110010011010000 +0010010101110001 +1110001100001000 +0010011111000001 +1110110000010000 +0010010101110010 +1110001100001000 +1110111010010000 +0000100010111001 +1110010011010000 +0010010101110011 +1110001100001000 +0101111111111111 +1110110000010000 +0010010101110100 +1110001100001000 +0010010101110101 +1110111010001000 +0010010101110110 +1110111010001000 +0010010101110111 +1110111010001000 +0010010101111000 +1110111010001000 +1110111010010000 +0000000001010100 +1110010011010000 +0010010101111001 +1110001100001000 +1110111010010000 +0100000001001100 +1110010011010000 +0010010101111010 +1110001100001000 +1110111010010000 +0100001001001000 +1110010011010000 +0010010101111011 +1110001100001000 +0101111111111111 +1110110000010000 +0010010101111100 +1110001100001000 +0010010101111101 +1110111010001000 +0010010101111110 +1110111010001000 +0010010101111111 +1110111010001000 +0010010110000000 +1110111010001000 +1110111010010000 +0000000100100101 +1110010011010000 +0010010110000001 +1110001100001000 +1110111010010000 +0000011001111001 +1110010011010000 +0010010110000010 +1110001100001000 +0100010110010011 +1110110000010000 +0010010110000011 +1110001100001000 +0001111111111111 +1110110000010000 +0010010110000100 +1110001100001000 +0010010110000101 +1110111010001000 +0010010110000110 +1110111010001000 +0010010110000111 +1110111010001000 +0010010110001000 +1110111010001000 +1110111010010000 +0000000110101001 +1110010011010000 +0010010110001001 +1110001100001000 +1110111010010000 +0011001100111110 +1110010011010000 +0010010110001010 +1110001100001000 +0111010000011000 +1110110000010000 +0010010110001011 +1110001100001000 +1110111010010000 +0100000000000000 +1110010011010000 +0010010110001100 +1110001100001000 +0010010110001101 +1110111010001000 +0010010110001110 +1110111010001000 +0010010110001111 +1110111010001000 +0010010110010000 +1110111010001000 +1110111010010000 +0000000010001010 +1110010011010000 +0010010110010001 +1110001100001000 +1110111010010000 +0100100110001110 +1110010011010000 +0010010110010010 +1110001100001000 +0000001001001100 +1110110000010000 +0010010110010011 +1110001100001000 +0011111111111111 +1110110000010000 +0010010110010100 +1110001100001000 +0010010110010101 +1110111010001000 +0010010110010110 +1110111010001000 +0010010110010111 +1110111010001000 +0010010110011000 +1110111010001000 +1110111010010000 +0000000101000100 +1110010011010000 +0010010110011001 +1110001100001000 +0010001100100100 +1110110000010000 +0010010110011010 +1110001100001000 +0000100001000101 +1110110000010000 +0010010110011011 +1110001100001000 +0101111111111111 +1110110000010000 +0010010110011100 +1110001100001000 +0010010110011101 +1110111010001000 +0010010110011110 +1110111010001000 +0010010110011111 +1110111010001000 +0010010110100000 +1110111010001000 +1110111010010000 +0000000101010111 +1110010011010000 +0010010110100001 +1110001100001000 +0000100010100010 +1110110000010000 +0010010110100010 +1110001100001000 +0010000100110100 +1110110000010000 +0010010110100011 +1110001100001000 +0111111111111111 +1110110000010000 +0010010110100100 +1110001100001000 +0010010110100101 +1110111010001000 +0010010110100110 +1110111010001000 +0010010110100111 +1110111010001000 +0010010110101000 +1110111010001000 +1110111010010000 +0000000011000011 +1110010011010000 +0010010110101001 +1110001100001000 +1110111010010000 +0011111101100110 +1110010011010000 +0010010110101010 +1110001100001000 +1110111010010000 +0111101101101001 +1110010011010000 +0010010110101011 +1110001100001000 +0011111111111111 +1110110000010000 +0010010110101100 +1110001100001000 +0010010110101101 +1110111010001000 +0010010110101110 +1110111010001000 +0010010110101111 +1110111010001000 +0010010110110000 +1110111010001000 +1110111010010000 +0000000010110001 +1110010011010000 +0010010110110001 +1110001100001000 +0100011001100000 +1110110000010000 +0010010110110010 +1110001100001000 +0100010011001000 +1110110000010000 +0010010110110011 +1110001100001000 +1110111010010000 +0100000000000000 +1110010011010000 +0010010110110100 +1110001100001000 +0010010110110101 +1110111010001000 +0010010110110110 +1110111010001000 +0010010110110111 +1110111010001000 +0010010110111000 +1110111010001000 +1110111010010000 +0000000010100100 +1110010011010000 +0010010110111001 +1110001100001000 +0011000110010010 +1110110000010000 +0010010110111010 +1110001100001000 +0101000100101100 +1110110000010000 +0010010110111011 +1110001100001000 +0111111111111111 +1110110000010000 +0010010110111100 +1110001100001000 +0010010110111101 +1110111010001000 +0010010110111110 +1110111010001000 +0010010110111111 +1110111010001000 +0010010111000000 +1110111010001000 +1110111010010000 +0000000001101100 +1110010011010000 +0010010111000001 +1110001100001000 +1110111010010000 +0111011101101110 +1110010011010000 +0010010111000010 +1110001100001000 +0011000100100110 +1110110000010000 +0010010111000011 +1110001100001000 +0111111111111111 +1110110000010000 +0010010111000100 +1110001100001000 +0010010111000101 +1110111010001000 +0010010111000110 +1110111010001000 +0010010111000111 +1110111010001000 +0010010111001000 +1110111010001000 +1110111010010000 +0000000001000011 +1110010011010000 +0010010111001001 +1110001100001000 +1110111010010000 +0011010100011010 +1110010011010000 +0010010111001010 +1110001100001000 +1110111010010000 +0011001100101101 +1110010011010000 +0010010111001011 +1110001100001000 +0010010111001100 +1110111010001000 +0010010111001101 +1110111010001000 +0010010111001110 +1110111010001000 +0010010111001111 +1110111010001000 +0010010111010000 +1110111010001000 +1110111010010000 +0000000001110010 +1110010011010000 +0010010111010001 +1110001100001000 +0110001101111101 +1110110000010000 +0010010111010010 +1110001100001000 +1110111010010000 +0011011110110010 +1110010011010000 +0010010111010011 +1110001100001000 +0010010111010100 +1110111010001000 +0010010111010101 +1110111010001000 +0010010111010110 +1110111010001000 +0010010111010111 +1110111010001000 +0010010111011000 +1110111010001000 +1110111010010000 +0000000000010010 +1110010011010000 +0010010111011001 +1110001100001000 +0010110011011010 +1110110000010000 +0010010111011010 +1110001100001000 +0010011100100111 +1110110000010000 +0010010111011011 +1110001100001000 +0010010111011100 +1110111010001000 +0010010111011101 +1110111010001000 +0010010111011110 +1110111010001000 +0010010111011111 +1110111010001000 +0010010111100000 +1110111010001000 +1110111010010000 +0000000000100100 +1110010011010000 +0010010111100001 +1110001100001000 +1110111010010000 +0110110110010001 +1110010011010000 +0010010111100010 +1110001100001000 +1110111010010000 +0110110110010100 +1110010011010000 +0010010111100011 +1110001100001000 +0010010111100100 +1110111010001000 +0010010111100101 +1110111010001000 +0010010111100110 +1110111010001000 +0010010111100111 +1110111010001000 +0010010111101000 +1110111010001000 +1110111010010000 +0000000000001101 +1110010011010000 +0010010111101001 +1110001100001000 +1110111010010000 +0010010011001011 +1110010011010000 +0010010111101010 +1110001100001000 +1110111010010000 +0011010101100100 +1110010011010000 +0010010111101011 +1110001100001000 +0010010111101100 +1110111010001000 +0010010111101101 +1110111010001000 +0010010111101110 +1110111010001000 +0010010111101111 +1110111010001000 +0010010111110000 +1110111010001000 +1110111010010000 +0000000000000001 +1110010011010000 +0010010111110001 +1110001100001000 +0110100110010010 +1110110000010000 +0010010111110010 +1110001100001000 +0010100110010111 +1110110000010000 +0010010111110011 +1110001100001000 +0010010111110100 +1110111010001000 +0010010111110101 +1110111010001000 +0010010111110110 +1110111010001000 +0010010111110111 +1110111010001000 +0010010111111000 +1110111010001000 +1110111010010000 +0000000000000010 +1110010011010000 +0010010111111001 +1110001100001000 +1110111010010000 +0110010110110110 +1110010011010000 +0010010111111010 +1110001100001000 +1110111010010000 +0101001110011000 +1110010011010000 +0010010111111011 +1110001100001000 +0010010111111100 +1110111010001000 +0010010111111101 +1110111010001000 +0010010111111110 +1110111010001000 +0010010111111111 +1110111010001000 +0010011000000000 +1110111010001000 +1110111010010000 +0000000000000010 +1110010011010000 +0010011000000001 +1110001100001000 +1110111010010000 +0110100100010010 +1110010011010000 +0010011000000010 +1110001100001000 +1110111010010000 +0100100110110000 +1110010011010000 +0010011000000011 +1110001100001000 +0010011000000100 +1110111010001000 +0010011000000101 +1110111010001000 +0010011000000110 +1110111010001000 +0010011000000111 +1110111010001000 +0010011000001000 +1110111010001000 +1110111010010000 +0000000000000001 +1110010011010000 +0010011000001001 +1110001100001000 +0110011111110110 +1110110000010000 +0010011000001010 +1110001100001000 +1110111010010000 +0010111010000000 +1110010011010000 +0010011000001011 +1110001100001000 +0010011000001100 +1110111010001000 +0010011000001101 +1110111010001000 +0010011000001110 +1110111010001000 +0010011000001111 +1110111010001000 +0010011000010000 +1110111010001000 +0010011000010001 +1110111010001000 +0110100100010010 +1110110000010000 +0010011000010010 +1110001100001000 +0000000100101111 +1110110000010000 +0010011000010011 +1110001100001000 +0010011000010100 +1110111010001000 +0010011000010101 +1110111010001000 +0010011000010110 +1110111010001000 +0010011000010111 +1110111010001000 +0010011000011000 +1110111010001000 +0010011000011001 +1110111010001000 +1110111010010000 +0110011001101111 +1110010011010000 +0010011000011010 +1110001100001000 +0110110011011111 +1110110000010000 +0010011000011011 +1110001100001000 +0010011000011100 +1110111010001000 +0010011000011101 +1110111010001000 +0010011000011110 +1110111010001000 +0010011000011111 +1110111010001000 +0010011000100000 +1110111010001000 +0010011000100001 +1110111010001000 +1110111010010000 +0001100100011010 +1110010011010000 +0010011000100010 +1110001100001000 +1110111010010000 +0110110010100000 +1110010011010000 +0010011000100011 +1110001100001000 +0010011000100100 +1110111010001000 +0010011000100101 +1110111010001000 +0010011000100110 +1110111010001000 +0010011000100111 +1110111010001000 +0010011000101000 +1110111010001000 +0010011000101001 +1110111010001000 +1110111010010000 +0100110110010010 +1110010011010000 +0010011000101010 +1110001100001000 +1110111010010000 +0110110010010000 +1110010011010000 +0010011000101011 +1110001100001000 +0010011000101100 +1110111010001000 +0010011000101101 +1110111010001000 +0010011000101110 +1110111010001000 +0010011000101111 +1110111010001000 +0010011000110000 +1110111010001000 +0010011000110001 +1110111010001000 +1110111010010000 +0010010011000101 +1110010011010000 +0010011000110010 +1110001100001000 +0110110010101111 +1110110000010000 +0010011000110011 +1110001100001000 +0010011000110100 +1110111010001000 +0010011000110101 +1110111010001000 +0010011000110110 +1110111010001000 +0010011000110111 +1110111010001000 +0010011000111000 +1110111010001000 +0010011000111001 +1110111010001000 +1110111010010000 +0001001001101100 +1110010011010000 +0010011000111010 +1110001100001000 +0010001110111110 +1110110000010000 +0010011000111011 +1110001100001000 +0010011000111100 +1110111010001000 +0010011000111101 +1110111010001000 +0010011000111110 +1110111010001000 +0010011000111111 +1110111010001000 +0010011001000000 +1110111010001000 +0010011001000001 +1110111010001000 +1110111010010000 +0001001100110011 +1110010011010000 +0010011001000010 +1110001100001000 +1110111010010000 +0110010100110000 +1110010011010000 +0010011001000011 +1110001100001000 +1110111010010000 +0100000000000000 +1110010011010000 +0010011001000100 +1110001100001000 +0010011001000101 +1110111010001000 +0010011001000110 +1110111010001000 +0010011001000111 +1110111010001000 +0010011001001000 +1110111010001000 +0010011001001001 +1110111010001000 +1110111010010000 +0000010011011111 +1110010011010000 +0010011001001010 +1110001100001000 +0000101101001111 +1110110000010000 +0010011001001011 +1110001100001000 +0010011001001100 +1110111010001000 +0010011001001101 +1110111010001000 +0010011001001110 +1110111010001000 +0010011001001111 +1110111010001000 +0010011001010000 +1110111010001000 +0010011001010001 +1110111010001000 +1110111010010000 +0000000010010100 +1110010011010000 +0010011001010010 +1110001100001000 +0110011100111111 +1110110000010000 +0010011001010011 +1110001100001000 +0111111111111111 +1110110000010000 +0010011001010100 +1110001100001000 +0010011001010101 +1110111010001000 +0010011001010110 +1110111010001000 +0010011001010111 +1110111010001000 +0010011001011000 +1110111010001000 +0010011001011001 +1110111010001000 +1110111010010000 +0010001000110110 +1110010011010000 +0010011001011010 +1110001100001000 +0011011010101111 +1110110000010000 +0010011001011011 +1110001100001000 +1110111010010000 +0001000000000000 +1110010011010000 +0010011001011100 +1110001100001000 +0010011001011101 +1110111010001000 +0010011001011110 +1110111010001000 +0010011001011111 +1110111010001000 +0010011001100000 +1110111010001000 +0010011001100001 +1110111010001000 +1110111010010000 +0000100001001001 +1110010011010000 +0010011001100010 +1110001100001000 +1110111010010000 +0010001101100001 +1110010011010000 +0010011001100011 +1110001100001000 +0010011001100100 +1110111010001000 +0010011001100101 +1110111010001000 +0010011001100110 +1110111010001000 +0010011001100111 +1110111010001000 +0010011001101000 +1110111010001000 +0010011001101001 +1110111010001000 +1110111010010000 +0000000100001001 +1110010011010000 +0010011001101010 +1110001100001000 +1110111010010000 +0010011010000000 +1110010011010000 +0010011001101011 +1110001100001000 +1110111010010000 +0010000000000000 +1110010011010000 +0010011001101100 +1110001100001000 +0010011001101101 +1110111010001000 +0010011001101110 +1110111010001000 +0010011001101111 +1110111010001000 +0010011001110000 +1110111010001000 +0010011001110001 +1110111010001000 +1110111010010000 +0011000000100100 +1110010011010000 +0010011001110010 +1110001100001000 +0110110101001111 +1110110000010000 +0010011001110011 +1110001100001000 +0010011001110100 +1110111010001000 +0010011001110101 +1110111010001000 +0010011001110110 +1110111010001000 +0010011001110111 +1110111010001000 +0010011001111000 +1110111010001000 +0010011001111001 +1110111010001000 +1110111010010000 +0000110010000000 +1110010011010000 +0010011001111010 +1110001100001000 +1110111010010000 +0001111011000000 +1110010011010000 +0010011001111011 +1110001100001000 +0111111111111111 +1110110000010000 +0010011001111100 +1110001100001000 +0010011001111101 +1110111010001000 +0010011001111110 +1110111010001000 +0010011001111111 +1110111010001000 +0010011010000000 +1110111010001000 +0010011010000001 +1110111010001000 +1110111010010000 +0000001001000010 +1110010011010000 +0010011010000010 +1110001100001000 +1110111010010000 +0100101101000000 +1110010011010000 +0010011010000011 +1110001100001000 +0010011010000100 +1110111010001000 +0010011010000101 +1110111010001000 +0010011010000110 +1110111010001000 +0010011010000111 +1110111010001000 +0010011010001000 +1110111010001000 +0010011010001001 +1110111010001000 +1110111010010000 +0001100100100100 +1110010011010000 +0010011010001010 +1110001100001000 +0001011010111111 +1110110000010000 +0010011010001011 +1110001100001000 +0010011010001100 +1110111010001000 +0010011010001101 +1110111010001000 +0010011010001110 +1110111010001000 +0010011010001111 +1110111010001000 +0010011010010000 +1110111010001000 +0010011010010001 +1110111010001000 +1110111010010000 +0001000110101001 +1110010011010000 +0010011010010010 +1110001100001000 +0110000101111111 +1110110000010000 +0010011010010011 +1110001100001000 +0010011010010100 +1110111010001000 +0010011010010101 +1110111010001000 +0010011010010110 +1110111010001000 +0010011010010111 +1110111010001000 +0010011010011000 +1110111010001000 +0010011010011001 +1110111010001000 +1110111010010000 +0000110001001110 +1110010011010000 +0010011010011010 +1110001100001000 +1110111010010000 +0110011010000000 +1110010011010000 +0010011010011011 +1110001100001000 +0010011010011100 +1110111010001000 +0010011010011101 +1110111010001000 +0010011010011110 +1110111010001000 +0010011010011111 +1110111010001000 +0010011010100000 +1110111010001000 +0010011010100001 +1110111010001000 +1110111010010000 +0000001001010011 +1110010011010000 +0010011010100010 +1110001100001000 +1110111010010000 +0110100000000000 +1110010011010000 +0010011010100011 +1110001100001000 +0010011010100100 +1110111010001000 +0010011010100101 +1110111010001000 +0010011010100110 +1110111010001000 +0010011010100111 +1110111010001000 +0010011010101000 +1110111010001000 +0010011010101001 +1110111010001000 +1110111010010000 +0000000010111101 +1110010011010000 +0010011010101010 +1110001100001000 +0111111111111111 +1110110000010000 +0010011010101011 +1110001100001000 +0010011010101100 +1110111010001000 +0010011010101101 +1110111010001000 +0010011010101110 +1110111010001000 +0000000000000010 +1110101010000111 diff --git a/web-ide-main/projects/src/samples/hack/Max.asm b/web-ide-main/projects/src/samples/hack/Max.asm new file mode 100644 index 0000000..63a3afc --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/Max.asm @@ -0,0 +1,21 @@ +// Computes R2 = max(R0, R1) + + @R0 + D=M // D = first number + @R1 + D=D-M // D = first number - second number + @OUTPUT_FIRST + D;JGT // if D>0 (first is greater) goto output_first + @R1 + D=M // D = second number + @OUTPUT_D + 0;JMP // goto output_d +(OUTPUT_FIRST) + @R0 + D=M // D = first number +(OUTPUT_D) + @R2 + M=D // M[2] = D (greatest number) +(INFINITE_LOOP) + @INFINITE_LOOP + 0;JMP \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/hack/Max.tst b/web-ide-main/projects/src/samples/hack/Max.tst new file mode 100644 index 0000000..ebdfda4 --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/Max.tst @@ -0,0 +1,6 @@ +load Max.asm; +set %0 16548, set %1 12944; + +repeat 14 { + tick, tock; +} diff --git a/web-ide-main/projects/src/samples/hack/Mult.asm b/web-ide-main/projects/src/samples/hack/Mult.asm new file mode 100644 index 0000000..2ebc71c --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/Mult.asm @@ -0,0 +1,23 @@ +// Multiplies R0 and R1 and stores the result in R2. +// (R0, R1, R2 refer to RAM[0], RAM[1], and RAM[2], respectively.) +// The algorithm is based on repetitive addition. + + @R2 // Zero the partial product + M=0 + +(LOOP) + @R1 + MD=M-1 // Decrement and test the multiplier + @HALT + D;JLT + + @R0 // Add the multiplicand to the partial product + D=M + @R2 + M=D+M + @LOOP + 0;JMP + +(HALT) + @HALT + 0;JMP \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/hack/Pong.asm b/web-ide-main/projects/src/samples/hack/Pong.asm new file mode 100644 index 0000000..0a6e490 --- /dev/null +++ b/web-ide-main/projects/src/samples/hack/Pong.asm @@ -0,0 +1,28375 @@ +// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/06/pong/Pong.asm + +// The Pong game program was originally written in the high-level Jack language. +// The Jack code was then translated by the Jack compiler into VM code. +// The VM code was then translated by the VM translator into the Hack +// assembly code shown here. + +@256 +D=A +@SP +M=D +@133 +0;JMP +@R15 +M=D +@SP +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_EQ +D;JNE +@SP +A=M-1 +M=-1 +(END_EQ) +@R15 +A=M +0;JMP +@R15 +M=D +@SP +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_GT +D;JLE +@SP +A=M-1 +M=-1 +(END_GT) +@R15 +A=M +0;JMP +@R15 +M=D +@SP +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_LT +D;JGE +@SP +A=M-1 +M=-1 +(END_LT) +@R15 +A=M +0;JMP +@5 +D=A +@LCL +A=M-D +D=M +@R13 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +D=A +@SP +M=D+1 +@LCL +D=M +@R14 +AM=D-1 +D=M +@THAT +M=D +@R14 +AM=M-1 +D=M +@THIS +M=D +@R14 +AM=M-1 +D=M +@ARG +M=D +@R14 +AM=M-1 +D=M +@LCL +M=D +@R13 +A=M +0;JMP +@SP +A=M +M=D +@LCL +D=M +@SP +AM=M+1 +M=D +@ARG +D=M +@SP +AM=M+1 +M=D +@THIS +D=M +@SP +AM=M+1 +M=D +@THAT +D=M +@SP +AM=M+1 +M=D +@4 +D=A +@R13 +D=D+M +@SP +D=M-D +@ARG +M=D +@SP +MD=M+1 +@LCL +M=D +@R14 +A=M +0;JMP +@0 +D=A +@R13 +M=D +@sys.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL0 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL0) +(ball.new) +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL1 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL1) +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@10 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +D=M +@11 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@12 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +D=M +@13 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL2 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL2) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ball.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL3 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL3) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.show) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL4 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL4) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL5 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL5) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.hide) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL6 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL6) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL7 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL7) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.draw) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL8 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL8) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.getleft) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ball.getright) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +(ball.setdestination) +@3 +D=A +(LOOP_ball.setdestination) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_ball.setdestination +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL9 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL9) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL10 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL10) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT0 +D=A +@38 +0;JMP +(RET_ADDRESS_LT0) +@THIS +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.setdestination$if_true0 +D;JNE +@ball.setdestination$if_false0 +0;JMP +(ball.setdestination$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT1 +D=A +@38 +0;JMP +(RET_ADDRESS_LT1) +@THIS +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT2 +D=A +@38 +0;JMP +(RET_ADDRESS_LT2) +@THIS +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ball.setdestination$if_end0 +0;JMP +(ball.setdestination$if_false0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT3 +D=A +@38 +0;JMP +(RET_ADDRESS_LT3) +@THIS +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT4 +D=A +@38 +0;JMP +(RET_ADDRESS_LT4) +@THIS +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +(ball.setdestination$if_end0) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL11 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL11) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL12 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL12) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL13 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL13) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.move) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.hide +D=A +@R14 +M=D +@RET_ADDRESS_CALL14 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL14) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT5 +D=A +@38 +0;JMP +(RET_ADDRESS_LT5) +@SP +AM=M-1 +D=M +@ball.move$if_true0 +D;JNE +@ball.move$if_false0 +0;JMP +(ball.move$if_true0) +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ball.move$if_end0 +0;JMP +(ball.move$if_false0) +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true1 +D;JNE +@ball.move$if_false1 +0;JMP +(ball.move$if_true1) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true2 +D;JNE +@ball.move$if_false2 +0;JMP +(ball.move$if_true2) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ball.move$if_end2 +0;JMP +(ball.move$if_false2) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_end2) +@ball.move$if_end1 +0;JMP +(ball.move$if_false1) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true3 +D;JNE +@ball.move$if_false3 +0;JMP +(ball.move$if_true3) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ball.move$if_end3 +0;JMP +(ball.move$if_false3) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_end3) +(ball.move$if_end1) +(ball.move$if_end0) +@THIS +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true4 +D;JNE +@ball.move$if_false4 +0;JMP +(ball.move$if_true4) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true5 +D;JNE +@ball.move$if_false5 +0;JMP +(ball.move$if_true5) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ball.move$if_end5 +0;JMP +(ball.move$if_false5) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_end5) +@ball.move$if_end4 +0;JMP +(ball.move$if_false4) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true6 +D;JNE +@ball.move$if_false6 +0;JMP +(ball.move$if_true6) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ball.move$if_end6 +0;JMP +(ball.move$if_false6) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_end6) +(ball.move$if_end4) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT0 +D=A +@22 +0;JMP +(RET_ADDRESS_GT0) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true7 +D;JNE +@ball.move$if_false7 +0;JMP +(ball.move$if_true7) +@SP +M=M+1 +A=M-1 +M=1 +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_false7) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@11 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT6 +D=A +@38 +0;JMP +(RET_ADDRESS_LT6) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true8 +D;JNE +@ball.move$if_false8 +0;JMP +(ball.move$if_true8) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@11 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_false8) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@12 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT1 +D=A +@22 +0;JMP +(RET_ADDRESS_GT1) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true9 +D;JNE +@ball.move$if_false9 +0;JMP +(ball.move$if_true9) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@12 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_false9) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@13 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT7 +D=A +@38 +0;JMP +(RET_ADDRESS_LT7) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true10 +D;JNE +@ball.move$if_false10 +0;JMP +(ball.move$if_true10) +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@13 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_false10) +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL15 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL15) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ball.bounce) +@5 +D=A +(LOOP_ball.bounce) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_ball.bounce +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL16 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL16) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL17 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL17) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ0 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ0) +@SP +AM=M-1 +D=M +@ball.bounce$if_true0 +D;JNE +@ball.bounce$if_false0 +0;JMP +(ball.bounce$if_true0) +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ball.bounce$if_end0 +0;JMP +(ball.bounce$if_false0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT8 +D=A +@38 +0;JMP +(RET_ADDRESS_LT8) +@SP +A=M-1 +M=!M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_EQ1 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ1) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT9 +D=A +@38 +0;JMP +(RET_ADDRESS_LT9) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_EQ2 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ2) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@ball.bounce$if_true1 +D;JNE +@ball.bounce$if_false1 +0;JMP +(ball.bounce$if_true1) +@20 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ball.bounce$if_end1 +0;JMP +(ball.bounce$if_false1) +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +(ball.bounce$if_end1) +(ball.bounce$if_end0) +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_EQ3 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ3) +@SP +AM=M-1 +D=M +@ball.bounce$if_true2 +D;JNE +@ball.bounce$if_false2 +0;JMP +(ball.bounce$if_true2) +@506 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL18 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL18) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL19 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL19) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL20 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL20) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ball.bounce$if_end2 +0;JMP +(ball.bounce$if_false2) +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ4 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ4) +@SP +AM=M-1 +D=M +@ball.bounce$if_true3 +D;JNE +@ball.bounce$if_false3 +0;JMP +(ball.bounce$if_true3) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL21 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL21) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL22 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL22) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL23 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL23) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ball.bounce$if_end3 +0;JMP +(ball.bounce$if_false3) +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ5 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ5) +@SP +AM=M-1 +D=M +@ball.bounce$if_true4 +D;JNE +@ball.bounce$if_false4 +0;JMP +(ball.bounce$if_true4) +@250 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL24 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL24) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL25 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL25) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL26 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL26) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ball.bounce$if_end4 +0;JMP +(ball.bounce$if_false4) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL27 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL27) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL28 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL28) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL29 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL29) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(ball.bounce$if_end4) +(ball.bounce$if_end3) +(ball.bounce$if_end2) +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@R13 +M=D +@ball.setdestination +D=A +@R14 +M=D +@RET_ADDRESS_CALL30 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL30) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.new) +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL31 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL31) +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL32 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL32) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(bat.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL33 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL33) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.show) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL34 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL34) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL35 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL35) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.hide) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL36 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL36) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL37 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL37) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.draw) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL38 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL38) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.setdirection) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.getleft) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(bat.getright) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +(bat.setwidth) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.hide +D=A +@R14 +M=D +@RET_ADDRESS_CALL39 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL39) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL40 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL40) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.move) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_EQ6 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ6) +@SP +AM=M-1 +D=M +@bat.move$if_true0 +D;JNE +@bat.move$if_false0 +0;JMP +(bat.move$if_true0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT10 +D=A +@38 +0;JMP +(RET_ADDRESS_LT10) +@SP +AM=M-1 +D=M +@bat.move$if_true1 +D;JNE +@bat.move$if_false1 +0;JMP +(bat.move$if_true1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(bat.move$if_false1) +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL41 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL41) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL42 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL42) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL43 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL43) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL44 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL44) +@SP +AM=M-1 +D=M +@R5 +M=D +@bat.move$if_end0 +0;JMP +(bat.move$if_false0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT2 +D=A +@22 +0;JMP +(RET_ADDRESS_GT2) +@SP +AM=M-1 +D=M +@bat.move$if_true2 +D;JNE +@bat.move$if_false2 +0;JMP +(bat.move$if_true2) +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(bat.move$if_false2) +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL45 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL45) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL46 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL46) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL47 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL47) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL48 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL48) +@SP +AM=M-1 +D=M +@R5 +M=D +(bat.move$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(main.main) +@SP +AM=M+1 +A=A-1 +M=0 +@0 +D=A +@R13 +M=D +@ponggame.newinstance +D=A +@R14 +M=D +@RET_ADDRESS_CALL49 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL49) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@ponggame.getinstance +D=A +@R14 +M=D +@RET_ADDRESS_CALL50 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL50) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.run +D=A +@R14 +M=D +@RET_ADDRESS_CALL51 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL51) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL52 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL52) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.new) +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL53 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL53) +@SP +AM=M-1 +D=M +@THIS +M=D +@0 +D=A +@R13 +M=D +@screen.clearscreen +D=A +@R14 +M=D +@RET_ADDRESS_CALL54 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL54) +@SP +AM=M-1 +D=M +@R5 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@230 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@229 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@bat.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL55 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL55) +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@253 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@222 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@229 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@R13 +M=D +@ball.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL56 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL56) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@400 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@3 +D=A +@R13 +M=D +@ball.setdestination +D=A +@R14 +M=D +@RET_ADDRESS_CALL57 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL57) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@238 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@240 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL58 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL58) +@SP +AM=M-1 +D=M +@R5 +M=D +@22 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@2 +D=A +@R13 +M=D +@output.movecursor +D=A +@R14 +M=D +@RET_ADDRESS_CALL59 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL59) +@SP +AM=M-1 +D=M +@R5 +M=D +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL60 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL60) +@83 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL61 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL61) +@99 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL62 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL62) +@111 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL63 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL63) +@114 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL64 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL64) +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL65 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL65) +@58 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL66 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL66) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL67 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL67) +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL68 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL68) +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL69 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL69) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ponggame.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL70 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL70) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL71 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL71) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL72 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL72) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.newinstance) +@0 +D=A +@R13 +M=D +@ponggame.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL73 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL73) +@SP +AM=M-1 +D=M +@ponggame.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.getinstance) +@ponggame.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ponggame.run) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +(ponggame.run$while_exp0) +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.run$while_end0 +D;JNE +(ponggame.run$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ7 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ7) +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.run$while_end1 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.keypressed +D=A +@R14 +M=D +@RET_ADDRESS_CALL74 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL74) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.move +D=A +@R14 +M=D +@RET_ADDRESS_CALL75 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL75) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.moveball +D=A +@R14 +M=D +@RET_ADDRESS_CALL76 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL76) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$while_exp1 +0;JMP +(ponggame.run$while_end1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@130 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ8 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ8) +@SP +AM=M-1 +D=M +@ponggame.run$if_true0 +D;JNE +@ponggame.run$if_false0 +0;JMP +(ponggame.run$if_true0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@2 +D=A +@R13 +M=D +@bat.setdirection +D=A +@R14 +M=D +@RET_ADDRESS_CALL77 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL77) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$if_end0 +0;JMP +(ponggame.run$if_false0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@132 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ9 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ9) +@SP +AM=M-1 +D=M +@ponggame.run$if_true1 +D;JNE +@ponggame.run$if_false1 +0;JMP +(ponggame.run$if_true1) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@bat.setdirection +D=A +@R14 +M=D +@RET_ADDRESS_CALL78 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL78) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$if_end1 +0;JMP +(ponggame.run$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@140 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ10 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ10) +@SP +AM=M-1 +D=M +@ponggame.run$if_true2 +D;JNE +@ponggame.run$if_false2 +0;JMP +(ponggame.run$if_true2) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +(ponggame.run$if_false2) +(ponggame.run$if_end1) +(ponggame.run$if_end0) +(ponggame.run$while_exp2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ11 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ11) +@SP +A=M-1 +M=!M +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.run$while_end2 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.keypressed +D=A +@R14 +M=D +@RET_ADDRESS_CALL79 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL79) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.move +D=A +@R14 +M=D +@RET_ADDRESS_CALL80 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL80) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.moveball +D=A +@R14 +M=D +@RET_ADDRESS_CALL81 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL81) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$while_exp2 +0;JMP +(ponggame.run$while_end2) +@ponggame.run$while_exp0 +0;JMP +(ponggame.run$while_end0) +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ponggame.run$if_true3 +D;JNE +@ponggame.run$if_false3 +0;JMP +(ponggame.run$if_true3) +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@output.movecursor +D=A +@R14 +M=D +@RET_ADDRESS_CALL82 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL82) +@SP +AM=M-1 +D=M +@R5 +M=D +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL83 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL83) +@71 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL84 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL84) +@97 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL85 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL85) +@109 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL86 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL86) +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL87 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL87) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL88 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL88) +@79 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL89 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL89) +@118 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL90 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL90) +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL91 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL91) +@114 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL92 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL92) +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL93 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL93) +@SP +AM=M-1 +D=M +@R5 +M=D +(ponggame.run$if_false3) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.moveball) +@5 +D=A +(LOOP_ponggame.moveball) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_ponggame.moveball +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.move +D=A +@R14 +M=D +@RET_ADDRESS_CALL94 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL94) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT3 +D=A +@22 +0;JMP +(RET_ADDRESS_GT3) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ12 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ12) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true0 +D;JNE +@ponggame.moveball$if_false0 +0;JMP +(ponggame.moveball$if_true0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.getleft +D=A +@R14 +M=D +@RET_ADDRESS_CALL95 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL95) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.getright +D=A +@R14 +M=D +@RET_ADDRESS_CALL96 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL96) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.getleft +D=A +@R14 +M=D +@RET_ADDRESS_CALL97 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL97) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.getright +D=A +@R14 +M=D +@RET_ADDRESS_CALL98 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL98) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ13 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ13) +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true1 +D;JNE +@ponggame.moveball$if_false1 +0;JMP +(ponggame.moveball$if_true1) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT4 +D=A +@22 +0;JMP +(RET_ADDRESS_GT4) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT11 +D=A +@38 +0;JMP +(RET_ADDRESS_LT11) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true2 +D;JNE +@ponggame.moveball$if_false2 +0;JMP +(ponggame.moveball$if_true2) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_LT12 +D=A +@38 +0;JMP +(RET_ADDRESS_LT12) +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true3 +D;JNE +@ponggame.moveball$if_false3 +0;JMP +(ponggame.moveball$if_true3) +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ponggame.moveball$if_end3 +0;JMP +(ponggame.moveball$if_false3) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@RET_ADDRESS_GT5 +D=A +@22 +0;JMP +(RET_ADDRESS_GT5) +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true4 +D;JNE +@ponggame.moveball$if_false4 +0;JMP +(ponggame.moveball$if_true4) +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(ponggame.moveball$if_false4) +(ponggame.moveball$if_end3) +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@bat.setwidth +D=A +@R14 +M=D +@RET_ADDRESS_CALL99 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL99) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@22 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@output.movecursor +D=A +@R14 +M=D +@RET_ADDRESS_CALL100 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL100) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printint +D=A +@R14 +M=D +@RET_ADDRESS_CALL101 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL101) +@SP +AM=M-1 +D=M +@R5 +M=D +(ponggame.moveball$if_false2) +(ponggame.moveball$if_false1) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@ball.bounce +D=A +@R14 +M=D +@RET_ADDRESS_CALL102 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL102) +@SP +AM=M-1 +D=M +@R5 +M=D +(ponggame.moveball$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(array.new) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT6 +D=A +@22 +0;JMP +(RET_ADDRESS_GT6) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@array.new$if_true0 +D;JNE +@array.new$if_false0 +0;JMP +(array.new$if_true0) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL103 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL103) +@SP +AM=M-1 +D=M +@R5 +M=D +(array.new$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL104 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL104) +@54 +0;JMP +(array.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL105 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL105) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(keyboard.init) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(keyboard.keypressed) +@24576 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.peek +D=A +@R14 +M=D +@RET_ADDRESS_CALL106 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL106) +@54 +0;JMP +(keyboard.readchar) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL107 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL107) +@SP +AM=M-1 +D=M +@R5 +M=D +(keyboard.readchar$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ14 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ14) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT7 +D=A +@22 +0;JMP +(RET_ADDRESS_GT7) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@keyboard.readchar$while_end0 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.keypressed +D=A +@R14 +M=D +@RET_ADDRESS_CALL108 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL108) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT8 +D=A +@22 +0;JMP +(RET_ADDRESS_GT8) +@SP +AM=M-1 +D=M +@keyboard.readchar$if_true0 +D;JNE +@keyboard.readchar$if_false0 +0;JMP +(keyboard.readchar$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(keyboard.readchar$if_false0) +@keyboard.readchar$while_exp0 +0;JMP +(keyboard.readchar$while_end0) +@0 +D=A +@R13 +M=D +@string.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL109 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL109) +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL110 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL110) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL111 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL111) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(keyboard.readline) +@5 +D=A +(LOOP_keyboard.readline) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_keyboard.readline +D;JGT +@80 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL112 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL112) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL113 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL113) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@string.newline +D=A +@R14 +M=D +@RET_ADDRESS_CALL114 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL114) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@0 +D=A +@R13 +M=D +@string.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL115 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL115) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(keyboard.readline$while_exp0) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@keyboard.readline$while_end0 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.readchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL116 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL116) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ15 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ15) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@keyboard.readline$if_true0 +D;JNE +@keyboard.readline$if_false0 +0;JMP +(keyboard.readline$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ16 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ16) +@SP +AM=M-1 +D=M +@keyboard.readline$if_true1 +D;JNE +@keyboard.readline$if_false1 +0;JMP +(keyboard.readline$if_true1) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.eraselastchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL117 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL117) +@SP +AM=M-1 +D=M +@R5 +M=D +@keyboard.readline$if_end1 +0;JMP +(keyboard.readline$if_false1) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL118 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL118) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(keyboard.readline$if_end1) +(keyboard.readline$if_false0) +@keyboard.readline$while_exp0 +0;JMP +(keyboard.readline$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(keyboard.readint) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@keyboard.readline +D=A +@R14 +M=D +@RET_ADDRESS_CALL119 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL119) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.intvalue +D=A +@R14 +M=D +@RET_ADDRESS_CALL120 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL120) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL121 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL121) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.init) +@SP +AM=M+1 +A=A-1 +M=0 +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL122 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL122) +@SP +AM=M-1 +D=M +@math.1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL123 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL123) +@SP +AM=M-1 +D=M +@math.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(math.init$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT13 +D=A +@38 +0;JMP +(RET_ADDRESS_LT13) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.init$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@math.init$while_exp0 +0;JMP +(math.init$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(math.abs) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT14 +D=A +@38 +0;JMP +(RET_ADDRESS_LT14) +@SP +AM=M-1 +D=M +@math.abs$if_true0 +D;JNE +@math.abs$if_false0 +0;JMP +(math.abs$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(math.abs$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.multiply) +@5 +D=A +(LOOP_math.multiply) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_math.multiply +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT15 +D=A +@38 +0;JMP +(RET_ADDRESS_LT15) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT9 +D=A +@22 +0;JMP +(RET_ADDRESS_GT9) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT10 +D=A +@22 +0;JMP +(RET_ADDRESS_GT10) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT16 +D=A +@38 +0;JMP +(RET_ADDRESS_LT16) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL124 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL124) +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL125 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL125) +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT17 +D=A +@38 +0;JMP +(RET_ADDRESS_LT17) +@SP +AM=M-1 +D=M +@math.multiply$if_true0 +D;JNE +@math.multiply$if_false0 +0;JMP +(math.multiply$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(math.multiply$if_false0) +(math.multiply$while_exp0) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT18 +D=A +@38 +0;JMP +(RET_ADDRESS_LT18) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.multiply$while_end0 +D;JNE +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT11 +D=A +@22 +0;JMP +(RET_ADDRESS_GT11) +@SP +AM=M-1 +D=M +@math.multiply$if_true1 +D;JNE +@math.multiply$if_false1 +0;JMP +(math.multiply$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(math.multiply$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@math.multiply$while_exp0 +0;JMP +(math.multiply$while_end0) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@math.multiply$if_true2 +D;JNE +@math.multiply$if_false2 +0;JMP +(math.multiply$if_true2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(math.multiply$if_false2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.divide) +@4 +D=A +(LOOP_math.divide) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_math.divide +D;JGT +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ17 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ17) +@SP +AM=M-1 +D=M +@math.divide$if_true0 +D;JNE +@math.divide$if_false0 +0;JMP +(math.divide$if_true0) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL126 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL126) +@SP +AM=M-1 +D=M +@R5 +M=D +(math.divide$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT19 +D=A +@38 +0;JMP +(RET_ADDRESS_LT19) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT12 +D=A +@22 +0;JMP +(RET_ADDRESS_GT12) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT13 +D=A +@22 +0;JMP +(RET_ADDRESS_GT13) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT20 +D=A +@38 +0;JMP +(RET_ADDRESS_LT20) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL127 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL127) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL128 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL128) +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(math.divide$while_exp0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$while_end0 +D;JNE +@32767 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT21 +D=A +@38 +0;JMP +(RET_ADDRESS_LT21) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$if_true1 +D;JNE +@math.divide$if_false1 +0;JMP +(math.divide$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT14 +D=A +@22 +0;JMP +(RET_ADDRESS_GT14) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$if_true2 +D;JNE +@math.divide$if_false2 +0;JMP +(math.divide$if_true2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(math.divide$if_false2) +(math.divide$if_false1) +@math.divide$while_exp0 +0;JMP +(math.divide$while_end0) +(math.divide$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT15 +D=A +@22 +0;JMP +(RET_ADDRESS_GT15) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$while_end1 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT16 +D=A +@22 +0;JMP +(RET_ADDRESS_GT16) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$if_true3 +D;JNE +@math.divide$if_false3 +0;JMP +(math.divide$if_true3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(math.divide$if_false3) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@math.divide$while_exp1 +0;JMP +(math.divide$while_end1) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@math.divide$if_true4 +D;JNE +@math.divide$if_false4 +0;JMP +(math.divide$if_true4) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(math.divide$if_false4) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.sqrt) +@4 +D=A +(LOOP_math.sqrt) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_math.sqrt +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT22 +D=A +@38 +0;JMP +(RET_ADDRESS_LT22) +@SP +AM=M-1 +D=M +@math.sqrt$if_true0 +D;JNE +@math.sqrt$if_false0 +0;JMP +(math.sqrt$if_true0) +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL129 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL129) +@SP +AM=M-1 +D=M +@R5 +M=D +(math.sqrt$if_false0) +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(math.sqrt$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT17 +D=A +@22 +0;JMP +(RET_ADDRESS_GT17) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.sqrt$while_end0 +D;JNE +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL130 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL130) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT18 +D=A +@22 +0;JMP +(RET_ADDRESS_GT18) +@SP +A=M-1 +M=!M +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT23 +D=A +@38 +0;JMP +(RET_ADDRESS_LT23) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@math.sqrt$if_true1 +D;JNE +@math.sqrt$if_false1 +0;JMP +(math.sqrt$if_true1) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(math.sqrt$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@math.sqrt$while_exp0 +0;JMP +(math.sqrt$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.max) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT19 +D=A +@22 +0;JMP +(RET_ADDRESS_GT19) +@SP +AM=M-1 +D=M +@math.max$if_true0 +D;JNE +@math.max$if_false0 +0;JMP +(math.max$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(math.max$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.min) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT24 +D=A +@38 +0;JMP +(RET_ADDRESS_LT24) +@SP +AM=M-1 +D=M +@math.min$if_true0 +D;JNE +@math.min$if_false0 +0;JMP +(math.min$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(math.min$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(memory.init) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@memory.0 +M=D +@2048 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@14334 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@2049 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@2050 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(memory.peek) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(memory.poke) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(memory.alloc) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_LT25 +D=A +@38 +0;JMP +(RET_ADDRESS_LT25) +@SP +AM=M-1 +D=M +@memory.alloc$if_true0 +D;JNE +@memory.alloc$if_false0 +0;JMP +(memory.alloc$if_true0) +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL131 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL131) +@SP +AM=M-1 +D=M +@R5 +M=D +(memory.alloc$if_false0) +@2048 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(memory.alloc$while_exp0) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT26 +D=A +@38 +0;JMP +(RET_ADDRESS_LT26) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@memory.alloc$while_end0 +D;JNE +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@memory.alloc$while_exp0 +0;JMP +(memory.alloc$while_end0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@16379 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT20 +D=A +@22 +0;JMP +(RET_ADDRESS_GT20) +@SP +AM=M-1 +D=M +@memory.alloc$if_true1 +D;JNE +@memory.alloc$if_false1 +0;JMP +(memory.alloc$if_true1) +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL132 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL132) +@SP +AM=M-1 +D=M +@R5 +M=D +(memory.alloc$if_false1) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_GT21 +D=A +@22 +0;JMP +(RET_ADDRESS_GT21) +@SP +AM=M-1 +D=M +@memory.alloc$if_true2 +D;JNE +@memory.alloc$if_false2 +0;JMP +(memory.alloc$if_true2) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_EQ18 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ18) +@SP +AM=M-1 +D=M +@memory.alloc$if_true3 +D;JNE +@memory.alloc$if_false3 +0;JMP +(memory.alloc$if_true3) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@memory.alloc$if_end3 +0;JMP +(memory.alloc$if_false3) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(memory.alloc$if_end3) +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(memory.alloc$if_false2) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +(memory.dealloc) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ19 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ19) +@SP +AM=M-1 +D=M +@memory.dealloc$if_true0 +D;JNE +@memory.dealloc$if_false0 +0;JMP +(memory.dealloc$if_true0) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@memory.dealloc$if_end0 +0;JMP +(memory.dealloc$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_EQ20 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ20) +@SP +AM=M-1 +D=M +@memory.dealloc$if_true1 +D;JNE +@memory.dealloc$if_false1 +0;JMP +(memory.dealloc$if_true1) +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@memory.dealloc$if_end1 +0;JMP +(memory.dealloc$if_false1) +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(memory.dealloc$if_end1) +(memory.dealloc$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.init) +@16384 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.4 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@output.0 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL133 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL133) +@SP +AM=M-1 +D=M +@output.3 +M=D +@0 +D=A +@R13 +M=D +@output.initmap +D=A +@R14 +M=D +@RET_ADDRESS_CALL134 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL134) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@output.createshiftedmap +D=A +@R14 +M=D +@RET_ADDRESS_CALL135 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL135) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.initmap) +@127 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL136 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL136) +@SP +AM=M-1 +D=M +@output.5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL137 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL137) +@SP +AM=M-1 +D=M +@R5 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL138 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL138) +@SP +AM=M-1 +D=M +@R5 +M=D +@33 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL139 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL139) +@SP +AM=M-1 +D=M +@R5 +M=D +@34 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@20 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL140 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL140) +@SP +AM=M-1 +D=M +@R5 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL141 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL141) +@SP +AM=M-1 +D=M +@R5 +M=D +@36 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL142 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL142) +@SP +AM=M-1 +D=M +@R5 +M=D +@37 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL143 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL143) +@SP +AM=M-1 +D=M +@R5 +M=D +@38 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL144 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL144) +@SP +AM=M-1 +D=M +@R5 +M=D +@39 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL145 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL145) +@SP +AM=M-1 +D=M +@R5 +M=D +@40 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL146 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL146) +@SP +AM=M-1 +D=M +@R5 +M=D +@41 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL147 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL147) +@SP +AM=M-1 +D=M +@R5 +M=D +@42 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL148 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL148) +@SP +AM=M-1 +D=M +@R5 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL149 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL149) +@SP +AM=M-1 +D=M +@R5 +M=D +@44 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL150 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL150) +@SP +AM=M-1 +D=M +@R5 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL151 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL151) +@SP +AM=M-1 +D=M +@R5 +M=D +@46 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL152 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL152) +@SP +AM=M-1 +D=M +@R5 +M=D +@47 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL153 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL153) +@SP +AM=M-1 +D=M +@R5 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL154 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL154) +@SP +AM=M-1 +D=M +@R5 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL155 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL155) +@SP +AM=M-1 +D=M +@R5 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL156 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL156) +@SP +AM=M-1 +D=M +@R5 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL157 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL157) +@SP +AM=M-1 +D=M +@R5 +M=D +@52 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@26 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL158 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL158) +@SP +AM=M-1 +D=M +@R5 +M=D +@53 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL159 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL159) +@SP +AM=M-1 +D=M +@R5 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL160 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL160) +@SP +AM=M-1 +D=M +@R5 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL161 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL161) +@SP +AM=M-1 +D=M +@R5 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL162 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL162) +@SP +AM=M-1 +D=M +@R5 +M=D +@57 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL163 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL163) +@SP +AM=M-1 +D=M +@R5 +M=D +@58 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL164 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL164) +@SP +AM=M-1 +D=M +@R5 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL165 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL165) +@SP +AM=M-1 +D=M +@R5 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL166 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL166) +@SP +AM=M-1 +D=M +@R5 +M=D +@61 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL167 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL167) +@SP +AM=M-1 +D=M +@R5 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL168 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL168) +@SP +AM=M-1 +D=M +@R5 +M=D +@64 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL169 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL169) +@SP +AM=M-1 +D=M +@R5 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL170 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL170) +@SP +AM=M-1 +D=M +@R5 +M=D +@65 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL171 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL171) +@SP +AM=M-1 +D=M +@R5 +M=D +@66 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL172 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL172) +@SP +AM=M-1 +D=M +@R5 +M=D +@67 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL173 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL173) +@SP +AM=M-1 +D=M +@R5 +M=D +@68 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL174 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL174) +@SP +AM=M-1 +D=M +@R5 +M=D +@69 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL175 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL175) +@SP +AM=M-1 +D=M +@R5 +M=D +@70 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL176 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL176) +@SP +AM=M-1 +D=M +@R5 +M=D +@71 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@44 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL177 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL177) +@SP +AM=M-1 +D=M +@R5 +M=D +@72 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL178 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL178) +@SP +AM=M-1 +D=M +@R5 +M=D +@73 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL179 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL179) +@SP +AM=M-1 +D=M +@R5 +M=D +@74 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL180 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL180) +@SP +AM=M-1 +D=M +@R5 +M=D +@75 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL181 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL181) +@SP +AM=M-1 +D=M +@R5 +M=D +@76 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL182 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL182) +@SP +AM=M-1 +D=M +@R5 +M=D +@77 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@33 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL183 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL183) +@SP +AM=M-1 +D=M +@R5 +M=D +@78 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL184 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL184) +@SP +AM=M-1 +D=M +@R5 +M=D +@79 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL185 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL185) +@SP +AM=M-1 +D=M +@R5 +M=D +@80 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL186 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL186) +@SP +AM=M-1 +D=M +@R5 +M=D +@81 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL187 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL187) +@SP +AM=M-1 +D=M +@R5 +M=D +@82 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL188 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL188) +@SP +AM=M-1 +D=M +@R5 +M=D +@83 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL189 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL189) +@SP +AM=M-1 +D=M +@R5 +M=D +@84 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL190 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL190) +@SP +AM=M-1 +D=M +@R5 +M=D +@85 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL191 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL191) +@SP +AM=M-1 +D=M +@R5 +M=D +@86 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL192 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL192) +@SP +AM=M-1 +D=M +@R5 +M=D +@87 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL193 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL193) +@SP +AM=M-1 +D=M +@R5 +M=D +@88 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL194 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL194) +@SP +AM=M-1 +D=M +@R5 +M=D +@89 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL195 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL195) +@SP +AM=M-1 +D=M +@R5 +M=D +@90 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL196 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL196) +@SP +AM=M-1 +D=M +@R5 +M=D +@91 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL197 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL197) +@SP +AM=M-1 +D=M +@R5 +M=D +@92 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=1 +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL198 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL198) +@SP +AM=M-1 +D=M +@R5 +M=D +@93 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL199 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL199) +@SP +AM=M-1 +D=M +@R5 +M=D +@94 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL200 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL200) +@SP +AM=M-1 +D=M +@R5 +M=D +@95 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL201 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL201) +@SP +AM=M-1 +D=M +@R5 +M=D +@96 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL202 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL202) +@SP +AM=M-1 +D=M +@R5 +M=D +@97 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL203 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL203) +@SP +AM=M-1 +D=M +@R5 +M=D +@98 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL204 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL204) +@SP +AM=M-1 +D=M +@R5 +M=D +@99 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL205 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL205) +@SP +AM=M-1 +D=M +@R5 +M=D +@100 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL206 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL206) +@SP +AM=M-1 +D=M +@R5 +M=D +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL207 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL207) +@SP +AM=M-1 +D=M +@R5 +M=D +@102 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@38 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL208 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL208) +@SP +AM=M-1 +D=M +@R5 +M=D +@103 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL209 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL209) +@SP +AM=M-1 +D=M +@R5 +M=D +@104 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL210 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL210) +@SP +AM=M-1 +D=M +@R5 +M=D +@105 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL211 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL211) +@SP +AM=M-1 +D=M +@R5 +M=D +@106 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL212 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL212) +@SP +AM=M-1 +D=M +@R5 +M=D +@107 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL213 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL213) +@SP +AM=M-1 +D=M +@R5 +M=D +@108 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL214 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL214) +@SP +AM=M-1 +D=M +@R5 +M=D +@109 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@29 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL215 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL215) +@SP +AM=M-1 +D=M +@R5 +M=D +@110 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@29 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL216 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL216) +@SP +AM=M-1 +D=M +@R5 +M=D +@111 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL217 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL217) +@SP +AM=M-1 +D=M +@R5 +M=D +@112 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL218 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL218) +@SP +AM=M-1 +D=M +@R5 +M=D +@113 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL219 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL219) +@SP +AM=M-1 +D=M +@R5 +M=D +@114 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@29 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL220 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL220) +@SP +AM=M-1 +D=M +@R5 +M=D +@115 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL221 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL221) +@SP +AM=M-1 +D=M +@R5 +M=D +@116 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL222 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL222) +@SP +AM=M-1 +D=M +@R5 +M=D +@117 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL223 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL223) +@SP +AM=M-1 +D=M +@R5 +M=D +@118 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL224 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL224) +@SP +AM=M-1 +D=M +@R5 +M=D +@119 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL225 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL225) +@SP +AM=M-1 +D=M +@R5 +M=D +@120 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL226 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL226) +@SP +AM=M-1 +D=M +@R5 +M=D +@121 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL227 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL227) +@SP +AM=M-1 +D=M +@R5 +M=D +@122 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL228 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL228) +@SP +AM=M-1 +D=M +@R5 +M=D +@123 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL229 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL229) +@SP +AM=M-1 +D=M +@R5 +M=D +@124 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL230 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL230) +@SP +AM=M-1 +D=M +@R5 +M=D +@125 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL231 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL231) +@SP +AM=M-1 +D=M +@R5 +M=D +@126 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@38 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL232 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL232) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.create) +@SP +AM=M+1 +A=A-1 +M=0 +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL233 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL233) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@11 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.createshiftedmap) +@4 +D=A +(LOOP_output.createshiftedmap) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_output.createshiftedmap +D;JGT +@127 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL234 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL234) +@SP +AM=M-1 +D=M +@output.6 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(output.createshiftedmap$while_exp0) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@127 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT27 +D=A +@38 +0;JMP +(RET_ADDRESS_LT27) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.createshiftedmap$while_end0 +D;JNE +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL235 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL235) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.6 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(output.createshiftedmap$while_exp1) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT28 +D=A +@38 +0;JMP +(RET_ADDRESS_LT28) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.createshiftedmap$while_end1 +D;JNE +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@256 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL236 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL236) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@output.createshiftedmap$while_exp1 +0;JMP +(output.createshiftedmap$while_end1) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ21 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ21) +@SP +AM=M-1 +D=M +@output.createshiftedmap$if_true0 +D;JNE +@output.createshiftedmap$if_false0 +0;JMP +(output.createshiftedmap$if_true0) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@output.createshiftedmap$if_end0 +0;JMP +(output.createshiftedmap$if_false0) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(output.createshiftedmap$if_end0) +@output.createshiftedmap$while_exp0 +0;JMP +(output.createshiftedmap$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.getmap) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT29 +D=A +@38 +0;JMP +(RET_ADDRESS_LT29) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@126 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT22 +D=A +@22 +0;JMP +(RET_ADDRESS_GT22) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@output.getmap$if_true0 +D;JNE +@output.getmap$if_false0 +0;JMP +(output.getmap$if_true0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(output.getmap$if_false0) +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.getmap$if_true1 +D;JNE +@output.getmap$if_false1 +0;JMP +(output.getmap$if_true1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@output.getmap$if_end1 +0;JMP +(output.getmap$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.6 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(output.getmap$if_end1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(output.drawchar) +@4 +D=A +(LOOP_output.drawchar) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_output.drawchar +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.getmap +D=A +@R14 +M=D +@RET_ADDRESS_CALL237 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL237) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(output.drawchar$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT30 +D=A +@38 +0;JMP +(RET_ADDRESS_LT30) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.drawchar$while_end0 +D;JNE +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.drawchar$if_true0 +D;JNE +@output.drawchar$if_false0 +0;JMP +(output.drawchar$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.4 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@256 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@output.drawchar$if_end0 +0;JMP +(output.drawchar$if_false0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.4 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(output.drawchar$if_end0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.4 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@output.drawchar$while_exp0 +0;JMP +(output.drawchar$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.movecursor) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT31 +D=A +@38 +0;JMP +(RET_ADDRESS_LT31) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@22 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT23 +D=A +@22 +0;JMP +(RET_ADDRESS_GT23) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT32 +D=A +@38 +0;JMP +(RET_ADDRESS_LT32) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT24 +D=A +@22 +0;JMP +(RET_ADDRESS_GT24) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@output.movecursor$if_true0 +D;JNE +@output.movecursor$if_false0 +0;JMP +(output.movecursor$if_true0) +@20 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL238 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL238) +@SP +AM=M-1 +D=M +@R5 +M=D +(output.movecursor$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL239 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL239) +@SP +AM=M-1 +D=M +@output.0 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@352 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL240 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL240) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@output.1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL241 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL241) +@RET_ADDRESS_EQ22 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ22) +@SP +AM=M-1 +D=M +@output.2 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.drawchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL242 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL242) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.printchar) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@0 +D=A +@R13 +M=D +@string.newline +D=A +@R14 +M=D +@RET_ADDRESS_CALL243 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL243) +@RET_ADDRESS_EQ23 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ23) +@SP +AM=M-1 +D=M +@output.printchar$if_true0 +D;JNE +@output.printchar$if_false0 +0;JMP +(output.printchar$if_true0) +@0 +D=A +@R13 +M=D +@output.println +D=A +@R14 +M=D +@RET_ADDRESS_CALL244 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL244) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.printchar$if_end0 +0;JMP +(output.printchar$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@0 +D=A +@R13 +M=D +@string.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL245 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL245) +@RET_ADDRESS_EQ24 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ24) +@SP +AM=M-1 +D=M +@output.printchar$if_true1 +D;JNE +@output.printchar$if_false1 +0;JMP +(output.printchar$if_true1) +@0 +D=A +@R13 +M=D +@output.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL246 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL246) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.printchar$if_end1 +0;JMP +(output.printchar$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.drawchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL247 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL247) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.printchar$if_true2 +D;JNE +@output.printchar$if_false2 +0;JMP +(output.printchar$if_true2) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@output.0 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.printchar$if_false2) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ25 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ25) +@SP +AM=M-1 +D=M +@output.printchar$if_true3 +D;JNE +@output.printchar$if_false3 +0;JMP +(output.printchar$if_true3) +@0 +D=A +@R13 +M=D +@output.println +D=A +@R14 +M=D +@RET_ADDRESS_CALL248 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL248) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.printchar$if_end3 +0;JMP +(output.printchar$if_false3) +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +(output.printchar$if_end3) +(output.printchar$if_end1) +(output.printchar$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.printstring) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.length +D=A +@R14 +M=D +@RET_ADDRESS_CALL249 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL249) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(output.printstring$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT33 +D=A +@38 +0;JMP +(RET_ADDRESS_LT33) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.printstring$while_end0 +D;JNE +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.charat +D=A +@R14 +M=D +@RET_ADDRESS_CALL250 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL250) +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL251 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL251) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@output.printstring$while_exp0 +0;JMP +(output.printstring$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.printint) +@output.3 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.setint +D=A +@R14 +M=D +@RET_ADDRESS_CALL252 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL252) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.3 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL253 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL253) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.println) +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@352 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@output.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@8128 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ26 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ26) +@SP +AM=M-1 +D=M +@output.println$if_true0 +D;JNE +@output.println$if_false0 +0;JMP +(output.println$if_true0) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.println$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.backspace) +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.backspace$if_true0 +D;JNE +@output.backspace$if_false0 +0;JMP +(output.backspace$if_true0) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT25 +D=A +@22 +0;JMP +(RET_ADDRESS_GT25) +@SP +AM=M-1 +D=M +@output.backspace$if_true1 +D;JNE +@output.backspace$if_false1 +0;JMP +(output.backspace$if_true1) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.0 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.1 +M=D +@output.backspace$if_end1 +0;JMP +(output.backspace$if_false1) +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.0 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ27 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ27) +@SP +AM=M-1 +D=M +@output.backspace$if_true2 +D;JNE +@output.backspace$if_false2 +0;JMP +(output.backspace$if_true2) +@8128 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.backspace$if_false2) +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@321 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.backspace$if_end1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@output.2 +M=D +@output.backspace$if_end0 +0;JMP +(output.backspace$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +(output.backspace$if_end0) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.drawchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL254 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL254) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.init) +@SP +AM=M+1 +A=A-1 +M=0 +@16384 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.2 +M=D +@17 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL255 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL255) +@SP +AM=M-1 +D=M +@screen.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(screen.init$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT34 +D=A +@38 +0;JMP +(RET_ADDRESS_LT34) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.init$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@screen.init$while_exp0 +0;JMP +(screen.init$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.clearscreen) +@SP +AM=M+1 +A=A-1 +M=0 +(screen.clearscreen$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@8192 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT35 +D=A +@38 +0;JMP +(RET_ADDRESS_LT35) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.clearscreen$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.clearscreen$while_exp0 +0;JMP +(screen.clearscreen$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.updatelocation) +@screen.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.updatelocation$if_true0 +D;JNE +@screen.updatelocation$if_false0 +0;JMP +(screen.updatelocation$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@screen.updatelocation$if_end0 +0;JMP +(screen.updatelocation$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(screen.updatelocation$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.setcolor) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.2 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawpixel) +@3 +D=A +(LOOP_screen.drawpixel) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawpixel +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT36 +D=A +@38 +0;JMP +(RET_ADDRESS_LT36) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT26 +D=A +@22 +0;JMP +(RET_ADDRESS_GT26) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT37 +D=A +@38 +0;JMP +(RET_ADDRESS_LT37) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT27 +D=A +@22 +0;JMP +(RET_ADDRESS_GT27) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawpixel$if_true0 +D;JNE +@screen.drawpixel$if_false0 +0;JMP +(screen.drawpixel$if_true0) +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL256 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL256) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawpixel$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL257 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL257) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL258 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL258) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL259 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL259) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL260 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL260) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawconditional) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.drawconditional$if_true0 +D;JNE +@screen.drawconditional$if_false0 +0;JMP +(screen.drawconditional$if_true0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.drawpixel +D=A +@R14 +M=D +@RET_ADDRESS_CALL261 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL261) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawconditional$if_end0 +0;JMP +(screen.drawconditional$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.drawpixel +D=A +@R14 +M=D +@RET_ADDRESS_CALL262 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL262) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawconditional$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawline) +@11 +D=A +(LOOP_screen.drawline) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawline +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT38 +D=A +@38 +0;JMP +(RET_ADDRESS_LT38) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT28 +D=A +@22 +0;JMP +(RET_ADDRESS_GT28) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT39 +D=A +@38 +0;JMP +(RET_ADDRESS_LT39) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT29 +D=A +@22 +0;JMP +(RET_ADDRESS_GT29) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawline$if_true0 +D;JNE +@screen.drawline$if_false0 +0;JMP +(screen.drawline$if_true0) +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL263 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL263) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawline$if_false0) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL264 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL264) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL265 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL265) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT40 +D=A +@38 +0;JMP +(RET_ADDRESS_LT40) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT41 +D=A +@38 +0;JMP +(RET_ADDRESS_LT41) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT42 +D=A +@38 +0;JMP +(RET_ADDRESS_LT42) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawline$if_true1 +D;JNE +@screen.drawline$if_false1 +0;JMP +(screen.drawline$if_true1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +A=A+1 +A=A+1 +M=D +(screen.drawline$if_false1) +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.drawline$if_true2 +D;JNE +@screen.drawline$if_false2 +0;JMP +(screen.drawline$if_true2) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT30 +D=A +@22 +0;JMP +(RET_ADDRESS_GT30) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@screen.drawline$if_end2 +0;JMP +(screen.drawline$if_false2) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT31 +D=A +@22 +0;JMP +(RET_ADDRESS_GT31) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +(screen.drawline$if_end2) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL266 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL266) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL267 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL267) +@LCL +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL268 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL268) +@LCL +D=M +@10 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@R13 +M=D +@screen.drawconditional +D=A +@R14 +M=D +@RET_ADDRESS_CALL269 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL269) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawline$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT43 +D=A +@38 +0;JMP +(RET_ADDRESS_LT43) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawline$while_end0 +D;JNE +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT44 +D=A +@38 +0;JMP +(RET_ADDRESS_LT44) +@SP +AM=M-1 +D=M +@screen.drawline$if_true3 +D;JNE +@screen.drawline$if_false3 +0;JMP +(screen.drawline$if_true3) +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@screen.drawline$if_end3 +0;JMP +(screen.drawline$if_false3) +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.drawline$if_true4 +D;JNE +@screen.drawline$if_false4 +0;JMP +(screen.drawline$if_true4) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawline$if_end4 +0;JMP +(screen.drawline$if_false4) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(screen.drawline$if_end4) +(screen.drawline$if_end3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@R13 +M=D +@screen.drawconditional +D=A +@R14 +M=D +@RET_ADDRESS_CALL270 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL270) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawline$while_exp0 +0;JMP +(screen.drawline$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawrectangle) +@9 +D=A +(LOOP_screen.drawrectangle) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawrectangle +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT32 +D=A +@22 +0;JMP +(RET_ADDRESS_GT32) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT33 +D=A +@22 +0;JMP +(RET_ADDRESS_GT33) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT45 +D=A +@38 +0;JMP +(RET_ADDRESS_LT45) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT34 +D=A +@22 +0;JMP +(RET_ADDRESS_GT34) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT46 +D=A +@38 +0;JMP +(RET_ADDRESS_LT46) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT35 +D=A +@22 +0;JMP +(RET_ADDRESS_GT35) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawrectangle$if_true0 +D;JNE +@screen.drawrectangle$if_false0 +0;JMP +(screen.drawrectangle$if_true0) +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL271 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL271) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawrectangle$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL272 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL272) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL273 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL273) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL274 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL274) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL275 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL275) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL276 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL276) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(screen.drawrectangle$while_exp0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT36 +D=A +@22 +0;JMP +(RET_ADDRESS_GT36) +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawrectangle$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ28 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ28) +@SP +AM=M-1 +D=M +@screen.drawrectangle$if_true1 +D;JNE +@screen.drawrectangle$if_false1 +0;JMP +(screen.drawrectangle$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL277 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL277) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawrectangle$if_end1 +0;JMP +(screen.drawrectangle$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL278 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL278) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(screen.drawrectangle$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT47 +D=A +@38 +0;JMP +(RET_ADDRESS_LT47) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawrectangle$while_end1 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL279 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL279) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawrectangle$while_exp1 +0;JMP +(screen.drawrectangle$while_end1) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL280 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL280) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawrectangle$if_end1) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawrectangle$while_exp0 +0;JMP +(screen.drawrectangle$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawhorizontal) +@11 +D=A +(LOOP_screen.drawhorizontal) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawhorizontal +D;JGT +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.min +D=A +@R14 +M=D +@RET_ADDRESS_CALL281 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL281) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.max +D=A +@R14 +M=D +@RET_ADDRESS_CALL282 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL282) +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT37 +D=A +@22 +0;JMP +(RET_ADDRESS_GT37) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@256 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT48 +D=A +@38 +0;JMP +(RET_ADDRESS_LT48) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@512 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT49 +D=A +@38 +0;JMP +(RET_ADDRESS_LT49) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT38 +D=A +@22 +0;JMP +(RET_ADDRESS_GT38) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@screen.drawhorizontal$if_true0 +D;JNE +@screen.drawhorizontal$if_false0 +0;JMP +(screen.drawhorizontal$if_true0) +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@2 +D=A +@R13 +M=D +@math.max +D=A +@R14 +M=D +@RET_ADDRESS_CALL283 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL283) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.min +D=A +@R14 +M=D +@RET_ADDRESS_CALL284 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL284) +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL285 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL285) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL286 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL286) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL287 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL287) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL288 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL288) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@10 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL289 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL289) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ29 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ29) +@SP +AM=M-1 +D=M +@screen.drawhorizontal$if_true1 +D;JNE +@screen.drawhorizontal$if_false1 +0;JMP +(screen.drawhorizontal$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL290 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL290) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawhorizontal$if_end1 +0;JMP +(screen.drawhorizontal$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL291 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL291) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(screen.drawhorizontal$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT50 +D=A +@38 +0;JMP +(RET_ADDRESS_LT50) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawhorizontal$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL292 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL292) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawhorizontal$while_exp0 +0;JMP +(screen.drawhorizontal$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL293 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL293) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawhorizontal$if_end1) +(screen.drawhorizontal$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawsymetric) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL294 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL294) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL295 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL295) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL296 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL296) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL297 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL297) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawcircle) +@3 +D=A +(LOOP_screen.drawcircle) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawcircle +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT51 +D=A +@38 +0;JMP +(RET_ADDRESS_LT51) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT39 +D=A +@22 +0;JMP +(RET_ADDRESS_GT39) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT52 +D=A +@38 +0;JMP +(RET_ADDRESS_LT52) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT40 +D=A +@22 +0;JMP +(RET_ADDRESS_GT40) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawcircle$if_true0 +D;JNE +@screen.drawcircle$if_false0 +0;JMP +(screen.drawcircle$if_true0) +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL298 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL298) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawcircle$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT53 +D=A +@38 +0;JMP +(RET_ADDRESS_LT53) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT41 +D=A +@22 +0;JMP +(RET_ADDRESS_GT41) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT54 +D=A +@38 +0;JMP +(RET_ADDRESS_LT54) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT42 +D=A +@22 +0;JMP +(RET_ADDRESS_GT42) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawcircle$if_true1 +D;JNE +@screen.drawcircle$if_false1 +0;JMP +(screen.drawcircle$if_true1) +@13 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL299 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL299) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawcircle$if_false1) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@screen.drawsymetric +D=A +@R14 +M=D +@RET_ADDRESS_CALL300 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL300) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawcircle$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT43 +D=A +@22 +0;JMP +(RET_ADDRESS_GT43) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawcircle$while_end0 +D;JNE +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT55 +D=A +@38 +0;JMP +(RET_ADDRESS_LT55) +@SP +AM=M-1 +D=M +@screen.drawcircle$if_true2 +D;JNE +@screen.drawcircle$if_false2 +0;JMP +(screen.drawcircle$if_true2) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL301 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL301) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@screen.drawcircle$if_end2 +0;JMP +(screen.drawcircle$if_false2) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL302 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL302) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(screen.drawcircle$if_end2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@screen.drawsymetric +D=A +@R14 +M=D +@RET_ADDRESS_CALL303 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL303) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawcircle$while_exp0 +0;JMP +(screen.drawcircle$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.new) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL304 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL304) +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT56 +D=A +@38 +0;JMP +(RET_ADDRESS_LT56) +@SP +AM=M-1 +D=M +@string.new$if_true0 +D;JNE +@string.new$if_false0 +0;JMP +(string.new$if_true0) +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL305 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL305) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.new$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT44 +D=A +@22 +0;JMP +(RET_ADDRESS_GT44) +@SP +AM=M-1 +D=M +@string.new$if_true1 +D;JNE +@string.new$if_false1 +0;JMP +(string.new$if_true1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL306 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL306) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(string.new$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT45 +D=A +@22 +0;JMP +(RET_ADDRESS_GT45) +@SP +AM=M-1 +D=M +@string.dispose$if_true0 +D;JNE +@string.dispose$if_false0 +0;JMP +(string.dispose$if_true0) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL307 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL307) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.dispose$if_false0) +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL308 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL308) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.length) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.charat) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT57 +D=A +@38 +0;JMP +(RET_ADDRESS_LT57) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT46 +D=A +@22 +0;JMP +(RET_ADDRESS_GT46) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ30 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ30) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@string.charat$if_true0 +D;JNE +@string.charat$if_false0 +0;JMP +(string.charat$if_true0) +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL309 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL309) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.charat$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.setcharat) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT58 +D=A +@38 +0;JMP +(RET_ADDRESS_LT58) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT47 +D=A +@22 +0;JMP +(RET_ADDRESS_GT47) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ31 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ31) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@string.setcharat$if_true0 +D;JNE +@string.setcharat$if_false0 +0;JMP +(string.setcharat$if_true0) +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL310 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL310) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.setcharat$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.appendchar) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ32 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ32) +@SP +AM=M-1 +D=M +@string.appendchar$if_true0 +D;JNE +@string.appendchar$if_false0 +0;JMP +(string.appendchar$if_true0) +@17 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL311 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL311) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.appendchar$if_false0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.eraselastchar) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ33 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ33) +@SP +AM=M-1 +D=M +@string.eraselastchar$if_true0 +D;JNE +@string.eraselastchar$if_false0 +0;JMP +(string.eraselastchar$if_true0) +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL312 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL312) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.eraselastchar$if_false0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.intvalue) +@5 +D=A +(LOOP_string.intvalue) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_string.intvalue +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ34 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ34) +@SP +AM=M-1 +D=M +@string.intvalue$if_true0 +D;JNE +@string.intvalue$if_false0 +0;JMP +(string.intvalue$if_true0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.intvalue$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ35 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ35) +@SP +AM=M-1 +D=M +@string.intvalue$if_true1 +D;JNE +@string.intvalue$if_false1 +0;JMP +(string.intvalue$if_true1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(string.intvalue$if_false1) +(string.intvalue$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT59 +D=A +@38 +0;JMP +(RET_ADDRESS_LT59) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@string.intvalue$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT60 +D=A +@38 +0;JMP +(RET_ADDRESS_LT60) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT48 +D=A +@22 +0;JMP +(RET_ADDRESS_GT48) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@string.intvalue$if_true2 +D;JNE +@string.intvalue$if_false2 +0;JMP +(string.intvalue$if_true2) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL313 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL313) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(string.intvalue$if_false2) +@string.intvalue$while_exp0 +0;JMP +(string.intvalue$while_end0) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@string.intvalue$if_true3 +D;JNE +@string.intvalue$if_false3 +0;JMP +(string.intvalue$if_true3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(string.intvalue$if_false3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.setint) +@4 +D=A +(LOOP_string.setint) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_string.setint +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ36 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ36) +@SP +AM=M-1 +D=M +@string.setint$if_true0 +D;JNE +@string.setint$if_false0 +0;JMP +(string.setint$if_true0) +@19 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL314 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL314) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.setint$if_false0) +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL315 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL315) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT61 +D=A +@38 +0;JMP +(RET_ADDRESS_LT61) +@SP +AM=M-1 +D=M +@string.setint$if_true1 +D;JNE +@string.setint$if_false1 +0;JMP +(string.setint$if_true1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(string.setint$if_false1) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(string.setint$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT49 +D=A +@22 +0;JMP +(RET_ADDRESS_GT49) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@string.setint$while_end0 +D;JNE +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL316 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL316) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL317 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL317) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@string.setint$while_exp0 +0;JMP +(string.setint$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@string.setint$if_true2 +D;JNE +@string.setint$if_false2 +0;JMP +(string.setint$if_true2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(string.setint$if_false2) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT62 +D=A +@38 +0;JMP +(RET_ADDRESS_LT62) +@SP +AM=M-1 +D=M +@string.setint$if_true3 +D;JNE +@string.setint$if_false3 +0;JMP +(string.setint$if_true3) +@19 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL318 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL318) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.setint$if_false3) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ37 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ37) +@SP +AM=M-1 +D=M +@string.setint$if_true4 +D;JNE +@string.setint$if_false4 +0;JMP +(string.setint$if_true4) +@SP +M=M+1 +A=M-1 +M=0 +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@string.setint$if_end4 +0;JMP +(string.setint$if_false4) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +(string.setint$while_exp1) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT63 +D=A +@38 +0;JMP +(RET_ADDRESS_LT63) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@string.setint$while_end1 +D;JNE +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@string.setint$while_exp1 +0;JMP +(string.setint$while_end1) +(string.setint$if_end4) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL319 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL319) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.newline) +@128 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.backspace) +@129 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.doublequote) +@34 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(sys.init) +@0 +D=A +@R13 +M=D +@memory.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL320 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL320) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@math.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL321 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL321) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@screen.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL322 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL322) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@output.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL323 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL323) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@keyboard.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL324 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL324) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@main.main +D=A +@R14 +M=D +@RET_ADDRESS_CALL325 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL325) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@sys.halt +D=A +@R14 +M=D +@RET_ADDRESS_CALL326 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL326) +@SP +AM=M-1 +D=M +@R5 +M=D +(sys.halt) +(sys.halt$while_exp0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@sys.halt$while_end0 +D;JNE +@sys.halt$while_exp0 +0;JMP +(sys.halt$while_end0) +(sys.wait) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT64 +D=A +@38 +0;JMP +(RET_ADDRESS_LT64) +@SP +AM=M-1 +D=M +@sys.wait$if_true0 +D;JNE +@sys.wait$if_false0 +0;JMP +(sys.wait$if_true0) +@SP +M=M+1 +A=M-1 +M=1 +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL327 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL327) +@SP +AM=M-1 +D=M +@R5 +M=D +(sys.wait$if_false0) +(sys.wait$while_exp0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT50 +D=A +@22 +0;JMP +(RET_ADDRESS_GT50) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@sys.wait$while_end0 +D;JNE +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(sys.wait$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT51 +D=A +@22 +0;JMP +(RET_ADDRESS_GT51) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@sys.wait$while_end1 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@sys.wait$while_exp1 +0;JMP +(sys.wait$while_end1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@sys.wait$while_exp0 +0;JMP +(sys.wait$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(sys.error) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL328 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL328) +@69 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL329 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL329) +@82 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL330 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL330) +@82 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL331 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL331) +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL332 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL332) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printint +D=A +@R14 +M=D +@RET_ADDRESS_CALL333 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL333) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@sys.halt +D=A +@R14 +M=D +@RET_ADDRESS_CALL334 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL334) +@SP +AM=M-1 +D=M +@R5 +M=D \ No newline at end of file diff --git a/web-ide-main/projects/src/samples/hack/zero b/web-ide-main/projects/src/samples/hack/zero new file mode 100644 index 0000000..e69de29 diff --git a/web-ide-main/projects/src/samples/index.ts b/web-ide-main/projects/src/samples/index.ts new file mode 100644 index 0000000..35aba3b --- /dev/null +++ b/web-ide-main/projects/src/samples/index.ts @@ -0,0 +1,18 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; +import * as project_06 from "./project_06/index.js"; +import * as Tst from "./tst.js"; + +const TST = { + "TickTock.tst": Tst.TickTock, +}; + +export async function loadSamples(fs: FileSystem) { + await fs.pushd("/samples"); + await reset(fs, TST); + await reset(fs, project_06.FILES); + await fs.popd(); +} + +export const AsmProjects = { + "06": project_06, +}; diff --git a/web-ide-main/projects/src/samples/project_06/01_add.ts b/web-ide-main/projects/src/samples/project_06/01_add.ts new file mode 100644 index 0000000..44fbedd --- /dev/null +++ b/web-ide-main/projects/src/samples/project_06/01_add.ts @@ -0,0 +1,15 @@ +export const AddTst = `repeat 6 { tick, tock; }`; +export const AddAsm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. + +// Computes R0 = 2 + 3 (R0 refers to RAM[0]) + +@2 +D=A +@3 +D=D+A +@0 +M=D`; + +export const AddHack = [2, 60432, 3, 57488, 0, 58120]; diff --git a/web-ide-main/projects/src/samples/project_06/02_max.ts b/web-ide-main/projects/src/samples/project_06/02_max.ts new file mode 100644 index 0000000..c255b72 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_06/02_max.ts @@ -0,0 +1,69 @@ +export const MaxTst = ` +load Max.asm; +set %0 16548, set %1 12944; + +repeat 14 { + tick, tock; +} +`; +export const MaxAsm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/6/max/Max.asm + +// Computes R2 = max(R0, R1) (R0,R1,R2 refer to RAM[0],RAM[1],RAM[2]) +// Usage: Before executing, put two values in R0 and R1. + + // D = R0 - R1 + @R0 + D=M + @R1 + D=D-M + // If (D > 0) goto ITSR0 + @ITSR0 + D;JGT + // Its R1 + @R1 + D=M + @OUTPUT_D + 0;JMP +(ITSR0) + @R0 + D=M +(OUTPUT_D) + @R2 + M=D +(END) + @END + 0;JMP +`; + +export const MaxLAsm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/6/max/MaxL.asm + +// Symbol-less version of the Max.asm program. +// Designed for testing the basic version of the assembler. + +@0 +D=M +@1 +D=D-M +@10 +D;JGT +@1 +D=M +@12 +0;JMP +@0 +D=M +@2 +M=D +@14 +0;JMP`; + +export const MaxHack = [ + 0, 64528, 1, 62672, 10, 58113, 1, 64528, 12, 60039, 0, 64528, 2, 58120, 14, + 60039, +]; diff --git a/web-ide-main/projects/src/samples/project_06/03_rect.ts b/web-ide-main/projects/src/samples/project_06/03_rect.ts new file mode 100644 index 0000000..3a10316 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_06/03_rect.ts @@ -0,0 +1,88 @@ +export const RectTst = ` +load Rect.asm; +set %0 16; + +repeat { + tick, tock; +} +`; +export const RectAsm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/6/rect/Rect.asm + +// Draws a rectangle at the top-left corner of the screen. +// The rectangle is 16 pixels wide and R0 pixels high. +// Usage: Before executing, put a value in R0. + + // If (R0 <= 0) goto END else n = R0 + @R0 + D=M + @END + D;JLE + @n + M=D + // addr = base address of first screen row + @SCREEN + D=A + @addr + M=D +(LOOP) + // RAM[addr] = -1 + @addr + A=M + M=-1 + // addr = base address of next screen row + @addr + D=M + @32 + D=D+A + @addr + M=D + // decrements n and loops + @n + MD=M-1 + @LOOP + D;JGT +(END) + @END + 0;JMP`; + +export const RectLAsm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/6/rect/RectL.asm + +// Symbol-less version of the Rect.asm program. +// Designed for testing the basic version of the assembler. + +@0 +D=M +@23 +D;JLE +@16 +M=D +@16384 +D=A +@17 +M=D +@17 +A=M +M=-1 +@17 +D=M +@32 +D=D+A +@17 +M=D +@16 +MD=M-1 +@10 +D;JGT +@23 +0;JMP`; + +export const RectHack = [ + 0, 64528, 23, 58118, 16, 58120, 16384, 60432, 17, 58120, 17, 64544, 61064, 17, + 64528, 32, 57488, 17, 58120, 16, 64664, 10, 58113, 23, 60039, +]; diff --git a/web-ide-main/projects/src/samples/project_06/04_pong.ts b/web-ide-main/projects/src/samples/project_06/04_pong.ts new file mode 100644 index 0000000..92a00a2 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_06/04_pong.ts @@ -0,0 +1,3 @@ +export const PongAsm = async () => (await import("./04_pong_asm.js")).PongAsm; +export const PongLAsm = async () => (await import("./04_pong_asm.js")).PongLAsm; +export const PongHack = async () => (await import("./04_pong_asm.js")).PongHack; diff --git a/web-ide-main/projects/src/samples/project_06/04_pong_asm.ts b/web-ide-main/projects/src/samples/project_06/04_pong_asm.ts new file mode 100644 index 0000000..54aee0f --- /dev/null +++ b/web-ide-main/projects/src/samples/project_06/04_pong_asm.ts @@ -0,0 +1,57975 @@ +// prettier-ignore +export const PongAsm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/06/pong/Pong.asm + +// The Pong game program was originally written in the high-level Jack language. +// The Jack code was then translated by the Jack compiler into VM code. +// The VM code was then translated by the VM translator into the Hack +// assembly code shown here. + +@256 +D=A +@SP +M=D +@133 +0;JMP +@R15 +M=D +@SP +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_EQ +D;JNE +@SP +A=M-1 +M=-1 +(END_EQ) +@R15 +A=M +0;JMP +@R15 +M=D +@SP +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_GT +D;JLE +@SP +A=M-1 +M=-1 +(END_GT) +@R15 +A=M +0;JMP +@R15 +M=D +@SP +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_LT +D;JGE +@SP +A=M-1 +M=-1 +(END_LT) +@R15 +A=M +0;JMP +@5 +D=A +@LCL +A=M-D +D=M +@R13 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +D=A +@SP +M=D+1 +@LCL +D=M +@R14 +AM=D-1 +D=M +@THAT +M=D +@R14 +AM=M-1 +D=M +@THIS +M=D +@R14 +AM=M-1 +D=M +@ARG +M=D +@R14 +AM=M-1 +D=M +@LCL +M=D +@R13 +A=M +0;JMP +@SP +A=M +M=D +@LCL +D=M +@SP +AM=M+1 +M=D +@ARG +D=M +@SP +AM=M+1 +M=D +@THIS +D=M +@SP +AM=M+1 +M=D +@THAT +D=M +@SP +AM=M+1 +M=D +@4 +D=A +@R13 +D=D+M +@SP +D=M-D +@ARG +M=D +@SP +MD=M+1 +@LCL +M=D +@R14 +A=M +0;JMP +@0 +D=A +@R13 +M=D +@sys.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL0 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL0) +(ball.new) +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL1 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL1) +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@10 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +D=M +@11 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@12 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +D=M +@13 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL2 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL2) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ball.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL3 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL3) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.show) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL4 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL4) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL5 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL5) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.hide) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL6 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL6) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL7 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL7) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.draw) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL8 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL8) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.getleft) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ball.getright) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +(ball.setdestination) +@3 +D=A +(LOOP_ball.setdestination) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_ball.setdestination +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL9 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL9) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL10 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL10) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT0 +D=A +@38 +0;JMP +(RET_ADDRESS_LT0) +@THIS +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.setdestination$if_true0 +D;JNE +@ball.setdestination$if_false0 +0;JMP +(ball.setdestination$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT1 +D=A +@38 +0;JMP +(RET_ADDRESS_LT1) +@THIS +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT2 +D=A +@38 +0;JMP +(RET_ADDRESS_LT2) +@THIS +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ball.setdestination$if_end0 +0;JMP +(ball.setdestination$if_false0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT3 +D=A +@38 +0;JMP +(RET_ADDRESS_LT3) +@THIS +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT4 +D=A +@38 +0;JMP +(RET_ADDRESS_LT4) +@THIS +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +(ball.setdestination$if_end0) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL11 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL11) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL12 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL12) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL13 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL13) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ball.move) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.hide +D=A +@R14 +M=D +@RET_ADDRESS_CALL14 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL14) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT5 +D=A +@38 +0;JMP +(RET_ADDRESS_LT5) +@SP +AM=M-1 +D=M +@ball.move$if_true0 +D;JNE +@ball.move$if_false0 +0;JMP +(ball.move$if_true0) +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ball.move$if_end0 +0;JMP +(ball.move$if_false0) +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true1 +D;JNE +@ball.move$if_false1 +0;JMP +(ball.move$if_true1) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true2 +D;JNE +@ball.move$if_false2 +0;JMP +(ball.move$if_true2) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ball.move$if_end2 +0;JMP +(ball.move$if_false2) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_end2) +@ball.move$if_end1 +0;JMP +(ball.move$if_false1) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true3 +D;JNE +@ball.move$if_false3 +0;JMP +(ball.move$if_true3) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ball.move$if_end3 +0;JMP +(ball.move$if_false3) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_end3) +(ball.move$if_end1) +(ball.move$if_end0) +@THIS +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true4 +D;JNE +@ball.move$if_false4 +0;JMP +(ball.move$if_true4) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true5 +D;JNE +@ball.move$if_false5 +0;JMP +(ball.move$if_true5) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ball.move$if_end5 +0;JMP +(ball.move$if_false5) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_end5) +@ball.move$if_end4 +0;JMP +(ball.move$if_false4) +@THIS +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ball.move$if_true6 +D;JNE +@ball.move$if_false6 +0;JMP +(ball.move$if_true6) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ball.move$if_end6 +0;JMP +(ball.move$if_false6) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_end6) +(ball.move$if_end4) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT0 +D=A +@22 +0;JMP +(RET_ADDRESS_GT0) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true7 +D;JNE +@ball.move$if_false7 +0;JMP +(ball.move$if_true7) +@SP +M=M+1 +A=M-1 +M=1 +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_false7) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@11 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT6 +D=A +@38 +0;JMP +(RET_ADDRESS_LT6) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true8 +D;JNE +@ball.move$if_false8 +0;JMP +(ball.move$if_true8) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@11 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(ball.move$if_false8) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@12 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT1 +D=A +@22 +0;JMP +(RET_ADDRESS_GT1) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true9 +D;JNE +@ball.move$if_false9 +0;JMP +(ball.move$if_true9) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@12 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_false9) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@13 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT7 +D=A +@38 +0;JMP +(RET_ADDRESS_LT7) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ball.move$if_true10 +D;JNE +@ball.move$if_false10 +0;JMP +(ball.move$if_true10) +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@14 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@THIS +D=M +@13 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(ball.move$if_false10) +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL15 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL15) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ball.bounce) +@5 +D=A +(LOOP_ball.bounce) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_ball.bounce +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL16 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL16) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL17 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL17) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ0 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ0) +@SP +AM=M-1 +D=M +@ball.bounce$if_true0 +D;JNE +@ball.bounce$if_false0 +0;JMP +(ball.bounce$if_true0) +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ball.bounce$if_end0 +0;JMP +(ball.bounce$if_false0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT8 +D=A +@38 +0;JMP +(RET_ADDRESS_LT8) +@SP +A=M-1 +M=!M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_EQ1 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ1) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT9 +D=A +@38 +0;JMP +(RET_ADDRESS_LT9) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_EQ2 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ2) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@ball.bounce$if_true1 +D;JNE +@ball.bounce$if_false1 +0;JMP +(ball.bounce$if_true1) +@20 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ball.bounce$if_end1 +0;JMP +(ball.bounce$if_false1) +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +(ball.bounce$if_end1) +(ball.bounce$if_end0) +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_EQ3 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ3) +@SP +AM=M-1 +D=M +@ball.bounce$if_true2 +D;JNE +@ball.bounce$if_false2 +0;JMP +(ball.bounce$if_true2) +@506 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL18 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL18) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL19 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL19) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL20 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL20) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ball.bounce$if_end2 +0;JMP +(ball.bounce$if_false2) +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ4 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ4) +@SP +AM=M-1 +D=M +@ball.bounce$if_true3 +D;JNE +@ball.bounce$if_false3 +0;JMP +(ball.bounce$if_true3) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL21 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL21) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL22 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL22) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL23 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL23) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ball.bounce$if_end3 +0;JMP +(ball.bounce$if_false3) +@THIS +D=M +@14 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ5 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ5) +@SP +AM=M-1 +D=M +@ball.bounce$if_true4 +D;JNE +@ball.bounce$if_false4 +0;JMP +(ball.bounce$if_true4) +@250 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL24 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL24) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL25 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL25) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL26 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL26) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ball.bounce$if_end4 +0;JMP +(ball.bounce$if_false4) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL27 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL27) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL28 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL28) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL29 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL29) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(ball.bounce$if_end4) +(ball.bounce$if_end3) +(ball.bounce$if_end2) +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@R13 +M=D +@ball.setdestination +D=A +@R14 +M=D +@RET_ADDRESS_CALL30 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL30) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.new) +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL31 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL31) +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL32 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL32) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(bat.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL33 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL33) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.show) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL34 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL34) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL35 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL35) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.hide) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL36 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL36) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.draw +D=A +@R14 +M=D +@RET_ADDRESS_CALL37 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL37) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.draw) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL38 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL38) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.setdirection) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.getleft) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(bat.getright) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +(bat.setwidth) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.hide +D=A +@R14 +M=D +@RET_ADDRESS_CALL39 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL39) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.show +D=A +@R14 +M=D +@RET_ADDRESS_CALL40 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL40) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(bat.move) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_EQ6 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ6) +@SP +AM=M-1 +D=M +@bat.move$if_true0 +D;JNE +@bat.move$if_false0 +0;JMP +(bat.move$if_true0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT10 +D=A +@38 +0;JMP +(RET_ADDRESS_LT10) +@SP +AM=M-1 +D=M +@bat.move$if_true1 +D;JNE +@bat.move$if_false1 +0;JMP +(bat.move$if_true1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(bat.move$if_false1) +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL41 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL41) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL42 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL42) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL43 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL43) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL44 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL44) +@SP +AM=M-1 +D=M +@R5 +M=D +@bat.move$if_end0 +0;JMP +(bat.move$if_false0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT2 +D=A +@22 +0;JMP +(RET_ADDRESS_GT2) +@SP +AM=M-1 +D=M +@bat.move$if_true2 +D;JNE +@bat.move$if_false2 +0;JMP +(bat.move$if_true2) +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +(bat.move$if_false2) +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL45 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL45) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL46 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL46) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@1 +D=A +@R13 +M=D +@screen.setcolor +D=A +@R14 +M=D +@RET_ADDRESS_CALL47 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL47) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL48 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL48) +@SP +AM=M-1 +D=M +@R5 +M=D +(bat.move$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(main.main) +@SP +AM=M+1 +A=A-1 +M=0 +@0 +D=A +@R13 +M=D +@ponggame.newinstance +D=A +@R14 +M=D +@RET_ADDRESS_CALL49 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL49) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@ponggame.getinstance +D=A +@R14 +M=D +@RET_ADDRESS_CALL50 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL50) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.run +D=A +@R14 +M=D +@RET_ADDRESS_CALL51 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL51) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL52 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL52) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.new) +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL53 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL53) +@SP +AM=M-1 +D=M +@THIS +M=D +@0 +D=A +@R13 +M=D +@screen.clearscreen +D=A +@R14 +M=D +@RET_ADDRESS_CALL54 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL54) +@SP +AM=M-1 +D=M +@R5 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@230 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@229 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@bat.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL55 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL55) +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@253 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@222 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@229 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@R13 +M=D +@ball.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL56 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL56) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@400 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@3 +D=A +@R13 +M=D +@ball.setdestination +D=A +@R14 +M=D +@RET_ADDRESS_CALL57 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL57) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@238 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@240 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@screen.drawrectangle +D=A +@R14 +M=D +@RET_ADDRESS_CALL58 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL58) +@SP +AM=M-1 +D=M +@R5 +M=D +@22 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@2 +D=A +@R13 +M=D +@output.movecursor +D=A +@R14 +M=D +@RET_ADDRESS_CALL59 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL59) +@SP +AM=M-1 +D=M +@R5 +M=D +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL60 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL60) +@83 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL61 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL61) +@99 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL62 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL62) +@111 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL63 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL63) +@114 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL64 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL64) +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL65 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL65) +@58 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL66 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL66) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL67 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL67) +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL68 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL68) +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL69 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL69) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ponggame.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL70 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL70) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL71 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL71) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL72 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL72) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.newinstance) +@0 +D=A +@R13 +M=D +@ponggame.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL73 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL73) +@SP +AM=M-1 +D=M +@ponggame.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.getinstance) +@ponggame.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(ponggame.run) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +(ponggame.run$while_exp0) +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.run$while_end0 +D;JNE +(ponggame.run$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ7 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ7) +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.run$while_end1 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.keypressed +D=A +@R14 +M=D +@RET_ADDRESS_CALL74 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL74) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.move +D=A +@R14 +M=D +@RET_ADDRESS_CALL75 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL75) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.moveball +D=A +@R14 +M=D +@RET_ADDRESS_CALL76 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL76) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$while_exp1 +0;JMP +(ponggame.run$while_end1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@130 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ8 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ8) +@SP +AM=M-1 +D=M +@ponggame.run$if_true0 +D;JNE +@ponggame.run$if_false0 +0;JMP +(ponggame.run$if_true0) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@2 +D=A +@R13 +M=D +@bat.setdirection +D=A +@R14 +M=D +@RET_ADDRESS_CALL77 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL77) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$if_end0 +0;JMP +(ponggame.run$if_false0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@132 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ9 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ9) +@SP +AM=M-1 +D=M +@ponggame.run$if_true1 +D;JNE +@ponggame.run$if_false1 +0;JMP +(ponggame.run$if_true1) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@bat.setdirection +D=A +@R14 +M=D +@RET_ADDRESS_CALL78 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL78) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$if_end1 +0;JMP +(ponggame.run$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@140 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ10 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ10) +@SP +AM=M-1 +D=M +@ponggame.run$if_true2 +D;JNE +@ponggame.run$if_false2 +0;JMP +(ponggame.run$if_true2) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +(ponggame.run$if_false2) +(ponggame.run$if_end1) +(ponggame.run$if_end0) +(ponggame.run$while_exp2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ11 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ11) +@SP +A=M-1 +M=!M +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.run$while_end2 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.keypressed +D=A +@R14 +M=D +@RET_ADDRESS_CALL79 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL79) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.move +D=A +@R14 +M=D +@RET_ADDRESS_CALL80 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL80) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ponggame.moveball +D=A +@R14 +M=D +@RET_ADDRESS_CALL81 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL81) +@SP +AM=M-1 +D=M +@R5 +M=D +@ponggame.run$while_exp2 +0;JMP +(ponggame.run$while_end2) +@ponggame.run$while_exp0 +0;JMP +(ponggame.run$while_end0) +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ponggame.run$if_true3 +D;JNE +@ponggame.run$if_false3 +0;JMP +(ponggame.run$if_true3) +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@output.movecursor +D=A +@R14 +M=D +@RET_ADDRESS_CALL82 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL82) +@SP +AM=M-1 +D=M +@R5 +M=D +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL83 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL83) +@71 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL84 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL84) +@97 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL85 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL85) +@109 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL86 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL86) +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL87 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL87) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL88 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL88) +@79 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL89 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL89) +@118 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL90 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL90) +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL91 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL91) +@114 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL92 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL92) +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL93 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL93) +@SP +AM=M-1 +D=M +@R5 +M=D +(ponggame.run$if_false3) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(ponggame.moveball) +@5 +D=A +(LOOP_ponggame.moveball) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_ponggame.moveball +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.move +D=A +@R14 +M=D +@RET_ADDRESS_CALL94 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL94) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT3 +D=A +@22 +0;JMP +(RET_ADDRESS_GT3) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ12 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ12) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true0 +D;JNE +@ponggame.moveball$if_false0 +0;JMP +(ponggame.moveball$if_true0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.getleft +D=A +@R14 +M=D +@RET_ADDRESS_CALL95 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL95) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@bat.getright +D=A +@R14 +M=D +@RET_ADDRESS_CALL96 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL96) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.getleft +D=A +@R14 +M=D +@RET_ADDRESS_CALL97 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL97) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@ball.getright +D=A +@R14 +M=D +@RET_ADDRESS_CALL98 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL98) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ13 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ13) +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true1 +D;JNE +@ponggame.moveball$if_false1 +0;JMP +(ponggame.moveball$if_true1) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT4 +D=A +@22 +0;JMP +(RET_ADDRESS_GT4) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT11 +D=A +@38 +0;JMP +(RET_ADDRESS_LT11) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +M=D +@THIS +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true2 +D;JNE +@ponggame.moveball$if_false2 +0;JMP +(ponggame.moveball$if_true2) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_LT12 +D=A +@38 +0;JMP +(RET_ADDRESS_LT12) +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true3 +D;JNE +@ponggame.moveball$if_false3 +0;JMP +(ponggame.moveball$if_true3) +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ponggame.moveball$if_end3 +0;JMP +(ponggame.moveball$if_false3) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@RET_ADDRESS_GT5 +D=A +@22 +0;JMP +(RET_ADDRESS_GT5) +@SP +AM=M-1 +D=M +@ponggame.moveball$if_true4 +D;JNE +@ponggame.moveball$if_false4 +0;JMP +(ponggame.moveball$if_true4) +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(ponggame.moveball$if_false4) +(ponggame.moveball$if_end3) +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@bat.setwidth +D=A +@R14 +M=D +@RET_ADDRESS_CALL99 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL99) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@22 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@output.movecursor +D=A +@R14 +M=D +@RET_ADDRESS_CALL100 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL100) +@SP +AM=M-1 +D=M +@R5 +M=D +@THIS +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printint +D=A +@R14 +M=D +@RET_ADDRESS_CALL101 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL101) +@SP +AM=M-1 +D=M +@R5 +M=D +(ponggame.moveball$if_false2) +(ponggame.moveball$if_false1) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@ball.bounce +D=A +@R14 +M=D +@RET_ADDRESS_CALL102 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL102) +@SP +AM=M-1 +D=M +@R5 +M=D +(ponggame.moveball$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(array.new) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT6 +D=A +@22 +0;JMP +(RET_ADDRESS_GT6) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@array.new$if_true0 +D;JNE +@array.new$if_false0 +0;JMP +(array.new$if_true0) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL103 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL103) +@SP +AM=M-1 +D=M +@R5 +M=D +(array.new$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL104 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL104) +@54 +0;JMP +(array.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL105 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL105) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(keyboard.init) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(keyboard.keypressed) +@24576 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.peek +D=A +@R14 +M=D +@RET_ADDRESS_CALL106 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL106) +@54 +0;JMP +(keyboard.readchar) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@SP +M=M+1 +A=M-1 +M=0 +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL107 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL107) +@SP +AM=M-1 +D=M +@R5 +M=D +(keyboard.readchar$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ14 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ14) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT7 +D=A +@22 +0;JMP +(RET_ADDRESS_GT7) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@keyboard.readchar$while_end0 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.keypressed +D=A +@R14 +M=D +@RET_ADDRESS_CALL108 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL108) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT8 +D=A +@22 +0;JMP +(RET_ADDRESS_GT8) +@SP +AM=M-1 +D=M +@keyboard.readchar$if_true0 +D;JNE +@keyboard.readchar$if_false0 +0;JMP +(keyboard.readchar$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(keyboard.readchar$if_false0) +@keyboard.readchar$while_exp0 +0;JMP +(keyboard.readchar$while_end0) +@0 +D=A +@R13 +M=D +@string.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL109 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL109) +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL110 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL110) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL111 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL111) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(keyboard.readline) +@5 +D=A +(LOOP_keyboard.readline) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_keyboard.readline +D;JGT +@80 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL112 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL112) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL113 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL113) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@string.newline +D=A +@R14 +M=D +@RET_ADDRESS_CALL114 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL114) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@0 +D=A +@R13 +M=D +@string.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL115 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL115) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(keyboard.readline$while_exp0) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@keyboard.readline$while_end0 +D;JNE +@0 +D=A +@R13 +M=D +@keyboard.readchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL116 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL116) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ15 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ15) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@keyboard.readline$if_true0 +D;JNE +@keyboard.readline$if_false0 +0;JMP +(keyboard.readline$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ16 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ16) +@SP +AM=M-1 +D=M +@keyboard.readline$if_true1 +D;JNE +@keyboard.readline$if_false1 +0;JMP +(keyboard.readline$if_true1) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.eraselastchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL117 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL117) +@SP +AM=M-1 +D=M +@R5 +M=D +@keyboard.readline$if_end1 +0;JMP +(keyboard.readline$if_false1) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL118 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL118) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(keyboard.readline$if_end1) +(keyboard.readline$if_false0) +@keyboard.readline$while_exp0 +0;JMP +(keyboard.readline$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(keyboard.readint) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@keyboard.readline +D=A +@R14 +M=D +@RET_ADDRESS_CALL119 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL119) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.intvalue +D=A +@R14 +M=D +@RET_ADDRESS_CALL120 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL120) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL121 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL121) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.init) +@SP +AM=M+1 +A=A-1 +M=0 +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL122 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL122) +@SP +AM=M-1 +D=M +@math.1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL123 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL123) +@SP +AM=M-1 +D=M +@math.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(math.init$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT13 +D=A +@38 +0;JMP +(RET_ADDRESS_LT13) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.init$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@math.init$while_exp0 +0;JMP +(math.init$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(math.abs) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT14 +D=A +@38 +0;JMP +(RET_ADDRESS_LT14) +@SP +AM=M-1 +D=M +@math.abs$if_true0 +D;JNE +@math.abs$if_false0 +0;JMP +(math.abs$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(math.abs$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.multiply) +@5 +D=A +(LOOP_math.multiply) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_math.multiply +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT15 +D=A +@38 +0;JMP +(RET_ADDRESS_LT15) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT9 +D=A +@22 +0;JMP +(RET_ADDRESS_GT9) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT10 +D=A +@22 +0;JMP +(RET_ADDRESS_GT10) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT16 +D=A +@38 +0;JMP +(RET_ADDRESS_LT16) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL124 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL124) +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL125 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL125) +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT17 +D=A +@38 +0;JMP +(RET_ADDRESS_LT17) +@SP +AM=M-1 +D=M +@math.multiply$if_true0 +D;JNE +@math.multiply$if_false0 +0;JMP +(math.multiply$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(math.multiply$if_false0) +(math.multiply$while_exp0) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT18 +D=A +@38 +0;JMP +(RET_ADDRESS_LT18) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.multiply$while_end0 +D;JNE +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT11 +D=A +@22 +0;JMP +(RET_ADDRESS_GT11) +@SP +AM=M-1 +D=M +@math.multiply$if_true1 +D;JNE +@math.multiply$if_false1 +0;JMP +(math.multiply$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(math.multiply$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@math.multiply$while_exp0 +0;JMP +(math.multiply$while_end0) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@math.multiply$if_true2 +D;JNE +@math.multiply$if_false2 +0;JMP +(math.multiply$if_true2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(math.multiply$if_false2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.divide) +@4 +D=A +(LOOP_math.divide) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_math.divide +D;JGT +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ17 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ17) +@SP +AM=M-1 +D=M +@math.divide$if_true0 +D;JNE +@math.divide$if_false0 +0;JMP +(math.divide$if_true0) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL126 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL126) +@SP +AM=M-1 +D=M +@R5 +M=D +(math.divide$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT19 +D=A +@38 +0;JMP +(RET_ADDRESS_LT19) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT12 +D=A +@22 +0;JMP +(RET_ADDRESS_GT12) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT13 +D=A +@22 +0;JMP +(RET_ADDRESS_GT13) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT20 +D=A +@38 +0;JMP +(RET_ADDRESS_LT20) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL127 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL127) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL128 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL128) +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(math.divide$while_exp0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$while_end0 +D;JNE +@32767 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT21 +D=A +@38 +0;JMP +(RET_ADDRESS_LT21) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$if_true1 +D;JNE +@math.divide$if_false1 +0;JMP +(math.divide$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT14 +D=A +@22 +0;JMP +(RET_ADDRESS_GT14) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$if_true2 +D;JNE +@math.divide$if_false2 +0;JMP +(math.divide$if_true2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(math.divide$if_false2) +(math.divide$if_false1) +@math.divide$while_exp0 +0;JMP +(math.divide$while_end0) +(math.divide$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT15 +D=A +@22 +0;JMP +(RET_ADDRESS_GT15) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$while_end1 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT16 +D=A +@22 +0;JMP +(RET_ADDRESS_GT16) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.divide$if_true3 +D;JNE +@math.divide$if_false3 +0;JMP +(math.divide$if_true3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(math.divide$if_false3) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@math.divide$while_exp1 +0;JMP +(math.divide$while_end1) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@math.divide$if_true4 +D;JNE +@math.divide$if_false4 +0;JMP +(math.divide$if_true4) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(math.divide$if_false4) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.sqrt) +@4 +D=A +(LOOP_math.sqrt) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_math.sqrt +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT22 +D=A +@38 +0;JMP +(RET_ADDRESS_LT22) +@SP +AM=M-1 +D=M +@math.sqrt$if_true0 +D;JNE +@math.sqrt$if_false0 +0;JMP +(math.sqrt$if_true0) +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL129 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL129) +@SP +AM=M-1 +D=M +@R5 +M=D +(math.sqrt$if_false0) +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(math.sqrt$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT17 +D=A +@22 +0;JMP +(RET_ADDRESS_GT17) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@math.sqrt$while_end0 +D;JNE +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@math.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL130 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL130) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT18 +D=A +@22 +0;JMP +(RET_ADDRESS_GT18) +@SP +A=M-1 +M=!M +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT23 +D=A +@38 +0;JMP +(RET_ADDRESS_LT23) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@math.sqrt$if_true1 +D;JNE +@math.sqrt$if_false1 +0;JMP +(math.sqrt$if_true1) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(math.sqrt$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@math.sqrt$while_exp0 +0;JMP +(math.sqrt$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.max) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT19 +D=A +@22 +0;JMP +(RET_ADDRESS_GT19) +@SP +AM=M-1 +D=M +@math.max$if_true0 +D;JNE +@math.max$if_false0 +0;JMP +(math.max$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(math.max$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(math.min) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT24 +D=A +@38 +0;JMP +(RET_ADDRESS_LT24) +@SP +AM=M-1 +D=M +@math.min$if_true0 +D;JNE +@math.min$if_false0 +0;JMP +(math.min$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(math.min$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(memory.init) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@memory.0 +M=D +@2048 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@14334 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@2049 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@2050 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(memory.peek) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(memory.poke) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@memory.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(memory.alloc) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@RET_ADDRESS_LT25 +D=A +@38 +0;JMP +(RET_ADDRESS_LT25) +@SP +AM=M-1 +D=M +@memory.alloc$if_true0 +D;JNE +@memory.alloc$if_false0 +0;JMP +(memory.alloc$if_true0) +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL131 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL131) +@SP +AM=M-1 +D=M +@R5 +M=D +(memory.alloc$if_false0) +@2048 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(memory.alloc$while_exp0) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT26 +D=A +@38 +0;JMP +(RET_ADDRESS_LT26) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@memory.alloc$while_end0 +D;JNE +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@memory.alloc$while_exp0 +0;JMP +(memory.alloc$while_end0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@16379 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT20 +D=A +@22 +0;JMP +(RET_ADDRESS_GT20) +@SP +AM=M-1 +D=M +@memory.alloc$if_true1 +D;JNE +@memory.alloc$if_false1 +0;JMP +(memory.alloc$if_true1) +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL132 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL132) +@SP +AM=M-1 +D=M +@R5 +M=D +(memory.alloc$if_false1) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_GT21 +D=A +@22 +0;JMP +(RET_ADDRESS_GT21) +@SP +AM=M-1 +D=M +@memory.alloc$if_true2 +D;JNE +@memory.alloc$if_false2 +0;JMP +(memory.alloc$if_true2) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_EQ18 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ18) +@SP +AM=M-1 +D=M +@memory.alloc$if_true3 +D;JNE +@memory.alloc$if_false3 +0;JMP +(memory.alloc$if_true3) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@memory.alloc$if_end3 +0;JMP +(memory.alloc$if_false3) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(memory.alloc$if_end3) +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(memory.alloc$if_false2) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +(memory.dealloc) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ19 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ19) +@SP +AM=M-1 +D=M +@memory.dealloc$if_true0 +D;JNE +@memory.dealloc$if_false0 +0;JMP +(memory.dealloc$if_true0) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@memory.dealloc$if_end0 +0;JMP +(memory.dealloc$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@RET_ADDRESS_EQ20 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ20) +@SP +AM=M-1 +D=M +@memory.dealloc$if_true1 +D;JNE +@memory.dealloc$if_false1 +0;JMP +(memory.dealloc$if_true1) +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@memory.dealloc$if_end1 +0;JMP +(memory.dealloc$if_false1) +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(memory.dealloc$if_end1) +(memory.dealloc$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.init) +@16384 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.4 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@output.0 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL133 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL133) +@SP +AM=M-1 +D=M +@output.3 +M=D +@0 +D=A +@R13 +M=D +@output.initmap +D=A +@R14 +M=D +@RET_ADDRESS_CALL134 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL134) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@output.createshiftedmap +D=A +@R14 +M=D +@RET_ADDRESS_CALL135 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL135) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.initmap) +@127 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL136 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL136) +@SP +AM=M-1 +D=M +@output.5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL137 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL137) +@SP +AM=M-1 +D=M +@R5 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL138 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL138) +@SP +AM=M-1 +D=M +@R5 +M=D +@33 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL139 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL139) +@SP +AM=M-1 +D=M +@R5 +M=D +@34 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@20 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL140 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL140) +@SP +AM=M-1 +D=M +@R5 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL141 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL141) +@SP +AM=M-1 +D=M +@R5 +M=D +@36 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL142 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL142) +@SP +AM=M-1 +D=M +@R5 +M=D +@37 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL143 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL143) +@SP +AM=M-1 +D=M +@R5 +M=D +@38 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL144 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL144) +@SP +AM=M-1 +D=M +@R5 +M=D +@39 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL145 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL145) +@SP +AM=M-1 +D=M +@R5 +M=D +@40 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL146 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL146) +@SP +AM=M-1 +D=M +@R5 +M=D +@41 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL147 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL147) +@SP +AM=M-1 +D=M +@R5 +M=D +@42 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL148 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL148) +@SP +AM=M-1 +D=M +@R5 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL149 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL149) +@SP +AM=M-1 +D=M +@R5 +M=D +@44 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL150 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL150) +@SP +AM=M-1 +D=M +@R5 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL151 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL151) +@SP +AM=M-1 +D=M +@R5 +M=D +@46 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL152 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL152) +@SP +AM=M-1 +D=M +@R5 +M=D +@47 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL153 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL153) +@SP +AM=M-1 +D=M +@R5 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL154 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL154) +@SP +AM=M-1 +D=M +@R5 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL155 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL155) +@SP +AM=M-1 +D=M +@R5 +M=D +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL156 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL156) +@SP +AM=M-1 +D=M +@R5 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL157 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL157) +@SP +AM=M-1 +D=M +@R5 +M=D +@52 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@26 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL158 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL158) +@SP +AM=M-1 +D=M +@R5 +M=D +@53 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL159 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL159) +@SP +AM=M-1 +D=M +@R5 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL160 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL160) +@SP +AM=M-1 +D=M +@R5 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL161 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL161) +@SP +AM=M-1 +D=M +@R5 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL162 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL162) +@SP +AM=M-1 +D=M +@R5 +M=D +@57 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL163 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL163) +@SP +AM=M-1 +D=M +@R5 +M=D +@58 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL164 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL164) +@SP +AM=M-1 +D=M +@R5 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL165 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL165) +@SP +AM=M-1 +D=M +@R5 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL166 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL166) +@SP +AM=M-1 +D=M +@R5 +M=D +@61 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL167 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL167) +@SP +AM=M-1 +D=M +@R5 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL168 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL168) +@SP +AM=M-1 +D=M +@R5 +M=D +@64 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL169 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL169) +@SP +AM=M-1 +D=M +@R5 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL170 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL170) +@SP +AM=M-1 +D=M +@R5 +M=D +@65 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL171 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL171) +@SP +AM=M-1 +D=M +@R5 +M=D +@66 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL172 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL172) +@SP +AM=M-1 +D=M +@R5 +M=D +@67 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL173 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL173) +@SP +AM=M-1 +D=M +@R5 +M=D +@68 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL174 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL174) +@SP +AM=M-1 +D=M +@R5 +M=D +@69 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL175 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL175) +@SP +AM=M-1 +D=M +@R5 +M=D +@70 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL176 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL176) +@SP +AM=M-1 +D=M +@R5 +M=D +@71 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@44 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL177 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL177) +@SP +AM=M-1 +D=M +@R5 +M=D +@72 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL178 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL178) +@SP +AM=M-1 +D=M +@R5 +M=D +@73 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL179 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL179) +@SP +AM=M-1 +D=M +@R5 +M=D +@74 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL180 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL180) +@SP +AM=M-1 +D=M +@R5 +M=D +@75 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL181 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL181) +@SP +AM=M-1 +D=M +@R5 +M=D +@76 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL182 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL182) +@SP +AM=M-1 +D=M +@R5 +M=D +@77 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@33 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL183 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL183) +@SP +AM=M-1 +D=M +@R5 +M=D +@78 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL184 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL184) +@SP +AM=M-1 +D=M +@R5 +M=D +@79 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL185 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL185) +@SP +AM=M-1 +D=M +@R5 +M=D +@80 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL186 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL186) +@SP +AM=M-1 +D=M +@R5 +M=D +@81 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@59 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL187 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL187) +@SP +AM=M-1 +D=M +@R5 +M=D +@82 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL188 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL188) +@SP +AM=M-1 +D=M +@R5 +M=D +@83 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL189 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL189) +@SP +AM=M-1 +D=M +@R5 +M=D +@84 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL190 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL190) +@SP +AM=M-1 +D=M +@R5 +M=D +@85 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL191 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL191) +@SP +AM=M-1 +D=M +@R5 +M=D +@86 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL192 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL192) +@SP +AM=M-1 +D=M +@R5 +M=D +@87 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL193 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL193) +@SP +AM=M-1 +D=M +@R5 +M=D +@88 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL194 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL194) +@SP +AM=M-1 +D=M +@R5 +M=D +@89 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL195 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL195) +@SP +AM=M-1 +D=M +@R5 +M=D +@90 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@49 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@35 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL196 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL196) +@SP +AM=M-1 +D=M +@R5 +M=D +@91 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL197 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL197) +@SP +AM=M-1 +D=M +@R5 +M=D +@92 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=1 +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL198 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL198) +@SP +AM=M-1 +D=M +@R5 +M=D +@93 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL199 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL199) +@SP +AM=M-1 +D=M +@R5 +M=D +@94 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL200 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL200) +@SP +AM=M-1 +D=M +@R5 +M=D +@95 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL201 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL201) +@SP +AM=M-1 +D=M +@R5 +M=D +@96 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL202 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL202) +@SP +AM=M-1 +D=M +@R5 +M=D +@97 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL203 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL203) +@SP +AM=M-1 +D=M +@R5 +M=D +@98 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL204 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL204) +@SP +AM=M-1 +D=M +@R5 +M=D +@99 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL205 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL205) +@SP +AM=M-1 +D=M +@R5 +M=D +@100 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@60 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL206 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL206) +@SP +AM=M-1 +D=M +@R5 +M=D +@101 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL207 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL207) +@SP +AM=M-1 +D=M +@R5 +M=D +@102 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@38 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL208 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL208) +@SP +AM=M-1 +D=M +@R5 +M=D +@103 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL209 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL209) +@SP +AM=M-1 +D=M +@R5 +M=D +@104 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL210 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL210) +@SP +AM=M-1 +D=M +@R5 +M=D +@105 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL211 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL211) +@SP +AM=M-1 +D=M +@R5 +M=D +@106 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL212 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL212) +@SP +AM=M-1 +D=M +@R5 +M=D +@107 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL213 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL213) +@SP +AM=M-1 +D=M +@R5 +M=D +@108 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL214 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL214) +@SP +AM=M-1 +D=M +@R5 +M=D +@109 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@29 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@43 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL215 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL215) +@SP +AM=M-1 +D=M +@R5 +M=D +@110 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@29 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL216 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL216) +@SP +AM=M-1 +D=M +@R5 +M=D +@111 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL217 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL217) +@SP +AM=M-1 +D=M +@R5 +M=D +@112 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL218 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL218) +@SP +AM=M-1 +D=M +@R5 +M=D +@113 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL219 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL219) +@SP +AM=M-1 +D=M +@R5 +M=D +@114 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@29 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@55 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL220 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL220) +@SP +AM=M-1 +D=M +@R5 +M=D +@115 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL221 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL221) +@SP +AM=M-1 +D=M +@R5 +M=D +@116 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@28 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL222 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL222) +@SP +AM=M-1 +D=M +@R5 +M=D +@117 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL223 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL223) +@SP +AM=M-1 +D=M +@R5 +M=D +@118 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL224 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL224) +@SP +AM=M-1 +D=M +@R5 +M=D +@119 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL225 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL225) +@SP +AM=M-1 +D=M +@R5 +M=D +@120 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@30 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL226 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL226) +@SP +AM=M-1 +D=M +@R5 +M=D +@121 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@62 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@24 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL227 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL227) +@SP +AM=M-1 +D=M +@R5 +M=D +@122 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@27 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@51 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL228 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL228) +@SP +AM=M-1 +D=M +@R5 +M=D +@123 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL229 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL229) +@SP +AM=M-1 +D=M +@R5 +M=D +@124 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL230 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL230) +@SP +AM=M-1 +D=M +@R5 +M=D +@125 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@56 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL231 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL231) +@SP +AM=M-1 +D=M +@R5 +M=D +@126 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@38 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@25 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@SP +M=M+1 +A=M-1 +M=0 +@12 +D=A +@R13 +M=D +@output.create +D=A +@R14 +M=D +@RET_ADDRESS_CALL232 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL232) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.create) +@SP +AM=M+1 +A=A-1 +M=0 +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL233 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL233) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@4 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +D=M +@11 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.createshiftedmap) +@4 +D=A +(LOOP_output.createshiftedmap) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_output.createshiftedmap +D;JGT +@127 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL234 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL234) +@SP +AM=M-1 +D=M +@output.6 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(output.createshiftedmap$while_exp0) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@127 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT27 +D=A +@38 +0;JMP +(RET_ADDRESS_LT27) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.createshiftedmap$while_end0 +D;JNE +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL235 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL235) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.6 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(output.createshiftedmap$while_exp1) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT28 +D=A +@38 +0;JMP +(RET_ADDRESS_LT28) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.createshiftedmap$while_end1 +D;JNE +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@256 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL236 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL236) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@output.createshiftedmap$while_exp1 +0;JMP +(output.createshiftedmap$while_end1) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ21 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ21) +@SP +AM=M-1 +D=M +@output.createshiftedmap$if_true0 +D;JNE +@output.createshiftedmap$if_false0 +0;JMP +(output.createshiftedmap$if_true0) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@output.createshiftedmap$if_end0 +0;JMP +(output.createshiftedmap$if_false0) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(output.createshiftedmap$if_end0) +@output.createshiftedmap$while_exp0 +0;JMP +(output.createshiftedmap$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.getmap) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT29 +D=A +@38 +0;JMP +(RET_ADDRESS_LT29) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@126 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT22 +D=A +@22 +0;JMP +(RET_ADDRESS_GT22) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@output.getmap$if_true0 +D;JNE +@output.getmap$if_false0 +0;JMP +(output.getmap$if_true0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +(output.getmap$if_false0) +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.getmap$if_true1 +D;JNE +@output.getmap$if_false1 +0;JMP +(output.getmap$if_true1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@output.getmap$if_end1 +0;JMP +(output.getmap$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.6 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(output.getmap$if_end1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(output.drawchar) +@4 +D=A +(LOOP_output.drawchar) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_output.drawchar +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.getmap +D=A +@R14 +M=D +@RET_ADDRESS_CALL237 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL237) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(output.drawchar$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@11 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT30 +D=A +@38 +0;JMP +(RET_ADDRESS_LT30) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.drawchar$while_end0 +D;JNE +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.drawchar$if_true0 +D;JNE +@output.drawchar$if_false0 +0;JMP +(output.drawchar$if_true0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.4 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@256 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@output.drawchar$if_end0 +0;JMP +(output.drawchar$if_false0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.4 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +(output.drawchar$if_end0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.4 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@output.drawchar$while_exp0 +0;JMP +(output.drawchar$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.movecursor) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT31 +D=A +@38 +0;JMP +(RET_ADDRESS_LT31) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@22 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT23 +D=A +@22 +0;JMP +(RET_ADDRESS_GT23) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT32 +D=A +@38 +0;JMP +(RET_ADDRESS_LT32) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@63 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT24 +D=A +@22 +0;JMP +(RET_ADDRESS_GT24) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@output.movecursor$if_true0 +D;JNE +@output.movecursor$if_false0 +0;JMP +(output.movecursor$if_true0) +@20 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL238 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL238) +@SP +AM=M-1 +D=M +@R5 +M=D +(output.movecursor$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL239 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL239) +@SP +AM=M-1 +D=M +@output.0 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@352 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL240 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL240) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@output.1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL241 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL241) +@RET_ADDRESS_EQ22 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ22) +@SP +AM=M-1 +D=M +@output.2 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.drawchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL242 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL242) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.printchar) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@0 +D=A +@R13 +M=D +@string.newline +D=A +@R14 +M=D +@RET_ADDRESS_CALL243 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL243) +@RET_ADDRESS_EQ23 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ23) +@SP +AM=M-1 +D=M +@output.printchar$if_true0 +D;JNE +@output.printchar$if_false0 +0;JMP +(output.printchar$if_true0) +@0 +D=A +@R13 +M=D +@output.println +D=A +@R14 +M=D +@RET_ADDRESS_CALL244 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL244) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.printchar$if_end0 +0;JMP +(output.printchar$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@0 +D=A +@R13 +M=D +@string.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL245 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL245) +@RET_ADDRESS_EQ24 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ24) +@SP +AM=M-1 +D=M +@output.printchar$if_true1 +D;JNE +@output.printchar$if_false1 +0;JMP +(output.printchar$if_true1) +@0 +D=A +@R13 +M=D +@output.backspace +D=A +@R14 +M=D +@RET_ADDRESS_CALL246 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL246) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.printchar$if_end1 +0;JMP +(output.printchar$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.drawchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL247 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL247) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.printchar$if_true2 +D;JNE +@output.printchar$if_false2 +0;JMP +(output.printchar$if_true2) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@output.0 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.printchar$if_false2) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ25 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ25) +@SP +AM=M-1 +D=M +@output.printchar$if_true3 +D;JNE +@output.printchar$if_false3 +0;JMP +(output.printchar$if_true3) +@0 +D=A +@R13 +M=D +@output.println +D=A +@R14 +M=D +@RET_ADDRESS_CALL248 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL248) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.printchar$if_end3 +0;JMP +(output.printchar$if_false3) +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +(output.printchar$if_end3) +(output.printchar$if_end1) +(output.printchar$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.printstring) +@SP +A=M +M=0 +AD=A+1 +M=0 +@SP +M=D+1 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.length +D=A +@R14 +M=D +@RET_ADDRESS_CALL249 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL249) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(output.printstring$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT33 +D=A +@38 +0;JMP +(RET_ADDRESS_LT33) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.printstring$while_end0 +D;JNE +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.charat +D=A +@R14 +M=D +@RET_ADDRESS_CALL250 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL250) +@1 +D=A +@R13 +M=D +@output.printchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL251 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL251) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@output.printstring$while_exp0 +0;JMP +(output.printstring$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.printint) +@output.3 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.setint +D=A +@R14 +M=D +@RET_ADDRESS_CALL252 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL252) +@SP +AM=M-1 +D=M +@R5 +M=D +@output.3 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL253 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL253) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.println) +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@352 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@output.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@8128 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ26 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ26) +@SP +AM=M-1 +D=M +@output.println$if_true0 +D;JNE +@output.println$if_false0 +0;JMP +(output.println$if_true0) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.println$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(output.backspace) +@output.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.backspace$if_true0 +D;JNE +@output.backspace$if_false0 +0;JMP +(output.backspace$if_true0) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT25 +D=A +@22 +0;JMP +(RET_ADDRESS_GT25) +@SP +AM=M-1 +D=M +@output.backspace$if_true1 +D;JNE +@output.backspace$if_false1 +0;JMP +(output.backspace$if_true1) +@output.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.0 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.1 +M=D +@output.backspace$if_end1 +0;JMP +(output.backspace$if_false1) +@31 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.0 +M=D +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ27 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ27) +@SP +AM=M-1 +D=M +@output.backspace$if_true2 +D;JNE +@output.backspace$if_false2 +0;JMP +(output.backspace$if_true2) +@8128 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.backspace$if_false2) +@output.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@321 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@output.1 +M=D +(output.backspace$if_end1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@output.2 +M=D +@output.backspace$if_end0 +0;JMP +(output.backspace$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@output.2 +M=D +(output.backspace$if_end0) +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.drawchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL254 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL254) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.init) +@SP +AM=M+1 +A=A-1 +M=0 +@16384 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.2 +M=D +@17 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL255 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL255) +@SP +AM=M-1 +D=M +@screen.0 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(screen.init$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT34 +D=A +@38 +0;JMP +(RET_ADDRESS_LT34) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.init$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@screen.init$while_exp0 +0;JMP +(screen.init$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.clearscreen) +@SP +AM=M+1 +A=A-1 +M=0 +(screen.clearscreen$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@8192 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT35 +D=A +@38 +0;JMP +(RET_ADDRESS_LT35) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.clearscreen$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.clearscreen$while_exp0 +0;JMP +(screen.clearscreen$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.updatelocation) +@screen.2 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.updatelocation$if_true0 +D;JNE +@screen.updatelocation$if_false0 +0;JMP +(screen.updatelocation$if_true0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@screen.updatelocation$if_end0 +0;JMP +(screen.updatelocation$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +(screen.updatelocation$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.setcolor) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.2 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawpixel) +@3 +D=A +(LOOP_screen.drawpixel) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawpixel +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT36 +D=A +@38 +0;JMP +(RET_ADDRESS_LT36) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT26 +D=A +@22 +0;JMP +(RET_ADDRESS_GT26) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT37 +D=A +@38 +0;JMP +(RET_ADDRESS_LT37) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT27 +D=A +@22 +0;JMP +(RET_ADDRESS_GT27) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawpixel$if_true0 +D;JNE +@screen.drawpixel$if_false0 +0;JMP +(screen.drawpixel$if_true0) +@7 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL256 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL256) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawpixel$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL257 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL257) +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL258 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL258) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL259 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL259) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL260 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL260) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawconditional) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.drawconditional$if_true0 +D;JNE +@screen.drawconditional$if_false0 +0;JMP +(screen.drawconditional$if_true0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.drawpixel +D=A +@R14 +M=D +@RET_ADDRESS_CALL261 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL261) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawconditional$if_end0 +0;JMP +(screen.drawconditional$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.drawpixel +D=A +@R14 +M=D +@RET_ADDRESS_CALL262 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL262) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawconditional$if_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawline) +@11 +D=A +(LOOP_screen.drawline) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawline +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT38 +D=A +@38 +0;JMP +(RET_ADDRESS_LT38) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT28 +D=A +@22 +0;JMP +(RET_ADDRESS_GT28) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT39 +D=A +@38 +0;JMP +(RET_ADDRESS_LT39) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT29 +D=A +@22 +0;JMP +(RET_ADDRESS_GT29) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawline$if_true0 +D;JNE +@screen.drawline$if_false0 +0;JMP +(screen.drawline$if_true0) +@8 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL263 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL263) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawline$if_false0) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL264 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL264) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=A +@R13 +M=D +@math.abs +D=A +@R14 +M=D +@RET_ADDRESS_CALL265 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL265) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT40 +D=A +@38 +0;JMP +(RET_ADDRESS_LT40) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT41 +D=A +@38 +0;JMP +(RET_ADDRESS_LT41) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +M=!M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT42 +D=A +@38 +0;JMP +(RET_ADDRESS_LT42) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawline$if_true1 +D;JNE +@screen.drawline$if_false1 +0;JMP +(screen.drawline$if_true1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +A=A+1 +A=A+1 +M=D +(screen.drawline$if_false1) +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.drawline$if_true2 +D;JNE +@screen.drawline$if_false2 +0;JMP +(screen.drawline$if_true2) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT30 +D=A +@22 +0;JMP +(RET_ADDRESS_GT30) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@screen.drawline$if_end2 +0;JMP +(screen.drawline$if_false2) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT31 +D=A +@22 +0;JMP +(RET_ADDRESS_GT31) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +(screen.drawline$if_end2) +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL266 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL266) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL267 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL267) +@LCL +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL268 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL268) +@LCL +D=M +@10 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@R13 +M=D +@screen.drawconditional +D=A +@R14 +M=D +@RET_ADDRESS_CALL269 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL269) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawline$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT43 +D=A +@38 +0;JMP +(RET_ADDRESS_LT43) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawline$while_end0 +D;JNE +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT44 +D=A +@38 +0;JMP +(RET_ADDRESS_LT44) +@SP +AM=M-1 +D=M +@screen.drawline$if_true3 +D;JNE +@screen.drawline$if_false3 +0;JMP +(screen.drawline$if_true3) +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@screen.drawline$if_end3 +0;JMP +(screen.drawline$if_false3) +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@screen.drawline$if_true4 +D;JNE +@screen.drawline$if_false4 +0;JMP +(screen.drawline$if_true4) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawline$if_end4 +0;JMP +(screen.drawline$if_false4) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(screen.drawline$if_end4) +(screen.drawline$if_end3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@3 +D=A +@R13 +M=D +@screen.drawconditional +D=A +@R14 +M=D +@RET_ADDRESS_CALL270 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL270) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawline$while_exp0 +0;JMP +(screen.drawline$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawrectangle) +@9 +D=A +(LOOP_screen.drawrectangle) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawrectangle +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT32 +D=A +@22 +0;JMP +(RET_ADDRESS_GT32) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT33 +D=A +@22 +0;JMP +(RET_ADDRESS_GT33) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT45 +D=A +@38 +0;JMP +(RET_ADDRESS_LT45) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT34 +D=A +@22 +0;JMP +(RET_ADDRESS_GT34) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT46 +D=A +@38 +0;JMP +(RET_ADDRESS_LT46) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT35 +D=A +@22 +0;JMP +(RET_ADDRESS_GT35) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawrectangle$if_true0 +D;JNE +@screen.drawrectangle$if_false0 +0;JMP +(screen.drawrectangle$if_true0) +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL271 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL271) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawrectangle$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL272 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL272) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL273 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL273) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL274 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL274) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL275 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL275) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL276 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL276) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +(screen.drawrectangle$while_exp0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT36 +D=A +@22 +0;JMP +(RET_ADDRESS_GT36) +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawrectangle$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ28 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ28) +@SP +AM=M-1 +D=M +@screen.drawrectangle$if_true1 +D;JNE +@screen.drawrectangle$if_false1 +0;JMP +(screen.drawrectangle$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL277 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL277) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawrectangle$if_end1 +0;JMP +(screen.drawrectangle$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL278 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL278) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(screen.drawrectangle$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT47 +D=A +@38 +0;JMP +(RET_ADDRESS_LT47) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawrectangle$while_end1 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL279 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL279) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawrectangle$while_exp1 +0;JMP +(screen.drawrectangle$while_end1) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL280 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL280) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawrectangle$if_end1) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawrectangle$while_exp0 +0;JMP +(screen.drawrectangle$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawhorizontal) +@11 +D=A +(LOOP_screen.drawhorizontal) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawhorizontal +D;JGT +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.min +D=A +@R14 +M=D +@RET_ADDRESS_CALL281 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL281) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.max +D=A +@R14 +M=D +@RET_ADDRESS_CALL282 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL282) +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT37 +D=A +@22 +0;JMP +(RET_ADDRESS_GT37) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@256 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT48 +D=A +@38 +0;JMP +(RET_ADDRESS_LT48) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@512 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT49 +D=A +@38 +0;JMP +(RET_ADDRESS_LT49) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@RET_ADDRESS_GT38 +D=A +@22 +0;JMP +(RET_ADDRESS_GT38) +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +AM=M-1 +D=M +@screen.drawhorizontal$if_true0 +D;JNE +@screen.drawhorizontal$if_false0 +0;JMP +(screen.drawhorizontal$if_true0) +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@2 +D=A +@R13 +M=D +@math.max +D=A +@R14 +M=D +@RET_ADDRESS_CALL283 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL283) +@LCL +D=M +@7 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.min +D=A +@R14 +M=D +@RET_ADDRESS_CALL284 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL284) +@LCL +D=M +@8 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL285 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL285) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +D=M +@7 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL286 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL286) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@9 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL287 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL287) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +D=M +@8 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL288 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL288) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +D=M +@10 +D=D+A +@R13 +M=D +@SP +AM=M-1 +D=M +@R13 +A=M +M=D +@LCL +D=M +@9 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@10 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@screen.0 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@32 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL289 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL289) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@6 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ29 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ29) +@SP +AM=M-1 +D=M +@screen.drawhorizontal$if_true1 +D;JNE +@screen.drawhorizontal$if_false1 +0;JMP +(screen.drawhorizontal$if_true1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL290 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL290) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawhorizontal$if_end1 +0;JMP +(screen.drawhorizontal$if_false1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@5 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL291 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL291) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(screen.drawhorizontal$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT50 +D=A +@38 +0;JMP +(RET_ADDRESS_LT50) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawhorizontal$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +A=M-1 +D=!M +M=D+1 +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL292 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL292) +@SP +AM=M-1 +D=M +@R5 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@screen.drawhorizontal$while_exp0 +0;JMP +(screen.drawhorizontal$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@screen.updatelocation +D=A +@R14 +M=D +@RET_ADDRESS_CALL293 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL293) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawhorizontal$if_end1) +(screen.drawhorizontal$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawsymetric) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL294 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL294) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL295 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL295) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL296 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL296) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@R13 +M=D +@screen.drawhorizontal +D=A +@R14 +M=D +@RET_ADDRESS_CALL297 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL297) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(screen.drawcircle) +@3 +D=A +(LOOP_screen.drawcircle) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_screen.drawcircle +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT51 +D=A +@38 +0;JMP +(RET_ADDRESS_LT51) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT39 +D=A +@22 +0;JMP +(RET_ADDRESS_GT39) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT52 +D=A +@38 +0;JMP +(RET_ADDRESS_LT52) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT40 +D=A +@22 +0;JMP +(RET_ADDRESS_GT40) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawcircle$if_true0 +D;JNE +@screen.drawcircle$if_false0 +0;JMP +(screen.drawcircle$if_true0) +@12 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL298 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL298) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawcircle$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT53 +D=A +@38 +0;JMP +(RET_ADDRESS_LT53) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@511 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT41 +D=A +@22 +0;JMP +(RET_ADDRESS_GT41) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT54 +D=A +@38 +0;JMP +(RET_ADDRESS_LT54) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@255 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT42 +D=A +@22 +0;JMP +(RET_ADDRESS_GT42) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@screen.drawcircle$if_true1 +D;JNE +@screen.drawcircle$if_false1 +0;JMP +(screen.drawcircle$if_true1) +@13 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL299 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL299) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawcircle$if_false1) +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@screen.drawsymetric +D=A +@R14 +M=D +@RET_ADDRESS_CALL300 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL300) +@SP +AM=M-1 +D=M +@R5 +M=D +(screen.drawcircle$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT43 +D=A +@22 +0;JMP +(RET_ADDRESS_GT43) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@screen.drawcircle$while_end0 +D;JNE +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT55 +D=A +@38 +0;JMP +(RET_ADDRESS_LT55) +@SP +AM=M-1 +D=M +@screen.drawcircle$if_true2 +D;JNE +@screen.drawcircle$if_false2 +0;JMP +(screen.drawcircle$if_true2) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL301 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL301) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@screen.drawcircle$if_end2 +0;JMP +(screen.drawcircle$if_false2) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL302 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL302) +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@5 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(screen.drawcircle$if_end2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@4 +D=A +@R13 +M=D +@screen.drawsymetric +D=A +@R14 +M=D +@RET_ADDRESS_CALL303 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL303) +@SP +AM=M-1 +D=M +@R5 +M=D +@screen.drawcircle$while_exp0 +0;JMP +(screen.drawcircle$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.new) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.alloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL304 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL304) +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT56 +D=A +@38 +0;JMP +(RET_ADDRESS_LT56) +@SP +AM=M-1 +D=M +@string.new$if_true0 +D;JNE +@string.new$if_false0 +0;JMP +(string.new$if_true0) +@14 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL305 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL305) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.new$if_false0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT44 +D=A +@22 +0;JMP +(RET_ADDRESS_GT44) +@SP +AM=M-1 +D=M +@string.new$if_true1 +D;JNE +@string.new$if_false1 +0;JMP +(string.new$if_true1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL306 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL306) +@SP +AM=M-1 +D=M +@THIS +A=M+1 +M=D +(string.new$if_false1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.dispose) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT45 +D=A +@22 +0;JMP +(RET_ADDRESS_GT45) +@SP +AM=M-1 +D=M +@string.dispose$if_true0 +D;JNE +@string.dispose$if_false0 +0;JMP +(string.dispose$if_true0) +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL307 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL307) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.dispose$if_false0) +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@memory.dealloc +D=A +@R14 +M=D +@RET_ADDRESS_CALL308 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL308) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.length) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.charat) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT57 +D=A +@38 +0;JMP +(RET_ADDRESS_LT57) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT46 +D=A +@22 +0;JMP +(RET_ADDRESS_GT46) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ30 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ30) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@string.charat$if_true0 +D;JNE +@string.charat$if_false0 +0;JMP +(string.charat$if_true0) +@15 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL309 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL309) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.charat$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.setcharat) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT58 +D=A +@38 +0;JMP +(RET_ADDRESS_LT58) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT47 +D=A +@22 +0;JMP +(RET_ADDRESS_GT47) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ31 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ31) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +AM=M-1 +D=M +@string.setcharat$if_true0 +D;JNE +@string.setcharat$if_false0 +0;JMP +(string.setcharat$if_true0) +@16 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL310 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL310) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.setcharat$if_false0) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.appendchar) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ32 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ32) +@SP +AM=M-1 +D=M +@string.appendchar$if_true0 +D;JNE +@string.appendchar$if_false0 +0;JMP +(string.appendchar$if_true0) +@17 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL311 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL311) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.appendchar$if_false0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@THIS +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.eraselastchar) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ33 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ33) +@SP +AM=M-1 +D=M +@string.eraselastchar$if_true0 +D;JNE +@string.eraselastchar$if_false0 +0;JMP +(string.eraselastchar$if_true0) +@18 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL312 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL312) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.eraselastchar$if_false0) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.intvalue) +@5 +D=A +(LOOP_string.intvalue) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_string.intvalue +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ34 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ34) +@SP +AM=M-1 +D=M +@string.intvalue$if_true0 +D;JNE +@string.intvalue$if_false0 +0;JMP +(string.intvalue$if_true0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.intvalue$if_false0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_EQ35 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ35) +@SP +AM=M-1 +D=M +@string.intvalue$if_true1 +D;JNE +@string.intvalue$if_false1 +0;JMP +(string.intvalue$if_true1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(string.intvalue$if_false1) +(string.intvalue$while_exp0) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT59 +D=A +@38 +0;JMP +(RET_ADDRESS_LT59) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@string.intvalue$while_end0 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT60 +D=A +@38 +0;JMP +(RET_ADDRESS_LT60) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@9 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_GT48 +D=A +@22 +0;JMP +(RET_ADDRESS_GT48) +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@string.intvalue$if_true2 +D;JNE +@string.intvalue$if_false2 +0;JMP +(string.intvalue$if_true2) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL313 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL313) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(string.intvalue$if_false2) +@string.intvalue$while_exp0 +0;JMP +(string.intvalue$while_end0) +@LCL +D=M +@4 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@string.intvalue$if_true3 +D;JNE +@string.intvalue$if_false3 +0;JMP +(string.intvalue$if_true3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(string.intvalue$if_false3) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.setint) +@4 +D=A +(LOOP_string.setint) +D=D-1 +@SP +AM=M+1 +A=A-1 +M=0 +@LOOP_string.setint +D;JGT +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THIS +M=D +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ36 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ36) +@SP +AM=M-1 +D=M +@string.setint$if_true0 +D;JNE +@string.setint$if_false0 +0;JMP +(string.setint$if_true0) +@19 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL314 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL314) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.setint$if_false0) +@6 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL315 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL315) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT61 +D=A +@38 +0;JMP +(RET_ADDRESS_LT61) +@SP +AM=M-1 +D=M +@string.setint$if_true1 +D;JNE +@string.setint$if_false1 +0;JMP +(string.setint$if_true1) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@LCL +A=M+1 +A=A+1 +A=A+1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +A=M-1 +D=!M +M=D+1 +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +(string.setint$if_false1) +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +(string.setint$while_exp0) +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT49 +D=A +@22 +0;JMP +(RET_ADDRESS_GT49) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@string.setint$while_end0 +D;JNE +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.divide +D=A +@R14 +M=D +@RET_ADDRESS_CALL316 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL316) +@SP +AM=M-1 +D=M +@LCL +A=M+1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@ARG +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@10 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@math.multiply +D=A +@R14 +M=D +@RET_ADDRESS_CALL317 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL317) +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@LCL +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@ARG +A=M+1 +M=D +@string.setint$while_exp0 +0;JMP +(string.setint$while_end0) +@LCL +D=M +@3 +A=D+A +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@string.setint$if_true2 +D;JNE +@string.setint$if_false2 +0;JMP +(string.setint$if_true2) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@45 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(string.setint$if_false2) +@THIS +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT62 +D=A +@38 +0;JMP +(RET_ADDRESS_LT62) +@SP +AM=M-1 +D=M +@string.setint$if_true3 +D;JNE +@string.setint$if_false3 +0;JMP +(string.setint$if_true3) +@19 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL318 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL318) +@SP +AM=M-1 +D=M +@R5 +M=D +(string.setint$if_false3) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_EQ37 +D=A +@6 +0;JMP +(RET_ADDRESS_EQ37) +@SP +AM=M-1 +D=M +@string.setint$if_true4 +D;JNE +@string.setint$if_false4 +0;JMP +(string.setint$if_true4) +@SP +M=M+1 +A=M-1 +M=0 +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@48 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@string.setint$if_end4 +0;JMP +(string.setint$if_false4) +@SP +M=M+1 +A=M-1 +M=0 +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +(string.setint$while_exp1) +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@RET_ADDRESS_LT63 +D=A +@38 +0;JMP +(RET_ADDRESS_LT63) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@string.setint$while_end1 +D;JNE +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THAT +M=D +@THAT +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +AM=M-1 +D=M +@THAT +M=D +@R5 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@THAT +A=M +M=D +@THIS +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M +@SP +AM=M-1 +D=M +@THIS +A=M+1 +A=A+1 +M=D +@string.setint$while_exp1 +0;JMP +(string.setint$while_end1) +(string.setint$if_end4) +@LCL +A=M+1 +A=A+1 +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@array.dispose +D=A +@R14 +M=D +@RET_ADDRESS_CALL319 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL319) +@SP +AM=M-1 +D=M +@R5 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(string.newline) +@128 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.backspace) +@129 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(string.doublequote) +@34 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +(sys.init) +@0 +D=A +@R13 +M=D +@memory.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL320 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL320) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@math.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL321 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL321) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@screen.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL322 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL322) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@output.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL323 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL323) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@keyboard.init +D=A +@R14 +M=D +@RET_ADDRESS_CALL324 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL324) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@main.main +D=A +@R14 +M=D +@RET_ADDRESS_CALL325 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL325) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@sys.halt +D=A +@R14 +M=D +@RET_ADDRESS_CALL326 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL326) +@SP +AM=M-1 +D=M +@R5 +M=D +(sys.halt) +(sys.halt$while_exp0) +@SP +M=M+1 +A=M-1 +M=0 +@SP +A=M-1 +M=!M +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@sys.halt$while_end0 +D;JNE +@sys.halt$while_exp0 +0;JMP +(sys.halt$while_end0) +(sys.wait) +@SP +AM=M+1 +A=A-1 +M=0 +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_LT64 +D=A +@38 +0;JMP +(RET_ADDRESS_LT64) +@SP +AM=M-1 +D=M +@sys.wait$if_true0 +D;JNE +@sys.wait$if_false0 +0;JMP +(sys.wait$if_true0) +@SP +M=M+1 +A=M-1 +M=1 +@1 +D=A +@R13 +M=D +@sys.error +D=A +@R14 +M=D +@RET_ADDRESS_CALL327 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL327) +@SP +AM=M-1 +D=M +@R5 +M=D +(sys.wait$if_false0) +(sys.wait$while_exp0) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT50 +D=A +@22 +0;JMP +(RET_ADDRESS_GT50) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@sys.wait$while_end0 +D;JNE +@50 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +(sys.wait$while_exp1) +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=0 +@RET_ADDRESS_GT51 +D=A +@22 +0;JMP +(RET_ADDRESS_GT51) +@SP +A=M-1 +M=!M +@SP +AM=M-1 +D=M +@sys.wait$while_end1 +D;JNE +@LCL +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@LCL +A=M +M=D +@sys.wait$while_exp1 +0;JMP +(sys.wait$while_end1) +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@SP +M=M+1 +A=M-1 +M=1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +AM=M-1 +D=M +@ARG +A=M +M=D +@sys.wait$while_exp0 +0;JMP +(sys.wait$while_end0) +@SP +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +(sys.error) +@3 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@string.new +D=A +@R14 +M=D +@RET_ADDRESS_CALL328 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL328) +@69 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL329 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL329) +@82 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL330 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL330) +@82 +D=A +@SP +AM=M+1 +A=A-1 +M=D +@2 +D=A +@R13 +M=D +@string.appendchar +D=A +@R14 +M=D +@RET_ADDRESS_CALL331 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL331) +@1 +D=A +@R13 +M=D +@output.printstring +D=A +@R14 +M=D +@RET_ADDRESS_CALL332 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL332) +@SP +AM=M-1 +D=M +@R5 +M=D +@ARG +A=M +D=M +@SP +AM=M+1 +A=A-1 +M=D +@1 +D=A +@R13 +M=D +@output.printint +D=A +@R14 +M=D +@RET_ADDRESS_CALL333 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL333) +@SP +AM=M-1 +D=M +@R5 +M=D +@0 +D=A +@R13 +M=D +@sys.halt +D=A +@R14 +M=D +@RET_ADDRESS_CALL334 +D=A +@95 +0;JMP +(RET_ADDRESS_CALL334) +@SP +AM=M-1 +D=M +@R5 +M=D`; + +export const PongLAsm = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/6/pong/PongL.asm + +// Symbol-less version of the Pong.asm program. +// Designed for testing the basic version of the assembler. + +@256 +D=A +@0 +M=D +@133 +0;JMP +@15 +M=D +@0 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@19 +D;JNE +@0 +A=M-1 +M=-1 +@15 +A=M +0;JMP +@15 +M=D +@0 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@35 +D;JLE +@0 +A=M-1 +M=-1 +@15 +A=M +0;JMP +@15 +M=D +@0 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@51 +D;JGE +@0 +A=M-1 +M=-1 +@15 +A=M +0;JMP +@5 +D=A +@1 +A=M-D +D=M +@13 +M=D +@0 +AM=M-1 +D=M +@2 +A=M +M=D +D=A +@0 +M=D+1 +@1 +D=M +@14 +AM=D-1 +D=M +@4 +M=D +@14 +AM=M-1 +D=M +@3 +M=D +@14 +AM=M-1 +D=M +@2 +M=D +@14 +AM=M-1 +D=M +@1 +M=D +@13 +A=M +0;JMP +@0 +A=M +M=D +@1 +D=M +@0 +AM=M+1 +M=D +@2 +D=M +@0 +AM=M+1 +M=D +@3 +D=M +@0 +AM=M+1 +M=D +@4 +D=M +@0 +AM=M+1 +M=D +@4 +D=A +@13 +D=D+M +@0 +D=M-D +@2 +M=D +@0 +MD=M+1 +@1 +M=D +@14 +A=M +0;JMP +@0 +D=A +@13 +M=D +@27058 +D=A +@14 +M=D +@145 +D=A +@95 +0;JMP +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@8643 +D=A +@14 +M=D +@163 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@10 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=M +@11 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@12 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=M +@13 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@3 +D=M +@14 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@387 +D=A +@14 +M=D +@333 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@9357 +D=A +@14 +M=D +@376 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@418 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@514 +D=A +@14 +M=D +@441 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@480 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@514 +D=A +@14 +M=D +@503 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@13 +M=D +@22354 +D=A +@14 +M=D +@588 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +@3 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@654 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@747 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@774 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@798 +D=A +@38 +0;JMP +@3 +D=M +@7 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@826 +D;JNE +@930 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@886 +D=A +@38 +0;JMP +@3 +D=M +@8 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@916 +D=A +@38 +0;JMP +@3 +D=M +@9 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@991 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@948 +D=A +@38 +0;JMP +@3 +D=M +@8 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@979 +D=A +@38 +0;JMP +@3 +D=M +@9 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@1016 +D=A +@95 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@1062 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@1109 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@452 +D=A +@14 +M=D +@1156 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1178 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@1185 +D;JNE +@1219 +0;JMP +@3 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1401 +0;JMP +@3 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@3 +D=M +@9 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1267 +D;JNE +@1335 +0;JMP +@3 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1283 +D;JNE +@1309 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@1333 +0;JMP +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@1401 +0;JMP +@3 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1351 +D;JNE +@1377 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@1401 +0;JMP +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@3 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1417 +D;JNE +@1485 +0;JMP +@3 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1433 +D;JNE +@1459 +0;JMP +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@1483 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@1551 +0;JMP +@3 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1501 +D;JNE +@1527 +0;JMP +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@1551 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@10 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1571 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1581 +D;JNE +@1612 +0;JMP +@0 +M=M+1 +A=M-1 +M=1 +@3 +D=M +@14 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +D=M +@10 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@11 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1632 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1642 +D;JNE +@1675 +0;JMP +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@14 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +D=M +@11 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@12 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1695 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1705 +D;JNE +@1738 +0;JMP +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@14 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +D=M +@12 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@13 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1758 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1768 +D;JNE +@1801 +0;JMP +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@14 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@3 +D=M +@13 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@387 +D=A +@14 +M=D +@1819 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@14 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@5 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@1837 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@1882 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@1916 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1939 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@1946 +D;JNE +@1963 +0;JMP +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2086 +0;JMP +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1979 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@1997 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@2018 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@2042 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +@2054 +D;JNE +@2071 +0;JMP +@20 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2086 +0;JMP +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@3 +D=M +@14 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@2103 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@2110 +D;JNE +@2227 +0;JMP +@506 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@50 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2153 +D=A +@95 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@2173 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2214 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@2616 +0;JMP +@3 +D=M +@14 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2246 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@2253 +D;JNE +@2364 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@50 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2290 +D=A +@95 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@2310 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2351 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@2616 +0;JMP +@3 +D=M +@14 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2383 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@2390 +D;JNE +@2507 +0;JMP +@250 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2432 +D=A +@95 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@2453 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2494 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@2616 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2543 +D=A +@95 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@2564 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@2605 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@13 +M=D +@652 +D=A +@14 +M=D +@2648 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@8643 +D=A +@14 +M=D +@2677 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@2827 +D=A +@14 +M=D +@2773 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@9357 +D=A +@14 +M=D +@2816 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@2858 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@2954 +D=A +@14 +M=D +@2881 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@2920 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@2954 +D=A +@14 +M=D +@2943 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@13 +M=D +@22354 +D=A +@14 +M=D +@3033 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@2892 +D=A +@14 +M=D +@3163 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@2827 +D=A +@14 +M=D +@3200 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@3240 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@3247 +D;JNE +@3525 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@3286 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@3293 +D;JNE +@3303 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@3319 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@13 +M=D +@22354 +D=A +@14 +M=D +@3424 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@3448 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@13 +M=D +@22354 +D=A +@14 +M=D +@3518 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3831 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3579 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@3586 +D;JNE +@3611 +0;JMP +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@3627 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@13 +M=D +@22354 +D=A +@14 +M=D +@3706 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@1 +D=A +@13 +M=D +@20889 +D=A +@14 +M=D +@3730 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@13 +M=D +@22354 +D=A +@14 +M=D +@3826 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@0 +D=A +@13 +M=D +@4508 +D=A +@14 +M=D +@3853 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@4531 +D=A +@14 +M=D +@3870 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@4539 +D=A +@14 +M=D +@3895 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@4419 +D=A +@14 +M=D +@3919 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@8643 +D=A +@14 +M=D +@3948 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +M=D +@0 +D=A +@13 +M=D +@20598 +D=A +@14 +M=D +@3965 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@50 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@230 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@229 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@13 +M=D +@2659 +D=A +@14 +M=D +@4026 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@253 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@222 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@229 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@13 +M=D +@145 +D=A +@14 +M=D +@4076 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@400 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@3 +D=A +@13 +M=D +@652 +D=A +@14 +M=D +@4111 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@238 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@240 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@13 +M=D +@22354 +D=A +@14 +M=D +@4150 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@22 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@2 +D=A +@13 +M=D +@19350 +D=A +@14 +M=D +@4177 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@8 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25105 +D=A +@14 +M=D +@4200 +D=A +@95 +0;JMP +@83 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4218 +D=A +@95 +0;JMP +@99 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4236 +D=A +@95 +0;JMP +@111 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4254 +D=A +@95 +0;JMP +@114 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4272 +D=A +@95 +0;JMP +@101 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4290 +D=A +@95 +0;JMP +@58 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4308 +D=A +@95 +0;JMP +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4326 +D=A +@95 +0;JMP +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@4344 +D=A +@95 +0;JMP +@1 +D=A +@13 +M=D +@19850 +D=A +@14 +M=D +@4356 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@2786 +D=A +@14 +M=D +@4450 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@346 +D=A +@14 +M=D +@4474 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@9357 +D=A +@14 +M=D +@4497 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +D=A +@13 +M=D +@3930 +D=A +@14 +M=D +@4520 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@16 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@16 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@4943 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@4590 +D=A +@6 +0;JMP +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@4682 +D;JNE +@0 +D=A +@13 +M=D +@5924 +D=A +@14 +M=D +@4627 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@3211 +D=A +@14 +M=D +@4652 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5191 +D=A +@14 +M=D +@4675 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@4575 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@130 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@4699 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@4706 +D;JNE +@4736 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@2 +D=A +@13 +M=D +@3044 +D=A +@14 +M=D +@4729 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@4831 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@132 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@4753 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@4760 +D;JNE +@4792 +0;JMP +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@3044 +D=A +@14 +M=D +@4785 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@4831 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@140 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@4809 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@4816 +D;JNE +@4831 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@4846 +D=A +@6 +0;JMP +@0 +A=M-1 +M=!M +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@4941 +D;JNE +@0 +D=A +@13 +M=D +@5924 +D=A +@14 +M=D +@4886 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@3211 +D=A +@14 +M=D +@4911 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5191 +D=A +@14 +M=D +@4934 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@4831 +0;JMP +@4555 +0;JMP +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4959 +D;JNE +@5185 +0;JMP +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@19350 +D=A +@14 +M=D +@4983 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@9 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25105 +D=A +@14 +M=D +@5006 +D=A +@95 +0;JMP +@71 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5024 +D=A +@95 +0;JMP +@97 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5042 +D=A +@95 +0;JMP +@109 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5060 +D=A +@95 +0;JMP +@101 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5078 +D=A +@95 +0;JMP +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5096 +D=A +@95 +0;JMP +@79 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5114 +D=A +@95 +0;JMP +@118 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5132 +D=A +@95 +0;JMP +@101 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5150 +D=A +@95 +0;JMP +@114 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@5168 +D=A +@95 +0;JMP +@1 +D=A +@13 +M=D +@19850 +D=A +@14 +M=D +@5180 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@5 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@5193 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@1126 +D=A +@14 +M=D +@5231 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@5254 +D=A +@22 +0;JMP +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@5275 +D=A +@6 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +@5290 +D;JNE +@5802 +0;JMP +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@3078 +D=A +@14 +M=D +@5337 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@3099 +D=A +@14 +M=D +@5362 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@599 +D=A +@14 +M=D +@5388 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@620 +D=A +@14 +M=D +@5415 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@5442 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@5449 +D;JNE +@5771 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@5469 +D=A +@22 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@5490 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +M=D +@3 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@5522 +D;JNE +@5771 +0;JMP +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@5553 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@5560 +D;JNE +@5576 +0;JMP +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@5625 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@5608 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@5615 +D;JNE +@5625 +0;JMP +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@3133 +D=A +@14 +M=D +@5684 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@22 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@19350 +D=A +@14 +M=D +@5740 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19981 +D=A +@14 +M=D +@5766 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@1835 +D=A +@14 +M=D +@5797 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@5823 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@5833 +D;JNE +@5856 +0;JMP +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@5851 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@8643 +D=A +@14 +M=D +@5875 +D=A +@95 +0;JMP +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@9357 +D=A +@14 +M=D +@5907 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@24576 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@8558 +D=A +@14 +M=D +@5942 +D=A +@95 +0;JMP +@54 +0;JMP +@0 +A=M +M=0 +AD=A+1 +M=0 +@0 +M=D+1 +@0 +M=M+1 +A=M-1 +M=0 +@1 +D=A +@13 +M=D +@19610 +D=A +@14 +M=D +@5967 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@5987 +D=A +@6 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@6002 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@6070 +D;JNE +@0 +D=A +@13 +M=D +@5924 +D=A +@14 +M=D +@6027 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@6048 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@6055 +D;JNE +@6068 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@5972 +0;JMP +@0 +D=A +@13 +M=D +@27042 +D=A +@14 +M=D +@6082 +D=A +@95 +0;JMP +@1 +D=A +@13 +M=D +@19610 +D=A +@14 +M=D +@6094 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19610 +D=A +@14 +M=D +@6118 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@5 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@6134 +D;JGT +@80 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25105 +D=A +@14 +M=D +@6159 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19850 +D=A +@14 +M=D +@6186 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@27034 +D=A +@14 +M=D +@6203 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@0 +D=A +@13 +M=D +@27042 +D=A +@14 +M=D +@6221 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@6404 +D;JNE +@0 +D=A +@13 +M=D +@5944 +D=A +@14 +M=D +@6260 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@6284 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@6312 +D;JNE +@6402 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@6331 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@6338 +D;JNE +@6366 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25801 +D=A +@14 +M=D +@6359 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@6402 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@6394 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@6228 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@0 +A=M +M=0 +AD=A+1 +M=0 +@0 +M=D+1 +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@6132 +D=A +@14 +M=D +@6441 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25889 +D=A +@14 +M=D +@6466 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25252 +D=A +@14 +M=D +@6491 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@6527 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@17 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@6550 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@18 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6613 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@6768 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@6596 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@6789 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@6796 +D;JNE +@6813 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@5 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@6824 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@6846 +D=A +@38 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@6861 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@6881 +D=A +@22 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@6896 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@6934 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@6959 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@6983 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@6990 +D;JNE +@7029 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@7048 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@7245 +D;JNE +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +M=M+1 +A=M-1 +M=0 +@7108 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@7115 +D;JNE +@7192 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@7029 +0;JMP +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@7261 +D;JNE +@7278 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@4 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@7289 +D;JGT +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@7311 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@7318 +D;JNE +@7341 +0;JMP +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@7336 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@7356 +D=A +@38 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@7371 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@7391 +D=A +@22 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@7406 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@7457 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@7498 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@7841 +D;JNE +@32767 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@7599 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@7626 +D;JNE +@7839 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@7790 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@7817 +D;JNE +@7839 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@7504 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@7860 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@8039 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@7909 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@7919 +D;JNE +@8015 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@17 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@7841 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@8054 +D;JNE +@8071 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@4 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@8082 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@8104 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@8111 +D;JNE +@8134 +0;JMP +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@8129 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@8165 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@8348 +D;JNE +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@8249 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@8275 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@8294 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +@8309 +D;JNE +@8324 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@8146 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@8377 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@8384 +D;JNE +@8397 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@8424 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@8431 +D;JNE +@8444 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@19 +M=D +@2048 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@19 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@14334 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@2049 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@19 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2050 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@19 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@19 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@8662 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@8669 +D;JNE +@8692 +0;JMP +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@8687 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2048 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@8743 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@8787 +D;JNE +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@8704 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@16379 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@8816 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@8823 +D;JNE +@8846 +0;JMP +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@8841 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@8896 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@8903 +D;JNE +@9295 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@9056 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@9063 +D;JNE +@9147 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@9227 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@54 +0;JMP +@0 +A=M +M=0 +AD=A+1 +M=0 +@0 +M=D+1 +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@9458 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@9465 +D;JNE +@9556 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@9848 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@9717 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@9724 +D;JNE +@9782 +0;JMP +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@9848 +0;JMP +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@16384 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@20 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@21 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@22 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@23 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25105 +D=A +@14 +M=D +@9915 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@24 +M=D +@0 +D=A +@13 +M=D +@9960 +D=A +@14 +M=D +@9932 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@18456 +D=A +@14 +M=D +@9949 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@127 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@9978 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@25 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10061 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10128 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@33 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10211 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@34 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@20 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10284 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10367 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@36 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10454 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@37 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@49 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10535 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@38 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10620 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@39 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10693 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@40 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10778 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@41 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10863 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@42 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@10940 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@43 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11017 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@44 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11090 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@45 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11159 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@46 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11230 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@47 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11309 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11394 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@49 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@14 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11479 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@50 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11564 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11649 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@52 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@26 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@25 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@60 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11734 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@53 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11819 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11904 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@55 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@49 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@11989 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@56 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12074 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@57 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@62 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@14 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12159 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@58 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12234 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12311 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@60 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12392 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@61 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12463 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@62 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12544 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@64 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12629 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12712 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@65 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12797 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@66 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12882 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@67 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@12967 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@68 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13052 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@69 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13137 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@70 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13222 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@71 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@44 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13307 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@72 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13392 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@73 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13477 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@74 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@60 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@14 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13562 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@75 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13647 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@76 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13732 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@77 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@33 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13817 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@78 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@55 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@55 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13902 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@79 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@13987 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@80 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14072 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@81 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@59 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14159 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@82 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14244 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@83 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14329 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@84 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@45 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14414 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@85 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14499 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@86 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14584 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@87 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14669 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@88 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14754 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@89 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14839 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@90 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@49 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@35 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@14924 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@91 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15009 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@92 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=1 +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15088 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@93 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15173 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@94 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@8 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15246 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@95 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15315 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@96 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15388 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@97 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@14 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15467 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@98 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15552 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@99 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15631 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@100 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@60 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15716 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@101 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15795 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@102 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@38 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15880 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@103 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@62 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@15963 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@104 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@55 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16048 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@105 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@14 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16131 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@106 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@56 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16216 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@107 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16301 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@108 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@14 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16386 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@109 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@29 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@43 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@43 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@43 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@43 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16465 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@110 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@29 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16544 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@111 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16623 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@112 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16704 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@113 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@62 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16785 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@114 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@29 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@55 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16864 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@115 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@16943 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@116 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@28 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17028 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@117 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17107 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@118 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17186 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@119 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17265 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@120 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@30 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17344 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@121 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@62 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17425 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@122 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@51 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17504 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@123 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@56 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@56 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17589 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@124 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17674 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@125 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@56 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17759 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@126 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@38 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@45 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@25 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@0 +M=M+1 +A=M-1 +M=0 +@12 +D=A +@13 +M=D +@17843 +D=A +@14 +M=D +@17832 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@17865 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=1 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@4 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@8 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@9 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@9 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@10 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +D=M +@11 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@4 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@18458 +D;JGT +@127 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@18483 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@26 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@127 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18517 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@18859 +D;JNE +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@18580 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@26 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18665 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@18795 +D;JNE +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@256 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@18745 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@18646 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@18811 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@18818 +D;JNE +@18833 +0;JMP +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@18857 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@18499 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18886 +D=A +@38 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@126 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@18903 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@18915 +D;JNE +@18925 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@21 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@18938 +D;JNE +@18976 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@19012 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@26 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@4 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@19023 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@18865 +D=A +@14 +M=D +@19049 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@22 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@11 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@19085 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@19344 +D;JNE +@21 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@19106 +D;JNE +@19161 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@20 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@256 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@19210 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@20 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@255 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@20 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@19068 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@19365 +D=A +@38 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@22 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@19382 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@19402 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@63 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@19424 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@19436 +D;JNE +@19459 +0;JMP +@20 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@19454 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@19484 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@23 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@352 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@19520 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@23 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@22 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@23 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@19572 +D=A +@95 +0;JMP +@19576 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@21 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19021 +D=A +@14 +M=D +@19599 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +D=A +@13 +M=D +@27034 +D=A +@14 +M=D +@19629 +D=A +@95 +0;JMP +@19633 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@19640 +D;JNE +@19659 +0;JMP +@0 +D=A +@13 +M=D +@20040 +D=A +@14 +M=D +@19652 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@19844 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +D=A +@13 +M=D +@27042 +D=A +@14 +M=D +@19678 +D=A +@95 +0;JMP +@19682 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@19689 +D;JNE +@19708 +0;JMP +@0 +D=A +@13 +M=D +@20134 +D=A +@14 +M=D +@19701 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@19844 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19021 +D=A +@14 +M=D +@19727 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@21 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@19748 +D;JNE +@19788 +0;JMP +@23 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@23 +M=D +@22 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@22 +M=D +@23 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@19804 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@19811 +D;JNE +@19830 +0;JMP +@0 +D=A +@13 +M=D +@20040 +D=A +@14 +M=D +@19823 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@19844 +0;JMP +@21 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@21 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +A=M +M=0 +AD=A+1 +M=0 +@0 +M=D+1 +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25339 +D=A +@14 +M=D +@19876 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@19900 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@19975 +D;JNE +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25361 +D=A +@14 +M=D +@19934 +D=A +@95 +0;JMP +@1 +D=A +@13 +M=D +@19610 +D=A +@14 +M=D +@19946 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@19882 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@24 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@26291 +D=A +@14 +M=D +@20006 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@24 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19850 +D=A +@14 +M=D +@20029 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@22 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@352 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@23 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@22 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@23 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@21 +M=D +@22 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@8128 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@20110 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@20117 +D;JNE +@20128 +0;JMP +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@22 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@21 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@20147 +D;JNE +@20288 +0;JMP +@23 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@20161 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@20168 +D;JNE +@20210 +0;JMP +@23 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@23 +M=D +@22 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@22 +M=D +@20277 +0;JMP +@31 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@23 +M=D +@22 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@20237 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@20244 +D;JNE +@20255 +0;JMP +@8128 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@22 +M=D +@22 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@321 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@22 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@21 +M=D +@20300 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@21 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19021 +D=A +@14 +M=D +@20318 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@16384 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@27 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@28 +M=D +@17 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@20374 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@29 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@20437 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@20592 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@20420 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@8192 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@20619 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@20695 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@20602 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@28 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@20714 +D;JNE +@20798 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@20883 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@27 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@28 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@3 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@20909 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@20931 +D=A +@38 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@20948 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@20968 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@255 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@20990 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@21002 +D;JNE +@21025 +0;JMP +@7 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@21020 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@21050 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@21088 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@21124 +D=A +@95 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@21193 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@21219 +D;JNE +@21252 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@20907 +D=A +@14 +M=D +@21245 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@21283 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@20907 +D=A +@14 +M=D +@21278 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@11 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@21291 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@21313 +D=A +@38 +0;JMP +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@21331 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@21351 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@255 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@21375 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@21387 +D;JNE +@21410 +0;JMP +@8 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@21405 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@21442 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=A +@13 +M=D +@6774 +D=A +@14 +M=D +@21483 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@21511 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@21551 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +M=!M +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@21587 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@21604 +D;JNE +@21698 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M+1 +A=A+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@21714 +D;JNE +@21844 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@8 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@21830 +D=A +@22 +0;JMP +@1 +D=M +@7 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@21922 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@8 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@21910 +D=A +@22 +0;JMP +@1 +D=M +@7 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@21948 +D=A +@95 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@21998 +D=A +@95 +0;JMP +@1 +D=M +@9 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@22050 +D=A +@95 +0;JMP +@1 +D=M +@10 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@13 +M=D +@21204 +D=A +@14 +M=D +@22097 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@22122 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@22348 +D;JNE +@1 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@22147 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@22154 +D;JNE +@22189 +0;JMP +@1 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@9 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@22284 +0;JMP +@1 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@10 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@22238 +D;JNE +@22262 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@22284 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +D=A +@13 +M=D +@21204 +D=A +@14 +M=D +@22341 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@22102 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@9 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@22356 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@22382 +D=A +@22 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@22402 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@22422 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@22445 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@22465 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@255 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@22489 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@22501 +D;JNE +@22524 +0;JMP +@9 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@22519 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@22549 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@22591 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=M +@7 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@22634 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@22678 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=M +@8 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@1 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@22835 +D=A +@95 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@22905 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@23245 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@22958 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@22965 +D;JNE +@23014 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@23007 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@23184 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@23042 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@23087 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@23151 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@23122 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@23069 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@23179 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@22885 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@11 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@23253 +D;JGT +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@8406 +D=A +@14 +M=D +@23287 +D=A +@95 +0;JMP +@1 +D=M +@7 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@8359 +D=A +@14 +M=D +@23326 +D=A +@95 +0;JMP +@1 +D=M +@8 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@23357 +D=A +@22 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@256 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@23374 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@1 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@512 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@23398 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@1 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@23424 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +AM=M-1 +D=M +@23436 +D;JNE +@24145 +0;JMP +@1 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@2 +D=A +@13 +M=D +@8359 +D=A +@14 +M=D +@23461 +D=A +@95 +0;JMP +@1 +D=M +@7 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@1 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@8406 +D=A +@14 +M=D +@23500 +D=A +@95 +0;JMP +@1 +D=M +@8 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@1 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@23539 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +D=M +@7 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@23579 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=M +@9 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@1 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@23623 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +D=M +@8 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@23665 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +D=M +@10 +D=D+A +@13 +M=D +@0 +AM=M-1 +D=M +@13 +A=M +M=D +@1 +D=M +@9 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@10 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@29 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@32 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@23820 +D=A +@95 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@6 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@23915 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@23922 +D;JNE +@23971 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@23964 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@24145 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@5 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@23999 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@24046 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@24110 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +A=M-1 +D=!M +M=D+1 +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@24081 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@24026 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@20701 +D=A +@14 +M=D +@24140 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=A +@13 +M=D +@23251 +D=A +@14 +M=D +@24224 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@3 +D=A +@13 +M=D +@23251 +D=A +@14 +M=D +@24302 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@13 +M=D +@23251 +D=A +@14 +M=D +@24381 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@13 +M=D +@23251 +D=A +@14 +M=D +@24460 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@3 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@24473 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@24495 +D=A +@38 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24512 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@24532 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@255 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24554 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@24566 +D;JNE +@24589 +0;JMP +@12 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@24584 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +M=M+1 +A=M-1 +M=0 +@24617 +D=A +@38 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@511 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24647 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +M=M+1 +A=M-1 +M=0 +@24680 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@255 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@24715 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@24727 +D;JNE +@24750 +0;JMP +@13 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@24745 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@13 +M=D +@24151 +D=A +@14 +M=D +@24828 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@24851 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@25099 +D;JNE +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@24875 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@24882 +D;JNE +@24940 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@24915 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@25030 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@24985 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@5 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@4 +D=A +@13 +M=D +@24151 +D=A +@14 +M=D +@25092 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@24833 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@8643 +D=A +@14 +M=D +@25123 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@25143 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@25150 +D;JNE +@25173 +0;JMP +@14 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@25168 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@25188 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@25195 +D;JNE +@25220 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@25214 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@3 +A=M+1 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@25279 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +@25286 +D;JNE +@25310 +0;JMP +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5877 +D=A +@14 +M=D +@25305 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@9357 +D=A +@14 +M=D +@25328 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@25388 +D=A +@38 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25407 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25431 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@25443 +D;JNE +@25466 +0;JMP +@15 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@25461 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@25526 +D=A +@38 +0;JMP +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25545 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25569 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +AM=M-1 +D=M +@25581 +D;JNE +@25604 +0;JMP +@16 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@25599 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@25690 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@25697 +D;JNE +@25720 +0;JMP +@17 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@25715 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@3 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@25829 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@25836 +D;JNE +@25859 +0;JMP +@18 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@25854 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@5 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@25891 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@25926 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@25933 +D;JNE +@25939 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@45 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@25992 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@25999 +D;JNE +@26025 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +A=A+1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@26044 +D=A +@38 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D&M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@26249 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@26131 +D=A +@38 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@9 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@26149 +D=A +@22 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=D|M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@26181 +D;JNE +@26247 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@26206 +D=A +@95 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@26025 +0;JMP +@1 +D=M +@4 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@26265 +D;JNE +@26282 +0;JMP +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@4 +D=A +D=D-1 +@0 +AM=M+1 +A=A-1 +M=0 +@26293 +D;JGT +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@3 +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@26327 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@26334 +D;JNE +@26357 +0;JMP +@19 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@26352 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@6 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5808 +D=A +@14 +M=D +@26375 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@26397 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@26404 +D;JNE +@26436 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@1 +A=M+1 +A=A+1 +A=A+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +A=M-1 +D=!M +M=D+1 +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@26464 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@26630 +D;JNE +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@7287 +D=A +@14 +M=D +@26497 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@1 +A=M+1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@10 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@6822 +D=A +@14 +M=D +@26561 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@2 +A=M+1 +M=D +@26449 +0;JMP +@1 +D=M +@3 +A=D+A +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@26646 +D;JNE +@26716 +0;JMP +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@45 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@3 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@26734 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@26741 +D;JNE +@26764 +0;JMP +@19 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@26759 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@26779 +D=A +@6 +0;JMP +@0 +AM=M-1 +D=M +@26786 +D;JNE +@26843 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@48 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@27003 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@26873 +D=A +@38 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@27003 +D;JNE +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@4 +M=D +@4 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@5 +M=D +@0 +AM=M-1 +D=M +@4 +M=D +@5 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@4 +A=M +M=D +@3 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=D+M +@0 +AM=M-1 +D=M +@3 +A=M+1 +A=A+1 +M=D +@26854 +0;JMP +@1 +A=M+1 +A=A+1 +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@5877 +D=A +@14 +M=D +@27023 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@128 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@129 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@34 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@54 +0;JMP +@0 +D=A +@13 +M=D +@8453 +D=A +@14 +M=D +@27070 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@6505 +D=A +@14 +M=D +@27087 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@20329 +D=A +@14 +M=D +@27104 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@9854 +D=A +@14 +M=D +@27121 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@5918 +D=A +@14 +M=D +@27138 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@3837 +D=A +@14 +M=D +@27155 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@27177 +D=A +@14 +M=D +@27172 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@0 +A=M-1 +M=!M +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@27194 +D;JNE +@27177 +0;JMP +@0 +AM=M+1 +A=A-1 +M=0 +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@27213 +D=A +@38 +0;JMP +@0 +AM=M-1 +D=M +@27220 +D;JNE +@27241 +0;JMP +@0 +M=M+1 +A=M-1 +M=1 +@1 +D=A +@13 +M=D +@27353 +D=A +@14 +M=D +@27236 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@27256 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@27347 +D;JNE +@50 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=0 +@27291 +D=A +@22 +0;JMP +@0 +A=M-1 +M=!M +@0 +AM=M-1 +D=M +@27323 +D;JNE +@1 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@1 +A=M +M=D +@27276 +0;JMP +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@0 +M=M+1 +A=M-1 +M=1 +@0 +AM=M-1 +D=M +A=A-1 +M=M-D +@0 +AM=M-1 +D=M +@2 +A=M +M=D +@27241 +0;JMP +@0 +M=M+1 +A=M-1 +M=0 +@54 +0;JMP +@3 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@25105 +D=A +@14 +M=D +@27371 +D=A +@95 +0;JMP +@69 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@27389 +D=A +@95 +0;JMP +@82 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@27407 +D=A +@95 +0;JMP +@82 +D=A +@0 +AM=M+1 +A=A-1 +M=D +@2 +D=A +@13 +M=D +@25659 +D=A +@14 +M=D +@27425 +D=A +@95 +0;JMP +@1 +D=A +@13 +M=D +@19850 +D=A +@14 +M=D +@27437 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@2 +A=M +D=M +@0 +AM=M+1 +A=A-1 +M=D +@1 +D=A +@13 +M=D +@19981 +D=A +@14 +M=D +@27461 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D +@0 +D=A +@13 +M=D +@27177 +D=A +@14 +M=D +@27478 +D=A +@95 +0;JMP +@0 +AM=M-1 +D=M +@5 +M=D`; + +export const PongHack = [ + 256, 60432, 0, 58120, 133, 60039, 15, 58120, 0, 64680, 64528, 60576, 61904, + 60040, 19, 58117, 0, 64672, 61064, 15, 64544, 60039, 15, 58120, 0, 64680, + 64528, 60576, 61904, 60040, 35, 58118, 0, 64672, 61064, 15, 64544, 60039, 15, + 58120, 0, 64680, 64528, 60576, 61904, 60040, 51, 58115, 0, 64672, 61064, 15, + 64544, 60039, 5, 60432, 1, 61920, 64528, 13, 58120, 0, 64680, 64528, 2, 64544, + 58120, 60432, 0, 59336, 1, 64528, 14, 58280, 64528, 4, 58120, 14, 64680, + 64528, 3, 58120, 14, 64680, 64528, 2, 58120, 14, 64680, 64528, 1, 58120, 13, + 64544, 60039, 0, 64544, 58120, 1, 64528, 0, 65000, 58120, 2, 64528, 0, 65000, + 58120, 3, 64528, 0, 65000, 58120, 4, 64528, 0, 65000, 58120, 4, 60432, 13, + 61584, 0, 61904, 2, 58120, 0, 64984, 1, 58120, 14, 64544, 60039, 0, 60432, 13, + 58120, 27058, 60432, 14, 58120, 145, 60432, 95, 60039, 15, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 8643, 60432, 14, 58120, 163, 60432, 95, + 60039, 0, 64680, 64528, 3, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 3, 64544, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 3, 64992, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 3, 64528, 10, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 64528, + 3, 57504, 64528, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61896, 3, 64528, 11, 57488, 13, 58120, 0, 64680, 64528, + 13, 64544, 58120, 2, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 3, 64528, + 12, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 64528, 5, 57504, + 64528, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61896, 3, 64528, 13, 57488, 13, 58120, 0, 64680, 64528, 13, + 64544, 58120, 0, 64968, 64672, 60040, 3, 64528, 14, 57488, 13, 58120, 0, + 64680, 64528, 13, 64544, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, + 13, 58120, 387, 60432, 14, 58120, 333, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 3, 64528, 0, 65000, 60576, 58120, 54, 60039, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, + 60432, 13, 58120, 9357, 60432, 14, 58120, 376, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 58120, 0, 64968, 64672, 60040, 0, 64672, + 64584, 1, 60432, 13, 58120, 20889, 60432, 14, 58120, 418, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 514, 60432, 14, 58120, 441, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, + 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 3, 58120, 0, 64968, 64672, 60040, 1, 60432, 13, 58120, 20889, + 60432, 14, 58120, 480, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, 64528, + 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 514, 60432, 14, 58120, 503, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, + 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, + 64544, 64528, 0, 65000, 60576, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, + 3, 64544, 64528, 0, 65000, 60576, 58120, 5, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 3, 64992, 64528, 0, 65000, 60576, 58120, 5, 60432, + 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 4, 60432, 13, 58120, + 22354, 60432, 14, 58120, 588, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, + 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 3, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 54, 60039, 2, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64544, + 64528, 0, 65000, 60576, 58120, 5, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 54, 60039, 3, 60432, 58256, 0, 65000, 60576, 60040, 654, + 58113, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 2, + 64992, 64528, 0, 65000, 60576, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 3, 64992, 60896, 58120, 2, + 64992, 60896, 64528, 0, 65000, 60576, 58120, 3, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 3, 64992, 60896, 60896, + 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 6774, 60432, 14, 58120, 747, 60432, 95, 60039, 0, 64680, 64528, 1, 64544, + 58120, 3, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 6774, 60432, 14, 58120, 774, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, + 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, + 60576, 58120, 798, 60432, 38, 60039, 3, 64528, 7, 57488, 13, 58120, 0, 64680, + 64528, 13, 64544, 58120, 3, 64528, 7, 57504, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 826, 58117, 930, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 1, 64992, 60896, 58120, 1, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 1, 64544, 58120, 1, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 1, 64992, 58120, 3, 64992, 64528, 0, 65000, + 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 886, 60432, 38, + 60039, 3, 64528, 8, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 3, + 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, + 916, 60432, 38, 60039, 3, 64528, 9, 57488, 13, 58120, 0, 64680, 64528, 13, + 64544, 58120, 991, 60039, 3, 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, + 64528, 0, 65000, 60576, 58120, 948, 60432, 38, 60039, 3, 64528, 8, 57488, 13, + 58120, 0, 64680, 64528, 13, 64544, 58120, 3, 64992, 64528, 0, 65000, 60576, + 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 979, 60432, 38, 60039, + 3, 64528, 9, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 60432, 0, + 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, + 58120, 6822, 60432, 14, 58120, 1016, 60432, 95, 60039, 1, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 3, 64992, + 60896, 60896, 60896, 58120, 2, 60432, 0, 65000, 60576, 58120, 1, 64992, 64528, + 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 1062, + 60432, 95, 60039, 0, 64680, 64528, 3, 64992, 60896, 60896, 60896, 60896, + 58120, 2, 60432, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, + 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, + 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 1109, 60432, 95, 60039, 0, 64680, + 64528, 3, 64992, 60896, 60896, 60896, 60896, 60896, 58120, 0, 64968, 64672, + 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, + 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 452, 60432, 14, + 58120, 1156, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, 64528, 4, 57504, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 1178, 60432, 38, 60039, + 0, 64680, 64528, 1185, 58117, 1219, 60039, 3, 64528, 4, 57504, 64528, 0, + 65000, 60576, 58120, 3, 64528, 5, 57504, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 3, 64992, 60896, 60896, 60896, + 58120, 1401, 60039, 3, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 3, + 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 0, 64680, 64528, 3, 64992, 60896, 60896, 60896, 58120, 3, 64528, 9, 57504, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1267, 58117, 1335, 60039, 3, + 64528, 7, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1283, 58117, + 1309, 60039, 3, 64544, 64528, 0, 65000, 60576, 58120, 4, 60432, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 3, 64544, 58120, + 1333, 60039, 3, 64992, 64528, 0, 65000, 60576, 58120, 4, 60432, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 3, 64992, 58120, + 1401, 60039, 3, 64528, 7, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 1351, 58117, 1377, 60039, 3, 64544, 64528, 0, 65000, 60576, 58120, 4, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, + 3, 64544, 58120, 1401, 60039, 3, 64992, 64528, 0, 65000, 60576, 58120, 4, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, + 3, 64992, 58120, 3, 64528, 8, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 1417, 58117, 1485, 60039, 3, 64528, 7, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 1433, 58117, 1459, 60039, 3, 64992, 64528, 0, 65000, + 60576, 58120, 4, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 0, 64680, 64528, 3, 64992, 58120, 1483, 60039, 3, 64544, 64528, 0, 65000, + 60576, 58120, 4, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 0, 64680, 64528, 3, 64544, 58120, 1551, 60039, 3, 64528, 7, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 1501, 58117, 1527, 60039, 3, 64992, + 64528, 0, 65000, 60576, 58120, 4, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61896, 0, 64680, 64528, 3, 64992, 58120, 1551, 60039, 3, 64544, + 64528, 0, 65000, 60576, 58120, 4, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61896, 0, 64680, 64528, 3, 64544, 58120, 3, 64544, 64528, 0, + 65000, 60576, 58120, 3, 64528, 10, 57504, 64528, 0, 65000, 60576, 58120, 1571, + 60432, 22, 60039, 0, 64672, 64584, 0, 64680, 64528, 1581, 58117, 1612, 60039, + 0, 64968, 64672, 61384, 3, 64528, 14, 57488, 13, 58120, 0, 64680, 64528, 13, + 64544, 58120, 3, 64528, 10, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 3, 64544, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 3, 64528, 11, + 57504, 64528, 0, 65000, 60576, 58120, 1632, 60432, 38, 60039, 0, 64672, 64584, + 0, 64680, 64528, 1642, 58117, 1675, 60039, 2, 60432, 0, 65000, 60576, 58120, + 3, 64528, 14, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 3, 64528, + 11, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 64544, 58120, 3, + 64992, 64528, 0, 65000, 60576, 58120, 3, 64528, 12, 57504, 64528, 0, 65000, + 60576, 58120, 1695, 60432, 22, 60039, 0, 64672, 64584, 0, 64680, 64528, 1705, + 58117, 1738, 60039, 3, 60432, 0, 65000, 60576, 58120, 3, 64528, 14, 57488, 13, + 58120, 0, 64680, 64528, 13, 64544, 58120, 3, 64528, 12, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 3, 64992, 58120, 3, 64992, 64528, 0, + 65000, 60576, 58120, 3, 64528, 13, 57504, 64528, 0, 65000, 60576, 58120, 1758, + 60432, 38, 60039, 0, 64672, 64584, 0, 64680, 64528, 1768, 58117, 1801, 60039, + 4, 60432, 0, 65000, 60576, 58120, 3, 64528, 14, 57488, 13, 58120, 0, 64680, + 64528, 13, 64544, 58120, 3, 64528, 13, 57504, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 3, 64992, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, + 13, 58120, 387, 60432, 14, 58120, 1819, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 3, 64528, 14, 57504, 64528, 0, 65000, 60576, 58120, 54, 60039, 5, + 60432, 58256, 0, 65000, 60576, 60040, 1837, 58113, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 10, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 7287, + 60432, 14, 58120, 1882, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 60896, + 58120, 3, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 10, 60432, 0, 65000, + 60576, 58120, 2, 60432, 13, 58120, 7287, 60432, 14, 58120, 1916, 60432, 95, + 60039, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 2, 64992, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 1939, 60432, 6, 60039, 0, 64680, + 64528, 1946, 58117, 1963, 60039, 10, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 1, 64992, 60896, 60896, 60896, 58120, 2086, 60039, 3, 64992, 60896, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 1979, 60432, 38, 60039, + 0, 64672, 64584, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 1997, 60432, 6, 60039, 0, 64680, 64528, 60576, 61448, 3, 64992, 60896, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 2018, 60432, 38, 60039, + 0, 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 61384, 0, 64672, 64592, 59336, 2042, 60432, 6, 60039, 0, 64680, + 64528, 60576, 61448, 0, 64680, 64528, 2054, 58117, 2071, 60039, 20, 60432, 0, + 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, 60896, 60896, 60896, 58120, + 2086, 60039, 5, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, + 60896, 60896, 60896, 58120, 3, 64528, 14, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 2103, 60432, 6, 60039, 0, 64680, 64528, 2110, + 58117, 2227, 60039, 506, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, + 64544, 58120, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 50, 60432, 0, + 65000, 60576, 58120, 0, 64672, 64592, 59336, 2, 60432, 13, 58120, 6822, 60432, + 14, 58120, 2153, 60432, 95, 60039, 1, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 7287, 60432, 14, 58120, 2173, 60432, 95, 60039, 0, + 64680, 64528, 1, 64992, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, 1, + 64992, 64528, 0, 65000, 60576, 58120, 1, 64528, 4, 57504, 64528, 0, 65000, + 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 2214, 60432, 95, + 60039, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 58120, 2616, + 60039, 3, 64528, 14, 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, + 60576, 58120, 2246, 60432, 6, 60039, 0, 64680, 64528, 2253, 58117, 2364, + 60039, 0, 64968, 64672, 60040, 0, 64680, 64528, 1, 64544, 58120, 1, 64528, 3, + 57504, 64528, 0, 65000, 60576, 58120, 50, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 6822, 60432, 14, 58120, 2290, 60432, 95, 60039, 1, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 7287, 60432, 14, + 58120, 2310, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 58120, 3, 64992, + 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 1, + 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, + 60432, 14, 58120, 2351, 60432, 95, 60039, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 1, 64992, 58120, 2616, 60039, 3, 64528, 14, 57504, 64528, 0, + 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 2383, 60432, 6, 60039, + 0, 64680, 64528, 2390, 58117, 2507, 60039, 250, 60432, 0, 65000, 60576, 58120, + 0, 64680, 64528, 1, 64992, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 25, 60432, 0, 65000, 60576, 58120, 0, 64672, 64592, 59336, 2, 60432, + 13, 58120, 6822, 60432, 14, 58120, 2432, 60432, 95, 60039, 1, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 7287, 60432, 14, 58120, + 2453, 60432, 95, 60039, 0, 64680, 64528, 1, 64544, 58120, 3, 64544, 64528, 0, + 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 4, + 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, + 58120, 2494, 60432, 95, 60039, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 1, 64544, 58120, 2616, 60039, 0, 64968, 64672, 60040, 0, 64680, 64528, 1, + 64992, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 25, 60432, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 2543, 60432, + 95, 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, + 58120, 7287, 60432, 14, 58120, 2564, 60432, 95, 60039, 0, 64680, 64528, 1, + 64544, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 6822, 60432, 14, 58120, 2605, 60432, 95, 60039, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, 3, 64528, 0, 65000, + 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, + 65000, 60576, 58120, 3, 60432, 13, 58120, 652, 60432, 14, 58120, 2648, 60432, + 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 5, + 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 8643, 60432, 14, 58120, + 2677, 60432, 95, 60039, 0, 64680, 64528, 3, 58120, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 64544, 58120, 2, 64992, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 64992, 58120, 2, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 3, 64992, 60896, 58120, 2, 64528, 3, + 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 64992, 60896, 60896, + 58120, 2, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 64992, 60896, + 60896, 60896, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 2827, 60432, 14, 58120, 2773, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, + 64528, 0, 65000, 60576, 58120, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 3, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, + 13, 58120, 9357, 60432, 14, 58120, 2816, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 3, 58120, 0, 64968, 64672, 60040, 0, 64672, 64584, 1, + 60432, 13, 58120, 20889, 60432, 14, 58120, 2858, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 2954, + 60432, 14, 58120, 2881, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, + 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 3, 58120, 0, 64968, 64672, 60040, 1, 60432, 13, 58120, 20889, 60432, + 14, 58120, 2920, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, 64528, 0, + 65000, 60576, 58120, 1, 60432, 13, 58120, 2954, 60432, 14, 58120, 2943, 60432, + 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64544, + 64528, 0, 65000, 60576, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, 3, + 64544, 64528, 0, 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 3, 64992, 64528, 0, 65000, 60576, 58120, + 3, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 4, 60432, 13, 58120, 22354, 60432, 14, 58120, 3033, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 2, 64992, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 64992, 60896, 60896, 60896, 58120, 0, 64968, + 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 3, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 54, 60039, 2, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64544, 64528, 0, + 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 3, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 2892, 60432, 14, 58120, 3163, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, + 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 64992, 60896, 58120, + 3, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 2827, 60432, 14, 58120, + 3200, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, + 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, + 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 3240, + 60432, 6, 60039, 0, 64680, 64528, 3247, 58117, 3525, 60039, 3, 64544, 64528, + 0, 65000, 60576, 58120, 4, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 0, 64680, 64528, 3, 64544, 58120, 3, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 3286, 60432, 38, 60039, 0, 64680, 64528, + 3293, 58117, 3303, 60039, 0, 64968, 64672, 60040, 0, 64680, 64528, 3, 64544, + 58120, 0, 64968, 64672, 60040, 1, 60432, 13, 58120, 20889, 60432, 14, 58120, + 3319, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, 64544, 64528, 0, 65000, + 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 3, 64992, + 64528, 0, 65000, 60576, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 3, + 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 4, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 3, 64992, 64528, + 0, 65000, 60576, 58120, 3, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 4, 60432, 13, 58120, 22354, 60432, 14, 58120, + 3424, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 0, + 64672, 64584, 1, 60432, 13, 58120, 20889, 60432, 14, 58120, 3448, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 3, + 64992, 64528, 0, 65000, 60576, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, + 3, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 3, 64992, + 64528, 0, 65000, 60576, 58120, 3, 64528, 3, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 4, 60432, 13, 58120, 22354, 60432, 14, + 58120, 3518, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3831, 60039, 3, + 64544, 64528, 0, 65000, 60576, 58120, 4, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 3, 64544, 58120, 3, 64544, 64528, + 0, 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 511, 60432, 0, 65000, 60576, 58120, 3579, 60432, + 22, 60039, 0, 64680, 64528, 3586, 58117, 3611, 60039, 511, 60432, 0, 65000, + 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 0, 64680, 64528, 3, 64544, 58120, 0, 64968, 64672, 60040, 1, + 60432, 13, 58120, 20889, 60432, 14, 58120, 3627, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 4, 60432, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61896, 3, 64992, 64528, 0, 65000, 60576, + 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, + 64680, 64528, 60576, 61896, 3, 64992, 64528, 0, 65000, 60576, 58120, 3, 64528, + 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 4, + 60432, 13, 58120, 22354, 60432, 14, 58120, 3706, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 0, 64968, 64672, 60040, 0, 64672, 64584, 1, 60432, 13, 58120, + 20889, 60432, 14, 58120, 3730, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, + 64544, 64528, 0, 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 3, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61896, 3, 64992, 64528, 0, 65000, 60576, 58120, 3, 64544, + 64528, 0, 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61576, 3, 64992, 64528, 0, 65000, 60576, 58120, 3, + 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 4, 60432, 13, 58120, 22354, 60432, 14, 58120, 3826, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 0, 65000, 60576, + 60040, 0, 60432, 13, 58120, 4508, 60432, 14, 58120, 3853, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 0, 60432, 13, 58120, 4531, 60432, 14, 58120, 3870, + 60432, 95, 60039, 0, 64680, 64528, 1, 64544, 58120, 1, 64544, 64528, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 4539, 60432, 14, 58120, 3895, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, + 60432, 13, 58120, 4419, 60432, 14, 58120, 3919, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 7, 60432, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 8643, 60432, 14, 58120, 3948, 60432, 95, 60039, 0, + 64680, 64528, 3, 58120, 0, 60432, 13, 58120, 20598, 60432, 14, 58120, 3965, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 50, 60432, 0, 65000, 60576, + 58120, 0, 64680, 64528, 3, 64992, 60896, 60896, 60896, 60896, 60896, 58120, + 230, 60432, 0, 65000, 60576, 58120, 229, 60432, 0, 65000, 60576, 58120, 3, + 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 7, 60432, 0, 65000, 60576, + 58120, 4, 60432, 13, 58120, 2659, 60432, 14, 58120, 4026, 60432, 95, 60039, 0, + 64680, 64528, 3, 64544, 58120, 253, 60432, 0, 65000, 60576, 58120, 222, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 511, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 229, 60432, 0, 65000, 60576, 58120, 6, 60432, + 13, 58120, 145, 60432, 14, 58120, 4076, 60432, 95, 60039, 0, 64680, 64528, 3, + 64992, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, 400, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 3, 60432, 13, 58120, 652, 60432, 14, + 58120, 4111, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, + 60040, 238, 60432, 0, 65000, 60576, 58120, 511, 60432, 0, 65000, 60576, 58120, + 240, 60432, 0, 65000, 60576, 58120, 4, 60432, 13, 58120, 22354, 60432, 14, + 58120, 4150, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 22, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 2, 60432, 13, 58120, 19350, 60432, 14, + 58120, 4177, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 8, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 25105, 60432, 14, 58120, 4200, 60432, 95, + 60039, 83, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, + 14, 58120, 4218, 60432, 95, 60039, 99, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 25659, 60432, 14, 58120, 4236, 60432, 95, 60039, 111, 60432, + 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 4254, + 60432, 95, 60039, 114, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, + 25659, 60432, 14, 58120, 4272, 60432, 95, 60039, 101, 60432, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 4290, 60432, 95, 60039, + 58, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, + 58120, 4308, 60432, 95, 60039, 32, 60432, 0, 65000, 60576, 58120, 2, 60432, + 13, 58120, 25659, 60432, 14, 58120, 4326, 60432, 95, 60039, 48, 60432, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 4344, + 60432, 95, 60039, 1, 60432, 13, 58120, 19850, 60432, 14, 58120, 4356, 60432, + 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, + 3, 64992, 60896, 60896, 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, 3, + 64992, 60896, 60896, 60896, 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, 3, + 64992, 60896, 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, 3, 64992, 60896, + 60896, 60896, 60896, 58120, 3, 64528, 0, 65000, 60576, 58120, 54, 60039, 2, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64544, + 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 2786, 60432, 14, 58120, + 4450, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, 64992, 64528, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 346, 60432, 14, 58120, 4474, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 3, 64528, 0, 65000, 60576, 58120, 1, 60432, + 13, 58120, 9357, 60432, 14, 58120, 4497, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 0, 64968, 64672, 60040, 54, 60039, 0, 60432, 13, 58120, 3930, 60432, + 14, 58120, 4520, 60432, 95, 60039, 0, 64680, 64528, 16, 58120, 0, 64968, + 64672, 60040, 54, 60039, 16, 64528, 0, 65000, 60576, 58120, 54, 60039, 0, + 65000, 60576, 60040, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 3, 58120, 3, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, + 0, 64672, 64584, 0, 64680, 64528, 4943, 58117, 1, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 4590, 60432, 6, 60039, 3, 64528, 3, + 57504, 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, 0, 64680, 64528, 60576, + 61448, 0, 64672, 64584, 0, 64680, 64528, 4682, 58117, 0, 60432, 13, 58120, + 5924, 60432, 14, 58120, 4627, 60432, 95, 60039, 0, 64680, 64528, 1, 64544, + 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 3211, + 60432, 14, 58120, 4652, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, 64528, + 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 5191, 60432, 14, 58120, 4675, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 4575, 60039, 1, 64544, 64528, 0, + 65000, 60576, 58120, 130, 60432, 0, 65000, 60576, 58120, 4699, 60432, 6, + 60039, 0, 64680, 64528, 4706, 58117, 4736, 60039, 3, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 61384, 2, 60432, 13, 58120, 3044, 60432, 14, + 58120, 4729, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 4831, 60039, 1, + 64544, 64528, 0, 65000, 60576, 58120, 132, 60432, 0, 65000, 60576, 58120, + 4753, 60432, 6, 60039, 0, 64680, 64528, 4760, 58117, 4792, 60039, 3, 64544, + 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, + 58120, 3044, 60432, 14, 58120, 4785, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 4831, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 140, 60432, 0, + 65000, 60576, 58120, 4809, 60432, 6, 60039, 0, 64680, 64528, 4816, 58117, + 4831, 60039, 0, 64968, 64672, 60040, 0, 64672, 64584, 0, 64680, 64528, 3, + 64992, 60896, 60896, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 4846, 60432, 6, 60039, 0, 64672, 64584, 3, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, 0, 64680, 64528, 60576, 61448, + 0, 64672, 64584, 0, 64680, 64528, 4941, 58117, 0, 60432, 13, 58120, 5924, + 60432, 14, 58120, 4886, 60432, 95, 60039, 0, 64680, 64528, 1, 64544, 58120, 3, + 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 3211, 60432, 14, + 58120, 4911, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, 64528, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 5191, 60432, 14, 58120, 4934, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 4831, 60039, 4555, 60039, 3, 64528, 3, + 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4959, 58117, 5185, + 60039, 10, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, + 2, 60432, 13, 58120, 19350, 60432, 14, 58120, 4983, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 9, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 25105, 60432, 14, 58120, 5006, 60432, 95, 60039, 71, 60432, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 5024, 60432, 95, 60039, + 97, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, + 58120, 5042, 60432, 95, 60039, 109, 60432, 0, 65000, 60576, 58120, 2, 60432, + 13, 58120, 25659, 60432, 14, 58120, 5060, 60432, 95, 60039, 101, 60432, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 5078, + 60432, 95, 60039, 32, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, + 25659, 60432, 14, 58120, 5096, 60432, 95, 60039, 79, 60432, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 5114, 60432, 95, 60039, + 118, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, + 58120, 5132, 60432, 95, 60039, 101, 60432, 0, 65000, 60576, 58120, 2, 60432, + 13, 58120, 25659, 60432, 14, 58120, 5150, 60432, 95, 60039, 114, 60432, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 5168, + 60432, 95, 60039, 1, 60432, 13, 58120, 19850, 60432, 14, 58120, 5180, 60432, + 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 5, + 60432, 58256, 0, 65000, 60576, 60040, 5193, 58113, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64992, 64528, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 1126, 60432, 14, 58120, 5231, 60432, 95, 60039, 0, + 64680, 64528, 3, 64992, 60896, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 5254, 60432, 22, 60039, 3, 64992, 60896, 64528, + 0, 65000, 60576, 58120, 3, 64528, 5, 57504, 64528, 0, 65000, 60576, 58120, + 5275, 60432, 6, 60039, 0, 64672, 64584, 0, 64680, 64528, 60576, 61448, 0, + 64680, 64528, 5290, 58117, 5802, 60039, 3, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 3, 64992, 60896, 60896, 60896, 60896, 58120, 0, + 64968, 64672, 60040, 0, 64680, 64528, 1, 64544, 58120, 3, 64544, 64528, 0, + 65000, 60576, 58120, 1, 60432, 13, 58120, 3078, 60432, 14, 58120, 5337, 60432, + 95, 60039, 0, 64680, 64528, 1, 64992, 58120, 3, 64544, 64528, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 3099, 60432, 14, 58120, 5362, 60432, 95, 60039, 0, + 64680, 64528, 1, 64992, 60896, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, + 1, 60432, 13, 58120, 599, 60432, 14, 58120, 5388, 60432, 95, 60039, 0, 64680, + 64528, 1, 64992, 60896, 60896, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, + 1, 60432, 13, 58120, 620, 60432, 14, 58120, 5415, 60432, 95, 60039, 0, 64680, + 64528, 1, 64992, 60896, 60896, 60896, 58120, 3, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 4, 60432, 0, 65000, 60576, 58120, 5442, 60432, 6, 60039, 0, + 64680, 64528, 5449, 58117, 5771, 60039, 1, 64992, 64528, 0, 65000, 60576, + 58120, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 5469, 60432, 22, + 60039, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 1, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 5490, 60432, 38, 60039, 0, 64680, 64528, 60576, + 62792, 0, 64680, 64528, 3, 64992, 60896, 60896, 58120, 3, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, 0, 64680, 64528, 5522, 58117, + 5771, 60039, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 1, 64992, + 64528, 0, 65000, 60576, 58120, 10, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 5553, 60432, 38, 60039, 0, 64680, 64528, 5560, 58117, + 5576, 60039, 0, 64968, 64672, 61384, 0, 64672, 64592, 59336, 0, 64680, 64528, + 1, 64544, 58120, 5625, 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, + 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 10, 60432, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61896, 5608, 60432, 22, 60039, 0, 64680, + 64528, 5615, 58117, 5625, 60039, 0, 64968, 64672, 61384, 0, 64680, 64528, 1, + 64544, 58120, 3, 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 3, 64992, + 60896, 60896, 60896, 60896, 60896, 58120, 3, 64544, 64528, 0, 65000, 60576, + 58120, 3, 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, + 3133, 60432, 14, 58120, 5684, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, + 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 3, 64992, 60896, 60896, 60896, + 58120, 22, 60432, 0, 65000, 60576, 58120, 7, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 19350, 60432, 14, 58120, 5740, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 3, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 1, 60432, + 13, 58120, 19981, 60432, 14, 58120, 5766, 60432, 95, 60039, 0, 64680, 64528, + 5, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, + 60576, 58120, 2, 60432, 13, 58120, 1835, 60432, 14, 58120, 5797, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 5823, 60432, 22, 60039, + 0, 64672, 64584, 0, 64680, 64528, 5833, 58117, 5856, 60039, 2, 60432, 0, + 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, 5851, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, 64544, 64528, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 8643, 60432, 14, 58120, 5875, 60432, 95, 60039, + 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, + 3, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 9357, 60432, 14, 58120, + 5907, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, + 60039, 0, 64968, 64672, 60040, 54, 60039, 24576, 60432, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 8558, 60432, 14, 58120, 5942, 60432, 95, 60039, + 54, 60039, 0, 64544, 60040, 60912, 60040, 0, 59336, 0, 64968, 64672, 60040, 1, + 60432, 13, 58120, 19610, 60432, 14, 58120, 5967, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 5987, 60432, 6, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 6002, 60432, 22, 60039, 0, 64680, 64528, 60576, 62792, 0, + 64672, 64584, 0, 64680, 64528, 6070, 58117, 0, 60432, 13, 58120, 5924, 60432, + 14, 58120, 6027, 60432, 95, 60039, 0, 64680, 64528, 1, 64544, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 6048, 60432, 22, 60039, + 0, 64680, 64528, 6055, 58117, 6068, 60039, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 1, 64992, 58120, 5972, 60039, 0, 60432, 13, 58120, + 27042, 60432, 14, 58120, 6082, 60432, 95, 60039, 1, 60432, 13, 58120, 19610, + 60432, 14, 58120, 6094, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64992, + 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 19610, 60432, 14, 58120, + 6118, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64992, 64528, 0, 65000, + 60576, 58120, 54, 60039, 5, 60432, 58256, 0, 65000, 60576, 60040, 6134, 58113, + 80, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 25105, 60432, 14, + 58120, 6159, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, + 2, 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 19850, 60432, + 14, 58120, 6186, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 60432, 13, + 58120, 27034, 60432, 14, 58120, 6203, 60432, 95, 60039, 0, 64680, 64528, 1, + 64992, 58120, 0, 60432, 13, 58120, 27042, 60432, 14, 58120, 6221, 60432, 95, + 60039, 0, 64680, 64528, 1, 64992, 60896, 58120, 1, 64528, 4, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64672, 64584, 0, 64672, 64584, 0, 64680, 64528, 6404, + 58117, 0, 60432, 13, 58120, 5944, 60432, 14, 58120, 6260, 60432, 95, 60039, 0, + 64680, 64528, 1, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, + 64992, 64528, 0, 65000, 60576, 58120, 6284, 60432, 6, 60039, 0, 64680, 64528, + 1, 64992, 60896, 60896, 60896, 58120, 1, 64528, 4, 57504, 64528, 0, 65000, + 60576, 58120, 0, 64672, 64584, 0, 64680, 64528, 6312, 58117, 6402, 60039, 1, + 64544, 64528, 0, 65000, 60576, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 6331, 60432, 6, 60039, 0, 64680, 64528, 6338, 58117, 6366, 60039, 1, + 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 25801, + 60432, 14, 58120, 6359, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 6402, + 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 6394, + 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 6228, 60039, + 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 54, 60039, 0, 64544, 60040, + 60912, 60040, 0, 59336, 2, 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, + 58120, 6132, 60432, 14, 58120, 6441, 60432, 95, 60039, 0, 64680, 64528, 1, + 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 25889, 60432, 14, 58120, 6466, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, + 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 25252, + 60432, 14, 58120, 6491, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64992, + 64528, 0, 65000, 60576, 58120, 54, 60039, 0, 65000, 60576, 60040, 16, 60432, + 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 5808, 60432, 14, 58120, 6527, + 60432, 95, 60039, 0, 64680, 64528, 17, 58120, 16, 60432, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 5808, 60432, 14, 58120, 6550, 60432, 95, 60039, 0, + 64680, 64528, 18, 58120, 0, 64968, 64672, 60040, 18, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 0, 64968, 64672, 61384, 0, 64680, 64528, + 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 4, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 15, + 60432, 0, 65000, 60576, 58120, 6613, 60432, 38, 60039, 0, 64672, 64584, 0, + 64680, 64528, 6768, 58117, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, + 1, 64544, 64528, 0, 65000, 60576, 58120, 18, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 61384, 0, 64680, 64528, 60576, 61896, 18, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, + 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 61384, 0, 64680, 64528, 60576, 61896, 18, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 4, 64544, 58120, 6596, 60039, 0, 64968, 64672, 60040, 54, + 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 6789, + 60432, 38, 60039, 0, 64680, 64528, 6796, 58117, 6813, 60039, 2, 64544, 64528, + 0, 65000, 60576, 58120, 0, 64672, 64592, 59336, 0, 64680, 64528, 2, 64544, + 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 54, 60039, 5, 60432, 58256, 0, + 65000, 60576, 60040, 6824, 58113, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 6846, 60432, 38, 60039, 2, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 6861, 60432, 22, 60039, 0, 64680, 64528, 60576, + 61448, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 6881, + 60432, 22, 60039, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 6896, 60432, 38, 60039, 0, 64680, 64528, 60576, 61448, 0, 64680, 64528, + 60576, 62792, 0, 64680, 64528, 1, 64992, 60896, 60896, 60896, 58120, 2, 64544, + 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 6774, 60432, 14, 58120, + 6934, 60432, 95, 60039, 0, 64680, 64528, 2, 64544, 58120, 2, 64992, 64528, 0, + 65000, 60576, 58120, 1, 60432, 13, 58120, 6774, 60432, 14, 58120, 6959, 60432, + 95, 60039, 0, 64680, 64528, 2, 64992, 58120, 2, 64544, 64528, 0, 65000, 60576, + 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 6983, 60432, 38, 60039, 0, + 64680, 64528, 6990, 58117, 7029, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 1, 64992, 58120, 2, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 2, 64544, 58120, 1, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 2, 64992, 58120, 1, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 7048, 60432, 38, 60039, + 0, 64672, 64584, 0, 64680, 64528, 7245, 58117, 1, 64528, 3, 57504, 64528, 0, + 65000, 60576, 58120, 18, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, + 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61448, + 0, 64968, 64672, 60040, 7108, 60432, 22, 60039, 0, 64680, 64528, 7115, 58117, + 7192, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 2, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, + 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 1, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 18, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 60896, + 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 2, 64544, 58120, + 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, + 7029, 60039, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 7261, 58117, 7278, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64672, 64592, 59336, 0, 64680, 64528, 1, 64544, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 54, 60039, 4, 60432, 58256, 0, 65000, 60576, 60040, 7289, + 58113, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 7311, + 60432, 6, 60039, 0, 64680, 64528, 7318, 58117, 7341, 60039, 3, 60432, 0, + 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, 7336, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 7356, 60432, 38, 60039, 2, 64992, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 7371, 60432, 22, 60039, 0, 64680, + 64528, 60576, 61448, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 7391, 60432, 22, 60039, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 7406, 60432, 38, 60039, 0, 64680, 64528, 60576, 61448, 0, + 64680, 64528, 60576, 62792, 0, 64680, 64528, 1, 64992, 60896, 58120, 0, 64968, + 64672, 60040, 17, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 2, 64992, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 6774, + 60432, 14, 58120, 7457, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64680, + 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, + 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 6774, + 60432, 14, 58120, 7498, 60432, 95, 60039, 0, 64680, 64528, 2, 64544, 58120, 1, + 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, 0, 64672, + 64584, 0, 64680, 64528, 7841, 58117, 32767, 60432, 0, 65000, 60576, 58120, 1, + 64544, 64528, 0, 65000, 60576, 58120, 17, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 1, 64544, 64528, 0, 65000, + 60576, 58120, 17, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, + 7599, 60432, 38, 60039, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 1, + 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, 0, 64680, + 64528, 7626, 58117, 7839, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 17, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 1, 64544, 64528, 0, 65000, 60576, + 58120, 17, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 17, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 5, 58120, 0, + 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, + 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, + 0, 64680, 64528, 60576, 61576, 17, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 7790, 60432, 22, 60039, + 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 1, 64528, 3, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64672, 64584, 0, 64680, 64528, 7817, 58117, 7839, + 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, 7504, 60039, 1, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64672, 64592, + 59336, 7860, 60432, 22, 60039, 0, 64672, 64584, 0, 64680, 64528, 8039, 58117, + 1, 64544, 64528, 0, 65000, 60576, 58120, 17, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 7909, 60432, 22, + 60039, 0, 64672, 64584, 0, 64680, 64528, 7919, 58117, 8015, 60039, 1, 64992, + 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 18, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 0, 64680, 64528, 1, 64992, 58120, 2, 64544, 64528, 0, 65000, 60576, + 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 17, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, + 2, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 1, 64544, 58120, 7841, + 60039, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 8054, + 58117, 8071, 60039, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64672, 64592, + 59336, 0, 64680, 64528, 1, 64992, 58120, 1, 64992, 64528, 0, 65000, 60576, + 58120, 54, 60039, 4, 60432, 58256, 0, 65000, 60576, 60040, 8082, 58113, 2, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 8104, 60432, 38, + 60039, 0, 64680, 64528, 8111, 58117, 8134, 60039, 4, 60432, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, 8129, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 7, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, + 1, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64672, 64592, 59336, 8165, 60432, 22, 60039, 0, 64672, 64584, 0, + 64680, 64528, 8348, 58117, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, + 1, 64544, 64528, 0, 65000, 60576, 58120, 18, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, + 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, + 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 8249, 60432, 95, + 60039, 0, 64680, 64528, 1, 64992, 60896, 58120, 1, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 8275, 60432, 22, + 60039, 0, 64672, 64584, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 8294, 60432, 38, 60039, 0, 64672, 64584, 0, 64680, 64528, + 60576, 61448, 0, 64680, 64528, 8309, 58117, 8324, 60039, 1, 64992, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, + 61896, 0, 64680, 64528, 1, 64544, 58120, 8146, 60039, 1, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 8377, 60432, 22, 60039, 0, + 64680, 64528, 8384, 58117, 8397, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 2, 64992, 58120, 2, 64992, 64528, 0, 65000, 60576, + 58120, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, 64528, 0, + 65000, 60576, 58120, 8424, 60432, 38, 60039, 0, 64680, 64528, 8431, 58117, + 8444, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 2, + 64992, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 54, 60039, 0, 64968, + 64672, 60040, 0, 64680, 64528, 19, 58120, 2048, 60432, 0, 65000, 60576, 58120, + 19, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 14334, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, + 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, + 2049, 60432, 0, 65000, 60576, 58120, 19, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 2050, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 4, 64544, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, + 64528, 0, 65000, 60576, 58120, 19, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 19, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64992, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 0, 64968, + 64672, 60040, 54, 60039, 0, 65000, 60576, 60040, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 61384, 8662, 60432, 38, 60039, 0, 64680, 64528, + 8669, 58117, 8692, 60039, 5, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, + 58120, 27353, 60432, 14, 58120, 8687, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 2048, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64544, 58120, + 0, 64968, 64672, 60040, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 8743, 60432, 38, 60039, + 0, 64672, 64584, 0, 64680, 64528, 8787, 58117, 0, 64968, 64672, 61384, 1, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, + 64544, 58120, 8704, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 2, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 16379, 60432, 0, + 65000, 60576, 58120, 8816, 60432, 22, 60039, 0, 64680, 64528, 8823, 58117, + 8846, 60039, 6, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, + 60432, 14, 58120, 8841, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, + 64672, 60040, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 2, + 64544, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 8896, 60432, 22, 60039, 0, 64680, 64528, 8903, + 58117, 9295, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 1, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64968, 64672, 60040, 1, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61896, 2, 60432, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, + 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 0, + 64968, 64672, 61384, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, + 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 9056, 60432, 6, 60039, 0, 64680, 64528, + 9063, 58117, 9147, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 3, 60432, + 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 1, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 1, 64544, 64528, 0, 65000, + 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 4, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 4, 64544, 58120, 9227, 60039, 2, 64544, 64528, 0, + 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 0, 64968, 64672, 61384, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 0, 64968, 64672, + 61384, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 1, 64544, 64528, 0, 65000, 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 2, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, + 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 0, + 64968, 64672, 60040, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64968, 64672, 60040, 0, 64680, 64528, 5, 58120, 0, 64680, + 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, + 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 54, 60039, 0, 64544, 60040, 60912, + 60040, 0, 59336, 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 1, 64544, 58120, + 0, 64968, 64672, 61384, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 1, 64992, 58120, 0, 64968, 64672, 60040, 1, + 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 9458, 60432, 6, 60039, 0, 64680, 64528, 9465, 58117, 9556, 60039, 0, + 64968, 64672, 60040, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64968, 64672, 61384, 1, 64544, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 2, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, + 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 9848, 60039, 0, 64968, 64672, + 60040, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 0, 64968, 64672, 61384, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61896, 0, 64968, 64672, 60040, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 5, 58120, + 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 4, 64544, 58120, 0, 64968, 64672, 61384, 1, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, + 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 2, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 9717, 60432, 6, + 60039, 0, 64680, 64528, 9724, 58117, 9782, 60039, 0, 64968, 64672, 61384, 1, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 1, 64544, + 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 9848, 60039, + 0, 64968, 64672, 61384, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64968, 64672, 61384, 1, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, + 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 0, + 64968, 64672, 60040, 54, 60039, 16384, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 20, 58120, 0, 64968, 64672, 60040, 0, 64672, 64584, 0, 64680, + 64528, 21, 58120, 32, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 22, + 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, 23, 58120, 6, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 25105, 60432, 14, 58120, 9915, 60432, 95, + 60039, 0, 64680, 64528, 24, 58120, 0, 60432, 13, 58120, 9960, 60432, 14, + 58120, 9932, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 60432, 13, 58120, + 18456, 60432, 14, 58120, 9949, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, + 64968, 64672, 60040, 54, 60039, 127, 60432, 0, 65000, 60576, 58120, 1, 60432, + 13, 58120, 5808, 60432, 14, 58120, 9978, 60432, 95, 60039, 0, 64680, 64528, + 25, 58120, 0, 64968, 64672, 60040, 63, 60432, 0, 65000, 60576, 58120, 63, + 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 63, 60432, + 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, + 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 10061, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 32, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 10128, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 33, 60432, 0, + 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, + 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 0, 64968, 64672, 60040, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 10211, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 34, 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, + 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, 20, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 10284, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 35, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 18, 60432, 0, 65000, + 60576, 58120, 18, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, + 58120, 18, 60432, 0, 65000, 60576, 58120, 18, 60432, 0, 65000, 60576, 58120, + 63, 60432, 0, 65000, 60576, 58120, 18, 60432, 0, 65000, 60576, 58120, 18, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 10367, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 36, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, + 58120, 48, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 30, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 10454, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 37, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 35, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 24, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 6, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 49, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 10535, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 38, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, + 27, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, 27, + 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 10620, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 39, 60432, 0, + 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 10693, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 40, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, + 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, + 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, + 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 12, + 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 10778, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 41, 60432, 0, + 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, + 58120, 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, + 24, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 6, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 10863, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 42, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 51, 60432, 0, 65000, + 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, + 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 10940, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 43, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 11017, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 44, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 0, + 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 11090, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 45, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 63, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, + 58120, 17843, 60432, 14, 58120, 11159, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 46, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 11230, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 47, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 32, 60432, 0, 65000, + 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 3, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 11309, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 48, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 11394, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 49, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 14, 60432, 0, 65000, 60576, 58120, 15, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, + 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 11479, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 50, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 3, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 63, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 11564, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, + 58120, 48, 60432, 0, 65000, 60576, 58120, 28, 60432, 0, 65000, 60576, 58120, + 48, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 11649, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 52, 60432, 0, + 65000, 60576, 58120, 16, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, + 60576, 58120, 28, 60432, 0, 65000, 60576, 58120, 26, 60432, 0, 65000, 60576, + 58120, 25, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, + 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 60, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 11734, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 53, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, + 60576, 58120, 31, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, + 58120, 48, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 11819, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 54, + 60432, 0, 65000, 60576, 58120, 28, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, + 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, + 60576, 58120, 31, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 30, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 11904, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 55, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 49, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, + 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 11989, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 56, + 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 12074, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 57, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 62, 60432, 0, + 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, + 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 14, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 12159, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 58, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 12234, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 59, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 0, 65000, 60576, 58120, 12, + 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 12311, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 60, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 24, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, + 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 12392, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 61, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 63, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 63, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 12463, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 62, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 3, 60432, 0, 65000, 60576, 58120, 6, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 24, 60432, + 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, + 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 12544, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 64, 60432, 0, 65000, 60576, + 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 59, 60432, 0, 65000, 60576, 58120, 59, + 60432, 0, 65000, 60576, 58120, 59, 60432, 0, 65000, 60576, 58120, 27, 60432, + 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, + 58120, 17843, 60432, 14, 58120, 12629, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 63, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 24, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 12, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 12712, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 65, 60432, 0, 65000, 60576, 58120, 12, + 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 12797, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 66, 60432, 0, 65000, 60576, 58120, 31, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 31, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 31, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 12882, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 67, 60432, 0, 65000, 60576, + 58120, 28, 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, + 35, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, + 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 35, 60432, 0, 65000, + 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, 28, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 12967, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 68, 60432, 0, 65000, 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, 27, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, + 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 13052, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 69, 60432, 0, 65000, 60576, + 58120, 63, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 35, 60432, 0, 65000, 60576, 58120, 11, 60432, 0, 65000, 60576, 58120, 15, + 60432, 0, 65000, 60576, 58120, 11, 60432, 0, 65000, 60576, 58120, 35, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 13137, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 70, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 35, 60432, 0, 65000, 60576, + 58120, 11, 60432, 0, 65000, 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, + 11, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, + 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, + 13222, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 71, 60432, 0, 65000, + 60576, 58120, 28, 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, + 58120, 35, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, + 59, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, 44, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 13307, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 72, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 13392, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 73, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 13477, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 74, 60432, 0, 65000, 60576, 58120, 60, 60432, 0, + 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, + 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, + 58120, 24, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, + 27, 60432, 0, 65000, 60576, 58120, 14, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 13562, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 75, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, + 65000, 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 13647, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 76, 60432, 0, 65000, 60576, 58120, 3, 60432, + 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, + 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, + 58120, 3, 60432, 0, 65000, 60576, 58120, 35, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 13732, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 77, + 60432, 0, 65000, 60576, 58120, 33, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 13817, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 78, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 55, 60432, + 0, 65000, 60576, 58120, 55, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 59, 60432, 0, 65000, 60576, 58120, 59, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 13902, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 79, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 13987, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 80, 60432, 0, 65000, 60576, + 58120, 31, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 31, + 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, + 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, + 58120, 17843, 60432, 14, 58120, 14072, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 81, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 59, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 14159, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 82, 60432, 0, + 65000, 60576, 58120, 31, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 31, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 14244, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 83, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 28, 60432, 0, 65000, 60576, + 58120, 48, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 14329, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 84, + 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 63, 60432, + 0, 65000, 60576, 58120, 45, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, + 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 14414, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 85, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 14499, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 86, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 14584, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 87, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 63, 60432, + 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 18, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 14669, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 88, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, + 58120, 30, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 30, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 14754, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 89, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 30, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 14839, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 90, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 49, 60432, 0, 65000, + 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 6, 60432, 0, 65000, 60576, 58120, 35, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 14924, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 91, + 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, + 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, + 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, + 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 15009, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 92, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 61384, 3, 60432, 0, 65000, + 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 24, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, + 32, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 15088, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 93, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, + 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, + 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, + 58120, 24, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, + 24, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 15173, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 94, + 60432, 0, 65000, 60576, 58120, 8, 60432, 0, 65000, 60576, 58120, 28, 60432, 0, + 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 15246, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 95, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 63, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 15315, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 96, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 12, + 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 15388, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 97, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 14, 60432, 0, 65000, 60576, 58120, 24, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, 27, 60432, + 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, + 15467, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 98, 60432, 0, 65000, + 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, + 58120, 3, 60432, 0, 65000, 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, + 27, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 15552, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 99, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 30, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 15631, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 100, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, + 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, + 58120, 60, 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 15716, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 101, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 63, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 15795, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 102, + 60432, 0, 65000, 60576, 58120, 28, 60432, 0, 65000, 60576, 58120, 54, 60432, + 0, 65000, 60576, 58120, 38, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, + 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, + 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 15, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 15880, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 103, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 62, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, + 15963, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 104, 60432, 0, 65000, + 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, + 58120, 3, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, + 55, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 16048, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 105, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 14, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, + 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, + 16131, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 106, 60432, 0, 65000, + 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 56, 60432, 0, 65000, 60576, 58120, 48, 60432, + 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, + 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 16216, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 107, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, + 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, + 15, 60432, 0, 65000, 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, 27, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 16301, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 108, 60432, 0, + 65000, 60576, 58120, 14, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 16386, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 109, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 29, 60432, 0, 65000, + 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 43, 60432, 0, 65000, 60576, + 58120, 43, 60432, 0, 65000, 60576, 58120, 43, 60432, 0, 65000, 60576, 58120, + 43, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 16465, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 110, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 29, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 16544, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 111, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 30, + 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, + 16623, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 112, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 31, + 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 16704, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 113, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 62, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, + 58120, 48, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 12, 60432, + 13, 58120, 17843, 60432, 14, 58120, 16785, 60432, 95, 60039, 0, 64680, 64528, + 5, 58120, 114, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 29, 60432, 0, 65000, 60576, + 58120, 55, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 3, 60432, 0, 65000, 60576, 58120, 3, 60432, 0, 65000, 60576, 58120, 7, 60432, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 16864, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 115, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 30, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, + 24, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 16943, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 116, 60432, 0, 65000, 60576, 58120, 4, 60432, 0, + 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, + 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, + 58120, 6, 60432, 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 54, + 60432, 0, 65000, 60576, 58120, 28, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 17028, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 117, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 27, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, + 58120, 27, 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, + 27, 60432, 0, 65000, 60576, 58120, 54, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 17107, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 118, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, + 17843, 60432, 14, 58120, 17186, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 119, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, + 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, 63, 60432, 0, + 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 18, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, + 58120, 17843, 60432, 14, 58120, 17265, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 120, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 51, 60432, 0, 65000, 60576, 58120, 30, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, + 0, 65000, 60576, 58120, 30, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 17344, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 121, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 51, 60432, 0, 65000, 60576, + 58120, 51, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, 60576, 58120, + 62, 60432, 0, 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 24, + 60432, 0, 65000, 60576, 58120, 15, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 17425, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 122, 60432, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 63, + 60432, 0, 65000, 60576, 58120, 27, 60432, 0, 65000, 60576, 58120, 12, 60432, + 0, 65000, 60576, 58120, 6, 60432, 0, 65000, 60576, 58120, 51, 60432, 0, 65000, + 60576, 58120, 63, 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, + 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 17504, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 123, 60432, 0, 65000, 60576, + 58120, 56, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 7, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, + 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 56, 60432, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, + 60432, 13, 58120, 17843, 60432, 14, 58120, 17589, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 124, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, + 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, 60432, 14, + 58120, 17674, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 125, 60432, 0, + 65000, 60576, 58120, 7, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, + 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, + 58120, 56, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, + 12, 60432, 0, 65000, 60576, 58120, 12, 60432, 0, 65000, 60576, 58120, 7, + 60432, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 12, 60432, 13, 58120, 17843, 60432, 14, 58120, 17759, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 126, 60432, 0, 65000, 60576, 58120, 38, 60432, 0, + 65000, 60576, 58120, 45, 60432, 0, 65000, 60576, 58120, 25, 60432, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, + 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, + 0, 64968, 64672, 60040, 0, 64968, 64672, 60040, 12, 60432, 13, 58120, 17843, + 60432, 14, 58120, 17832, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, + 64968, 64672, 60040, 54, 60039, 0, 65000, 60576, 60040, 11, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 5808, 60432, 14, 58120, 17865, 60432, 95, + 60039, 0, 64680, 64528, 1, 64544, 58120, 2, 64544, 64528, 0, 65000, 60576, + 58120, 25, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 1, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, + 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, + 58120, 0, 64968, 64672, 60040, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 4, 64544, 58120, 0, 64968, 64672, 61384, 1, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 2, 60432, 0, + 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 2, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 4, 64544, 58120, 3, 60432, 0, 65000, 60576, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64528, 4, + 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, + 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, + 58120, 4, 60432, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 2, 64528, 5, 57504, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 5, 60432, 0, 65000, + 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 2, 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, + 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 4, 64544, 58120, 6, 60432, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64528, 7, 57504, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, + 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 7, 60432, + 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 2, 64528, 8, 57504, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 4, 64544, 58120, 8, 60432, 0, 65000, 60576, 58120, 1, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64528, + 9, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, + 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, + 58120, 9, 60432, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 2, 64528, 10, 57504, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 10, 60432, 0, 65000, + 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 2, 64528, 11, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, + 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 4, 64544, 58120, 0, 64968, 64672, 60040, 54, 60039, 4, 60432, 58256, 0, + 65000, 60576, 60040, 18458, 58113, 127, 60432, 0, 65000, 60576, 58120, 1, + 60432, 13, 58120, 5808, 60432, 14, 58120, 18483, 60432, 95, 60039, 0, 64680, + 64528, 26, 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, 1, 64992, 60896, + 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 127, 60432, 0, 65000, + 60576, 58120, 18517, 60432, 38, 60039, 0, 64672, 64584, 0, 64680, 64528, + 18859, 58117, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 25, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, + 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64544, 58120, 11, + 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 5808, 60432, 14, 58120, + 18580, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 58120, 1, 64992, 60896, + 64528, 0, 65000, 60576, 58120, 26, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 4, 64544, 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, 1, + 64992, 60896, 60896, 58120, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, + 11, 60432, 0, 65000, 60576, 58120, 18665, 60432, 38, 60039, 0, 64672, 64584, + 0, 64680, 64528, 18795, 58117, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, + 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, + 64544, 64528, 0, 65000, 60576, 58120, 256, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 6822, 60432, 14, 58120, 18745, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 4, 64544, 58120, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 1, 64992, 60896, 60896, 58120, 18646, 60039, 1, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 18811, 60432, 6, 60039, 0, 64680, 64528, + 18818, 58117, 18833, 60039, 32, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 1, 64992, 60896, 58120, 18857, 60039, 1, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 1, 64992, 60896, 58120, 18499, 60039, 0, 64968, 64672, 60040, 54, + 60039, 0, 65000, 60576, 60040, 2, 64544, 64528, 0, 65000, 60576, 58120, 32, + 60432, 0, 65000, 60576, 58120, 18886, 60432, 38, 60039, 2, 64544, 64528, 0, + 65000, 60576, 58120, 126, 60432, 0, 65000, 60576, 58120, 18903, 60432, 22, + 60039, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, 18915, 58117, 18925, + 60039, 0, 64968, 64672, 60040, 0, 64680, 64528, 2, 64544, 58120, 21, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 18938, 58117, 18976, 60039, 2, 64544, + 64528, 0, 65000, 60576, 58120, 25, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 1, 64544, 58120, 19012, 60039, 2, 64544, 64528, + 0, 65000, 60576, 58120, 26, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 1, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 54, 60039, 4, 60432, 58256, 0, 65000, 60576, 60040, 19023, 58113, 2, + 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 18865, 60432, 14, + 58120, 19049, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 60896, 58120, 22, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64544, 58120, 1, 64992, + 64528, 0, 65000, 60576, 58120, 11, 60432, 0, 65000, 60576, 58120, 19085, + 60432, 38, 60039, 0, 64672, 64584, 0, 64680, 64528, 19344, 58117, 21, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 19106, 58117, 19161, 60039, 1, 64544, + 64528, 0, 65000, 60576, 58120, 20, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, + 60576, 58120, 256, 60432, 0, 65000, 60576, 58120, 0, 64672, 64592, 59336, 0, + 64680, 64528, 60576, 61448, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, + 19210, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 20, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, + 64544, 64528, 0, 65000, 60576, 58120, 255, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61448, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 1, + 64544, 64528, 0, 65000, 60576, 58120, 20, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 1, 64992, 64528, 0, 65000, 60576, 58120, 1, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, + 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 4, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 32, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 1, 64544, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 58120, 19068, + 60039, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 19365, 60432, 38, 60039, 2, 64544, 64528, 0, + 65000, 60576, 58120, 22, 60432, 0, 65000, 60576, 58120, 19382, 60432, 22, + 60039, 0, 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, + 0, 64968, 64672, 60040, 19402, 60432, 38, 60039, 0, 64680, 64528, 60576, + 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, 63, 60432, 0, 65000, 60576, + 58120, 19424, 60432, 22, 60039, 0, 64680, 64528, 60576, 62792, 0, 64680, + 64528, 19436, 58117, 19459, 60039, 20, 60432, 0, 65000, 60576, 58120, 1, + 60432, 13, 58120, 27353, 60432, 14, 58120, 19454, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, + 60576, 58120, 2, 60432, 13, 58120, 7287, 60432, 14, 58120, 19484, 60432, 95, + 60039, 0, 64680, 64528, 23, 58120, 32, 60432, 0, 65000, 60576, 58120, 2, + 64544, 64528, 0, 65000, 60576, 58120, 352, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 6822, 60432, 14, 58120, 19520, 60432, 95, 60039, 0, 64680, + 64528, 60576, 61576, 23, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 22, 58120, 2, 64992, 64528, 0, 65000, 60576, + 58120, 23, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 6822, 60432, 14, 58120, 19572, 60432, 95, 60039, 19576, + 60432, 6, 60039, 0, 64680, 64528, 21, 58120, 32, 60432, 0, 65000, 60576, + 58120, 1, 60432, 13, 58120, 19021, 60432, 14, 58120, 19599, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, + 0, 65000, 60576, 58120, 0, 60432, 13, 58120, 27034, 60432, 14, 58120, 19629, + 60432, 95, 60039, 19633, 60432, 6, 60039, 0, 64680, 64528, 19640, 58117, + 19659, 60039, 0, 60432, 13, 58120, 20040, 60432, 14, 58120, 19652, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 19844, 60039, 2, 64544, 64528, 0, 65000, + 60576, 58120, 0, 60432, 13, 58120, 27042, 60432, 14, 58120, 19678, 60432, 95, + 60039, 19682, 60432, 6, 60039, 0, 64680, 64528, 19689, 58117, 19708, 60039, 0, + 60432, 13, 58120, 20134, 60432, 14, 58120, 19701, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 19844, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 1, + 60432, 13, 58120, 19021, 60432, 14, 58120, 19727, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 21, 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, 0, 64680, + 64528, 19748, 58117, 19788, 60039, 23, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 23, + 58120, 22, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 22, 58120, 23, 64528, 0, 65000, 60576, + 58120, 32, 60432, 0, 65000, 60576, 58120, 19804, 60432, 6, 60039, 0, 64680, + 64528, 19811, 58117, 19830, 60039, 0, 60432, 13, 58120, 20040, 60432, 14, + 58120, 19823, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 19844, 60039, 21, + 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, 0, 64680, 64528, 21, 58120, 0, + 64968, 64672, 60040, 54, 60039, 0, 64544, 60040, 60912, 60040, 0, 59336, 2, + 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 25339, 60432, 14, + 58120, 19876, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 19900, + 60432, 38, 60039, 0, 64672, 64584, 0, 64680, 64528, 19975, 58117, 2, 64544, + 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 25361, 60432, 14, 58120, 19934, 60432, 95, 60039, 1, 60432, + 13, 58120, 19610, 60432, 14, 58120, 19946, 60432, 95, 60039, 0, 64680, 64528, + 5, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, 19882, 60039, 0, + 64968, 64672, 60040, 54, 60039, 24, 64528, 0, 65000, 60576, 58120, 2, 64544, + 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 26291, 60432, 14, 58120, + 20006, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 24, 64528, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 19850, 60432, 14, 58120, 20029, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 22, + 64528, 0, 65000, 60576, 58120, 352, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 23, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 0, 64680, 64528, 22, 58120, 0, 64968, 64672, 60040, 0, 64680, + 64528, 23, 58120, 0, 64968, 64672, 60040, 0, 64672, 64584, 0, 64680, 64528, + 21, 58120, 22, 64528, 0, 65000, 60576, 58120, 8128, 60432, 0, 65000, 60576, + 58120, 20110, 60432, 6, 60039, 0, 64680, 64528, 20117, 58117, 20128, 60039, + 32, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 22, 58120, 0, 64968, + 64672, 60040, 54, 60039, 21, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 20147, 58117, 20288, 60039, 23, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 20161, 60432, 22, 60039, 0, 64680, 64528, 20168, 58117, 20210, + 60039, 23, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, + 64528, 60576, 61896, 0, 64680, 64528, 23, 58120, 22, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, + 22, 58120, 20277, 60039, 31, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, + 23, 58120, 22, 64528, 0, 65000, 60576, 58120, 32, 60432, 0, 65000, 60576, + 58120, 20237, 60432, 6, 60039, 0, 64680, 64528, 20244, 58117, 20255, 60039, + 8128, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 22, 58120, 22, 64528, 0, + 65000, 60576, 58120, 321, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 0, 64680, 64528, 22, 58120, 0, 64968, 64672, 60040, 0, 64680, + 64528, 21, 58120, 20300, 60039, 0, 64968, 64672, 60040, 0, 64672, 64584, 0, + 64680, 64528, 21, 58120, 32, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, + 58120, 19021, 60432, 14, 58120, 20318, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 0, 64968, 64672, 60040, 54, 60039, 0, 65000, 60576, 60040, 16384, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 27, 58120, 0, 64968, 64672, + 60040, 0, 64672, 64584, 0, 64680, 64528, 28, 58120, 17, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 5808, 60432, 14, 58120, 20374, 60432, 95, + 60039, 0, 64680, 64528, 29, 58120, 0, 64968, 64672, 60040, 29, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64968, 64672, 61384, 0, + 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 4, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 16, 60432, 0, 65000, 60576, 58120, 20437, 60432, 38, 60039, 0, 64672, + 64584, 0, 64680, 64528, 20592, 58117, 1, 64544, 64528, 0, 65000, 60576, 58120, + 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, + 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 29, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61896, 29, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, + 4, 64544, 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61896, 29, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, + 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 4, 64544, 58120, 20420, 60039, 0, 64968, 64672, 60040, + 54, 60039, 0, 65000, 60576, 60040, 1, 64544, 64528, 0, 65000, 60576, 58120, + 8192, 60432, 0, 65000, 60576, 58120, 20619, 60432, 38, 60039, 0, 64672, 64584, + 0, 64680, 64528, 20695, 58117, 1, 64544, 64528, 0, 65000, 60576, 58120, 27, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64968, 64672, + 60040, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 1, 64544, 58120, 20602, 60039, 0, 64968, 64672, 60040, 54, + 60039, 28, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 20714, 58117, + 20798, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 27, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64544, 64528, 0, 65000, 60576, + 58120, 27, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, + 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 4, 64544, 58120, 20883, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 27, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, + 64544, 64528, 0, 65000, 60576, 58120, 27, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64672, 64584, + 0, 64680, 64528, 60576, 61448, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, + 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 0, + 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 28, 58120, 0, 64968, 64672, 60040, 54, 60039, 3, 60432, 58256, + 0, 65000, 60576, 60040, 20909, 58113, 2, 64544, 64528, 0, 65000, 60576, 58120, + 0, 64968, 64672, 60040, 20931, 60432, 38, 60039, 2, 64544, 64528, 0, 65000, + 60576, 58120, 511, 60432, 0, 65000, 60576, 58120, 20948, 60432, 22, 60039, 0, + 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 20968, 60432, 38, 60039, 0, 64680, 64528, 60576, 62792, 2, + 64992, 64528, 0, 65000, 60576, 58120, 255, 60432, 0, 65000, 60576, 58120, + 20990, 60432, 22, 60039, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, + 21002, 58117, 21025, 60039, 7, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, + 58120, 27353, 60432, 14, 58120, 21020, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 16, 60432, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 7287, 60432, 14, 58120, 21050, 60432, 95, 60039, + 0, 64680, 64528, 1, 64544, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 1, + 64544, 64528, 0, 65000, 60576, 58120, 16, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 6822, 60432, 14, 58120, 21088, 60432, 95, 60039, 0, 64680, + 64528, 60576, 61896, 0, 64680, 64528, 1, 64992, 58120, 2, 64992, 64528, 0, + 65000, 60576, 58120, 32, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, + 6822, 60432, 14, 58120, 21124, 60432, 95, 60039, 1, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 60896, + 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, + 65000, 60576, 58120, 29, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 20701, 60432, 14, 58120, 21193, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64992, 60896, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 21219, 58117, 21252, 60039, 2, + 64992, 64528, 0, 65000, 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, + 2, 60432, 13, 58120, 20907, 60432, 14, 58120, 21245, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 21283, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, + 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 20907, 60432, + 14, 58120, 21278, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, + 64672, 60040, 54, 60039, 11, 60432, 58256, 0, 65000, 60576, 60040, 21291, + 58113, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 21313, + 60432, 38, 60039, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 511, 60432, + 0, 65000, 60576, 58120, 21331, 60432, 22, 60039, 0, 64680, 64528, 60576, + 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 21351, + 60432, 38, 60039, 0, 64680, 64528, 60576, 62792, 2, 64528, 3, 57504, 64528, 0, + 65000, 60576, 58120, 255, 60432, 0, 65000, 60576, 58120, 21375, 60432, 22, + 60039, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, 21387, 58117, 21410, + 60039, 8, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, + 14, 58120, 21405, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61896, 1, 60432, 13, 58120, 6774, 60432, 14, 58120, + 21442, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 2, + 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 2, 64992, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61896, 1, 60432, 13, 58120, 6774, 60432, + 14, 58120, 21483, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 60896, 58120, + 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 1, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 21511, 60432, 38, 60039, 0, 64680, 64528, 1, 64992, + 60896, 60896, 60896, 60896, 60896, 58120, 1, 64528, 6, 57504, 64528, 0, 65000, + 60576, 58120, 2, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 2, 64992, + 64528, 0, 65000, 60576, 58120, 21551, 60432, 38, 60039, 0, 64680, 64528, + 60576, 61448, 1, 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 0, 64672, + 64584, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 2, 64544, 64528, 0, + 65000, 60576, 58120, 21587, 60432, 38, 60039, 0, 64680, 64528, 60576, 61448, + 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, 21604, 58117, 21698, 60039, 2, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, 60896, 60896, + 60896, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 2, 64544, 58120, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 2, 64992, 60896, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 1, 64992, 60896, 60896, 60896, 58120, 2, 64528, 3, 57504, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 2, 64992, 58120, 1, 64528, 4, 57504, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 2, 64992, 60896, 60896, 58120, + 1, 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 21714, + 58117, 21844, 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 1, 64992, 60896, 60896, 60896, 58120, 1, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 1, 64528, + 4, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, 60896, + 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, + 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64544, + 58120, 2, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 1, 64528, 8, 57488, + 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 64544, 64528, 0, 65000, + 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 21830, 60432, + 22, 60039, 1, 64528, 7, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, + 21922, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, + 64992, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, + 64544, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 1, 64528, 8, + 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 64992, 64528, 0, + 65000, 60576, 58120, 2, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 21910, + 60432, 22, 60039, 1, 64528, 7, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, + 58120, 2, 60432, 0, 65000, 60576, 58120, 1, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 21948, 60432, 95, + 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 0, 64680, 64528, 1, 64992, 60896, 60896, 60896, 60896, 58120, 2, + 60432, 0, 65000, 60576, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 21998, 60432, 95, 60039, 1, + 64528, 9, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 60432, 0, + 65000, 60576, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 1, 64528, + 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 2, + 60432, 13, 58120, 6822, 60432, 14, 58120, 22050, 60432, 95, 60039, 1, 64528, + 10, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 1, 64992, 64528, 0, + 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 6, + 57504, 64528, 0, 65000, 60576, 58120, 3, 60432, 13, 58120, 21204, 60432, 14, + 58120, 22097, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64992, 64528, 0, + 65000, 60576, 58120, 1, 64528, 8, 57504, 64528, 0, 65000, 60576, 58120, 22122, + 60432, 38, 60039, 0, 64672, 64584, 0, 64680, 64528, 22348, 58117, 1, 64528, 5, + 57504, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 22147, 60432, + 38, 60039, 0, 64680, 64528, 22154, 58117, 22189, 60039, 1, 64528, 5, 57504, + 64528, 0, 65000, 60576, 58120, 1, 64528, 9, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 60896, 60896, + 60896, 60896, 58120, 22284, 60039, 1, 64528, 5, 57504, 64528, 0, 65000, 60576, + 58120, 1, 64528, 10, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 1, 64992, 60896, 60896, 60896, 60896, 58120, 1, + 64528, 7, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 22238, 58117, + 22262, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, + 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 1, 64544, 58120, 22284, 60039, + 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, + 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, 1, 64992, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 1, 64992, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 1, + 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 6, 57504, 64528, 0, 65000, + 60576, 58120, 3, 60432, 13, 58120, 21204, 60432, 14, 58120, 22341, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 22102, 60039, 0, 64968, 64672, 60040, 54, + 60039, 9, 60432, 58256, 0, 65000, 60576, 60040, 22356, 58113, 2, 64544, 64528, + 0, 65000, 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 22382, + 60432, 22, 60039, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 64528, 3, 57504, + 64528, 0, 65000, 60576, 58120, 22402, 60432, 22, 60039, 0, 64680, 64528, + 60576, 62792, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, + 22422, 60432, 38, 60039, 0, 64680, 64528, 60576, 62792, 2, 64992, 60896, + 64528, 0, 65000, 60576, 58120, 511, 60432, 0, 65000, 60576, 58120, 22445, + 60432, 22, 60039, 0, 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 22465, 60432, 38, 60039, 0, 64680, + 64528, 60576, 62792, 2, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 255, + 60432, 0, 65000, 60576, 58120, 22489, 60432, 22, 60039, 0, 64680, 64528, + 60576, 62792, 0, 64680, 64528, 22501, 58117, 22524, 60039, 9, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, 22519, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 16, + 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 7287, 60432, 14, 58120, + 22549, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 60896, 60896, 58120, 2, + 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 3, 57504, 64528, 0, 65000, + 60576, 58120, 16, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, + 60432, 14, 58120, 22591, 60432, 95, 60039, 0, 64680, 64528, 60576, 61896, 1, + 64528, 7, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 16, 60432, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 7287, 60432, 14, 58120, 22634, 60432, 95, 60039, 0, 64680, + 64528, 1, 64992, 60896, 60896, 60896, 58120, 2, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 16, 60432, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 22678, + 60432, 95, 60039, 0, 64680, 64528, 60576, 61896, 1, 64528, 8, 57488, 13, + 58120, 0, 64680, 64528, 13, 64544, 58120, 1, 64528, 7, 57504, 64528, 0, 65000, + 60576, 58120, 29, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 61384, 0, 64680, 64528, 60576, 61896, 0, 64672, 64584, 0, 64680, + 64528, 1, 64992, 60896, 60896, 60896, 60896, 60896, 58120, 1, 64528, 8, 57504, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, + 61576, 29, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 61384, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 1, 64992, 60896, + 60896, 60896, 60896, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 32, + 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, + 22835, 60432, 95, 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, 1, 64528, 4, + 57504, 64528, 0, 65000, 60576, 58120, 1, 64528, 3, 57504, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 1, 64992, 60896, + 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 64528, 3, 57504, 64528, 0, + 65000, 60576, 58120, 22905, 60432, 22, 60039, 0, 64672, 64584, 0, 64672, + 64584, 0, 64680, 64528, 23245, 58117, 1, 64544, 64528, 0, 65000, 60576, 58120, + 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 0, 64680, 64528, 1, 64992, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 22958, 60432, 6, 60039, 0, 64680, 64528, 22965, + 58117, 23014, 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 5, + 57504, 64528, 0, 65000, 60576, 58120, 1, 64528, 6, 57504, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61448, 2, 60432, 13, 58120, 20701, + 60432, 14, 58120, 23007, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 23184, + 60039, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 6, 57504, 64528, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 20701, 60432, 14, 58120, 23042, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 1, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, + 65000, 60576, 58120, 23087, 60432, 38, 60039, 0, 64672, 64584, 0, 64680, + 64528, 23151, 58117, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64672, 64592, 59336, 2, 60432, 13, 58120, 20701, 60432, 14, 58120, + 23122, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64544, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 1, 64544, 58120, 23069, 60039, 1, 64992, 64528, 0, 65000, 60576, 58120, + 1, 64528, 5, 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 20701, + 60432, 14, 58120, 23179, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, + 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 2, 64992, 58120, 1, 64992, 64528, 0, 65000, + 60576, 58120, 32, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61896, 0, 64680, 64528, 1, 64544, 58120, 22885, 60039, 0, 64968, 64672, 60040, + 54, 60039, 11, 60432, 58256, 0, 65000, 60576, 60040, 23253, 58113, 2, 64992, + 64528, 0, 65000, 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 2, 60432, 13, 58120, 8406, 60432, 14, 58120, 23287, 60432, 95, 60039, 1, + 64528, 7, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 64992, + 64528, 0, 65000, 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 2, 60432, 13, 58120, 8359, 60432, 14, 58120, 23326, 60432, 95, 60039, 1, + 64528, 8, 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 2, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64672, 64592, 59336, + 23357, 60432, 22, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 256, 60432, + 0, 65000, 60576, 58120, 23374, 60432, 38, 60039, 0, 64680, 64528, 60576, + 61448, 1, 64528, 7, 57504, 64528, 0, 65000, 60576, 58120, 512, 60432, 0, + 65000, 60576, 58120, 23398, 60432, 38, 60039, 0, 64680, 64528, 60576, 61448, + 1, 64528, 8, 57504, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, + 64672, 64592, 59336, 23424, 60432, 22, 60039, 0, 64680, 64528, 60576, 61448, + 0, 64680, 64528, 23436, 58117, 24145, 60039, 1, 64528, 7, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 2, 60432, 13, 58120, 8359, 60432, + 14, 58120, 23461, 60432, 95, 60039, 1, 64528, 7, 57488, 13, 58120, 0, 64680, + 64528, 13, 64544, 58120, 1, 64528, 8, 57504, 64528, 0, 65000, 60576, 58120, + 511, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 8406, 60432, 14, + 58120, 23500, 60432, 95, 60039, 1, 64528, 8, 57488, 13, 58120, 0, 64680, + 64528, 13, 64544, 58120, 1, 64528, 7, 57504, 64528, 0, 65000, 60576, 58120, + 16, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 7287, 60432, 14, + 58120, 23539, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 58120, 1, 64528, 7, + 57504, 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, + 16, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, + 58120, 23579, 60432, 95, 60039, 0, 64680, 64528, 60576, 61896, 1, 64528, 9, + 57488, 13, 58120, 0, 64680, 64528, 13, 64544, 58120, 1, 64528, 8, 57504, + 64528, 0, 65000, 60576, 58120, 16, 60432, 0, 65000, 60576, 58120, 2, 60432, + 13, 58120, 7287, 60432, 14, 58120, 23623, 60432, 95, 60039, 0, 64680, 64528, + 1, 64992, 60896, 58120, 1, 64528, 8, 57504, 64528, 0, 65000, 60576, 58120, 1, + 64992, 60896, 64528, 0, 65000, 60576, 58120, 16, 60432, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 23665, 60432, 95, 60039, + 0, 64680, 64528, 60576, 61896, 1, 64528, 10, 57488, 13, 58120, 0, 64680, + 64528, 13, 64544, 58120, 1, 64528, 9, 57504, 64528, 0, 65000, 60576, 58120, + 29, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64680, 64528, 60576, 61896, 0, 64672, 64584, 0, 64680, 64528, 1, + 64992, 60896, 60896, 60896, 60896, 58120, 1, 64528, 10, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, + 29, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, + 64528, 4, 58120, 4, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 1, 64992, 60896, 60896, + 60896, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 32, 60432, 0, 65000, + 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 23820, 60432, 95, + 60039, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 0, 64680, 64528, 1, 64544, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, + 0, 64680, 64528, 1, 64992, 60896, 60896, 60896, 60896, 60896, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 1, 64528, 6, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 60896, 60896, + 58120, 1, 64528, 6, 57504, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 60040, 23915, 60432, 6, 60039, 0, 64680, 64528, 23922, 58117, 23971, 60039, 1, + 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 4, 57504, 64528, 0, 65000, + 60576, 58120, 1, 64528, 5, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61448, 2, 60432, 13, 58120, 20701, 60432, 14, 58120, 23964, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 24145, 60039, 1, 64544, 64528, 0, + 65000, 60576, 58120, 1, 64528, 5, 57504, 64528, 0, 65000, 60576, 58120, 2, + 60432, 13, 58120, 20701, 60432, 14, 58120, 23999, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, 1, + 64544, 64528, 0, 65000, 60576, 58120, 1, 64528, 3, 57504, 64528, 0, 65000, + 60576, 58120, 24046, 60432, 38, 60039, 0, 64672, 64584, 0, 64680, 64528, + 24110, 58117, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, + 0, 64672, 64592, 59336, 2, 60432, 13, 58120, 20701, 60432, 14, 58120, 24081, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 1, 64544, 58120, 24026, 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, + 58120, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, + 20701, 60432, 14, 58120, 24140, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 0, 64968, 64672, 60040, 54, 60039, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, + 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, + 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64544, 64528, 0, 65000, 60576, + 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61896, 3, 60432, 13, 58120, 23251, 60432, 14, 58120, 24224, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 64528, + 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, + 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61576, 2, 64544, 64528, 0, 65000, 60576, 58120, + 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, + 3, 60432, 13, 58120, 23251, 60432, 14, 58120, 24302, 60432, 95, 60039, 0, + 64680, 64528, 5, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 2, 64544, + 64528, 0, 65000, 60576, 58120, 2, 64528, 3, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61896, 2, 64544, 64528, 0, 65000, 60576, 58120, + 2, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 3, 60432, 13, 58120, 23251, 60432, 14, 58120, 24381, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 2, 64544, + 64528, 0, 65000, 60576, 58120, 2, 64528, 3, 57504, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 60576, 61896, 2, 64544, 64528, 0, 65000, 60576, 58120, + 2, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 3, 60432, 13, 58120, 23251, 60432, 14, 58120, 24460, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, 54, 60039, 3, 60432, 58256, + 0, 65000, 60576, 60040, 24473, 58113, 2, 64544, 64528, 0, 65000, 60576, 58120, + 0, 64968, 64672, 60040, 24495, 60432, 38, 60039, 2, 64544, 64528, 0, 65000, + 60576, 58120, 511, 60432, 0, 65000, 60576, 58120, 24512, 60432, 22, 60039, 0, + 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 24532, 60432, 38, 60039, 0, 64680, 64528, 60576, 62792, 2, + 64992, 64528, 0, 65000, 60576, 58120, 255, 60432, 0, 65000, 60576, 58120, + 24554, 60432, 22, 60039, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, + 24566, 58117, 24589, 60039, 12, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, + 58120, 27353, 60432, 14, 58120, 24584, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64968, 64672, 60040, + 24617, 60432, 38, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 511, + 60432, 0, 65000, 60576, 58120, 24647, 60432, 22, 60039, 0, 64680, 64528, + 60576, 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, 2, 64992, 60896, 64528, + 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61896, 0, 64968, 64672, 60040, + 24680, 60432, 38, 60039, 0, 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, + 65000, 60576, 58120, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 255, 60432, 0, 65000, 60576, 58120, 24715, 60432, 22, + 60039, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, 24727, 58117, 24750, + 60039, 13, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, + 14, 58120, 24745, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64992, 58120, 0, + 64968, 64672, 61384, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61896, 0, 64680, 64528, 1, 64992, 60896, 58120, 2, 64544, 64528, + 0, 65000, 60576, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 4, + 60432, 13, 58120, 24151, 60432, 14, 58120, 24828, 60432, 95, 60039, 0, 64680, + 64528, 5, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 24851, 60432, 22, 60039, 0, 64672, 64584, 0, 64680, + 64528, 25099, 58117, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 24875, 60432, 38, 60039, 0, 64680, 64528, 24882, 58117, 24940, + 60039, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 2, 60432, 0, 65000, + 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, + 6822, 60432, 14, 58120, 24915, 60432, 95, 60039, 0, 64680, 64528, 60576, + 61576, 3, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 1, 64992, 60896, 58120, 25030, 60039, 1, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 2, 60432, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 24985, 60432, 95, + 60039, 0, 64680, 64528, 60576, 61576, 5, 60432, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64992, 60896, 58120, 1, 64992, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, + 61896, 0, 64680, 64528, 1, 64992, 58120, 1, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 1, 64544, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 2, 64992, 64528, 0, + 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 1, 64992, 64528, + 0, 65000, 60576, 58120, 4, 60432, 13, 58120, 24151, 60432, 14, 58120, 25092, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 24833, 60039, 0, 64968, 64672, + 60040, 54, 60039, 3, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 8643, + 60432, 14, 58120, 25123, 60432, 95, 60039, 0, 64680, 64528, 3, 58120, 2, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 25143, 60432, + 38, 60039, 0, 64680, 64528, 25150, 58117, 25173, 60039, 14, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, 25168, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 25188, 60432, 22, 60039, 0, 64680, 64528, 25195, 58117, + 25220, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 5808, 60432, 14, 58120, 25214, 60432, 95, 60039, 0, 64680, 64528, 3, 64992, + 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 64544, + 58120, 0, 64968, 64672, 60040, 0, 64680, 64528, 3, 64992, 60896, 58120, 3, + 64528, 0, 65000, 60576, 58120, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 3, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 60040, 25279, 60432, 22, 60039, 0, 64680, 64528, 25286, 58117, + 25310, 60039, 3, 64992, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 5877, 60432, 14, 58120, 25305, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 3, + 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 9357, 60432, 14, 58120, + 25328, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 64968, 64672, 60040, + 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, + 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 54, 60039, 2, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 2, 64992, 64528, 0, 65000, + 60576, 58120, 0, 64968, 64672, 60040, 25388, 60432, 38, 60039, 2, 64992, + 64528, 0, 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 25407, 60432, 22, 60039, 0, 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, + 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 25431, + 60432, 6, 60039, 0, 64680, 64528, 60576, 62792, 0, 64680, 64528, 25443, 58117, + 25466, 60039, 15, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, + 60432, 14, 58120, 25461, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, + 64992, 64528, 0, 65000, 60576, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 3, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 25526, 60432, 38, 60039, 2, 64992, 64528, 0, 65000, 60576, + 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 25545, 60432, 22, + 60039, 0, 64680, 64528, 60576, 62792, 2, 64992, 64528, 0, 65000, 60576, 58120, + 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 25569, 60432, 6, 60039, 0, + 64680, 64528, 60576, 62792, 0, 64680, 64528, 25581, 58117, 25604, 60039, 16, + 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, + 25599, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, 64992, 64528, 0, 65000, + 60576, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, + 61576, 2, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, + 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 4, 64544, 58120, 0, 64968, 64672, 60040, 54, 60039, 2, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, 64992, 60896, 64528, 0, + 65000, 60576, 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 25690, 60432, 6, + 60039, 0, 64680, 64528, 25697, 58117, 25720, 60039, 17, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, 25715, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, + 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, + 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, + 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, + 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 3, 64992, 60896, 58120, 3, + 64528, 0, 65000, 60576, 58120, 54, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 3, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 25829, 60432, 6, 60039, 0, 64680, 64528, 25836, + 58117, 25859, 60039, 18, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 27353, 60432, 14, 58120, 25854, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, + 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, + 64680, 64528, 60576, 61896, 0, 64680, 64528, 3, 64992, 60896, 58120, 0, 64968, + 64672, 60040, 54, 60039, 5, 60432, 58256, 0, 65000, 60576, 60040, 25891, + 58113, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, + 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 25926, + 60432, 6, 60039, 0, 64680, 64528, 25933, 58117, 25939, 60039, 0, 64968, 64672, + 60040, 54, 60039, 0, 64968, 64672, 60040, 0, 64672, 64584, 0, 64680, 64528, 1, + 64992, 60896, 60896, 58120, 0, 64968, 64672, 60040, 3, 64992, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, + 64544, 64528, 0, 65000, 60576, 58120, 45, 60432, 0, 65000, 60576, 58120, + 25992, 60432, 6, 60039, 0, 64680, 64528, 25999, 58117, 26025, 60039, 0, 64968, + 64672, 60040, 0, 64672, 64584, 0, 64680, 64528, 1, 64992, 60896, 60896, 60896, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 1, 64544, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 26044, 60432, 38, 60039, 1, 64528, 3, 57504, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61448, 0, 64672, 64584, 0, 64680, 64528, 26249, 58117, 1, + 64544, 64528, 0, 65000, 60576, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, 64544, 64528, 0, + 65000, 60576, 58120, 48, 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, + 60576, 61896, 0, 64680, 64528, 1, 64992, 60896, 58120, 1, 64992, 60896, 64528, + 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 26131, 60432, 38, 60039, 1, + 64992, 60896, 64528, 0, 65000, 60576, 58120, 9, 60432, 0, 65000, 60576, 58120, + 26149, 60432, 22, 60039, 0, 64680, 64528, 60576, 62792, 0, 64672, 64584, 0, + 64680, 64528, 1, 64992, 60896, 60896, 58120, 1, 64528, 3, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 26181, 58117, 26247, 60039, 1, 64992, + 64528, 0, 65000, 60576, 58120, 10, 60432, 0, 65000, 60576, 58120, 2, 60432, + 13, 58120, 6822, 60432, 14, 58120, 26206, 60432, 95, 60039, 1, 64992, 60896, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, + 1, 64992, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, + 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, 58120, 26025, + 60039, 1, 64528, 4, 57504, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, + 26265, 58117, 26282, 60039, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, 64672, + 64592, 59336, 0, 64680, 64528, 1, 64992, 58120, 1, 64992, 64528, 0, 65000, + 60576, 58120, 54, 60039, 4, 60432, 58256, 0, 65000, 60576, 60040, 26293, + 58113, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 3, 58120, 3, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 26327, 60432, 6, + 60039, 0, 64680, 64528, 26334, 58117, 26357, 60039, 19, 60432, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, 14, 58120, 26352, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 6, 60432, 0, 65000, 60576, 58120, 1, 60432, + 13, 58120, 5808, 60432, 14, 58120, 26375, 60432, 95, 60039, 0, 64680, 64528, + 1, 64992, 60896, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64968, + 64672, 60040, 26397, 60432, 38, 60039, 0, 64680, 64528, 26404, 58117, 26436, + 60039, 0, 64968, 64672, 60040, 0, 64672, 64584, 0, 64680, 64528, 1, 64992, + 60896, 60896, 58120, 2, 64992, 64528, 0, 65000, 60576, 58120, 0, 64672, 64592, + 59336, 0, 64680, 64528, 2, 64992, 58120, 2, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64680, 64528, 1, 64992, 58120, 1, 64992, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 60040, 26464, 60432, 22, 60039, 0, 64672, 64584, 0, + 64680, 64528, 26630, 58117, 2, 64992, 64528, 0, 65000, 60576, 58120, 10, + 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 7287, 60432, 14, 58120, + 26497, 60432, 95, 60039, 0, 64680, 64528, 1, 64992, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64680, + 64528, 60576, 61576, 48, 60432, 0, 65000, 60576, 58120, 2, 64992, 64528, 0, + 65000, 60576, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 10, 60432, 0, + 65000, 60576, 58120, 2, 60432, 13, 58120, 6822, 60432, 14, 58120, 26561, + 60432, 95, 60039, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, 60576, + 61576, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 1, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, + 64680, 64528, 1, 64544, 58120, 1, 64992, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 2, 64992, 58120, 26449, 60039, 1, 64528, 3, 57504, 64528, 0, + 65000, 60576, 58120, 0, 64680, 64528, 26646, 58117, 26716, 60039, 1, 64544, + 64528, 0, 65000, 60576, 58120, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 60576, 61576, 45, 60432, 0, 65000, 60576, 58120, 0, 64680, + 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, + 0, 64680, 64528, 4, 64544, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 0, + 64968, 64672, 61384, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 1, 64544, + 58120, 3, 64544, 64528, 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, + 60576, 58120, 26734, 60432, 38, 60039, 0, 64680, 64528, 26741, 58117, 26764, + 60039, 19, 60432, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, 27353, 60432, + 14, 58120, 26759, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 26779, 60432, 6, 60039, + 0, 64680, 64528, 26786, 58117, 26843, 60039, 0, 64968, 64672, 60040, 3, 64992, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 60576, 61576, 48, 60432, 0, + 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, 64528, 4, 58120, 5, + 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, 58120, 0, 64968, + 64672, 61384, 0, 64680, 64528, 3, 64992, 60896, 58120, 27003, 60039, 0, 64968, + 64672, 60040, 0, 64680, 64528, 3, 64992, 60896, 58120, 3, 64992, 60896, 64528, + 0, 65000, 60576, 58120, 1, 64544, 64528, 0, 65000, 60576, 58120, 26873, 60432, + 38, 60039, 0, 64672, 64584, 0, 64680, 64528, 27003, 58117, 3, 64992, 60896, + 64528, 0, 65000, 60576, 58120, 3, 64992, 64528, 0, 65000, 60576, 58120, 0, + 64680, 64528, 60576, 61576, 1, 64544, 64528, 0, 65000, 60576, 58120, 3, 64992, + 60896, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, + 60576, 61576, 0, 64680, 64528, 60576, 61896, 1, 64992, 60896, 64528, 0, 65000, + 60576, 58120, 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 4, 58120, 4, + 64544, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 5, 58120, 0, 64680, + 64528, 4, 58120, 5, 64528, 0, 65000, 60576, 58120, 0, 64680, 64528, 4, 64544, + 58120, 3, 64992, 60896, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 61384, + 0, 64680, 64528, 60576, 61576, 0, 64680, 64528, 3, 64992, 60896, 58120, 26854, + 60039, 1, 64992, 60896, 64528, 0, 65000, 60576, 58120, 1, 60432, 13, 58120, + 5877, 60432, 14, 58120, 27023, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, + 64968, 64672, 60040, 54, 60039, 128, 60432, 0, 65000, 60576, 58120, 54, 60039, + 129, 60432, 0, 65000, 60576, 58120, 54, 60039, 34, 60432, 0, 65000, 60576, + 58120, 54, 60039, 0, 60432, 13, 58120, 8453, 60432, 14, 58120, 27070, 60432, + 95, 60039, 0, 64680, 64528, 5, 58120, 0, 60432, 13, 58120, 6505, 60432, 14, + 58120, 27087, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 60432, 13, + 58120, 20329, 60432, 14, 58120, 27104, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 0, 60432, 13, 58120, 9854, 60432, 14, 58120, 27121, 60432, 95, 60039, + 0, 64680, 64528, 5, 58120, 0, 60432, 13, 58120, 5918, 60432, 14, 58120, 27138, + 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 60432, 13, 58120, 3837, 60432, + 14, 58120, 27155, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 0, 60432, 13, + 58120, 27177, 60432, 14, 58120, 27172, 60432, 95, 60039, 0, 64680, 64528, 5, + 58120, 0, 64968, 64672, 60040, 0, 64672, 64584, 0, 64672, 64584, 0, 64680, + 64528, 27194, 58117, 27177, 60039, 0, 65000, 60576, 60040, 2, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 60040, 27213, 60432, 38, 60039, 0, + 64680, 64528, 27220, 58117, 27241, 60039, 0, 64968, 64672, 61384, 1, 60432, + 13, 58120, 27353, 60432, 14, 58120, 27236, 60432, 95, 60039, 0, 64680, 64528, + 5, 58120, 2, 64544, 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, + 27256, 60432, 22, 60039, 0, 64672, 64584, 0, 64680, 64528, 27347, 58117, 50, + 60432, 0, 65000, 60576, 58120, 0, 64680, 64528, 1, 64544, 58120, 1, 64544, + 64528, 0, 65000, 60576, 58120, 0, 64968, 64672, 60040, 27291, 60432, 22, + 60039, 0, 64672, 64584, 0, 64680, 64528, 27323, 58117, 1, 64544, 64528, 0, + 65000, 60576, 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61896, 0, + 64680, 64528, 1, 64544, 58120, 27276, 60039, 2, 64544, 64528, 0, 65000, 60576, + 58120, 0, 64968, 64672, 61384, 0, 64680, 64528, 60576, 61896, 0, 64680, 64528, + 2, 64544, 58120, 27241, 60039, 0, 64968, 64672, 60040, 54, 60039, 3, 60432, 0, + 65000, 60576, 58120, 1, 60432, 13, 58120, 25105, 60432, 14, 58120, 27371, + 60432, 95, 60039, 69, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, + 25659, 60432, 14, 58120, 27389, 60432, 95, 60039, 82, 60432, 0, 65000, 60576, + 58120, 2, 60432, 13, 58120, 25659, 60432, 14, 58120, 27407, 60432, 95, 60039, + 82, 60432, 0, 65000, 60576, 58120, 2, 60432, 13, 58120, 25659, 60432, 14, + 58120, 27425, 60432, 95, 60039, 1, 60432, 13, 58120, 19850, 60432, 14, 58120, + 27437, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, 2, 64544, 64528, 0, 65000, + 60576, 58120, 1, 60432, 13, 58120, 19981, 60432, 14, 58120, 27461, 60432, 95, + 60039, 0, 64680, 64528, 5, 58120, 0, 60432, 13, 58120, 27177, 60432, 14, + 58120, 27478, 60432, 95, 60039, 0, 64680, 64528, 5, 58120, +]; diff --git a/web-ide-main/projects/src/samples/project_06/05_fill.ts b/web-ide-main/projects/src/samples/project_06/05_fill.ts new file mode 100644 index 0000000..cce6153 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_06/05_fill.ts @@ -0,0 +1,49 @@ +export const FillAsm = `// Runs an infinite loop that listens to the keyboard input. +// When a key is pressed (any key), the program blackens the screen, +// i.e. writes "black" in every pixel. When no key is pressed, +// the screen should be cleared. + +// initialize variables +(START) // while (true) + @SCREEN + D=A + @i + M=D // i = SCREEN + +(LOOP) // while (i < screen - 1) + @i + D=M + @24575 // screen - 1 + D=A-D + @START + D;JLT // i < screen - 1 (negative check) + @KBD + D=M + @BLACKEN // if (kbd != 0) + D;JNE + +// Clear the screen (write "white" in every pixel) + @i + D=M + A=D + M=0 // write "white" + @CONTINUE + 0;JMP + +(BLACKEN) + @i + D=M + A=D + M=-1 // write "black" + +(CONTINUE) + @i + M=M+1 // i++ + @LOOP + 0;JMP`; + +export const FillHack = [ + 16384, 60432, 16, 58120, 16, 64528, 24575, 57808, 0, 58116, 24576, 64528, 20, + 58117, 16, 64528, 58144, 60040, 24, 60039, 16, 64528, 58144, 61064, 16, 64968, + 4, 60039, +]; diff --git a/web-ide-main/projects/src/samples/project_06/index.ts b/web-ide-main/projects/src/samples/project_06/index.ts new file mode 100644 index 0000000..f733dbe --- /dev/null +++ b/web-ide-main/projects/src/samples/project_06/index.ts @@ -0,0 +1,35 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { AddAsm, AddHack } from "./01_add.js"; +import { MaxAsm, MaxHack, MaxLAsm } from "./02_max.js"; +import { RectAsm, RectHack, RectLAsm } from "./03_rect.js"; +import { PongAsm, PongHack, PongLAsm } from "./04_pong_asm.js"; + +export const FILES = { + "Add.asm": AddAsm, + "Max.asm": MaxAsm, + "MaxL.asm": MaxLAsm, + "Rect.asm": RectAsm, + "RectL.asm": RectLAsm, + "Pong.asm": PongAsm, + "PongL.asm": PongLAsm, +}; + +export const ASM_SOLS: Record = { + "Add.asm": AddHack, + "Max.asm": MaxHack, + "MaxL.asm": MaxHack, + "Rect.asm": RectHack, + "RectL.asm": RectHack, + "Pong.asm": PongHack, + "PongL.asm": PongHack, +}; + +export async function resetFiles(fs: FileSystem): Promise { + await fs.pushd("/projects/06"); + await reset(fs, FILES); + await fs.popd(); +} + +export async function resetTests(fs: FileSystem): Promise { + return; +} diff --git a/web-ide-main/projects/src/samples/project_11/average.ts b/web-ide-main/projects/src/samples/project_11/average.ts new file mode 100644 index 0000000..6279b69 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/average.ts @@ -0,0 +1,439 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Average/Main.jack + +// Inputs some numbers and computes their average +class Main { + function void main() { + var Array a; + var int length; + var int i, sum; + + let length = Keyboard.readInt("How many numbers? "); + let a = Array.new(length); // constructs the array + + let i = 0; + while (i < length) { + let a[i] = Keyboard.readInt("Enter a number: "); + let sum = sum + a[i]; + let i = i + 1; + } + + do Output.printString("The average is "); + do Output.printInt(sum / length); + return; + } +}`; + +export const parsed = { + name: { value: "Main", span: { start: 234, end: 238, line: 7 } }, + varDecs: [], + subroutines: [ + { + type: "function", + returnType: { value: "void", span: { start: 253, end: 258, line: 8 } }, + name: { value: "main", span: { start: 258, end: 262, line: 8 } }, + parameters: [], + body: { + varDecs: [ + { + type: { value: "Array", span: { start: 277, end: 283, line: 9 } }, + names: ["a"], + }, + { + type: { value: "int", span: { start: 297, end: 301, line: 10 } }, + names: ["length"], + }, + { + type: { value: "int", span: { start: 319, end: 323, line: 11 } }, + names: ["i", "sum"], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { value: "length", span: { start: 342, end: 348, line: 13 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Keyboard.readInt", + span: { start: 351, end: 367, line: 13 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "stringLiteral", + value: "How many numbers? ", + }, + rest: [], + }, + ], + span: { start: 351, end: 389, line: 13 }, + }, + rest: [], + }, + span: { start: 338, end: 390, line: 13 }, + }, + { + statementType: "letStatement", + name: { value: "a", span: { start: 401, end: 402, line: 14 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Array.new", + span: { start: 405, end: 414, line: 14 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "length", + span: { start: 415, end: 421, line: 14 }, + }, + rest: [], + }, + ], + span: { start: 405, end: 422, line: 14 }, + }, + rest: [], + }, + span: { start: 397, end: 423, line: 14 }, + }, + { + statementType: "letStatement", + name: { value: "i", span: { start: 464, end: 465, line: 16 } }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 460, end: 470, line: 16 }, + }, + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "i", + span: { start: 484, end: 485, line: 17 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "length", + span: { start: 488, end: 494, line: 17 }, + }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { value: "a", span: { start: 511, end: 512, line: 18 } }, + arrayIndex: { + nodeType: "expression", + term: { + termType: "variable", + name: "i", + span: { start: 513, end: 514, line: 18 }, + }, + rest: [], + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Keyboard.readInt", + span: { start: 518, end: 534, line: 18 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "stringLiteral", + value: "Enter a number: ", + }, + rest: [], + }, + ], + span: { start: 518, end: 554, line: 18 }, + }, + rest: [], + }, + span: { start: 507, end: 555, line: 18 }, + }, + { + statementType: "letStatement", + name: { + value: "sum", + span: { start: 569, end: 572, line: 19 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "sum", + span: { start: 575, end: 578, line: 19 }, + }, + rest: [ + { + op: "+", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 581, end: 582, line: 19 }, + }, + index: { + nodeType: "expression", + term: { + termType: "variable", + name: "i", + span: { start: 583, end: 584, line: 19 }, + }, + rest: [], + }, + span: { start: 581, end: 585, line: 19 }, + }, + }, + ], + }, + span: { start: 565, end: 586, line: 19 }, + }, + { + statementType: "letStatement", + name: { value: "i", span: { start: 600, end: 601, line: 20 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "i", + span: { start: 604, end: 605, line: 20 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + span: { start: 596, end: 610, line: 20 }, + }, + ], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 629, end: 647, line: 23 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "stringLiteral", value: "The average is " }, + rest: [], + }, + ], + span: { start: 629, end: 666, line: 23 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 677, end: 692, line: 24 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "sum", + span: { start: 693, end: 696, line: 24 }, + }, + rest: [ + { + op: "/", + term: { + termType: "variable", + name: "length", + span: { start: 699, end: 705, line: 24 }, + }, + }, + ], + }, + ], + span: { start: 677, end: 706, line: 24 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 714, end: 721, line: 25 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Main.main 4 + push constant 18 + call String.new 1 + push constant 72 + call String.appendChar 2 + push constant 111 + call String.appendChar 2 + push constant 119 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 109 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 110 + call String.appendChar 2 + push constant 121 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 110 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 109 + call String.appendChar 2 + push constant 98 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 63 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Keyboard.readInt 1 + pop local 1 + push local 1 + call Array.new 1 + pop local 0 + push constant 0 + pop local 2 +label Main_0 + push local 2 + push local 1 + lt + not + if-goto Main_1 + push local 2 + push local 0 + add + push constant 16 + call String.new 1 + push constant 69 + call String.appendChar 2 + push constant 110 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 110 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 109 + call String.appendChar 2 + push constant 98 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Keyboard.readInt 1 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push local 3 + push local 2 + push local 0 + add + pop pointer 1 + push that 0 + add + pop local 3 + push local 2 + push constant 1 + add + pop local 2 + goto Main_0 +label Main_1 + push constant 15 + call String.new 1 + push constant 84 + call String.appendChar 2 + push constant 104 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 118 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 103 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 105 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + push local 3 + push local 1 + call Math.divide 2 + call Output.printInt 1 + pop temp 0 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/complex_arrays.ts b/web-ide-main/projects/src/samples/project_11/complex_arrays.ts new file mode 100644 index 0000000..942e2bd --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/complex_arrays.ts @@ -0,0 +1,1769 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/ComplexArrays/Main.jack +/** + * Performs several complex array processing tests. + * For each test, the expected result is printed, along with the + * actual result. In each test, the two results should be equal. + */ +class Main { + + function void main() { + var Array a, b, c; + + let a = Array.new(10); + let b = Array.new(5); + let c = Array.new(1); + + let a[3] = 2; + let a[4] = 8; + let a[5] = 4; + let b[a[3]] = a[3] + 3; // b[2] = 5 + let a[b[a[3]]] = a[a[5]] * b[((7 - a[3]) - Main.double(2)) + 1]; // a[5] = 8 * 5 = 40 + let c[0] = null; + let c = c[0]; + + do Output.printString("Test 1: expected result: 5; actual result: "); + do Output.printInt(b[2]); + do Output.println(); + do Output.printString("Test 2: expected result: 40; actual result: "); + do Output.printInt(a[5]); + do Output.println(); + do Output.printString("Test 3: expected result: 0; actual result: "); + do Output.printInt(c); + do Output.println(); + + let c = null; + + if (c = null) { + do Main.fill(a, 10); + let c = a[3]; + let c[1] = 33; + let c = a[7]; + let c[1] = 77; + let b = a[3]; + let b[1] = b[1] + c[1]; // b[1] = 33 + 77 = 110; + } + + do Output.printString("Test 4: expected result: 77; actual result: "); + do Output.printInt(c[1]); + do Output.println(); + do Output.printString("Test 5: expected result: 110; actual result: "); + do Output.printInt(b[1]); + do Output.println(); + return; + } + + function int double(int a) { + return a * 2; + } + + function void fill(Array a, int size) { + while (size > 0) { + let size = size - 1; + let a[size] = Array.new(3); + } + return; + } +}`; + +export const parsed = { + name: { value: "Main", span: { start: 379, end: 383, line: 10 } }, + varDecs: [], + subroutines: [ + { + type: "function", + returnType: { value: "void", span: { start: 400, end: 405, line: 12 } }, + name: { value: "main", span: { start: 405, end: 409, line: 12 } }, + parameters: [], + body: { + varDecs: [ + { + type: { value: "Array", span: { start: 426, end: 432, line: 13 } }, + names: ["a", "b", "c"], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { value: "a", span: { start: 462, end: 463, line: 15 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Array.new", + span: { start: 466, end: 475, line: 15 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 10 }, + rest: [], + }, + ], + span: { start: 466, end: 479, line: 15 }, + }, + rest: [], + }, + span: { start: 458, end: 480, line: 15 }, + }, + { + statementType: "letStatement", + name: { value: "b", span: { start: 493, end: 494, line: 16 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Array.new", + span: { start: 497, end: 506, line: 16 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 5 }, + rest: [], + }, + ], + span: { start: 497, end: 509, line: 16 }, + }, + rest: [], + }, + span: { start: 489, end: 510, line: 16 }, + }, + { + statementType: "letStatement", + name: { value: "c", span: { start: 523, end: 524, line: 17 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Array.new", + span: { start: 527, end: 536, line: 17 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + ], + span: { start: 527, end: 539, line: 17 }, + }, + rest: [], + }, + span: { start: 519, end: 540, line: 17 }, + }, + { + statementType: "letStatement", + name: { value: "a", span: { start: 562, end: 563, line: 19 } }, + arrayIndex: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [], + }, + span: { start: 558, end: 571, line: 19 }, + }, + { + statementType: "letStatement", + name: { value: "a", span: { start: 584, end: 585, line: 20 } }, + arrayIndex: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 4 }, + rest: [], + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 8 }, + rest: [], + }, + span: { start: 580, end: 593, line: 20 }, + }, + { + statementType: "letStatement", + name: { value: "a", span: { start: 606, end: 607, line: 21 } }, + arrayIndex: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 5 }, + rest: [], + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 4 }, + rest: [], + }, + span: { start: 602, end: 615, line: 21 }, + }, + { + statementType: "letStatement", + name: { value: "b", span: { start: 628, end: 629, line: 22 } }, + arrayIndex: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { value: "a", span: { start: 630, end: 631, line: 22 } }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + span: { start: 630, end: 634, line: 22 }, + }, + rest: [], + }, + value: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { value: "a", span: { start: 638, end: 639, line: 22 } }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + span: { start: 638, end: 642, line: 22 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 3 } }, + ], + }, + span: { start: 624, end: 647, line: 22 }, + }, + { + statementType: "letStatement", + name: { value: "a", span: { start: 673, end: 674, line: 23 } }, + arrayIndex: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { value: "b", span: { start: 675, end: 676, line: 23 } }, + index: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 677, end: 678, line: 23 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + span: { start: 677, end: 681, line: 23 }, + }, + rest: [], + }, + span: { start: 675, end: 682, line: 23 }, + }, + rest: [], + }, + value: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { value: "a", span: { start: 686, end: 687, line: 23 } }, + index: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 688, end: 689, line: 23 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 5 }, + rest: [], + }, + span: { start: 688, end: 692, line: 23 }, + }, + rest: [], + }, + span: { start: 686, end: 693, line: 23 }, + }, + rest: [ + { + op: "*", + term: { + termType: "arrayAccess", + name: { + value: "b", + span: { start: 696, end: 697, line: 23 }, + }, + index: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 7 }, + rest: [ + { + op: "-", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 704, end: 705, line: 23 }, + }, + index: { + nodeType: "expression", + term: { + termType: "numericLiteral", + value: 3, + }, + rest: [], + }, + span: { start: 704, end: 708, line: 23 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "-", + term: { + termType: "subroutineCall", + name: { + value: "Main.double", + span: { start: 712, end: 723, line: 23 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "numericLiteral", + value: 2, + }, + rest: [], + }, + ], + span: { start: 712, end: 726, line: 23 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + span: { start: 696, end: 732, line: 23 }, + }, + }, + ], + }, + span: { start: 669, end: 733, line: 23 }, + }, + { + statementType: "letStatement", + name: { value: "c", span: { start: 768, end: 769, line: 24 } }, + arrayIndex: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "null" }, + rest: [], + }, + span: { start: 764, end: 780, line: 24 }, + }, + { + statementType: "letStatement", + name: { value: "c", span: { start: 793, end: 794, line: 25 } }, + value: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { value: "c", span: { start: 797, end: 798, line: 25 } }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 797, end: 801, line: 25 }, + }, + rest: [], + }, + span: { start: 789, end: 802, line: 25 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 823, end: 841, line: 27 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "stringLiteral", + value: "Test 1: expected result: 5; actual result: ", + }, + rest: [], + }, + ], + span: { start: 823, end: 888, line: 27 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 901, end: 916, line: 28 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "b", + span: { start: 917, end: 918, line: 28 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [], + }, + span: { start: 917, end: 921, line: 28 }, + }, + rest: [], + }, + ], + span: { start: 901, end: 922, line: 28 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.println", + span: { start: 935, end: 949, line: 29 }, + }, + parameters: [], + span: { start: 935, end: 951, line: 29 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 964, end: 982, line: 30 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "stringLiteral", + value: "Test 2: expected result: 40; actual result: ", + }, + rest: [], + }, + ], + span: { start: 964, end: 1030, line: 30 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 1043, end: 1058, line: 31 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 1059, end: 1060, line: 31 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 5 }, + rest: [], + }, + span: { start: 1059, end: 1063, line: 31 }, + }, + rest: [], + }, + ], + span: { start: 1043, end: 1064, line: 31 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.println", + span: { start: 1077, end: 1091, line: 32 }, + }, + parameters: [], + span: { start: 1077, end: 1093, line: 32 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 1106, end: 1124, line: 33 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "stringLiteral", + value: "Test 3: expected result: 0; actual result: ", + }, + rest: [], + }, + ], + span: { start: 1106, end: 1171, line: 33 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 1184, end: 1199, line: 34 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "c", + span: { start: 1200, end: 1201, line: 34 }, + }, + rest: [], + }, + ], + span: { start: 1184, end: 1202, line: 34 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.println", + span: { start: 1215, end: 1229, line: 35 }, + }, + parameters: [], + span: { start: 1215, end: 1231, line: 35 }, + }, + }, + { + statementType: "letStatement", + name: { value: "c", span: { start: 1254, end: 1255, line: 37 } }, + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "null" }, + rest: [], + }, + span: { start: 1250, end: 1263, line: 37 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "c", + span: { start: 1277, end: 1278, line: 39 }, + }, + rest: [ + { + op: "=", + term: { termType: "keywordLiteral", value: "null" }, + }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Main.fill", + span: { start: 1304, end: 1313, line: 40 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "a", + span: { start: 1314, end: 1315, line: 40 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 10 }, + rest: [], + }, + ], + span: { start: 1304, end: 1320, line: 40 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "c", + span: { start: 1338, end: 1339, line: 41 }, + }, + value: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 1342, end: 1343, line: 41 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + span: { start: 1342, end: 1346, line: 41 }, + }, + rest: [], + }, + span: { start: 1334, end: 1347, line: 41 }, + }, + { + statementType: "letStatement", + name: { + value: "c", + span: { start: 1364, end: 1365, line: 42 }, + }, + arrayIndex: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 33 }, + rest: [], + }, + span: { start: 1360, end: 1374, line: 42 }, + }, + { + statementType: "letStatement", + name: { + value: "c", + span: { start: 1391, end: 1392, line: 43 }, + }, + value: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 1395, end: 1396, line: 43 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 7 }, + rest: [], + }, + span: { start: 1395, end: 1399, line: 43 }, + }, + rest: [], + }, + span: { start: 1387, end: 1400, line: 43 }, + }, + { + statementType: "letStatement", + name: { + value: "c", + span: { start: 1417, end: 1418, line: 44 }, + }, + arrayIndex: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 77 }, + rest: [], + }, + span: { start: 1413, end: 1427, line: 44 }, + }, + { + statementType: "letStatement", + name: { + value: "b", + span: { start: 1444, end: 1445, line: 45 }, + }, + value: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "a", + span: { start: 1448, end: 1449, line: 45 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + span: { start: 1448, end: 1452, line: 45 }, + }, + rest: [], + }, + span: { start: 1440, end: 1453, line: 45 }, + }, + { + statementType: "letStatement", + name: { + value: "b", + span: { start: 1470, end: 1471, line: 46 }, + }, + arrayIndex: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + value: { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "b", + span: { start: 1477, end: 1478, line: 46 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + span: { start: 1477, end: 1481, line: 46 }, + }, + rest: [ + { + op: "+", + term: { + termType: "arrayAccess", + name: { + value: "c", + span: { start: 1484, end: 1485, line: 46 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + span: { start: 1484, end: 1488, line: 46 }, + }, + }, + ], + }, + span: { start: 1466, end: 1489, line: 46 }, + }, + ], + else: [], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 1538, end: 1556, line: 49 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "stringLiteral", + value: "Test 4: expected result: 77; actual result: ", + }, + rest: [], + }, + ], + span: { start: 1538, end: 1604, line: 49 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 1617, end: 1632, line: 50 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "c", + span: { start: 1633, end: 1634, line: 50 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + span: { start: 1633, end: 1637, line: 50 }, + }, + rest: [], + }, + ], + span: { start: 1617, end: 1638, line: 50 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.println", + span: { start: 1651, end: 1665, line: 51 }, + }, + parameters: [], + span: { start: 1651, end: 1667, line: 51 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 1680, end: 1698, line: 52 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "stringLiteral", + value: "Test 5: expected result: 110; actual result: ", + }, + rest: [], + }, + ], + span: { start: 1680, end: 1747, line: 52 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 1760, end: 1775, line: 53 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "arrayAccess", + name: { + value: "b", + span: { start: 1776, end: 1777, line: 53 }, + }, + index: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + span: { start: 1776, end: 1780, line: 53 }, + }, + rest: [], + }, + ], + span: { start: 1760, end: 1781, line: 53 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.println", + span: { start: 1794, end: 1808, line: 54 }, + }, + parameters: [], + span: { start: 1794, end: 1810, line: 54 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1820, end: 1827, line: 55 }, + }, + ], + }, + }, + { + type: "function", + returnType: { value: "int", span: { start: 1852, end: 1856, line: 58 } }, + name: { value: "double", span: { start: 1856, end: 1862, line: 58 } }, + parameters: [ + { + type: { value: "int", span: { start: 1863, end: 1867, line: 58 } }, + name: "a", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "a", + span: { start: 1885, end: 1886, line: 59 }, + }, + rest: [ + { op: "*", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 1878, end: 1891, line: 59 }, + }, + ], + }, + }, + { + type: "function", + returnType: { value: "void", span: { start: 1916, end: 1921, line: 62 } }, + name: { value: "fill", span: { start: 1921, end: 1925, line: 62 } }, + parameters: [ + { + type: { value: "Array", span: { start: 1926, end: 1932, line: 62 } }, + name: "a", + }, + { + type: { value: "int", span: { start: 1935, end: 1939, line: 62 } }, + name: "size", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "size", + span: { start: 1962, end: 1966, line: 63 }, + }, + rest: [ + { op: ">", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "size", + span: { start: 1990, end: 1994, line: 64 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "size", + span: { start: 1997, end: 2001, line: 64 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + span: { start: 1986, end: 2006, line: 64 }, + }, + { + statementType: "letStatement", + name: { + value: "a", + span: { start: 2023, end: 2024, line: 65 }, + }, + arrayIndex: { + nodeType: "expression", + term: { + termType: "variable", + name: "size", + span: { start: 2025, end: 2029, line: 65 }, + }, + rest: [], + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Array.new", + span: { start: 2033, end: 2042, line: 65 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + ], + span: { start: 2033, end: 2045, line: 65 }, + }, + rest: [], + }, + span: { start: 2019, end: 2046, line: 65 }, + }, + ], + }, + { + statementType: "returnStatement", + span: { start: 2065, end: 2072, line: 67 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Main.main 3 + push constant 10 + call Array.new 1 + pop local 0 + push constant 5 + call Array.new 1 + pop local 1 + push constant 1 + call Array.new 1 + pop local 2 + push constant 3 + push local 0 + add + push constant 2 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 4 + push local 0 + add + push constant 8 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 5 + push local 0 + add + push constant 4 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 3 + push local 0 + add + pop pointer 1 + push that 0 + push local 1 + add + push constant 3 + push local 0 + add + pop pointer 1 + push that 0 + push constant 3 + add + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 3 + push local 0 + add + pop pointer 1 + push that 0 + push local 1 + add + pop pointer 1 + push that 0 + push local 0 + add + push constant 5 + push local 0 + add + pop pointer 1 + push that 0 + push local 0 + add + pop pointer 1 + push that 0 + push constant 7 + push constant 3 + push local 0 + add + pop pointer 1 + push that 0 + sub + push constant 2 + call Main.double 1 + sub + push constant 1 + add + push local 1 + add + pop pointer 1 + push that 0 + call Math.multiply 2 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 0 + push local 2 + add + push constant 0 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 0 + push local 2 + add + pop pointer 1 + push that 0 + pop local 2 + push constant 43 + call String.new 1 + push constant 84 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 49 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 120 + call String.appendChar 2 + push constant 112 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 100 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 53 + call String.appendChar 2 + push constant 59 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + push constant 2 + push local 1 + add + pop pointer 1 + push that 0 + call Output.printInt 1 + pop temp 0 + call Output.println 0 + pop temp 0 + push constant 44 + call String.new 1 + push constant 84 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 50 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 120 + call String.appendChar 2 + push constant 112 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 100 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 52 + call String.appendChar 2 + push constant 48 + call String.appendChar 2 + push constant 59 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + push constant 5 + push local 0 + add + pop pointer 1 + push that 0 + call Output.printInt 1 + pop temp 0 + call Output.println 0 + pop temp 0 + push constant 43 + call String.new 1 + push constant 84 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 51 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 120 + call String.appendChar 2 + push constant 112 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 100 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 48 + call String.appendChar 2 + push constant 59 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + push local 2 + call Output.printInt 1 + pop temp 0 + call Output.println 0 + pop temp 0 + push constant 0 + pop local 2 + push local 2 + push constant 0 + eq + not + if-goto Main_1 + push local 0 + push constant 10 + call Main.fill 2 + pop temp 0 + push constant 3 + push local 0 + add + pop pointer 1 + push that 0 + pop local 2 + push constant 1 + push local 2 + add + push constant 33 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 7 + push local 0 + add + pop pointer 1 + push that 0 + pop local 2 + push constant 1 + push local 2 + add + push constant 77 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + push constant 3 + push local 0 + add + pop pointer 1 + push that 0 + pop local 1 + push constant 1 + push local 1 + add + push constant 1 + push local 1 + add + pop pointer 1 + push that 0 + push constant 1 + push local 2 + add + pop pointer 1 + push that 0 + add + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + goto Main_0 +label Main_1 +label Main_0 + push constant 44 + call String.new 1 + push constant 84 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 52 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 120 + call String.appendChar 2 + push constant 112 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 100 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 55 + call String.appendChar 2 + push constant 55 + call String.appendChar 2 + push constant 59 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + push constant 1 + push local 2 + add + pop pointer 1 + push that 0 + call Output.printInt 1 + pop temp 0 + call Output.println 0 + pop temp 0 + push constant 45 + call String.new 1 + push constant 84 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 53 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 120 + call String.appendChar 2 + push constant 112 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 100 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 49 + call String.appendChar 2 + push constant 49 + call String.appendChar 2 + push constant 48 + call String.appendChar 2 + push constant 59 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 115 + call String.appendChar 2 + push constant 117 + call String.appendChar 2 + push constant 108 + call String.appendChar 2 + push constant 116 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + push constant 1 + push local 1 + add + pop pointer 1 + push that 0 + call Output.printInt 1 + pop temp 0 + call Output.println 0 + pop temp 0 + push constant 0 + return +function Main.double 0 + push argument 0 + push constant 2 + call Math.multiply 2 + return +function Main.fill 0 +label Main_2 + push argument 1 + push constant 0 + gt + not + if-goto Main_3 + push argument 1 + push constant 1 + sub + pop argument 1 + push argument 1 + push argument 0 + add + push constant 3 + call Array.new 1 + pop temp 0 + pop pointer 1 + push temp 0 + pop that 0 + goto Main_2 +label Main_3 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/convert_to_bin.ts b/web-ide-main/projects/src/samples/project_11/convert_to_bin.ts new file mode 100644 index 0000000..be1296c --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/convert_to_bin.ts @@ -0,0 +1,734 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/ConvertToBin/Main.jack +/** + * Unpacks a 16-bit number into its binary representation: + * Takes the 16-bit number stored in RAM[8000] and stores its individual + * bits in RAM[8001]..RAM[8016] (each location will contain 0 or 1). + * Before the conversion, RAM[8001]..RAM[8016] are initialized to -1. + * + * The program should be tested as follows: + * 1) Load the program into the supplied VM emulator + * 2) Put some value in RAM[8000] + * 3) Switch to "no animation" + * 4) Run the program (give it enough time to run) + * 5) Stop the program + * 6) Check that RAM[8001]..RAM[8016] contain the correct bits, and + * that none of these memory locations contains -1. + */ +class Main { + + /** + * Initializes RAM[8001]..RAM[8016] to -1, + * and converts the value in RAM[8000] to binary. + */ + function void main() { + var int value; + do Main.fillMemory(8001, 16, -1); // sets RAM[8001]..RAM[8016] to -1 + let value = Memory.peek(8000); // Uses an OS routine to read the input + do Main.convert(value); // performs the conversion + return; + } + + /** Converts the given decimal value to binary, and puts + * the resulting bits in RAM[8001]..RAM[8016]. */ + function void convert(int value) { + var int mask, position; + var boolean loop; + + let loop = true; + while (loop) { + let position = position + 1; + let mask = Main.nextMask(mask); + + if (~(position > 16)) { + + if (~((value & mask) = 0)) { + do Memory.poke(8000 + position, 1); + } + else { + do Memory.poke(8000 + position, 0); + } + } + else { + let loop = false; + } + } + return; + } + + /** Returns the next mask (the mask that should follow the given mask). */ + function int nextMask(int mask) { + if (mask = 0) { + return 1; + } + else { + return mask * 2; + } + } + + /** Fills 'length' consecutive memory locations with 'value', + * starting at 'address'. */ + function void fillMemory(int address, int length, int value) { + while (length > 0) { + do Memory.poke(address, value); + let length = length - 1; + let address = address + 1; + } + return; + } +}`; + +export const parsed = { + name: { value: "Main", span: { start: 831, end: 835, line: 20 } }, + varDecs: [], + subroutines: [ + { + type: "function", + returnType: { value: "void", span: { start: 973, end: 978, line: 26 } }, + name: { value: "main", span: { start: 978, end: 982, line: 26 } }, + parameters: [], + body: { + varDecs: [ + { + type: { value: "int", span: { start: 997, end: 1001, line: 27 } }, + names: ["value"], + }, + ], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Main.fillMemory", + span: { start: 1019, end: 1034, line: 28 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 8001 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 16 }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "-", + term: { termType: "numericLiteral", value: 1 }, + }, + rest: [], + }, + ], + span: { start: 1019, end: 1048, line: 28 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "value", + span: { start: 1097, end: 1102, line: 29 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Memory.peek", + span: { start: 1105, end: 1116, line: 29 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 8000 }, + rest: [], + }, + ], + span: { start: 1105, end: 1122, line: 29 }, + }, + rest: [], + }, + span: { start: 1093, end: 1123, line: 29 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Main.convert", + span: { start: 1178, end: 1190, line: 30 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "value", + span: { start: 1191, end: 1196, line: 30 }, + }, + rest: [], + }, + ], + span: { start: 1178, end: 1197, line: 30 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1244, end: 1251, line: 31 }, + }, + ], + }, + }, + { + type: "function", + returnType: { value: "void", span: { start: 1393, end: 1398, line: 36 } }, + name: { value: "convert", span: { start: 1398, end: 1405, line: 36 } }, + parameters: [ + { + type: { value: "int", span: { start: 1406, end: 1410, line: 36 } }, + name: "value", + }, + ], + body: { + varDecs: [ + { + type: { value: "int", span: { start: 1429, end: 1433, line: 37 } }, + names: ["mask", "position"], + }, + { + type: { + value: "boolean", + span: { start: 1459, end: 1467, line: 38 }, + }, + names: ["loop"], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { value: "loop", span: { start: 1490, end: 1494, line: 40 } }, + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + span: { start: 1486, end: 1502, line: 40 }, + }, + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "loop", + span: { start: 1516, end: 1520, line: 41 }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "position", + span: { start: 1538, end: 1546, line: 42 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "position", + span: { start: 1549, end: 1557, line: 42 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + span: { start: 1534, end: 1562, line: 42 }, + }, + { + statementType: "letStatement", + name: { + value: "mask", + span: { start: 1577, end: 1581, line: 43 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Main.nextMask", + span: { start: 1584, end: 1597, line: 43 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "mask", + span: { start: 1598, end: 1602, line: 43 }, + }, + rest: [], + }, + ], + span: { start: 1584, end: 1603, line: 43 }, + }, + rest: [], + }, + span: { start: 1573, end: 1604, line: 43 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "position", + span: { start: 1628, end: 1636, line: 45 }, + }, + rest: [ + { + op: ">", + term: { termType: "numericLiteral", value: 16 }, + }, + ], + }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "value", + span: { start: 1674, end: 1679, line: 47 }, + }, + rest: [ + { + op: "&", + term: { + termType: "variable", + name: "mask", + span: { + start: 1682, + end: 1686, + line: 47, + }, + }, + }, + ], + }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 0 }, + }, + ], + }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.poke", + span: { start: 1717, end: 1728, line: 48 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 8000 }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "position", + span: { start: 1736, end: 1744, line: 48 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + ], + span: { start: 1717, end: 1748, line: 48 }, + }, + }, + ], + else: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.poke", + span: { start: 1811, end: 1822, line: 51 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 8000 }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "position", + span: { start: 1830, end: 1838, line: 51 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + ], + span: { start: 1811, end: 1842, line: 51 }, + }, + }, + ], + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "loop", + span: { start: 1913, end: 1917, line: 55 }, + }, + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + span: { start: 1909, end: 1926, line: 55 }, + }, + ], + }, + ], + }, + { + statementType: "returnStatement", + span: { start: 1953, end: 1960, line: 58 }, + }, + ], + }, + }, + { + type: "function", + returnType: { value: "int", span: { start: 2061, end: 2065, line: 62 } }, + name: { value: "nextMask", span: { start: 2065, end: 2073, line: 62 } }, + parameters: [ + { + type: { value: "int", span: { start: 2074, end: 2078, line: 62 } }, + name: "mask", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "mask", + span: { start: 2096, end: 2100, line: 63 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + body: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + span: { start: 2118, end: 2127, line: 64 }, + }, + ], + else: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "mask", + span: { start: 2162, end: 2166, line: 67 }, + }, + rest: [ + { op: "*", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 2155, end: 2171, line: 67 }, + }, + ], + }, + ], + }, + }, + { + type: "function", + returnType: { value: "void", span: { start: 2304, end: 2309, line: 73 } }, + name: { value: "fillMemory", span: { start: 2309, end: 2319, line: 73 } }, + parameters: [ + { + type: { value: "int", span: { start: 2320, end: 2324, line: 73 } }, + name: "address", + }, + { + type: { value: "int", span: { start: 2333, end: 2337, line: 73 } }, + name: "length", + }, + { + type: { value: "int", span: { start: 2345, end: 2349, line: 73 } }, + name: "value", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "length", + span: { start: 2373, end: 2379, line: 74 }, + }, + rest: [ + { op: ">", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.poke", + span: { start: 2402, end: 2413, line: 75 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "address", + span: { start: 2414, end: 2421, line: 75 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "value", + span: { start: 2423, end: 2428, line: 75 }, + }, + rest: [], + }, + ], + span: { start: 2402, end: 2429, line: 75 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "length", + span: { start: 2447, end: 2453, line: 76 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "length", + span: { start: 2456, end: 2462, line: 76 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + span: { start: 2443, end: 2467, line: 76 }, + }, + { + statementType: "letStatement", + name: { + value: "address", + span: { start: 2484, end: 2491, line: 77 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "address", + span: { start: 2494, end: 2501, line: 77 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + span: { start: 2480, end: 2506, line: 77 }, + }, + ], + }, + { + statementType: "returnStatement", + span: { start: 2525, end: 2532, line: 79 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Main.main 1 + push constant 8001 + push constant 16 + push constant 1 + neg + call Main.fillMemory 3 + pop temp 0 + push constant 8000 + call Memory.peek 1 + pop local 0 + push local 0 + call Main.convert 1 + pop temp 0 + push constant 0 + return +function Main.convert 3 + push constant 1 + neg + pop local 2 +label Main_0 + push local 2 + not + if-goto Main_1 + push local 1 + push constant 1 + add + pop local 1 + push local 0 + call Main.nextMask 1 + pop local 0 + push local 1 + push constant 16 + gt + not + not + if-goto Main_3 + push argument 0 + push local 0 + and + push constant 0 + eq + not + not + if-goto Main_5 + push constant 8000 + push local 1 + add + push constant 1 + call Memory.poke 2 + pop temp 0 + goto Main_4 +label Main_5 + push constant 8000 + push local 1 + add + push constant 0 + call Memory.poke 2 + pop temp 0 +label Main_4 + goto Main_2 +label Main_3 + push constant 0 + pop local 2 +label Main_2 + goto Main_0 +label Main_1 + push constant 0 + return +function Main.nextMask 0 + push argument 0 + push constant 0 + eq + not + if-goto Main_7 + push constant 1 + return + goto Main_6 +label Main_7 + push argument 0 + push constant 2 + call Math.multiply 2 + return +label Main_6 +function Main.fillMemory 0 +label Main_8 + push argument 1 + push constant 0 + gt + not + if-goto Main_9 + push argument 0 + push argument 2 + call Memory.poke 2 + pop temp 0 + push argument 1 + push constant 1 + sub + pop argument 1 + push argument 0 + push constant 1 + add + pop argument 0 + goto Main_8 +label Main_9 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/index.ts b/web-ide-main/projects/src/samples/project_11/index.ts new file mode 100644 index 0000000..bf295d8 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/index.ts @@ -0,0 +1,29 @@ +import * as average from "./average.js"; +import * as complex_arrays from "./complex_arrays.js"; +import * as convert_to_bin from "./convert_to_bin.js"; +import * as pong_ball from "./pong/ball.js"; +import * as pong_bat from "./pong/bat.js"; +import * as pong_main from "./pong/main.js"; +import * as pong_game from "./pong/pong_game.js"; +import * as seven from "./seven.js"; +import * as square_main from "./square/main.js"; +import * as square from "./square/square.js"; +import * as square_game from "./square/square_game.js"; + +type Program = Record< + string, + { jack: string; parsed: unknown; compiled: string } +>; +export const Programs: Record = { + average: { Main: average }, + complex_arrays: { Main: complex_arrays }, + convert_to_bin: { Main: convert_to_bin }, + pong: { + Ball: pong_ball, + Bat: pong_bat, + PongGame: pong_game, + Main: pong_main, + }, + seven: { Main: seven }, + square: { Square: square, Main: square_main, SquareGame: square_game }, +}; diff --git a/web-ide-main/projects/src/samples/project_11/pong/ball.ts b/web-ide-main/projects/src/samples/project_11/pong/ball.ts new file mode 100644 index 0000000..789f1c9 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/pong/ball.ts @@ -0,0 +1,2960 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Pong/Ball.jack +// (Same as projects/9/Pong/Ball.jack) +/** + * A graphical ball in a Pong game. Characterized by a screen location and + * distance of last destination. Has methods for drawing, erasing and moving + * on the screen. The ball is displayed as a filled, 6-by-6 pixles rectangle. + */ +class Ball { + + field int x, y; // the ball's screen location (in pixels) + field int lengthx, lengthy; // distance of last destination (in pixels) + + field int d, straightD, diagonalD; // used for straight line movement computation + field boolean invert, positivex, positivey; // (same) + + field int leftWall, rightWall, topWall, bottomWall; // wall locations + + field int wall; // last wall that the ball was bounced off of + + /** Constructs a new ball with the given initial location and wall locations. */ + constructor Ball new(int Ax, int Ay, + int AleftWall, int ArightWall, int AtopWall, int AbottomWall) { + let x = Ax; + let y = Ay; + let leftWall = AleftWall; + let rightWall = ArightWall - 6; // -6 for ball size + let topWall = AtopWall; + let bottomWall = AbottomWall - 6; // -6 for ball size + let wall = 0; + do show(); + return this; + } + + /** Deallocates the Ball's memory. */ + method void dispose() { + do Memory.deAlloc(this); + return; + } + + /** Shows the ball. */ + method void show() { + do Screen.setColor(true); + do draw(); + return; + } + + /** Hides the ball. */ + method void hide() { + do Screen.setColor(false); + do draw(); + return; + } + + /** Draws the ball. */ + method void draw() { + do Screen.drawRectangle(x, y, x + 5, y + 5); + return; + } + + /** Returns the ball's left edge. */ + method int getLeft() { + return x; + } + + /** Returns the ball's right edge. */ + method int getRight() { + return x + 5; + } + + /** Computes and sets the ball's destination. */ + method void setDestination(int destx, int desty) { + var int dx, dy, temp; + let lengthx = destx - x; + let lengthy = desty - y; + let dx = Math.abs(lengthx); + let dy = Math.abs(lengthy); + let invert = (dx < dy); + + if (invert) { + let temp = dx; // swap dx, dy + let dx = dy; + let dy = temp; + let positivex = (y < desty); + let positivey = (x < destx); + } + else { + let positivex = (x < destx); + let positivey = (y < desty); + } + + let d = (2 * dy) - dx; + let straightD = 2 * dy; + let diagonalD = 2 * (dy - dx); + + return; + } + + /** + * Moves the ball one step towards its destination. + * If the ball has reached a wall, returns 0. + * Else, returns a value according to the wall: + * 1 (left wall), 2 (right wall), 3 (top wall), 4 (bottom wall). + */ + method int move() { + + do hide(); + + if (d < 0) { let d = d + straightD; } + else { + let d = d + diagonalD; + + if (positivey) { + if (invert) { let x = x + 4; } + else { let y = y + 4; } + } + else { + if (invert) { let x = x - 4; } + else { let y = y - 4; } + } + } + + if (positivex) { + if (invert) { let y = y + 4; } + else { let x = x + 4; } + } + else { + if (invert) { let y = y - 4; } + else { let x = x - 4; } + } + + if (~(x > leftWall)) { + let wall = 1; + let x = leftWall; + } + if (~(x < rightWall)) { + let wall = 2; + let x = rightWall; + } + if (~(y > topWall)) { + let wall = 3; + let y = topWall; + } + if (~(y < bottomWall)) { + let wall = 4; + let y = bottomWall; + } + + do show(); + + return wall; + } + + /** + * Bounces off the current wall: sets the new destination + * of the ball according to the ball's angle and the given + * bouncing direction (-1/0/1=left/center/right or up/center/down). + */ + method void bounce(int bouncingDirection) { + var int newx, newy, divLengthx, divLengthy, factor; + + // Since results are too big, divides by 10 + let divLengthx = lengthx / 10; + let divLengthy = lengthy / 10; + if (bouncingDirection = 0) { let factor = 10; } + else { + if (((~(lengthx < 0)) & (bouncingDirection = 1)) | ((lengthx < 0) & (bouncingDirection = (-1)))) { + let factor = 20; // bounce direction is in ball direction + } + else { let factor = 5; } // bounce direction is against ball direction + } + + if (wall = 1) { + let newx = 506; + let newy = (divLengthy * (-50)) / divLengthx; + let newy = y + (newy * factor); + } + else { + if (wall = 2) { + let newx = 0; + let newy = (divLengthy * 50) / divLengthx; + let newy = y + (newy * factor); + } + else { + if (wall = 3) { + let newy = 250; + let newx = (divLengthx * (-25)) / divLengthy; + let newx = x + (newx * factor); + } + else { // assumes wall = 4 + let newy = 0; + let newx = (divLengthx * 25) / divLengthy; + let newx = x + (newx * factor); + } + } + } + + do setDestination(newx, newy); + return; + } +}`; + +export const parsed = { + name: { value: "Ball", span: { start: 459, end: 463, line: 11 } }, + varDecs: [ + { + varType: "field", + type: { value: "int", span: { start: 477, end: 481, line: 13 } }, + names: ["x", "y"], + }, + { + varType: "field", + type: { value: "int", span: { start: 553, end: 557, line: 14 } }, + names: ["lengthx", "lengthy"], + }, + { + varType: "field", + type: { value: "int", span: { start: 632, end: 636, line: 16 } }, + names: ["d", "straightD", "diagonalD"], + }, + { + varType: "field", + type: { value: "boolean", span: { start: 720, end: 728, line: 17 } }, + names: ["invert", "positivex", "positivey"], + }, + { + varType: "field", + type: { value: "int", span: { start: 784, end: 788, line: 19 } }, + names: ["leftWall", "rightWall", "topWall", "bottomWall"], + }, + { + varType: "field", + type: { value: "int", span: { start: 863, end: 867, line: 21 } }, + names: ["wall"], + }, + ], + subroutines: [ + { + type: "constructor", + returnType: { value: "Ball", span: { start: 1023, end: 1028, line: 24 } }, + name: { value: "new", span: { start: 1028, end: 1031, line: 24 } }, + parameters: [ + { + type: { value: "int", span: { start: 1032, end: 1036, line: 24 } }, + name: "Ax", + }, + { + type: { value: "int", span: { start: 1040, end: 1044, line: 24 } }, + name: "Ay", + }, + { + type: { value: "int", span: { start: 1073, end: 1077, line: 25 } }, + name: "AleftWall", + }, + { + type: { value: "int", span: { start: 1088, end: 1092, line: 25 } }, + name: "ArightWall", + }, + { + type: { value: "int", span: { start: 1104, end: 1108, line: 25 } }, + name: "AtopWall", + }, + { + type: { value: "int", span: { start: 1118, end: 1122, line: 25 } }, + name: "AbottomWall", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "letStatement", + name: { value: "x", span: { start: 1152, end: 1153, line: 26 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Ax", + span: { start: 1156, end: 1158, line: 26 }, + }, + rest: [], + }, + span: { start: 1148, end: 1159, line: 26 }, + }, + { + statementType: "letStatement", + name: { value: "y", span: { start: 1172, end: 1173, line: 27 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Ay", + span: { start: 1176, end: 1178, line: 27 }, + }, + rest: [], + }, + span: { start: 1168, end: 1179, line: 27 }, + }, + { + statementType: "letStatement", + name: { + value: "leftWall", + span: { start: 1190, end: 1198, line: 28 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "AleftWall", + span: { start: 1201, end: 1210, line: 28 }, + }, + rest: [], + }, + span: { start: 1186, end: 1211, line: 28 }, + }, + { + statementType: "letStatement", + name: { + value: "rightWall", + span: { start: 1222, end: 1231, line: 29 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "ArightWall", + span: { start: 1234, end: 1244, line: 29 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 6 } }, + ], + }, + span: { start: 1218, end: 1249, line: 29 }, + }, + { + statementType: "letStatement", + name: { + value: "topWall", + span: { start: 1283, end: 1290, line: 30 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "AtopWall", + span: { start: 1293, end: 1301, line: 30 }, + }, + rest: [], + }, + span: { start: 1279, end: 1302, line: 30 }, + }, + { + statementType: "letStatement", + name: { + value: "bottomWall", + span: { start: 1314, end: 1324, line: 31 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "AbottomWall", + span: { start: 1327, end: 1338, line: 31 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 6 } }, + ], + }, + span: { start: 1310, end: 1343, line: 31 }, + }, + { + statementType: "letStatement", + name: { value: "wall", span: { start: 1375, end: 1379, line: 32 } }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 1371, end: 1384, line: 32 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "show", + span: { start: 1396, end: 1400, line: 33 }, + }, + parameters: [], + span: { start: 1396, end: 1402, line: 33 }, + }, + }, + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + span: { start: 1412, end: 1424, line: 34 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1485, end: 1490, line: 38 } }, + name: { value: "dispose", span: { start: 1490, end: 1497, line: 38 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.deAlloc", + span: { start: 1513, end: 1527, line: 39 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + ], + span: { start: 1513, end: 1533, line: 39 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1543, end: 1550, line: 40 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1596, end: 1601, line: 44 } }, + name: { value: "show", span: { start: 1601, end: 1605, line: 44 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 1621, end: 1636, line: 45 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 1621, end: 1642, line: 45 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "draw", + span: { start: 1655, end: 1659, line: 46 }, + }, + parameters: [], + span: { start: 1655, end: 1661, line: 46 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1671, end: 1678, line: 47 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1724, end: 1729, line: 51 } }, + name: { value: "hide", span: { start: 1729, end: 1733, line: 51 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 1749, end: 1764, line: 52 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 1749, end: 1771, line: 52 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "draw", + span: { start: 1782, end: 1786, line: 53 }, + }, + parameters: [], + span: { start: 1782, end: 1788, line: 53 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1798, end: 1805, line: 54 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1851, end: 1856, line: 58 } }, + name: { value: "draw", span: { start: 1856, end: 1860, line: 58 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 1874, end: 1894, line: 59 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1895, end: 1896, line: 59 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1898, end: 1899, line: 59 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1901, end: 1902, line: 59 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 5 } }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1908, end: 1909, line: 59 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 5 } }, + ], + }, + ], + span: { start: 1874, end: 1914, line: 59 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1922, end: 1929, line: 60 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "int", span: { start: 1989, end: 1993, line: 64 } }, + name: { value: "getLeft", span: { start: 1993, end: 2000, line: 64 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2020, end: 2021, line: 65 }, + }, + rest: [], + }, + span: { start: 2013, end: 2022, line: 65 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "int", span: { start: 2083, end: 2087, line: 69 } }, + name: { value: "getRight", span: { start: 2087, end: 2095, line: 69 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2115, end: 2116, line: 70 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 5 } }, + ], + }, + span: { start: 2108, end: 2121, line: 70 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 2193, end: 2198, line: 74 } }, + name: { + value: "setDestination", + span: { start: 2198, end: 2212, line: 74 }, + }, + parameters: [ + { + type: { value: "int", span: { start: 2213, end: 2217, line: 74 } }, + name: "destx", + }, + { + type: { value: "int", span: { start: 2224, end: 2228, line: 74 } }, + name: "desty", + }, + ], + body: { + varDecs: [ + { + type: { value: "int", span: { start: 2249, end: 2253, line: 75 } }, + names: ["dx", "dy", "temp"], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { + value: "lengthx", + span: { start: 2279, end: 2286, line: 76 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "destx", + span: { start: 2289, end: 2294, line: 76 }, + }, + rest: [ + { + op: "-", + term: { + termType: "variable", + name: "x", + span: { start: 2297, end: 2298, line: 76 }, + }, + }, + ], + }, + span: { start: 2275, end: 2299, line: 76 }, + }, + { + statementType: "letStatement", + name: { + value: "lengthy", + span: { start: 2310, end: 2317, line: 77 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "desty", + span: { start: 2320, end: 2325, line: 77 }, + }, + rest: [ + { + op: "-", + term: { + termType: "variable", + name: "y", + span: { start: 2328, end: 2329, line: 77 }, + }, + }, + ], + }, + span: { start: 2306, end: 2330, line: 77 }, + }, + { + statementType: "letStatement", + name: { value: "dx", span: { start: 2343, end: 2345, line: 78 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Math.abs", + span: { start: 2348, end: 2356, line: 78 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "lengthx", + span: { start: 2357, end: 2364, line: 78 }, + }, + rest: [], + }, + ], + span: { start: 2348, end: 2365, line: 78 }, + }, + rest: [], + }, + span: { start: 2339, end: 2366, line: 78 }, + }, + { + statementType: "letStatement", + name: { value: "dy", span: { start: 2379, end: 2381, line: 79 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Math.abs", + span: { start: 2384, end: 2392, line: 79 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "lengthy", + span: { start: 2393, end: 2400, line: 79 }, + }, + rest: [], + }, + ], + span: { start: 2384, end: 2401, line: 79 }, + }, + rest: [], + }, + span: { start: 2375, end: 2402, line: 79 }, + }, + { + statementType: "letStatement", + name: { + value: "invert", + span: { start: 2415, end: 2421, line: 80 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "dx", + span: { start: 2425, end: 2427, line: 80 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "dy", + span: { start: 2430, end: 2432, line: 80 }, + }, + }, + ], + }, + }, + rest: [], + }, + span: { start: 2411, end: 2434, line: 80 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "invert", + span: { start: 2448, end: 2454, line: 82 }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "temp", + span: { start: 2474, end: 2478, line: 83 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "dx", + span: { start: 2481, end: 2483, line: 83 }, + }, + rest: [], + }, + span: { start: 2470, end: 2484, line: 83 }, + }, + { + statementType: "letStatement", + name: { + value: "dx", + span: { start: 2516, end: 2518, line: 84 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "dy", + span: { start: 2521, end: 2523, line: 84 }, + }, + rest: [], + }, + span: { start: 2512, end: 2524, line: 84 }, + }, + { + statementType: "letStatement", + name: { + value: "dy", + span: { start: 2541, end: 2543, line: 85 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "temp", + span: { start: 2546, end: 2550, line: 85 }, + }, + rest: [], + }, + span: { start: 2537, end: 2551, line: 85 }, + }, + { + statementType: "letStatement", + name: { + value: "positivex", + span: { start: 2569, end: 2578, line: 86 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2582, end: 2583, line: 86 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "desty", + span: { start: 2586, end: 2591, line: 86 }, + }, + }, + ], + }, + }, + rest: [], + }, + span: { start: 2565, end: 2593, line: 86 }, + }, + { + statementType: "letStatement", + name: { + value: "positivey", + span: { start: 2610, end: 2619, line: 87 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2623, end: 2624, line: 87 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "destx", + span: { start: 2627, end: 2632, line: 87 }, + }, + }, + ], + }, + }, + rest: [], + }, + span: { start: 2606, end: 2634, line: 87 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "positivex", + span: { start: 2674, end: 2683, line: 90 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2687, end: 2688, line: 90 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "destx", + span: { start: 2691, end: 2696, line: 90 }, + }, + }, + ], + }, + }, + rest: [], + }, + span: { start: 2670, end: 2698, line: 90 }, + }, + { + statementType: "letStatement", + name: { + value: "positivey", + span: { start: 2715, end: 2724, line: 91 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2728, end: 2729, line: 91 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "desty", + span: { start: 2732, end: 2737, line: 91 }, + }, + }, + ], + }, + }, + rest: [], + }, + span: { start: 2711, end: 2739, line: 91 }, + }, + ], + }, + { + statementType: "letStatement", + name: { value: "d", span: { start: 2763, end: 2764, line: 94 } }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [ + { + op: "*", + term: { + termType: "variable", + name: "dy", + span: { start: 2772, end: 2774, line: 94 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "-", + term: { + termType: "variable", + name: "dx", + span: { start: 2778, end: 2780, line: 94 }, + }, + }, + ], + }, + span: { start: 2759, end: 2781, line: 94 }, + }, + { + statementType: "letStatement", + name: { + value: "straightD", + span: { start: 2794, end: 2803, line: 95 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [ + { + op: "*", + term: { + termType: "variable", + name: "dy", + span: { start: 2810, end: 2812, line: 95 }, + }, + }, + ], + }, + span: { start: 2790, end: 2813, line: 95 }, + }, + { + statementType: "letStatement", + name: { + value: "diagonalD", + span: { start: 2826, end: 2835, line: 96 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [ + { + op: "*", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "dy", + span: { start: 2843, end: 2845, line: 96 }, + }, + rest: [ + { + op: "-", + term: { + termType: "variable", + name: "dx", + span: { start: 2848, end: 2850, line: 96 }, + }, + }, + ], + }, + }, + }, + ], + }, + span: { start: 2822, end: 2852, line: 96 }, + }, + { + statementType: "returnStatement", + span: { start: 2860, end: 2867, line: 98 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "int", span: { start: 3129, end: 3133, line: 107 } }, + name: { value: "move", span: { start: 3133, end: 3137, line: 107 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "hide", + span: { start: 3152, end: 3156, line: 109 }, + }, + parameters: [], + span: { start: 3152, end: 3158, line: 109 }, + }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "d", + span: { start: 3173, end: 3174, line: 111 }, + }, + rest: [ + { op: "<", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "d", + span: { start: 3186, end: 3187, line: 111 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "d", + span: { start: 3190, end: 3191, line: 111 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "straightD", + span: { start: 3194, end: 3203, line: 111 }, + }, + }, + ], + }, + span: { start: 3182, end: 3204, line: 111 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "d", + span: { start: 3238, end: 3239, line: 113 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "d", + span: { start: 3242, end: 3243, line: 113 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "diagonalD", + span: { start: 3246, end: 3255, line: 113 }, + }, + }, + ], + }, + span: { start: 3234, end: 3256, line: 113 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "positivey", + span: { start: 3274, end: 3283, line: 115 }, + }, + rest: [], + }, + body: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "invert", + span: { start: 3307, end: 3313, line: 116 }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 3321, end: 3322, line: 116 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3325, end: 3326, line: 116 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3317, end: 3331, line: 116 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 3361, end: 3362, line: 117 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3365, end: 3366, line: 117 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3357, end: 3371, line: 117 }, + }, + ], + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "invert", + span: { start: 3427, end: 3433, line: 120 }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 3441, end: 3442, line: 120 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3445, end: 3446, line: 120 }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3437, end: 3451, line: 120 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 3481, end: 3482, line: 121 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3485, end: 3486, line: 121 }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3477, end: 3491, line: 121 }, + }, + ], + }, + ], + }, + ], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "positivex", + span: { start: 3529, end: 3538, line: 125 }, + }, + rest: [], + }, + body: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "invert", + span: { start: 3558, end: 3564, line: 126 }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 3572, end: 3573, line: 126 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3576, end: 3577, line: 126 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3568, end: 3582, line: 126 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 3608, end: 3609, line: 127 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3612, end: 3613, line: 127 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3604, end: 3618, line: 127 }, + }, + ], + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "invert", + span: { start: 3658, end: 3664, line: 130 }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 3672, end: 3673, line: 130 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3676, end: 3677, line: 130 }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3668, end: 3682, line: 130 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 3708, end: 3709, line: 131 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3712, end: 3713, line: 131 }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + span: { start: 3704, end: 3718, line: 131 }, + }, + ], + }, + ], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3742, end: 3743, line: 134 }, + }, + rest: [ + { + op: ">", + term: { + termType: "variable", + name: "leftWall", + span: { start: 3746, end: 3754, line: 134 }, + }, + }, + ], + }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "wall", + span: { start: 3773, end: 3777, line: 135 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + span: { start: 3769, end: 3782, line: 135 }, + }, + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 3801, end: 3802, line: 136 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "leftWall", + span: { start: 3805, end: 3813, line: 136 }, + }, + rest: [], + }, + span: { start: 3797, end: 3814, line: 136 }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3837, end: 3838, line: 138 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "rightWall", + span: { start: 3841, end: 3850, line: 138 }, + }, + }, + ], + }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "wall", + span: { start: 3869, end: 3873, line: 139 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [], + }, + span: { start: 3865, end: 3878, line: 139 }, + }, + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 3897, end: 3898, line: 140 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "rightWall", + span: { start: 3901, end: 3910, line: 140 }, + }, + rest: [], + }, + span: { start: 3893, end: 3911, line: 140 }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3934, end: 3935, line: 142 }, + }, + rest: [ + { + op: ">", + term: { + termType: "variable", + name: "topWall", + span: { start: 3938, end: 3945, line: 142 }, + }, + }, + ], + }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "wall", + span: { start: 3966, end: 3970, line: 143 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + span: { start: 3962, end: 3975, line: 143 }, + }, + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 3994, end: 3995, line: 144 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "topWall", + span: { start: 3998, end: 4005, line: 144 }, + }, + rest: [], + }, + span: { start: 3990, end: 4006, line: 144 }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 4031, end: 4032, line: 146 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "bottomWall", + span: { start: 4035, end: 4045, line: 146 }, + }, + }, + ], + }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "wall", + span: { start: 4066, end: 4070, line: 147 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 4 }, + rest: [], + }, + span: { start: 4062, end: 4075, line: 147 }, + }, + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 4094, end: 4095, line: 148 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "bottomWall", + span: { start: 4098, end: 4108, line: 148 }, + }, + rest: [], + }, + span: { start: 4090, end: 4109, line: 148 }, + }, + ], + else: [], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "show", + span: { start: 4130, end: 4134, line: 151 }, + }, + parameters: [], + span: { start: 4130, end: 4136, line: 151 }, + }, + }, + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 4152, end: 4156, line: 153 }, + }, + rest: [], + }, + span: { start: 4145, end: 4157, line: 153 }, + }, + ], + }, + }, + { + type: "method", + returnType: { + value: "void", + span: { start: 4389, end: 4394, line: 161 }, + }, + name: { value: "bounce", span: { start: 4394, end: 4400, line: 161 } }, + parameters: [ + { + type: { value: "int", span: { start: 4401, end: 4405, line: 161 } }, + name: "bouncingDirection", + }, + ], + body: { + varDecs: [ + { + type: { value: "int", span: { start: 4438, end: 4442, line: 162 } }, + names: ["newx", "newy", "divLengthx", "divLengthy", "factor"], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { + value: "divLengthx", + span: { start: 4549, end: 4559, line: 165 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "lengthx", + span: { start: 4562, end: 4569, line: 165 }, + }, + rest: [ + { op: "/", term: { termType: "numericLiteral", value: 10 } }, + ], + }, + span: { start: 4545, end: 4575, line: 165 }, + }, + { + statementType: "letStatement", + name: { + value: "divLengthy", + span: { start: 4588, end: 4598, line: 166 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "lengthy", + span: { start: 4601, end: 4608, line: 166 }, + }, + rest: [ + { op: "/", term: { termType: "numericLiteral", value: 10 } }, + ], + }, + span: { start: 4584, end: 4614, line: 166 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "bouncingDirection", + span: { start: 4625, end: 4642, line: 167 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "factor", + span: { start: 4654, end: 4660, line: 167 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 10 }, + rest: [], + }, + span: { start: 4650, end: 4666, line: 167 }, + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "lengthx", + span: { start: 4700, end: 4707, line: 169 }, + }, + rest: [ + { + op: "<", + term: { + termType: "numericLiteral", + value: 0, + }, + }, + ], + }, + }, + }, + rest: [], + }, + }, + rest: [ + { + op: "&", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "bouncingDirection", + span: { start: 4717, end: 4734, line: 169 }, + }, + rest: [ + { + op: "=", + term: { + termType: "numericLiteral", + value: 1, + }, + }, + ], + }, + }, + }, + ], + }, + }, + rest: [ + { + op: "|", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "lengthx", + span: { start: 4745, end: 4752, line: 169 }, + }, + rest: [ + { + op: "<", + term: { + termType: "numericLiteral", + value: 0, + }, + }, + ], + }, + }, + rest: [ + { + op: "&", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "bouncingDirection", + span: { start: 4761, end: 4778, line: 169 }, + }, + rest: [ + { + op: "=", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "-", + term: { + termType: "numericLiteral", + value: 1, + }, + }, + rest: [], + }, + }, + }, + ], + }, + }, + }, + ], + }, + }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "factor", + span: { start: 4811, end: 4817, line: 170 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 20 }, + rest: [], + }, + span: { start: 4807, end: 4823, line: 170 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "factor", + span: { start: 4900, end: 4906, line: 172 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 5 }, + rest: [], + }, + span: { start: 4896, end: 4911, line: 172 }, + }, + ], + }, + ], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 4979, end: 4983, line: 175 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "newx", + span: { start: 5005, end: 5009, line: 176 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 506 }, + rest: [], + }, + span: { start: 5001, end: 5016, line: 176 }, + }, + { + statementType: "letStatement", + name: { + value: "newy", + span: { start: 5031, end: 5035, line: 177 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "divLengthy", + span: { start: 5039, end: 5049, line: 177 }, + }, + rest: [ + { + op: "*", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "-", + term: { termType: "numericLiteral", value: 50 }, + }, + rest: [], + }, + }, + }, + ], + }, + }, + rest: [ + { + op: "/", + term: { + termType: "variable", + name: "divLengthx", + span: { start: 5061, end: 5071, line: 177 }, + }, + }, + ], + }, + span: { start: 5027, end: 5072, line: 177 }, + }, + { + statementType: "letStatement", + name: { + value: "newy", + span: { start: 5089, end: 5093, line: 178 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 5096, end: 5097, line: 178 }, + }, + rest: [ + { + op: "+", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "newy", + span: { start: 5101, end: 5105, line: 178 }, + }, + rest: [ + { + op: "*", + term: { + termType: "variable", + name: "factor", + span: { start: 5108, end: 5114, line: 178 }, + }, + }, + ], + }, + }, + }, + ], + }, + span: { start: 5085, end: 5116, line: 178 }, + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 5156, end: 5160, line: 181 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "newx", + span: { start: 5188, end: 5192, line: 182 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 5184, end: 5197, line: 182 }, + }, + { + statementType: "letStatement", + name: { + value: "newy", + span: { start: 5218, end: 5222, line: 183 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "divLengthy", + span: { start: 5226, end: 5236, line: 183 }, + }, + rest: [ + { + op: "*", + term: { termType: "numericLiteral", value: 50 }, + }, + ], + }, + }, + rest: [ + { + op: "/", + term: { + termType: "variable", + name: "divLengthx", + span: { start: 5245, end: 5255, line: 183 }, + }, + }, + ], + }, + span: { start: 5214, end: 5256, line: 183 }, + }, + { + statementType: "letStatement", + name: { + value: "newy", + span: { start: 5277, end: 5281, line: 184 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 5284, end: 5285, line: 184 }, + }, + rest: [ + { + op: "+", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "newy", + span: { start: 5289, end: 5293, line: 184 }, + }, + rest: [ + { + op: "*", + term: { + termType: "variable", + name: "factor", + span: { start: 5296, end: 5302, line: 184 }, + }, + }, + ], + }, + }, + }, + ], + }, + span: { start: 5273, end: 5304, line: 184 }, + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 5354, end: 5358, line: 187 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 3 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "newy", + span: { start: 5386, end: 5390, line: 188 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 250 }, + rest: [], + }, + span: { start: 5382, end: 5397, line: 188 }, + }, + { + statementType: "letStatement", + name: { + value: "newx", + span: { start: 5418, end: 5422, line: 189 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "divLengthx", + span: { start: 5426, end: 5436, line: 189 }, + }, + rest: [ + { + op: "*", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "-", + term: { + termType: "numericLiteral", + value: 25, + }, + }, + rest: [], + }, + }, + }, + ], + }, + }, + rest: [ + { + op: "/", + term: { + termType: "variable", + name: "divLengthy", + span: { start: 5448, end: 5458, line: 189 }, + }, + }, + ], + }, + span: { start: 5414, end: 5459, line: 189 }, + }, + { + statementType: "letStatement", + name: { + value: "newx", + span: { start: 5484, end: 5488, line: 190 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 5491, end: 5492, line: 190 }, + }, + rest: [ + { + op: "+", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "newx", + span: { start: 5496, end: 5500, line: 190 }, + }, + rest: [ + { + op: "*", + term: { + termType: "variable", + name: "factor", + span: { + start: 5503, + end: 5509, + line: 190, + }, + }, + }, + ], + }, + }, + }, + ], + }, + span: { start: 5480, end: 5511, line: 190 }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "newy", + span: { start: 5589, end: 5593, line: 193 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 5585, end: 5598, line: 193 }, + }, + { + statementType: "letStatement", + name: { + value: "newx", + span: { start: 5619, end: 5623, line: 194 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "divLengthx", + span: { start: 5627, end: 5637, line: 194 }, + }, + rest: [ + { + op: "*", + term: { + termType: "numericLiteral", + value: 25, + }, + }, + ], + }, + }, + rest: [ + { + op: "/", + term: { + termType: "variable", + name: "divLengthy", + span: { start: 5646, end: 5656, line: 194 }, + }, + }, + ], + }, + span: { start: 5615, end: 5657, line: 194 }, + }, + { + statementType: "letStatement", + name: { + value: "newx", + span: { start: 5682, end: 5686, line: 195 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 5689, end: 5690, line: 195 }, + }, + rest: [ + { + op: "+", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "newx", + span: { start: 5694, end: 5698, line: 195 }, + }, + rest: [ + { + op: "*", + term: { + termType: "variable", + name: "factor", + span: { + start: 5701, + end: 5707, + line: 195, + }, + }, + }, + ], + }, + }, + }, + ], + }, + span: { start: 5678, end: 5709, line: 195 }, + }, + ], + }, + ], + }, + ], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "setDestination", + span: { start: 5760, end: 5774, line: 200 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "newx", + span: { start: 5775, end: 5779, line: 200 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "newy", + span: { start: 5781, end: 5785, line: 200 }, + }, + rest: [], + }, + ], + span: { start: 5760, end: 5786, line: 200 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 5796, end: 5803, line: 201 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Ball.new 0 + push constant 15 + call Memory.alloc 1 + pop pointer 0 + push argument 0 + pop this 0 + push argument 1 + pop this 1 + push argument 2 + pop this 10 + push argument 3 + push constant 6 + sub + pop this 11 + push argument 4 + pop this 12 + push argument 5 + push constant 6 + sub + pop this 13 + push constant 0 + pop this 14 + push pointer 0 + call Ball.show 1 + pop temp 0 + push pointer 0 + return +function Ball.dispose 0 + push argument 0 + pop pointer 0 + push pointer 0 + call Memory.deAlloc 1 + pop temp 0 + push constant 0 + return +function Ball.show 0 + push argument 0 + pop pointer 0 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push pointer 0 + call Ball.draw 1 + pop temp 0 + push constant 0 + return +function Ball.hide 0 + push argument 0 + pop pointer 0 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push pointer 0 + call Ball.draw 1 + pop temp 0 + push constant 0 + return +function Ball.draw 0 + push argument 0 + pop pointer 0 + push this 0 + push this 1 + push this 0 + push constant 5 + add + push this 1 + push constant 5 + add + call Screen.drawRectangle 4 + pop temp 0 + push constant 0 + return +function Ball.getLeft 0 + push argument 0 + pop pointer 0 + push this 0 + return +function Ball.getRight 0 + push argument 0 + pop pointer 0 + push this 0 + push constant 5 + add + return +function Ball.setDestination 3 + push argument 0 + pop pointer 0 + push argument 1 + push this 0 + sub + pop this 2 + push argument 2 + push this 1 + sub + pop this 3 + push this 2 + call Math.abs 1 + pop local 0 + push this 3 + call Math.abs 1 + pop local 1 + push local 0 + push local 1 + lt + pop this 7 + push this 7 + not + if-goto Ball_1 + push local 0 + pop local 2 + push local 1 + pop local 0 + push local 2 + pop local 1 + push this 1 + push argument 2 + lt + pop this 8 + push this 0 + push argument 1 + lt + pop this 9 + goto Ball_0 +label Ball_1 + push this 0 + push argument 1 + lt + pop this 8 + push this 1 + push argument 2 + lt + pop this 9 +label Ball_0 + push constant 2 + push local 1 + call Math.multiply 2 + push local 0 + sub + pop this 4 + push constant 2 + push local 1 + call Math.multiply 2 + pop this 5 + push constant 2 + push local 1 + push local 0 + sub + call Math.multiply 2 + pop this 6 + push constant 0 + return +function Ball.move 0 + push argument 0 + pop pointer 0 + push pointer 0 + call Ball.hide 1 + pop temp 0 + push this 4 + push constant 0 + lt + not + if-goto Ball_3 + push this 4 + push this 5 + add + pop this 4 + goto Ball_2 +label Ball_3 + push this 4 + push this 6 + add + pop this 4 + push this 9 + not + if-goto Ball_5 + push this 7 + not + if-goto Ball_7 + push this 0 + push constant 4 + add + pop this 0 + goto Ball_6 +label Ball_7 + push this 1 + push constant 4 + add + pop this 1 +label Ball_6 + goto Ball_4 +label Ball_5 + push this 7 + not + if-goto Ball_9 + push this 0 + push constant 4 + sub + pop this 0 + goto Ball_8 +label Ball_9 + push this 1 + push constant 4 + sub + pop this 1 +label Ball_8 +label Ball_4 +label Ball_2 + push this 8 + not + if-goto Ball_11 + push this 7 + not + if-goto Ball_13 + push this 1 + push constant 4 + add + pop this 1 + goto Ball_12 +label Ball_13 + push this 0 + push constant 4 + add + pop this 0 +label Ball_12 + goto Ball_10 +label Ball_11 + push this 7 + not + if-goto Ball_15 + push this 1 + push constant 4 + sub + pop this 1 + goto Ball_14 +label Ball_15 + push this 0 + push constant 4 + sub + pop this 0 +label Ball_14 +label Ball_10 + push this 0 + push this 10 + gt + not + not + if-goto Ball_17 + push constant 1 + pop this 14 + push this 10 + pop this 0 + goto Ball_16 +label Ball_17 +label Ball_16 + push this 0 + push this 11 + lt + not + not + if-goto Ball_19 + push constant 2 + pop this 14 + push this 11 + pop this 0 + goto Ball_18 +label Ball_19 +label Ball_18 + push this 1 + push this 12 + gt + not + not + if-goto Ball_21 + push constant 3 + pop this 14 + push this 12 + pop this 1 + goto Ball_20 +label Ball_21 +label Ball_20 + push this 1 + push this 13 + lt + not + not + if-goto Ball_23 + push constant 4 + pop this 14 + push this 13 + pop this 1 + goto Ball_22 +label Ball_23 +label Ball_22 + push pointer 0 + call Ball.show 1 + pop temp 0 + push this 14 + return +function Ball.bounce 5 + push argument 0 + pop pointer 0 + push this 2 + push constant 10 + call Math.divide 2 + pop local 2 + push this 3 + push constant 10 + call Math.divide 2 + pop local 3 + push argument 1 + push constant 0 + eq + not + if-goto Ball_25 + push constant 10 + pop local 4 + goto Ball_24 +label Ball_25 + push this 2 + push constant 0 + lt + not + push argument 1 + push constant 1 + eq + and + push this 2 + push constant 0 + lt + push argument 1 + push constant 1 + neg + eq + and + or + not + if-goto Ball_27 + push constant 20 + pop local 4 + goto Ball_26 +label Ball_27 + push constant 5 + pop local 4 +label Ball_26 +label Ball_24 + push this 14 + push constant 1 + eq + not + if-goto Ball_29 + push constant 506 + pop local 0 + push local 3 + push constant 50 + neg + call Math.multiply 2 + push local 2 + call Math.divide 2 + pop local 1 + push this 1 + push local 1 + push local 4 + call Math.multiply 2 + add + pop local 1 + goto Ball_28 +label Ball_29 + push this 14 + push constant 2 + eq + not + if-goto Ball_31 + push constant 0 + pop local 0 + push local 3 + push constant 50 + call Math.multiply 2 + push local 2 + call Math.divide 2 + pop local 1 + push this 1 + push local 1 + push local 4 + call Math.multiply 2 + add + pop local 1 + goto Ball_30 +label Ball_31 + push this 14 + push constant 3 + eq + not + if-goto Ball_33 + push constant 250 + pop local 1 + push local 2 + push constant 25 + neg + call Math.multiply 2 + push local 3 + call Math.divide 2 + pop local 0 + push this 0 + push local 0 + push local 4 + call Math.multiply 2 + add + pop local 0 + goto Ball_32 +label Ball_33 + push constant 0 + pop local 1 + push local 2 + push constant 25 + call Math.multiply 2 + push local 3 + call Math.divide 2 + pop local 0 + push this 0 + push local 0 + push local 4 + call Math.multiply 2 + add + pop local 0 +label Ball_32 +label Ball_30 +label Ball_28 + push pointer 0 + push local 0 + push local 1 + call Ball.setDestination 3 + pop temp 0 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/pong/bat.ts b/web-ide-main/projects/src/samples/project_11/pong/bat.ts new file mode 100644 index 0000000..fb8188a --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/pong/bat.ts @@ -0,0 +1,1373 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Pong/Bat.jack +// (Same as projects/9/Pong/Bat.jack) +/** + * A graphical bat in a Pong game. + * Displayed as a filled horizontal rectangle that has a screen location, + * a width and a height. + * Has methods for drawing, erasing, moving left and right, and changing + * its width (to make the hitting action more challenging). + * This class should have been called "Paddle", following the + * standard Pong terminology. Unaware of this terminology, + * we called it "bat", and the name stuck. + */ +class Bat { + + field int x, y; // the bat's screen location + field int width, height; // the bat's width and height + field int direction; // direction of the bat's movement + // (1 = left, 2 = right) + + /** Constructs a new bat with the given location and width. */ + constructor Bat new(int Ax, int Ay, int Awidth, int Aheight) { + let x = Ax; + let y = Ay; + let width = Awidth; + let height = Aheight; + let direction = 2; + do show(); + return this; + } + + /** Deallocates the object's memory. */ + method void dispose() { + do Memory.deAlloc(this); + return; + } + + /** Shows the bat. */ + method void show() { + do Screen.setColor(true); + do draw(); + return; + } + + /** Hides the bat. */ + method void hide() { + do Screen.setColor(false); + do draw(); + return; + } + + /** Draws the bat. */ + method void draw() { + do Screen.drawRectangle(x, y, x + width, y + height); + return; + } + + /** Sets the bat's direction (0=stop, 1=left, 2=right). */ + method void setDirection(int Adirection) { + let direction = Adirection; + return; + } + + /** Returns the bat's left edge. */ + method int getLeft() { + return x; + } + + /** Returns the bat's right edge. */ + method int getRight() { + return x + width; + } + + /** Sets the bat's width. */ + method void setWidth(int Awidth) { + do hide(); + let width = Awidth; + do show(); + return; + } + + /** Moves the bat one step in the bat's direction. */ + method void move() { + if (direction = 1) { + let x = x - 4; + if (x < 0) { let x = 0; } + do Screen.setColor(false); + do Screen.drawRectangle((x + width) + 1, y, (x + width) + 4, y + height); + do Screen.setColor(true); + do Screen.drawRectangle(x, y, x + 3, y + height); + } + else { + let x = x + 4; + if ((x + width) > 511) { let x = 511 - width; } + do Screen.setColor(false); + do Screen.drawRectangle(x - 4, y, x - 1, y + height); + do Screen.setColor(true); + do Screen.drawRectangle((x + width) - 3, y, x + width, y + height); + } + return; + } +}`; + +export const parsed = { + name: { value: "Bat", span: { start: 660, end: 663, line: 16 } }, + varDecs: [ + { + varType: "field", + type: { value: "int", span: { start: 677, end: 681, line: 18 } }, + names: ["x", "y"], + }, + { + varType: "field", + type: { value: "int", span: { start: 736, end: 740, line: 19 } }, + names: ["width", "height"], + }, + { + varType: "field", + type: { value: "int", span: { start: 796, end: 800, line: 20 } }, + names: ["direction"], + }, + ], + subroutines: [ + { + type: "constructor", + returnType: { value: "Bat", span: { start: 991, end: 995, line: 24 } }, + name: { value: "new", span: { start: 995, end: 998, line: 24 } }, + parameters: [ + { + type: { value: "int", span: { start: 999, end: 1003, line: 24 } }, + name: "Ax", + }, + { + type: { value: "int", span: { start: 1007, end: 1011, line: 24 } }, + name: "Ay", + }, + { + type: { value: "int", span: { start: 1015, end: 1019, line: 24 } }, + name: "Awidth", + }, + { + type: { value: "int", span: { start: 1027, end: 1031, line: 24 } }, + name: "Aheight", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "letStatement", + name: { value: "x", span: { start: 1054, end: 1055, line: 25 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Ax", + span: { start: 1058, end: 1060, line: 25 }, + }, + rest: [], + }, + span: { start: 1050, end: 1061, line: 25 }, + }, + { + statementType: "letStatement", + name: { value: "y", span: { start: 1074, end: 1075, line: 26 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Ay", + span: { start: 1078, end: 1080, line: 26 }, + }, + rest: [], + }, + span: { start: 1070, end: 1081, line: 26 }, + }, + { + statementType: "letStatement", + name: { + value: "width", + span: { start: 1094, end: 1099, line: 27 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Awidth", + span: { start: 1102, end: 1108, line: 27 }, + }, + rest: [], + }, + span: { start: 1090, end: 1109, line: 27 }, + }, + { + statementType: "letStatement", + name: { + value: "height", + span: { start: 1122, end: 1128, line: 28 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Aheight", + span: { start: 1131, end: 1138, line: 28 }, + }, + rest: [], + }, + span: { start: 1118, end: 1139, line: 28 }, + }, + { + statementType: "letStatement", + name: { + value: "direction", + span: { start: 1152, end: 1161, line: 29 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [], + }, + span: { start: 1148, end: 1166, line: 29 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "show", + span: { start: 1178, end: 1182, line: 30 }, + }, + parameters: [], + span: { start: 1178, end: 1184, line: 30 }, + }, + }, + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + span: { start: 1194, end: 1206, line: 31 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1269, end: 1274, line: 35 } }, + name: { value: "dispose", span: { start: 1274, end: 1281, line: 35 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.deAlloc", + span: { start: 1297, end: 1311, line: 36 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + ], + span: { start: 1297, end: 1317, line: 36 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1327, end: 1334, line: 37 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1379, end: 1384, line: 41 } }, + name: { value: "show", span: { start: 1384, end: 1388, line: 41 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 1404, end: 1419, line: 42 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 1404, end: 1425, line: 42 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "draw", + span: { start: 1438, end: 1442, line: 43 }, + }, + parameters: [], + span: { start: 1438, end: 1444, line: 43 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1454, end: 1461, line: 44 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1506, end: 1511, line: 48 } }, + name: { value: "hide", span: { start: 1511, end: 1515, line: 48 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 1531, end: 1546, line: 49 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 1531, end: 1553, line: 49 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "draw", + span: { start: 1566, end: 1570, line: 50 }, + }, + parameters: [], + span: { start: 1566, end: 1572, line: 50 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1582, end: 1589, line: 51 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1634, end: 1639, line: 55 } }, + name: { value: "draw", span: { start: 1639, end: 1643, line: 55 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 1659, end: 1679, line: 56 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1680, end: 1681, line: 56 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1683, end: 1684, line: 56 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1686, end: 1687, line: 56 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "width", + span: { start: 1690, end: 1695, line: 56 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1697, end: 1698, line: 56 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "height", + span: { start: 1701, end: 1707, line: 56 }, + }, + }, + ], + }, + ], + span: { start: 1659, end: 1708, line: 56 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1718, end: 1725, line: 57 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1807, end: 1812, line: 61 } }, + name: { + value: "setDirection", + span: { start: 1812, end: 1824, line: 61 }, + }, + parameters: [ + { + type: { value: "int", span: { start: 1825, end: 1829, line: 61 } }, + name: "Adirection", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "letStatement", + name: { + value: "direction", + span: { start: 1855, end: 1864, line: 62 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Adirection", + span: { start: 1867, end: 1877, line: 62 }, + }, + rest: [], + }, + span: { start: 1851, end: 1878, line: 62 }, + }, + { + statementType: "returnStatement", + span: { start: 1887, end: 1894, line: 63 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "int", span: { start: 1953, end: 1957, line: 67 } }, + name: { value: "getLeft", span: { start: 1957, end: 1964, line: 67 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1984, end: 1985, line: 68 }, + }, + rest: [], + }, + span: { start: 1977, end: 1986, line: 68 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "int", span: { start: 2046, end: 2050, line: 72 } }, + name: { value: "getRight", span: { start: 2050, end: 2058, line: 72 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2078, end: 2079, line: 73 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "width", + span: { start: 2082, end: 2087, line: 73 }, + }, + }, + ], + }, + span: { start: 2071, end: 2088, line: 73 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 2140, end: 2145, line: 77 } }, + name: { value: "setWidth", span: { start: 2145, end: 2153, line: 77 } }, + parameters: [ + { + type: { value: "int", span: { start: 2154, end: 2158, line: 77 } }, + name: "Awidth", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "hide", + span: { start: 2179, end: 2183, line: 78 }, + }, + parameters: [], + span: { start: 2179, end: 2185, line: 78 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "width", + span: { start: 2199, end: 2204, line: 79 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "Awidth", + span: { start: 2207, end: 2213, line: 79 }, + }, + rest: [], + }, + span: { start: 2195, end: 2214, line: 79 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "show", + span: { start: 2226, end: 2230, line: 80 }, + }, + parameters: [], + span: { start: 2226, end: 2232, line: 80 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 2242, end: 2249, line: 81 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 2326, end: 2331, line: 85 } }, + name: { value: "move", span: { start: 2331, end: 2335, line: 85 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "direction", + span: { start: 2350, end: 2359, line: 86 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 2383, end: 2384, line: 87 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2387, end: 2388, line: 87 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 4 } }, + ], + }, + span: { start: 2379, end: 2393, line: 87 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2410, end: 2411, line: 88 }, + }, + rest: [ + { op: "<", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 2423, end: 2424, line: 88 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 2419, end: 2429, line: 88 }, + }, + ], + else: [], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2447, end: 2462, line: 89 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 2447, end: 2469, line: 89 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2486, end: 2506, line: 90 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2508, end: 2509, line: 90 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "width", + span: { start: 2512, end: 2517, line: 90 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2524, end: 2525, line: 90 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2528, end: 2529, line: 90 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "width", + span: { start: 2532, end: 2537, line: 90 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2544, end: 2545, line: 90 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "height", + span: { start: 2548, end: 2554, line: 90 }, + }, + }, + ], + }, + ], + span: { start: 2486, end: 2555, line: 90 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2572, end: 2587, line: 91 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 2572, end: 2593, line: 91 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2610, end: 2630, line: 92 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2631, end: 2632, line: 92 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2634, end: 2635, line: 92 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2637, end: 2638, line: 92 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 3 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2644, end: 2645, line: 92 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "height", + span: { start: 2648, end: 2654, line: 92 }, + }, + }, + ], + }, + ], + span: { start: 2610, end: 2655, line: 92 }, + }, + }, + ], + else: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 2698, end: 2699, line: 95 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2702, end: 2703, line: 95 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 4 } }, + ], + }, + span: { start: 2694, end: 2708, line: 95 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2726, end: 2727, line: 96 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "width", + span: { start: 2730, end: 2735, line: 96 }, + }, + }, + ], + }, + }, + rest: [ + { + op: ">", + term: { termType: "numericLiteral", value: 511 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 2750, end: 2751, line: 96 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 511 }, + rest: [ + { + op: "-", + term: { + termType: "variable", + name: "width", + span: { start: 2760, end: 2765, line: 96 }, + }, + }, + ], + }, + span: { start: 2746, end: 2766, line: 96 }, + }, + ], + else: [], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2784, end: 2799, line: 97 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 2784, end: 2806, line: 97 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2823, end: 2843, line: 98 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2844, end: 2845, line: 98 }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 4 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2851, end: 2852, line: 98 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2854, end: 2855, line: 98 }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2861, end: 2862, line: 98 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "height", + span: { start: 2865, end: 2871, line: 98 }, + }, + }, + ], + }, + ], + span: { start: 2823, end: 2872, line: 98 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2889, end: 2904, line: 99 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 2889, end: 2910, line: 99 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2927, end: 2947, line: 100 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2949, end: 2950, line: 100 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "width", + span: { start: 2953, end: 2958, line: 100 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 3 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2965, end: 2966, line: 100 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2968, end: 2969, line: 100 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "width", + span: { start: 2972, end: 2977, line: 100 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2979, end: 2980, line: 100 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "height", + span: { start: 2983, end: 2989, line: 100 }, + }, + }, + ], + }, + ], + span: { start: 2927, end: 2990, line: 100 }, + }, + }, + ], + }, + { + statementType: "returnStatement", + span: { start: 3010, end: 3017, line: 102 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Bat.new 0 + push constant 5 + call Memory.alloc 1 + pop pointer 0 + push argument 0 + pop this 0 + push argument 1 + pop this 1 + push argument 2 + pop this 2 + push argument 3 + pop this 3 + push constant 2 + pop this 4 + push pointer 0 + call Bat.show 1 + pop temp 0 + push pointer 0 + return +function Bat.dispose 0 + push argument 0 + pop pointer 0 + push pointer 0 + call Memory.deAlloc 1 + pop temp 0 + push constant 0 + return +function Bat.show 0 + push argument 0 + pop pointer 0 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push pointer 0 + call Bat.draw 1 + pop temp 0 + push constant 0 + return +function Bat.hide 0 + push argument 0 + pop pointer 0 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push pointer 0 + call Bat.draw 1 + pop temp 0 + push constant 0 + return +function Bat.draw 0 + push argument 0 + pop pointer 0 + push this 0 + push this 1 + push this 0 + push this 2 + add + push this 1 + push this 3 + add + call Screen.drawRectangle 4 + pop temp 0 + push constant 0 + return +function Bat.setDirection 0 + push argument 0 + pop pointer 0 + push argument 1 + pop this 4 + push constant 0 + return +function Bat.getLeft 0 + push argument 0 + pop pointer 0 + push this 0 + return +function Bat.getRight 0 + push argument 0 + pop pointer 0 + push this 0 + push this 2 + add + return +function Bat.setWidth 0 + push argument 0 + pop pointer 0 + push pointer 0 + call Bat.hide 1 + pop temp 0 + push argument 1 + pop this 2 + push pointer 0 + call Bat.show 1 + pop temp 0 + push constant 0 + return +function Bat.move 0 + push argument 0 + pop pointer 0 + push this 4 + push constant 1 + eq + not + if-goto Bat_1 + push this 0 + push constant 4 + sub + pop this 0 + push this 0 + push constant 0 + lt + not + if-goto Bat_3 + push constant 0 + pop this 0 + goto Bat_2 +label Bat_3 +label Bat_2 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 2 + add + push constant 1 + add + push this 1 + push this 0 + push this 2 + add + push constant 4 + add + push this 1 + push this 3 + add + call Screen.drawRectangle 4 + pop temp 0 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 0 + push constant 3 + add + push this 1 + push this 3 + add + call Screen.drawRectangle 4 + pop temp 0 + goto Bat_0 +label Bat_1 + push this 0 + push constant 4 + add + pop this 0 + push this 0 + push this 2 + add + push constant 511 + gt + not + if-goto Bat_5 + push constant 511 + push this 2 + sub + pop this 0 + goto Bat_4 +label Bat_5 +label Bat_4 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push this 0 + push constant 4 + sub + push this 1 + push this 0 + push constant 1 + sub + push this 1 + push this 3 + add + call Screen.drawRectangle 4 + pop temp 0 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 2 + add + push constant 3 + sub + push this 1 + push this 0 + push this 2 + add + push this 1 + push this 3 + add + call Screen.drawRectangle 4 + pop temp 0 +label Bat_0 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/pong/main.ts b/web-ide-main/projects/src/samples/project_11/pong/main.ts new file mode 100644 index 0000000..8492b5a --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/pong/main.ts @@ -0,0 +1,118 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Pong/Main.jack +// (Same as projects/9/Pong/Main.jack) +/** + * Main class of the Pong game. + */ +class Main { + + /** Initializes a Pong game and starts running it. */ + function void main() { + var PongGame game; + do PongGame.newInstance(); + let game = PongGame.getInstance(); + do game.run(); + do game.dispose(); + return; + } +}`; + +export const parsed = { + name: { value: "Main", span: { start: 259, end: 263, line: 9 } }, + varDecs: [], + subroutines: [ + { + type: "function", + returnType: { value: "void", span: { start: 338, end: 343, line: 12 } }, + name: { value: "main", span: { start: 343, end: 347, line: 12 } }, + parameters: [], + body: { + varDecs: [ + { + type: { + value: "PongGame", + span: { start: 364, end: 373, line: 13 }, + }, + names: ["game"], + }, + ], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "PongGame.newInstance", + span: { start: 390, end: 410, line: 14 }, + }, + parameters: [], + span: { start: 390, end: 412, line: 14 }, + }, + }, + { + statementType: "letStatement", + name: { value: "game", span: { start: 426, end: 430, line: 15 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "PongGame.getInstance", + span: { start: 433, end: 453, line: 15 }, + }, + parameters: [], + span: { start: 433, end: 455, line: 15 }, + }, + rest: [], + }, + span: { start: 422, end: 456, line: 15 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "game.run", + span: { start: 468, end: 476, line: 16 }, + }, + parameters: [], + span: { start: 468, end: 478, line: 16 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "game.dispose", + span: { start: 491, end: 503, line: 17 }, + }, + parameters: [], + span: { start: 491, end: 505, line: 17 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 515, end: 522, line: 18 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Main.main 1 + call PongGame.newInstance 0 + pop temp 0 + call PongGame.getInstance 0 + pop local 0 + push local 0 + call PongGame.run 1 + pop temp 0 + push local 0 + call PongGame.dispose 1 + pop temp 0 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/pong/pong_game.ts b/web-ide-main/projects/src/samples/project_11/pong/pong_game.ts new file mode 100644 index 0000000..ad45e37 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/pong/pong_game.ts @@ -0,0 +1,1920 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Pong/PongGame.jack +// (Same as projects/9/Pong/PongGame.jack) +/** + * Represents a Pong game. + */ +class PongGame { + + static PongGame instance; // A Pong game + field Bat bat; // bat + field Ball ball; // ball + field int wall; // current wall that the ball is bouncing off of + field boolean exit; // true when the game is over + field int score; // current score + field int lastWall; // last wall that the ball bounced off of + + // The current width of the bat + field int batWidth; + + /** Constructs a new Pong game. */ + constructor PongGame new() { + do Screen.clearScreen(); + let batWidth = 50; // initial bat size + let bat = Bat.new(230, 229, batWidth, 7); + let ball = Ball.new(253, 222, 0, 511, 0, 229); + do ball.setDestination(400,0); + do Screen.drawRectangle(0, 238, 511, 240); + do Output.moveCursor(22,0); + do Output.printString("Score: 0"); + + let exit = false; + let score = 0; + let wall = 0; + let lastWall = 0; + + return this; + } + + /** Deallocates the object's memory. */ + method void dispose() { + do bat.dispose(); + do ball.dispose(); + do Memory.deAlloc(this); + return; + } + + /** Creates an instance of a Pong game. */ + function void newInstance() { + let instance = PongGame.new(); + return; + } + + /** Returns this Pong game. */ + function PongGame getInstance() { + return instance; + } + + /** Starts the game, and handles inputs from the user that control + * the bat's movement direction. */ + method void run() { + var char key; + + while (~exit) { + // waits for a key to be pressed. + while ((key = 0) & (~exit)) { + let key = Keyboard.keyPressed(); + do bat.move(); + do moveBall(); + do Sys.wait(50); + } + + if (key = 130) { do bat.setDirection(1); } + else { + if (key = 132) { do bat.setDirection(2); } + else { + if (key = 140) { let exit = true; } + } + } + + // Waits for the key to be released. + while ((~(key = 0)) & (~exit)) { + let key = Keyboard.keyPressed(); + do bat.move(); + do moveBall(); + do Sys.wait(50); + } + } + + if (exit) { + do Output.moveCursor(10,27); + do Output.printString("Game Over"); + } + + return; + } + + /** + * Handles ball movement, including bouncing. + * If the ball bounces off a wall, finds its new direction. + * If the ball bounces off the bat, increases the score by one + * and shrinks the bat's size, to make the game more challenging. + */ + method void moveBall() { + var int bouncingDirection, batLeft, batRight, ballLeft, ballRight; + + let wall = ball.move(); + + if ((wall > 0) & (~(wall = lastWall))) { + let lastWall = wall; + let bouncingDirection = 0; + let batLeft = bat.getLeft(); + let batRight = bat.getRight(); + let ballLeft = ball.getLeft(); + let ballRight = ball.getRight(); + + if (wall = 4) { + let exit = (batLeft > ballRight) | (batRight < ballLeft); + if (~exit) { + if (ballRight < (batLeft + 10)) { let bouncingDirection = -1; } + else { + if (ballLeft > (batRight - 10)) { let bouncingDirection = 1; } + } + + let batWidth = batWidth - 2; + do bat.setWidth(batWidth); + let score = score + 1; + do Output.moveCursor(22,7); + do Output.printInt(score); + } + } + do ball.bounce(bouncingDirection); + } + return; + } +}`; + +export const parsed = { + name: { value: "PongGame", span: { start: 262, end: 270, line: 9 } }, + varDecs: [ + { + varType: "static", + type: { value: "PongGame", span: { start: 285, end: 294, line: 11 } }, + names: ["instance"], + }, + { + varType: "field", + type: { value: "Bat", span: { start: 334, end: 338, line: 12 } }, + names: ["bat"], + }, + { + varType: "field", + type: { value: "Ball", span: { start: 371, end: 376, line: 13 } }, + names: ["ball"], + }, + { + varType: "field", + type: { value: "int", span: { start: 409, end: 413, line: 14 } }, + names: ["wall"], + }, + { + varType: "field", + type: { value: "boolean", span: { start: 488, end: 496, line: 15 } }, + names: ["exit"], + }, + { + varType: "field", + type: { value: "int", span: { start: 548, end: 552, line: 16 } }, + names: ["score"], + }, + { + varType: "field", + type: { value: "int", span: { start: 595, end: 599, line: 17 } }, + names: ["lastWall"], + }, + { + varType: "field", + type: { value: "int", span: { start: 704, end: 708, line: 20 } }, + names: ["batWidth"], + }, + ], + subroutines: [ + { + type: "constructor", + returnType: { + value: "PongGame", + span: { start: 774, end: 783, line: 23 }, + }, + name: { value: "new", span: { start: 783, end: 786, line: 23 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.clearScreen", + span: { start: 800, end: 818, line: 24 }, + }, + parameters: [], + span: { start: 800, end: 820, line: 24 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "batWidth", + span: { start: 834, end: 842, line: 25 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 50 }, + rest: [], + }, + span: { start: 830, end: 848, line: 25 }, + }, + { + statementType: "letStatement", + name: { value: "bat", span: { start: 882, end: 885, line: 26 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Bat.new", + span: { start: 888, end: 895, line: 26 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 230 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 229 }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "batWidth", + span: { start: 906, end: 914, line: 26 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 7 }, + rest: [], + }, + ], + span: { start: 888, end: 918, line: 26 }, + }, + rest: [], + }, + span: { start: 878, end: 919, line: 26 }, + }, + { + statementType: "letStatement", + name: { value: "ball", span: { start: 932, end: 936, line: 27 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Ball.new", + span: { start: 939, end: 947, line: 27 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 253 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 222 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 511 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 229 }, + rest: [], + }, + ], + span: { start: 939, end: 973, line: 27 }, + }, + rest: [], + }, + span: { start: 928, end: 974, line: 27 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "ball.setDestination", + span: { start: 986, end: 1005, line: 28 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 400 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + ], + span: { start: 986, end: 1012, line: 28 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 1025, end: 1045, line: 29 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 238 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 511 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 240 }, + rest: [], + }, + ], + span: { start: 1025, end: 1063, line: 29 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.moveCursor", + span: { start: 1074, end: 1091, line: 30 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 22 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + ], + span: { start: 1074, end: 1097, line: 30 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 1108, end: 1126, line: 31 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "stringLiteral", value: "Score: 0" }, + rest: [], + }, + ], + span: { start: 1108, end: 1138, line: 31 }, + }, + }, + { + statementType: "letStatement", + name: { value: "exit", span: { start: 1153, end: 1157, line: 33 } }, + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + span: { start: 1149, end: 1166, line: 33 }, + }, + { + statementType: "letStatement", + name: { + value: "score", + span: { start: 1177, end: 1182, line: 34 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 1173, end: 1187, line: 34 }, + }, + { + statementType: "letStatement", + name: { value: "wall", span: { start: 1198, end: 1202, line: 35 } }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 1194, end: 1207, line: 35 }, + }, + { + statementType: "letStatement", + name: { + value: "lastWall", + span: { start: 1218, end: 1226, line: 36 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 1214, end: 1231, line: 36 }, + }, + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + span: { start: 1241, end: 1253, line: 38 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1316, end: 1321, line: 42 } }, + name: { value: "dispose", span: { start: 1321, end: 1328, line: 42 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "bat.dispose", + span: { start: 1344, end: 1355, line: 43 }, + }, + parameters: [], + span: { start: 1344, end: 1357, line: 43 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "ball.dispose", + span: { start: 1368, end: 1380, line: 44 }, + }, + parameters: [], + span: { start: 1368, end: 1382, line: 44 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.deAlloc", + span: { start: 1395, end: 1409, line: 45 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + ], + span: { start: 1395, end: 1415, line: 45 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1425, end: 1432, line: 46 }, + }, + ], + }, + }, + { + type: "function", + returnType: { value: "void", span: { start: 1500, end: 1505, line: 50 } }, + name: { + value: "newInstance", + span: { start: 1505, end: 1516, line: 50 }, + }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "letStatement", + name: { + value: "instance", + span: { start: 1533, end: 1541, line: 51 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "PongGame.new", + span: { start: 1544, end: 1556, line: 51 }, + }, + parameters: [], + span: { start: 1544, end: 1558, line: 51 }, + }, + rest: [], + }, + span: { start: 1529, end: 1559, line: 51 }, + }, + { + statementType: "returnStatement", + span: { start: 1568, end: 1575, line: 52 }, + }, + ], + }, + }, + { + type: "function", + returnType: { + value: "PongGame", + span: { start: 1635, end: 1644, line: 56 }, + }, + name: { + value: "getInstance", + span: { start: 1644, end: 1655, line: 56 }, + }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "instance", + span: { start: 1675, end: 1683, line: 57 }, + }, + rest: [], + }, + span: { start: 1668, end: 1684, line: 57 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1815, end: 1820, line: 62 } }, + name: { value: "run", span: { start: 1820, end: 1823, line: 62 } }, + parameters: [], + body: { + varDecs: [ + { + type: { value: "char", span: { start: 1840, end: 1845, line: 63 } }, + names: ["key"], + }, + ], + statements: [ + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "variable", + name: "exit", + span: { start: 1867, end: 1871, line: 65 }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 1941, end: 1944, line: 67 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 0 }, + }, + ], + }, + }, + rest: [ + { + op: "&", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "variable", + name: "exit", + span: { start: 1954, end: 1958, line: 67 }, + }, + }, + rest: [], + }, + }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "key", + span: { start: 1983, end: 1986, line: 68 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Keyboard.keyPressed", + span: { start: 1989, end: 2008, line: 68 }, + }, + parameters: [], + span: { start: 1989, end: 2010, line: 68 }, + }, + rest: [], + }, + span: { start: 1979, end: 2011, line: 68 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "bat.move", + span: { start: 2031, end: 2039, line: 69 }, + }, + parameters: [], + span: { start: 2031, end: 2041, line: 69 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "moveBall", + span: { start: 2062, end: 2070, line: 70 }, + }, + parameters: [], + span: { start: 2062, end: 2072, line: 70 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Sys.wait", + span: { start: 2093, end: 2101, line: 71 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 50 }, + rest: [], + }, + ], + span: { start: 2093, end: 2105, line: 71 }, + }, + }, + ], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2138, end: 2141, line: 74 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 130 }, + }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "bat.setDirection", + span: { start: 2154, end: 2170, line: 74 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + ], + span: { start: 2154, end: 2173, line: 74 }, + }, + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2212, end: 2215, line: 76 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 132 }, + }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "bat.setDirection", + span: { start: 2228, end: 2244, line: 76 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [], + }, + ], + span: { start: 2228, end: 2247, line: 76 }, + }, + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2294, end: 2297, line: 78 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 140 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "exit", + span: { start: 2311, end: 2315, line: 78 }, + }, + value: { + nodeType: "expression", + term: { + termType: "keywordLiteral", + value: "true", + }, + rest: [], + }, + span: { start: 2307, end: 2323, line: 78 }, + }, + ], + else: [], + }, + ], + }, + ], + }, + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2426, end: 2429, line: 83 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 0 }, + }, + ], + }, + }, + }, + rest: [], + }, + }, + rest: [ + { + op: "&", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "variable", + name: "exit", + span: { start: 2440, end: 2444, line: 83 }, + }, + }, + rest: [], + }, + }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "key", + span: { start: 2469, end: 2472, line: 84 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Keyboard.keyPressed", + span: { start: 2475, end: 2494, line: 84 }, + }, + parameters: [], + span: { start: 2475, end: 2496, line: 84 }, + }, + rest: [], + }, + span: { start: 2465, end: 2497, line: 84 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "bat.move", + span: { start: 2517, end: 2525, line: 85 }, + }, + parameters: [], + span: { start: 2517, end: 2527, line: 85 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "moveBall", + span: { start: 2548, end: 2556, line: 86 }, + }, + parameters: [], + span: { start: 2548, end: 2558, line: 86 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Sys.wait", + span: { start: 2579, end: 2587, line: 87 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 50 }, + rest: [], + }, + ], + span: { start: 2579, end: 2591, line: 87 }, + }, + }, + ], + }, + ], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "exit", + span: { start: 2628, end: 2632, line: 91 }, + }, + rest: [], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.moveCursor", + span: { start: 2651, end: 2668, line: 92 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 10 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 27 }, + rest: [], + }, + ], + span: { start: 2651, end: 2675, line: 92 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printString", + span: { start: 2690, end: 2708, line: 93 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "stringLiteral", value: "Game Over" }, + rest: [], + }, + ], + span: { start: 2690, end: 2721, line: 93 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 2752, end: 2759, line: 96 }, + }, + ], + }, + }, + { + type: "method", + returnType: { + value: "void", + span: { start: 3046, end: 3051, line: 105 }, + }, + name: { value: "moveBall", span: { start: 3051, end: 3059, line: 105 } }, + parameters: [], + body: { + varDecs: [ + { + type: { value: "int", span: { start: 3076, end: 3080, line: 106 } }, + names: [ + "bouncingDirection", + "batLeft", + "batRight", + "ballLeft", + "ballRight", + ], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { + value: "wall", + span: { start: 3152, end: 3156, line: 108 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "ball.move", + span: { start: 3159, end: 3168, line: 108 }, + }, + parameters: [], + span: { start: 3159, end: 3170, line: 108 }, + }, + rest: [], + }, + span: { start: 3148, end: 3171, line: 108 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 3186, end: 3190, line: 110 }, + }, + rest: [ + { op: ">", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + }, + rest: [ + { + op: "&", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 3201, end: 3205, line: 110 }, + }, + rest: [ + { + op: "=", + term: { + termType: "variable", + name: "lastWall", + span: { start: 3208, end: 3216, line: 110 }, + }, + }, + ], + }, + }, + }, + rest: [], + }, + }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "lastWall", + span: { start: 3238, end: 3246, line: 111 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 3249, end: 3253, line: 111 }, + }, + rest: [], + }, + span: { start: 3234, end: 3254, line: 111 }, + }, + { + statementType: "letStatement", + name: { + value: "bouncingDirection", + span: { start: 3271, end: 3288, line: 112 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 3267, end: 3293, line: 112 }, + }, + { + statementType: "letStatement", + name: { + value: "batLeft", + span: { start: 3310, end: 3317, line: 113 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "bat.getLeft", + span: { start: 3320, end: 3331, line: 113 }, + }, + parameters: [], + span: { start: 3320, end: 3333, line: 113 }, + }, + rest: [], + }, + span: { start: 3306, end: 3334, line: 113 }, + }, + { + statementType: "letStatement", + name: { + value: "batRight", + span: { start: 3351, end: 3359, line: 114 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "bat.getRight", + span: { start: 3362, end: 3374, line: 114 }, + }, + parameters: [], + span: { start: 3362, end: 3376, line: 114 }, + }, + rest: [], + }, + span: { start: 3347, end: 3377, line: 114 }, + }, + { + statementType: "letStatement", + name: { + value: "ballLeft", + span: { start: 3394, end: 3402, line: 115 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "ball.getLeft", + span: { start: 3405, end: 3417, line: 115 }, + }, + parameters: [], + span: { start: 3405, end: 3419, line: 115 }, + }, + rest: [], + }, + span: { start: 3390, end: 3420, line: 115 }, + }, + { + statementType: "letStatement", + name: { + value: "ballRight", + span: { start: 3437, end: 3446, line: 116 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "ball.getRight", + span: { start: 3449, end: 3462, line: 116 }, + }, + parameters: [], + span: { start: 3449, end: 3464, line: 116 }, + }, + rest: [], + }, + span: { start: 3433, end: 3465, line: 116 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "wall", + span: { start: 3485, end: 3489, line: 118 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 4 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "exit", + span: { start: 3517, end: 3521, line: 119 }, + }, + value: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "batLeft", + span: { start: 3525, end: 3532, line: 119 }, + }, + rest: [ + { + op: ">", + term: { + termType: "variable", + name: "ballRight", + span: { start: 3535, end: 3544, line: 119 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "|", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "batRight", + span: { start: 3549, end: 3557, line: 119 }, + }, + rest: [ + { + op: "<", + term: { + termType: "variable", + name: "ballLeft", + span: { start: 3560, end: 3568, line: 119 }, + }, + }, + ], + }, + }, + }, + ], + }, + span: { start: 3513, end: 3570, line: 119 }, + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "variable", + name: "exit", + span: { start: 3592, end: 3596, line: 120 }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "ballRight", + span: { start: 3624, end: 3633, line: 121 }, + }, + rest: [ + { + op: "<", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "batLeft", + span: { start: 3637, end: 3644, line: 121 }, + }, + rest: [ + { + op: "+", + term: { + termType: "numericLiteral", + value: 10, + }, + }, + ], + }, + }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "bouncingDirection", + span: { start: 3658, end: 3675, line: 121 }, + }, + value: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "-", + term: { termType: "numericLiteral", value: 1 }, + }, + rest: [], + }, + span: { start: 3654, end: 3681, line: 121 }, + }, + ], + else: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "ballLeft", + span: { start: 3739, end: 3747, line: 123 }, + }, + rest: [ + { + op: ">", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "batRight", + span: { + start: 3751, + end: 3759, + line: 123, + }, + }, + rest: [ + { + op: "-", + term: { + termType: "numericLiteral", + value: 10, + }, + }, + ], + }, + }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "bouncingDirection", + span: { start: 3773, end: 3790, line: 123 }, + }, + value: { + nodeType: "expression", + term: { + termType: "numericLiteral", + value: 1, + }, + rest: [], + }, + span: { start: 3769, end: 3795, line: 123 }, + }, + ], + else: [], + }, + ], + }, + { + statementType: "letStatement", + name: { + value: "batWidth", + span: { start: 3845, end: 3853, line: 126 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "batWidth", + span: { start: 3856, end: 3864, line: 126 }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 2 }, + }, + ], + }, + span: { start: 3841, end: 3869, line: 126 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "bat.setWidth", + span: { start: 3893, end: 3905, line: 127 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "batWidth", + span: { start: 3906, end: 3914, line: 127 }, + }, + rest: [], + }, + ], + span: { start: 3893, end: 3915, line: 127 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "score", + span: { start: 3947, end: 3952, line: 128 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "score", + span: { start: 3955, end: 3960, line: 128 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + span: { start: 3943, end: 3965, line: 128 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.moveCursor", + span: { start: 3989, end: 4006, line: 129 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 22 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 7 }, + rest: [], + }, + ], + span: { start: 3989, end: 4012, line: 129 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 4037, end: 4052, line: 130 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "score", + span: { start: 4053, end: 4058, line: 130 }, + }, + rest: [], + }, + ], + span: { start: 4037, end: 4059, line: 130 }, + }, + }, + ], + else: [], + }, + ], + else: [], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "ball.bounce", + span: { start: 4108, end: 4119, line: 133 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "bouncingDirection", + span: { start: 4120, end: 4137, line: 133 }, + }, + rest: [], + }, + ], + span: { start: 4108, end: 4138, line: 133 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 4158, end: 4165, line: 135 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function PongGame.new 0 + push constant 7 + call Memory.alloc 1 + pop pointer 0 + call Screen.clearScreen 0 + pop temp 0 + push constant 50 + pop this 6 + push constant 230 + push constant 229 + push this 6 + push constant 7 + call Bat.new 4 + pop this 0 + push constant 253 + push constant 222 + push constant 0 + push constant 511 + push constant 0 + push constant 229 + call Ball.new 6 + pop this 1 + push this 1 + push constant 400 + push constant 0 + call Ball.setDestination 3 + pop temp 0 + push constant 0 + push constant 238 + push constant 511 + push constant 240 + call Screen.drawRectangle 4 + pop temp 0 + push constant 22 + push constant 0 + call Output.moveCursor 2 + pop temp 0 + push constant 8 + call String.new 1 + push constant 83 + call String.appendChar 2 + push constant 99 + call String.appendChar 2 + push constant 111 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 58 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 48 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + push constant 0 + pop this 3 + push constant 0 + pop this 4 + push constant 0 + pop this 2 + push constant 0 + pop this 5 + push pointer 0 + return +function PongGame.dispose 0 + push argument 0 + pop pointer 0 + push this 0 + call Bat.dispose 1 + pop temp 0 + push this 1 + call Ball.dispose 1 + pop temp 0 + push pointer 0 + call Memory.deAlloc 1 + pop temp 0 + push constant 0 + return +function PongGame.newInstance 0 + call PongGame.new 0 + pop static 0 + push constant 0 + return +function PongGame.getInstance 0 + push static 0 + return +function PongGame.run 1 + push argument 0 + pop pointer 0 +label PongGame_0 + push this 3 + not + not + if-goto PongGame_1 +label PongGame_2 + push local 0 + push constant 0 + eq + push this 3 + not + and + not + if-goto PongGame_3 + call Keyboard.keyPressed 0 + pop local 0 + push this 0 + call Bat.move 1 + pop temp 0 + push pointer 0 + call PongGame.moveBall 1 + pop temp 0 + push constant 50 + call Sys.wait 1 + pop temp 0 + goto PongGame_2 +label PongGame_3 + push local 0 + push constant 130 + eq + not + if-goto PongGame_5 + push this 0 + push constant 1 + call Bat.setDirection 2 + pop temp 0 + goto PongGame_4 +label PongGame_5 + push local 0 + push constant 132 + eq + not + if-goto PongGame_7 + push this 0 + push constant 2 + call Bat.setDirection 2 + pop temp 0 + goto PongGame_6 +label PongGame_7 + push local 0 + push constant 140 + eq + not + if-goto PongGame_9 + push constant 1 + neg + pop this 3 + goto PongGame_8 +label PongGame_9 +label PongGame_8 +label PongGame_6 +label PongGame_4 +label PongGame_10 + push local 0 + push constant 0 + eq + not + push this 3 + not + and + not + if-goto PongGame_11 + call Keyboard.keyPressed 0 + pop local 0 + push this 0 + call Bat.move 1 + pop temp 0 + push pointer 0 + call PongGame.moveBall 1 + pop temp 0 + push constant 50 + call Sys.wait 1 + pop temp 0 + goto PongGame_10 +label PongGame_11 + goto PongGame_0 +label PongGame_1 + push this 3 + not + if-goto PongGame_13 + push constant 10 + push constant 27 + call Output.moveCursor 2 + pop temp 0 + push constant 9 + call String.new 1 + push constant 71 + call String.appendChar 2 + push constant 97 + call String.appendChar 2 + push constant 109 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 32 + call String.appendChar 2 + push constant 79 + call String.appendChar 2 + push constant 118 + call String.appendChar 2 + push constant 101 + call String.appendChar 2 + push constant 114 + call String.appendChar 2 + call Output.printString 1 + pop temp 0 + goto PongGame_12 +label PongGame_13 +label PongGame_12 + push constant 0 + return +function PongGame.moveBall 5 + push argument 0 + pop pointer 0 + push this 1 + call Ball.move 1 + pop this 2 + push this 2 + push constant 0 + gt + push this 2 + push this 5 + eq + not + and + not + if-goto PongGame_15 + push this 2 + pop this 5 + push constant 0 + pop local 0 + push this 0 + call Bat.getLeft 1 + pop local 1 + push this 0 + call Bat.getRight 1 + pop local 2 + push this 1 + call Ball.getLeft 1 + pop local 3 + push this 1 + call Ball.getRight 1 + pop local 4 + push this 2 + push constant 4 + eq + not + if-goto PongGame_17 + push local 1 + push local 4 + gt + push local 2 + push local 3 + lt + or + pop this 3 + push this 3 + not + not + if-goto PongGame_19 + push local 4 + push local 1 + push constant 10 + add + lt + not + if-goto PongGame_21 + push constant 1 + neg + pop local 0 + goto PongGame_20 +label PongGame_21 + push local 3 + push local 2 + push constant 10 + sub + gt + not + if-goto PongGame_23 + push constant 1 + pop local 0 + goto PongGame_22 +label PongGame_23 +label PongGame_22 +label PongGame_20 + push this 6 + push constant 2 + sub + pop this 6 + push this 0 + push this 6 + call Bat.setWidth 2 + pop temp 0 + push this 4 + push constant 1 + add + pop this 4 + push constant 22 + push constant 7 + call Output.moveCursor 2 + pop temp 0 + push this 4 + call Output.printInt 1 + pop temp 0 + goto PongGame_18 +label PongGame_19 +label PongGame_18 + goto PongGame_16 +label PongGame_17 +label PongGame_16 + push this 1 + push local 0 + call Ball.bounce 2 + pop temp 0 + goto PongGame_14 +label PongGame_15 +label PongGame_14 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/seven.ts b/web-ide-main/projects/src/samples/project_11/seven.ts new file mode 100644 index 0000000..423a121 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/seven.ts @@ -0,0 +1,84 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Seven/Main.jack +/** + * Computes the value of 1 + (2 * 3) and prints the result + * at the top-left of the screen. + */ +class Main { + + function void main() { + do Output.printInt(1 + (2 * 3)); + return; + } + +}`; + +export const parsed = { + name: { value: "Main", span: { start: 284, end: 288, line: 9 } }, + varDecs: [], + subroutines: [ + { + type: "function", + returnType: { value: "void", span: { start: 304, end: 309, line: 11 } }, + name: { value: "main", span: { start: 309, end: 313, line: 11 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Output.printInt", + span: { start: 327, end: 342, line: 12 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [ + { + op: "+", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [ + { + op: "*", + term: { termType: "numericLiteral", value: 3 }, + }, + ], + }, + }, + }, + ], + }, + ], + span: { start: 327, end: 355, line: 12 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 363, end: 370, line: 13 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Main.main 0 + push constant 1 + push constant 2 + push constant 3 + call Math.multiply 2 + add + call Output.printInt 1 + pop temp 0 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/square/main.ts b/web-ide-main/projects/src/samples/project_11/square/main.ts new file mode 100644 index 0000000..8fe8042 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/square/main.ts @@ -0,0 +1,99 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Square/Main.jack + +/** Initializes a new Square game and starts running it. */ +class Main { + function void main() { + var SquareGame game; + let game = SquareGame.new(); + do game.run(); + do game.dispose(); + return; + } +}`; + +export const parsed = { + name: { value: "Main", span: { start: 243, end: 247, line: 7 } }, + varDecs: [], + subroutines: [ + { + type: "function", + returnType: { value: "void", span: { start: 263, end: 268, line: 8 } }, + name: { value: "main", span: { start: 268, end: 272, line: 8 } }, + parameters: [], + body: { + varDecs: [ + { + type: { + value: "SquareGame", + span: { start: 289, end: 300, line: 9 }, + }, + names: ["game"], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { value: "game", span: { start: 318, end: 322, line: 10 } }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "SquareGame.new", + span: { start: 325, end: 339, line: 10 }, + }, + parameters: [], + span: { start: 325, end: 341, line: 10 }, + }, + rest: [], + }, + span: { start: 314, end: 342, line: 10 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "game.run", + span: { start: 354, end: 362, line: 11 }, + }, + parameters: [], + span: { start: 354, end: 364, line: 11 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "game.dispose", + span: { start: 377, end: 389, line: 12 }, + }, + parameters: [], + span: { start: 377, end: 391, line: 12 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 401, end: 408, line: 13 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Main.main 1 + call SquareGame.new 0 + pop local 0 + push local 0 + call SquareGame.run 1 + pop temp 0 + push local 0 + call SquareGame.dispose 1 + pop temp 0 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/square/square.ts b/web-ide-main/projects/src/samples/project_11/square/square.ts new file mode 100644 index 0000000..454bc34 --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/square/square.ts @@ -0,0 +1,1959 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Square/Square.jack + +/** Implements a graphical square. + The square has top-left x and y coordinates, and a size. */ +class Square { + + field int x, y; // screen location of the top-left corner of this square + field int size; // length of this square, in pixels + + /** Constructs and draws a new square with a given location and size. */ + constructor Square new(int ax, int ay, int asize) { + let x = ax; + let y = ay; + let size = asize; + do draw(); + return this; + } + + /** Disposes this square. */ + method void dispose() { + do Memory.deAlloc(this); + return; + } + + /** Draws this square in its current (x,y) location */ + method void draw() { + // Draws the square using the color black + do Screen.setColor(true); + do Screen.drawRectangle(x, y, x + size, y + size); + return; + } + + /** Erases this square. */ + method void erase() { + // Draws the square using the color white (background color) + do Screen.setColor(false); + do Screen.drawRectangle(x, y, x + size, y + size); + return; + } + + /** Increments the square size by 2 pixels (if possible). */ + method void incSize() { + if (((y + size) < 254) & ((x + size) < 510)) { + do erase(); + let size = size + 2; + do draw(); + } + return; + } + + /** Decrements the square size by 2 pixels (if possible). */ + method void decSize() { + if (size > 2) { + do erase(); + let size = size - 2; + do draw(); + } + return; + } + + /** Moves this square up by 2 pixels (if possible). */ + method void moveUp() { + if (y > 1) { + // Erases the bottom two rows of this square in its current location + do Screen.setColor(false); + do Screen.drawRectangle(x, (y + size) - 1, x + size, y + size); + let y = y - 2; + // Draws the top two rows of this square in its new location + do Screen.setColor(true); + do Screen.drawRectangle(x, y, x + size, y + 1); + } + return; + } + + /** Moves the square down by 2 pixels (if possible). */ + method void moveDown() { + if ((y + size) < 254) { + do Screen.setColor(false); + do Screen.drawRectangle(x, y, x + size, y + 1); + let y = y + 2; + do Screen.setColor(true); + do Screen.drawRectangle(x, (y + size) - 1, x + size, y + size); + } + return; + } + + /** Moves the square left by 2 pixels (if possible). */ + method void moveLeft() { + if (x > 1) { + do Screen.setColor(false); + do Screen.drawRectangle((x + size) - 1, y, x + size, y + size); + let x = x - 2; + do Screen.setColor(true); + do Screen.drawRectangle(x, y, x + 1, y + size); + } + return; + } + + /** Moves the square right by 2 pixels (if possible). */ + method void moveRight() { + if ((x + size) < 510) { + do Screen.setColor(false); + do Screen.drawRectangle(x, y, x + 1, y + size); + let x = x + 2; + do Screen.setColor(true); + do Screen.drawRectangle((x + size) - 1, y, x + size, y + size); + } + return; + } +}`; + +export const parsed = { + name: { value: "Square", span: { start: 284, end: 290, line: 8 } }, + varDecs: [ + { + varType: "field", + type: { value: "int", span: { start: 303, end: 307, line: 10 } }, + names: ["x", "y"], + }, + { + varType: "field", + type: { value: "int", span: { start: 379, end: 383, line: 11 } }, + names: ["size"], + }, + ], + subroutines: [ + { + type: "constructor", + returnType: { value: "Square", span: { start: 517, end: 524, line: 14 } }, + name: { value: "new", span: { start: 524, end: 527, line: 14 } }, + parameters: [ + { + type: { value: "int", span: { start: 528, end: 532, line: 14 } }, + name: "ax", + }, + { + type: { value: "int", span: { start: 536, end: 540, line: 14 } }, + name: "ay", + }, + { + type: { value: "int", span: { start: 544, end: 548, line: 14 } }, + name: "asize", + }, + ], + body: { + varDecs: [], + statements: [ + { + statementType: "letStatement", + name: { value: "x", span: { start: 567, end: 568, line: 15 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "ax", + span: { start: 571, end: 573, line: 15 }, + }, + rest: [], + }, + span: { start: 563, end: 574, line: 15 }, + }, + { + statementType: "letStatement", + name: { value: "y", span: { start: 585, end: 586, line: 16 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "ay", + span: { start: 589, end: 591, line: 16 }, + }, + rest: [], + }, + span: { start: 581, end: 592, line: 16 }, + }, + { + statementType: "letStatement", + name: { value: "size", span: { start: 603, end: 607, line: 17 } }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "asize", + span: { start: 610, end: 615, line: 17 }, + }, + rest: [], + }, + span: { start: 599, end: 616, line: 17 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { value: "draw", span: { start: 626, end: 630, line: 18 } }, + parameters: [], + span: { start: 626, end: 632, line: 18 }, + }, + }, + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + span: { start: 640, end: 652, line: 19 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 701, end: 706, line: 23 } }, + name: { value: "dispose", span: { start: 706, end: 713, line: 23 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.deAlloc", + span: { start: 727, end: 741, line: 24 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + ], + span: { start: 727, end: 747, line: 24 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 755, end: 762, line: 25 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 837, end: 842, line: 29 } }, + name: { value: "draw", span: { start: 842, end: 846, line: 29 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 908, end: 923, line: 31 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 908, end: 929, line: 31 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 940, end: 960, line: 32 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 961, end: 962, line: 32 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 964, end: 965, line: 32 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 967, end: 968, line: 32 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 971, end: 975, line: 32 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 977, end: 978, line: 32 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 981, end: 985, line: 32 }, + }, + }, + ], + }, + ], + span: { start: 940, end: 986, line: 32 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 994, end: 1001, line: 33 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1048, end: 1053, line: 37 } }, + name: { value: "erase", span: { start: 1053, end: 1058, line: 37 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 1139, end: 1154, line: 39 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 1139, end: 1161, line: 39 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 1172, end: 1192, line: 40 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1193, end: 1194, line: 40 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1196, end: 1197, line: 40 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1199, end: 1200, line: 40 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 1203, end: 1207, line: 40 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1209, end: 1210, line: 40 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 1213, end: 1217, line: 40 }, + }, + }, + ], + }, + ], + span: { start: 1172, end: 1218, line: 40 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1226, end: 1233, line: 41 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1315, end: 1320, line: 45 } }, + name: { value: "incSize", span: { start: 1320, end: 1327, line: 45 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1344, end: 1345, line: 46 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 1348, end: 1352, line: 46 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "<", + term: { termType: "numericLiteral", value: 254 }, + }, + ], + }, + }, + rest: [ + { + op: "&", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1365, end: 1366, line: 46 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 1369, end: 1373, line: 46 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "<", + term: { termType: "numericLiteral", value: 510 }, + }, + ], + }, + }, + }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "erase", + span: { start: 1397, end: 1402, line: 47 }, + }, + parameters: [], + span: { start: 1397, end: 1404, line: 47 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "size", + span: { start: 1419, end: 1423, line: 48 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "size", + span: { start: 1426, end: 1430, line: 48 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 1415, end: 1435, line: 48 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "draw", + span: { start: 1448, end: 1452, line: 49 }, + }, + parameters: [], + span: { start: 1448, end: 1454, line: 49 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 1470, end: 1477, line: 51 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1558, end: 1563, line: 55 } }, + name: { value: "decSize", span: { start: 1563, end: 1570, line: 55 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "size", + span: { start: 1585, end: 1589, line: 56 }, + }, + rest: [ + { op: ">", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "erase", + span: { start: 1609, end: 1614, line: 57 }, + }, + parameters: [], + span: { start: 1609, end: 1616, line: 57 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "size", + span: { start: 1631, end: 1635, line: 58 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "size", + span: { start: 1638, end: 1642, line: 58 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 1627, end: 1647, line: 58 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "draw", + span: { start: 1660, end: 1664, line: 59 }, + }, + parameters: [], + span: { start: 1660, end: 1666, line: 59 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 1682, end: 1689, line: 61 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1764, end: 1769, line: 65 } }, + name: { value: "moveUp", span: { start: 1769, end: 1775, line: 65 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1790, end: 1791, line: 66 }, + }, + rest: [ + { op: ">", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 1889, end: 1904, line: 68 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 1889, end: 1911, line: 68 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 1925, end: 1945, line: 69 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1946, end: 1947, line: 69 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1950, end: 1951, line: 69 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 1954, end: 1958, line: 69 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 1965, end: 1966, line: 69 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 1969, end: 1973, line: 69 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 1975, end: 1976, line: 69 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 1979, end: 1983, line: 69 }, + }, + }, + ], + }, + ], + span: { start: 1925, end: 1984, line: 69 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 1999, end: 2000, line: 70 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2003, end: 2004, line: 70 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 1995, end: 2009, line: 70 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2092, end: 2107, line: 72 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 2092, end: 2113, line: 72 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2127, end: 2147, line: 73 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2148, end: 2149, line: 73 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2151, end: 2152, line: 73 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2154, end: 2155, line: 73 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2158, end: 2162, line: 73 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2164, end: 2165, line: 73 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + ], + span: { start: 2127, end: 2170, line: 73 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 2186, end: 2193, line: 75 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 2269, end: 2274, line: 79 } }, + name: { value: "moveDown", span: { start: 2274, end: 2282, line: 79 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2298, end: 2299, line: 80 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2302, end: 2306, line: 80 }, + }, + }, + ], + }, + }, + rest: [ + { op: "<", term: { termType: "numericLiteral", value: 254 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2329, end: 2344, line: 81 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 2329, end: 2351, line: 81 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2365, end: 2385, line: 82 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2386, end: 2387, line: 82 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2389, end: 2390, line: 82 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2392, end: 2393, line: 82 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2396, end: 2400, line: 82 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2402, end: 2403, line: 82 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + ], + span: { start: 2365, end: 2408, line: 82 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "y", + span: { start: 2423, end: 2424, line: 83 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2427, end: 2428, line: 83 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 2419, end: 2433, line: 83 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2446, end: 2461, line: 84 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 2446, end: 2467, line: 84 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2481, end: 2501, line: 85 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2502, end: 2503, line: 85 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2506, end: 2507, line: 85 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2510, end: 2514, line: 85 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2521, end: 2522, line: 85 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2525, end: 2529, line: 85 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2531, end: 2532, line: 85 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2535, end: 2539, line: 85 }, + }, + }, + ], + }, + ], + span: { start: 2481, end: 2540, line: 85 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 2556, end: 2563, line: 87 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 2639, end: 2644, line: 91 } }, + name: { value: "moveLeft", span: { start: 2644, end: 2652, line: 91 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2667, end: 2668, line: 92 }, + }, + rest: [ + { op: ">", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2688, end: 2703, line: 93 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 2688, end: 2710, line: 93 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2724, end: 2744, line: 94 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2746, end: 2747, line: 94 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2750, end: 2754, line: 94 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2761, end: 2762, line: 94 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2764, end: 2765, line: 94 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2768, end: 2772, line: 94 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2774, end: 2775, line: 94 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2778, end: 2782, line: 94 }, + }, + }, + ], + }, + ], + span: { start: 2724, end: 2783, line: 94 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 2798, end: 2799, line: 95 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2802, end: 2803, line: 95 }, + }, + rest: [ + { op: "-", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 2794, end: 2808, line: 95 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 2821, end: 2836, line: 96 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 2821, end: 2842, line: 96 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 2856, end: 2876, line: 97 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2877, end: 2878, line: 97 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2880, end: 2881, line: 97 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 2883, end: 2884, line: 97 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 2890, end: 2891, line: 97 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 2894, end: 2898, line: 97 }, + }, + }, + ], + }, + ], + span: { start: 2856, end: 2899, line: 97 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 2915, end: 2922, line: 99 }, + }, + ], + }, + }, + { + type: "method", + returnType: { + value: "void", + span: { start: 2999, end: 3004, line: 103 }, + }, + name: { value: "moveRight", span: { start: 3004, end: 3013, line: 103 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3029, end: 3030, line: 104 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 3033, end: 3037, line: 104 }, + }, + }, + ], + }, + }, + rest: [ + { op: "<", term: { termType: "numericLiteral", value: 510 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 3060, end: 3075, line: 105 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + ], + span: { start: 3060, end: 3082, line: 105 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 3096, end: 3116, line: 106 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3117, end: 3118, line: 106 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3120, end: 3121, line: 106 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3123, end: 3124, line: 106 }, + }, + rest: [ + { + op: "+", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3130, end: 3131, line: 106 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 3134, end: 3138, line: 106 }, + }, + }, + ], + }, + ], + span: { start: 3096, end: 3139, line: 106 }, + }, + }, + { + statementType: "letStatement", + name: { + value: "x", + span: { start: 3154, end: 3155, line: 107 }, + }, + value: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3158, end: 3159, line: 107 }, + }, + rest: [ + { op: "+", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + span: { start: 3150, end: 3164, line: 107 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.setColor", + span: { start: 3177, end: 3192, line: 108 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + ], + span: { start: 3177, end: 3198, line: 108 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Screen.drawRectangle", + span: { start: 3212, end: 3232, line: 109 }, + }, + parameters: [ + { + nodeType: "expression", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3234, end: 3235, line: 109 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 3238, end: 3242, line: 109 }, + }, + }, + ], + }, + }, + rest: [ + { + op: "-", + term: { termType: "numericLiteral", value: 1 }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3249, end: 3250, line: 109 }, + }, + rest: [], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "x", + span: { start: 3252, end: 3253, line: 109 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 3256, end: 3260, line: 109 }, + }, + }, + ], + }, + { + nodeType: "expression", + term: { + termType: "variable", + name: "y", + span: { start: 3262, end: 3263, line: 109 }, + }, + rest: [ + { + op: "+", + term: { + termType: "variable", + name: "size", + span: { start: 3266, end: 3270, line: 109 }, + }, + }, + ], + }, + ], + span: { start: 3212, end: 3271, line: 109 }, + }, + }, + ], + else: [], + }, + { + statementType: "returnStatement", + span: { start: 3287, end: 3294, line: 111 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function Square.new 0 + push constant 3 + call Memory.alloc 1 + pop pointer 0 + push argument 0 + pop this 0 + push argument 1 + pop this 1 + push argument 2 + pop this 2 + push pointer 0 + call Square.draw 1 + pop temp 0 + push pointer 0 + return +function Square.dispose 0 + push argument 0 + pop pointer 0 + push pointer 0 + call Memory.deAlloc 1 + pop temp 0 + push constant 0 + return +function Square.draw 0 + push argument 0 + pop pointer 0 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 0 + push this 2 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + push constant 0 + return +function Square.erase 0 + push argument 0 + pop pointer 0 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 0 + push this 2 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + push constant 0 + return +function Square.incSize 0 + push argument 0 + pop pointer 0 + push this 1 + push this 2 + add + push constant 254 + lt + push this 0 + push this 2 + add + push constant 510 + lt + and + not + if-goto Square_1 + push pointer 0 + call Square.erase 1 + pop temp 0 + push this 2 + push constant 2 + add + pop this 2 + push pointer 0 + call Square.draw 1 + pop temp 0 + goto Square_0 +label Square_1 +label Square_0 + push constant 0 + return +function Square.decSize 0 + push argument 0 + pop pointer 0 + push this 2 + push constant 2 + gt + not + if-goto Square_3 + push pointer 0 + call Square.erase 1 + pop temp 0 + push this 2 + push constant 2 + sub + pop this 2 + push pointer 0 + call Square.draw 1 + pop temp 0 + goto Square_2 +label Square_3 +label Square_2 + push constant 0 + return +function Square.moveUp 0 + push argument 0 + pop pointer 0 + push this 1 + push constant 1 + gt + not + if-goto Square_5 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 2 + add + push constant 1 + sub + push this 0 + push this 2 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + push this 1 + push constant 2 + sub + pop this 1 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 0 + push this 2 + add + push this 1 + push constant 1 + add + call Screen.drawRectangle 4 + pop temp 0 + goto Square_4 +label Square_5 +label Square_4 + push constant 0 + return +function Square.moveDown 0 + push argument 0 + pop pointer 0 + push this 1 + push this 2 + add + push constant 254 + lt + not + if-goto Square_7 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 0 + push this 2 + add + push this 1 + push constant 1 + add + call Screen.drawRectangle 4 + pop temp 0 + push this 1 + push constant 2 + add + pop this 1 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 2 + add + push constant 1 + sub + push this 0 + push this 2 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + goto Square_6 +label Square_7 +label Square_6 + push constant 0 + return +function Square.moveLeft 0 + push argument 0 + pop pointer 0 + push this 0 + push constant 1 + gt + not + if-goto Square_9 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 2 + add + push constant 1 + sub + push this 1 + push this 0 + push this 2 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + push this 0 + push constant 2 + sub + pop this 0 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 0 + push constant 1 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + goto Square_8 +label Square_9 +label Square_8 + push constant 0 + return +function Square.moveRight 0 + push argument 0 + pop pointer 0 + push this 0 + push this 2 + add + push constant 510 + lt + not + if-goto Square_11 + push constant 0 + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 1 + push this 0 + push constant 1 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + push this 0 + push constant 2 + add + pop this 0 + push constant 1 + neg + call Screen.setColor 1 + pop temp 0 + push this 0 + push this 2 + add + push constant 1 + sub + push this 1 + push this 0 + push this 2 + add + push this 1 + push this 2 + add + call Screen.drawRectangle 4 + pop temp 0 + goto Square_10 +label Square_11 +label Square_10 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/project_11/square/square_game.ts b/web-ide-main/projects/src/samples/project_11/square/square_game.ts new file mode 100644 index 0000000..99a130e --- /dev/null +++ b/web-ide-main/projects/src/samples/project_11/square/square_game.ts @@ -0,0 +1,948 @@ +export const jack = `// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/11/Square/SquareGame.jack +/** + * Implements the Square game. + * This simple game allows the user to move a black square around + * the screen, and change the square's size during the movement. + * When the game starts, a square of 30 by 30 pixels is shown at the + * top-left corner of the screen. The user controls the square as follows. + * The 4 arrow keys are used to move the square up, down, left, and right. + * The 'z' and 'x' keys are used, respectively, to decrement and increment + * the square's size. The 'q' key is used to quit the game. + */ +class SquareGame { + field Square square; // the square of this game + field int direction; // the square's current direction: + // 0=none, 1=up, 2=down, 3=left, 4=right + + /** Constructs a new square game. */ + constructor SquareGame new() { + // The initial square is located in (0,0), has size 30, and is not moving. + let square = Square.new(0, 0, 30); + let direction = 0; + return this; + } + + /** Disposes this game. */ + method void dispose() { + do square.dispose(); + do Memory.deAlloc(this); + return; + } + + /** Moves the square in the current direction. */ + method void moveSquare() { + if (direction = 1) { do square.moveUp(); } + if (direction = 2) { do square.moveDown(); } + if (direction = 3) { do square.moveLeft(); } + if (direction = 4) { do square.moveRight(); } + do Sys.wait(5); // delays the next movement + return; + } + + /** Runs the game: handles the user's inputs and moves the square accordingly */ + method void run() { + var char key; // the key currently pressed by the user + var boolean exit; + let exit = false; + + while (~exit) { + // waits for a key to be pressed + while (key = 0) { + let key = Keyboard.keyPressed(); + do moveSquare(); + } + if (key = 81) { let exit = true; } // q key + if (key = 90) { do square.decSize(); } // z key + if (key = 88) { do square.incSize(); } // x key + if (key = 131) { let direction = 1; } // up arrow + if (key = 133) { let direction = 2; } // down arrow + if (key = 130) { let direction = 3; } // left arrow + if (key = 132) { let direction = 4; } // right arrow + + // waits for the key to be released + while (~(key = 0)) { + let key = Keyboard.keyPressed(); + do moveSquare(); + } + } // while + return; + } +} + + +`; + +export const parsed = { + name: { value: "SquareGame", span: { start: 712, end: 722, line: 15 } }, + varDecs: [ + { + varType: "field", + type: { value: "Square", span: { start: 734, end: 741, line: 16 } }, + names: ["square"], + }, + { + varType: "field", + type: { value: "int", span: { start: 785, end: 789, line: 17 } }, + names: ["direction"], + }, + ], + subroutines: [ + { + type: "constructor", + returnType: { + value: "SquareGame", + span: { start: 957, end: 968, line: 21 }, + }, + name: { value: "new", span: { start: 968, end: 971, line: 21 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "letStatement", + name: { + value: "square", + span: { start: 1067, end: 1073, line: 23 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Square.new", + span: { start: 1076, end: 1086, line: 23 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 30 }, + rest: [], + }, + ], + span: { start: 1076, end: 1096, line: 23 }, + }, + rest: [], + }, + span: { start: 1063, end: 1097, line: 23 }, + }, + { + statementType: "letStatement", + name: { + value: "direction", + span: { start: 1108, end: 1117, line: 24 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 0 }, + rest: [], + }, + span: { start: 1104, end: 1122, line: 24 }, + }, + { + statementType: "returnStatement", + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + span: { start: 1129, end: 1141, line: 25 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1188, end: 1193, line: 29 } }, + name: { value: "dispose", span: { start: 1193, end: 1200, line: 29 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "square.dispose", + span: { start: 1214, end: 1228, line: 30 }, + }, + parameters: [], + span: { start: 1214, end: 1230, line: 30 }, + }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Memory.deAlloc", + span: { start: 1241, end: 1255, line: 31 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "this" }, + rest: [], + }, + ], + span: { start: 1241, end: 1261, line: 31 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1269, end: 1276, line: 32 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1346, end: 1351, line: 36 } }, + name: { value: "moveSquare", span: { start: 1351, end: 1361, line: 36 } }, + parameters: [], + body: { + varDecs: [], + statements: [ + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "direction", + span: { start: 1376, end: 1385, line: 37 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 1 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "square.moveUp", + span: { start: 1396, end: 1409, line: 37 }, + }, + parameters: [], + span: { start: 1396, end: 1411, line: 37 }, + }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "direction", + span: { start: 1425, end: 1434, line: 38 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 2 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "square.moveDown", + span: { start: 1445, end: 1460, line: 38 }, + }, + parameters: [], + span: { start: 1445, end: 1462, line: 38 }, + }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "direction", + span: { start: 1476, end: 1485, line: 39 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 3 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "square.moveLeft", + span: { start: 1496, end: 1511, line: 39 }, + }, + parameters: [], + span: { start: 1496, end: 1513, line: 39 }, + }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "direction", + span: { start: 1527, end: 1536, line: 40 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 4 } }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "square.moveRight", + span: { start: 1547, end: 1563, line: 40 }, + }, + parameters: [], + span: { start: 1547, end: 1565, line: 40 }, + }, + }, + ], + else: [], + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "Sys.wait", + span: { start: 1578, end: 1586, line: 41 }, + }, + parameters: [ + { + nodeType: "expression", + term: { termType: "numericLiteral", value: 5 }, + rest: [], + }, + ], + span: { start: 1578, end: 1589, line: 41 }, + }, + }, + { + statementType: "returnStatement", + span: { start: 1626, end: 1633, line: 42 }, + }, + ], + }, + }, + { + type: "method", + returnType: { value: "void", span: { start: 1734, end: 1739, line: 46 } }, + name: { value: "run", span: { start: 1739, end: 1742, line: 46 } }, + parameters: [], + body: { + varDecs: [ + { + type: { value: "char", span: { start: 1757, end: 1762, line: 47 } }, + names: ["key"], + }, + { + type: { + value: "boolean", + span: { start: 1819, end: 1827, line: 48 }, + }, + names: ["exit"], + }, + ], + statements: [ + { + statementType: "letStatement", + name: { value: "exit", span: { start: 1843, end: 1847, line: 49 } }, + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "false" }, + rest: [], + }, + span: { start: 1839, end: 1856, line: 49 }, + }, + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "variable", + name: "exit", + span: { start: 1878, end: 1882, line: 51 }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 1944, end: 1947, line: 53 }, + }, + rest: [ + { op: "=", term: { termType: "numericLiteral", value: 0 } }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "key", + span: { start: 1971, end: 1974, line: 54 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Keyboard.keyPressed", + span: { start: 1977, end: 1996, line: 54 }, + }, + parameters: [], + span: { start: 1977, end: 1998, line: 54 }, + }, + rest: [], + }, + span: { start: 1967, end: 1999, line: 54 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "moveSquare", + span: { start: 2015, end: 2025, line: 55 }, + }, + parameters: [], + span: { start: 2015, end: 2027, line: 55 }, + }, + }, + ], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2053, end: 2056, line: 57 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 81 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "exit", + span: { start: 2070, end: 2074, line: 57 }, + }, + value: { + nodeType: "expression", + term: { termType: "keywordLiteral", value: "true" }, + rest: [], + }, + span: { start: 2066, end: 2082, line: 57 }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2111, end: 2114, line: 58 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 90 }, + }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "square.decSize", + span: { start: 2127, end: 2141, line: 58 }, + }, + parameters: [], + span: { start: 2127, end: 2143, line: 58 }, + }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2169, end: 2172, line: 59 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 88 }, + }, + ], + }, + body: [ + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "square.incSize", + span: { start: 2185, end: 2199, line: 59 }, + }, + parameters: [], + span: { start: 2185, end: 2201, line: 59 }, + }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2227, end: 2230, line: 60 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 131 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "direction", + span: { start: 2244, end: 2253, line: 60 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 1 }, + rest: [], + }, + span: { start: 2240, end: 2258, line: 60 }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2288, end: 2291, line: 61 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 133 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "direction", + span: { start: 2305, end: 2314, line: 61 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 2 }, + rest: [], + }, + span: { start: 2301, end: 2319, line: 61 }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2351, end: 2354, line: 62 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 130 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "direction", + span: { start: 2368, end: 2377, line: 62 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 3 }, + rest: [], + }, + span: { start: 2364, end: 2382, line: 62 }, + }, + ], + else: [], + }, + { + statementType: "ifStatement", + condition: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2414, end: 2417, line: 63 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 132 }, + }, + ], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "direction", + span: { start: 2431, end: 2440, line: 63 }, + }, + value: { + nodeType: "expression", + term: { termType: "numericLiteral", value: 4 }, + rest: [], + }, + span: { start: 2427, end: 2445, line: 63 }, + }, + ], + else: [], + }, + { + statementType: "whileStatement", + condition: { + nodeType: "expression", + term: { + termType: "unaryExpression", + op: "~", + term: { + termType: "groupedExpression", + expression: { + nodeType: "expression", + term: { + termType: "variable", + name: "key", + span: { start: 2529, end: 2532, line: 66 }, + }, + rest: [ + { + op: "=", + term: { termType: "numericLiteral", value: 0 }, + }, + ], + }, + }, + }, + rest: [], + }, + body: [ + { + statementType: "letStatement", + name: { + value: "key", + span: { start: 2557, end: 2560, line: 67 }, + }, + value: { + nodeType: "expression", + term: { + termType: "subroutineCall", + name: { + value: "Keyboard.keyPressed", + span: { start: 2563, end: 2582, line: 67 }, + }, + parameters: [], + span: { start: 2563, end: 2584, line: 67 }, + }, + rest: [], + }, + span: { start: 2553, end: 2585, line: 67 }, + }, + { + statementType: "doStatement", + call: { + termType: "subroutineCall", + name: { + value: "moveSquare", + span: { start: 2601, end: 2611, line: 68 }, + }, + parameters: [], + span: { start: 2601, end: 2613, line: 68 }, + }, + }, + ], + }, + ], + }, + { + statementType: "returnStatement", + span: { start: 2647, end: 2654, line: 71 }, + }, + ], + }, + }, + ], +}; + +export const compiled = `function SquareGame.new 0 + push constant 2 + call Memory.alloc 1 + pop pointer 0 + push constant 0 + push constant 0 + push constant 30 + call Square.new 3 + pop this 0 + push constant 0 + pop this 1 + push pointer 0 + return +function SquareGame.dispose 0 + push argument 0 + pop pointer 0 + push this 0 + call Square.dispose 1 + pop temp 0 + push pointer 0 + call Memory.deAlloc 1 + pop temp 0 + push constant 0 + return +function SquareGame.moveSquare 0 + push argument 0 + pop pointer 0 + push this 1 + push constant 1 + eq + not + if-goto SquareGame_1 + push this 0 + call Square.moveUp 1 + pop temp 0 + goto SquareGame_0 +label SquareGame_1 +label SquareGame_0 + push this 1 + push constant 2 + eq + not + if-goto SquareGame_3 + push this 0 + call Square.moveDown 1 + pop temp 0 + goto SquareGame_2 +label SquareGame_3 +label SquareGame_2 + push this 1 + push constant 3 + eq + not + if-goto SquareGame_5 + push this 0 + call Square.moveLeft 1 + pop temp 0 + goto SquareGame_4 +label SquareGame_5 +label SquareGame_4 + push this 1 + push constant 4 + eq + not + if-goto SquareGame_7 + push this 0 + call Square.moveRight 1 + pop temp 0 + goto SquareGame_6 +label SquareGame_7 +label SquareGame_6 + push constant 5 + call Sys.wait 1 + pop temp 0 + push constant 0 + return +function SquareGame.run 2 + push argument 0 + pop pointer 0 + push constant 0 + pop local 1 +label SquareGame_8 + push local 1 + not + not + if-goto SquareGame_9 +label SquareGame_10 + push local 0 + push constant 0 + eq + not + if-goto SquareGame_11 + call Keyboard.keyPressed 0 + pop local 0 + push pointer 0 + call SquareGame.moveSquare 1 + pop temp 0 + goto SquareGame_10 +label SquareGame_11 + push local 0 + push constant 81 + eq + not + if-goto SquareGame_13 + push constant 1 + neg + pop local 1 + goto SquareGame_12 +label SquareGame_13 +label SquareGame_12 + push local 0 + push constant 90 + eq + not + if-goto SquareGame_15 + push this 0 + call Square.decSize 1 + pop temp 0 + goto SquareGame_14 +label SquareGame_15 +label SquareGame_14 + push local 0 + push constant 88 + eq + not + if-goto SquareGame_17 + push this 0 + call Square.incSize 1 + pop temp 0 + goto SquareGame_16 +label SquareGame_17 +label SquareGame_16 + push local 0 + push constant 131 + eq + not + if-goto SquareGame_19 + push constant 1 + pop this 1 + goto SquareGame_18 +label SquareGame_19 +label SquareGame_18 + push local 0 + push constant 133 + eq + not + if-goto SquareGame_21 + push constant 2 + pop this 1 + goto SquareGame_20 +label SquareGame_21 +label SquareGame_20 + push local 0 + push constant 130 + eq + not + if-goto SquareGame_23 + push constant 3 + pop this 1 + goto SquareGame_22 +label SquareGame_23 +label SquareGame_22 + push local 0 + push constant 132 + eq + not + if-goto SquareGame_25 + push constant 4 + pop this 1 + goto SquareGame_24 +label SquareGame_25 +label SquareGame_24 +label SquareGame_26 + push local 0 + push constant 0 + eq + not + not + if-goto SquareGame_27 + call Keyboard.keyPressed 0 + pop local 0 + push pointer 0 + call SquareGame.moveSquare 1 + pop temp 0 + goto SquareGame_26 +label SquareGame_27 + goto SquareGame_8 +label SquareGame_9 + push constant 0 + return`; diff --git a/web-ide-main/projects/src/samples/tst.ts b/web-ide-main/projects/src/samples/tst.ts new file mode 100644 index 0000000..b9a64c8 --- /dev/null +++ b/web-ide-main/projects/src/samples/tst.ts @@ -0,0 +1,12 @@ +export const TickTock = `// TickTock forever + +// Uncomment for a sample progam. Can use any program name in /samples +// ROM32K load Max.hack; + +// Uncomment to manually write a program. +// set ROM32K[0] %X4000; +// set ROM32K[1] %XF3C8; // M=-1 + +repeat { + tick, tock; +}`; diff --git a/web-ide-main/projects/src/samples/vm/fibonnaci.ts b/web-ide-main/projects/src/samples/vm/fibonnaci.ts new file mode 100644 index 0000000..9f7b440 --- /dev/null +++ b/web-ide-main/projects/src/samples/vm/fibonnaci.ts @@ -0,0 +1,30 @@ +export const FIB_MAIN = `function Main.fibonacci 0 + push argument 0 + push constant 2 + lt // checks if n<2 + if-goto IF_TRUE + goto IF_FALSE + label IF_TRUE // if n<2, return n + push argument 0 + return + label IF_FALSE // if n>=2, returns fib(n-2)+fib(n-1) + push argument 0 + push constant 2 + sub + call Main.fibonacci 1 // computes fib(n-2) + push argument 0 + push constant 1 + sub + call Main.fibonacci 1 // computes fib(n-1) + add // returns fib(n-1) + fib(n-2) + return`; + +export const FIB_SYS = ` +function Sys.init 0 + push constant 4 + call Main.fibonacci 1 // computes the 4'th fibonacci element +label WHILE + goto WHILE // loops infinitely +`; + +export const FIBONACCI = FIB_MAIN + FIB_SYS; diff --git a/web-ide-main/projects/src/samples/vm/vm.ts b/web-ide-main/projects/src/samples/vm/vm.ts new file mode 100644 index 0000000..32cf84a --- /dev/null +++ b/web-ide-main/projects/src/samples/vm/vm.ts @@ -0,0 +1,145 @@ +export const BRANCHING_FUNCTION = ` +// __implicit + push constant 3 + push constant 4 + call mult 2 + +// returns x * y as sum i = 0 to y x +// x = arg 0 +// y = arg 1 +// sum = local 0 +// i = local 1 +function mult 2 +label WHILE_LOOP + push local 1 + push argument 1 + lt + not + if-goto WHILE_END + push local 0 + push argument 0 + add + pop local 0 + push local 1 + push constant 1 + add + pop local 1 + goto WHILE_LOOP +label WHILE_END + push local 0 + return +`; + +export const NESTED_FUNCTION = ` +// Sys.vm for NestedCall test. + +// Sys.init() +// +// Calls Sys.main() and stores return value in temp 1. +// Does not return. (Enters infinite loop.) + +function Sys.init 0 +push constant 4000 // test THIS and THAT context save +pop pointer 0 +push constant 5000 +pop pointer 1 +call Sys.main 0 +pop temp 1 +label LOOP +goto LOOP + +// Sys.main() +// +// Sets locals 1, 2 and 3, leaving locals 0 and 4 unchanged to test +// default local initialization to 0. (RAM set to -1 by test setup.) +// Calls Sys.add12(123) and stores return value (135) in temp 0. +// Returns local 0 + local 1 + local 2 + local 3 + local 4 (456) to confirm +// that locals were not mangled by function call. + +function Sys.main 5 +push constant 4001 +pop pointer 0 +push constant 5001 +pop pointer 1 +push constant 200 +pop local 1 +push constant 40 +pop local 2 +push constant 6 +pop local 3 +push constant 123 +call Sys.add12 1 +pop temp 0 +push local 0 +push local 1 +push local 2 +push local 3 +push local 4 +add +add +add +add +return + +// Sys.add12(int n) +// +// Returns n+12. + +function Sys.add12 0 +push constant 4002 +pop pointer 0 +push constant 5002 +pop pointer 1 +push argument 0 +push constant 12 +add +return +`; + +export const STATIC_CLASS_1 = `function Class1.set 0 +push argument 0 +pop static 0 +push argument 1 +pop static 1 +push constant 0 +return + +// Returns static[0] - static[1]. +function Class1.get 0 +push static 0 +push static 1 +sub +return +`; +export const STATIC_CLASS_2 = `function Class2.set 0 +push argument 0 +pop static 0 +push argument 1 +pop static 1 +push constant 0 +return + +// Returns static[0] - static[1]. +function Class2.get 0 +push static 0 +push static 1 +sub +return +`; + +export const STATIC_SYS = `function Sys.init 0 +push constant 6 +push constant 8 +call Class1.set 2 +pop temp 0 // Dumps the return value +push constant 23 +push constant 15 +call Class2.set 2 +pop temp 0 // Dumps the return value +call Class1.get 0 +call Class2.get 0 +label WHILE +goto WHILE +`; + +export const STATIC = STATIC_CLASS_1 + STATIC_CLASS_2 + STATIC_SYS; diff --git a/web-ide-main/projects/src/testing/index.ts b/web-ide-main/projects/src/testing/index.ts new file mode 100644 index 0000000..992c5bc --- /dev/null +++ b/web-ide-main/projects/src/testing/index.ts @@ -0,0 +1,30 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import * as project_01 from "./project_01/index.js"; +import * as project_02 from "./project_02/index.js"; +import * as project_03 from "./project_03/index.js"; +import * as project_05 from "./project_05/index.js"; + +export const ChipProjects = { + "01": project_01, + "02": project_02, + "03": project_03, + "05": project_05, +}; + +let reset = false; +export const loadSolutions = async (fs: FileSystem) => { + if (reset) return; // React will double-render a call to resetFiles in useEffect. + reset = true; + await project_01.loadSolutions(fs); + await project_02.loadSolutions(fs); + await project_03.loadSolutions(fs); + await project_05.loadSolutions(fs); + reset = false; +}; + +export const loaders = { + loadSolutions, +}; + +export default loaders; diff --git a/web-ide-main/projects/src/testing/project_01/01_not.ts b/web-ide-main/projects/src/testing/project_01/01_not.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/01_not.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/02_and.ts b/web-ide-main/projects/src/testing/project_01/02_and.ts new file mode 100644 index 0000000..6e48377 --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/02_and.ts @@ -0,0 +1,8 @@ +export const sol = `CHIP And { + IN a, b; + OUT out; + + PARTS: + Nand(a=a, b=b, out=x); + Not(in=x, out=out); +}`; diff --git a/web-ide-main/projects/src/testing/project_01/03_or.ts b/web-ide-main/projects/src/testing/project_01/03_or.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/03_or.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/04_xor.ts b/web-ide-main/projects/src/testing/project_01/04_xor.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/04_xor.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/05_mux.ts b/web-ide-main/projects/src/testing/project_01/05_mux.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/05_mux.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/06_dmux.ts b/web-ide-main/projects/src/testing/project_01/06_dmux.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/06_dmux.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/07_not16.ts b/web-ide-main/projects/src/testing/project_01/07_not16.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/07_not16.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/08_and16.ts b/web-ide-main/projects/src/testing/project_01/08_and16.ts new file mode 100644 index 0000000..731b49f --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/08_and16.ts @@ -0,0 +1,22 @@ +export const sol = `CHIP And16 { + IN a[16], b[16]; + OUT out[16]; + + PARTS: + And (a=a[0], b=b[0], out=out[0]); + And (a=a[1], b=b[1], out=out[1]); + And (a=a[2], b=b[2], out=out[2]); + And (a=a[3], b=b[3], out=out[3]); + And (a=a[4], b=b[4], out=out[4]); + And (a=a[5], b=b[5], out=out[5]); + And (a=a[6], b=b[6], out=out[6]); + And (a=a[7], b=b[7], out=out[7]); + And (a=a[8], b=b[8], out=out[8]); + And (a=a[9], b=b[9], out=out[9]); + And (a=a[10], b=b[10], out=out[10]); + And (a=a[11], b=b[11], out=out[11]); + And (a=a[12], b=b[12], out=out[12]); + And (a=a[13], b=b[13], out=out[13]); + And (a=a[14], b=b[14], out=out[14]); + And (a=a[15], b=b[15], out=out[15]); +}`; diff --git a/web-ide-main/projects/src/testing/project_01/09_or16.ts b/web-ide-main/projects/src/testing/project_01/09_or16.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/09_or16.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/10_mux16.ts b/web-ide-main/projects/src/testing/project_01/10_mux16.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/10_mux16.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/11_mux4way16.ts b/web-ide-main/projects/src/testing/project_01/11_mux4way16.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/11_mux4way16.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/12_mux8way16.ts b/web-ide-main/projects/src/testing/project_01/12_mux8way16.ts new file mode 100644 index 0000000..0a8de9d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/12_mux8way16.ts @@ -0,0 +1,31 @@ +export const sol = `CHIP Mux8Way16 { + IN a[16], b[16], c[16], d[16], + e[16], f[16], g[16], h[16], + sel[3]; + OUT out[16]; + + PARTS: + // Binary tree of 2-way multiplexors + Mux16 (a=a, b=b, sel=sel[0], out=ab); + Mux16 (a=c, b=d, sel=sel[0], out=cd); + Mux16 (a=e, b=f, sel=sel[0], out=ef); + Mux16 (a=g, b=h, sel=sel[0], out=gh); + Mux16 (a=ab, b=cd, sel=sel[1], out=abcd); + Mux16 (a=ef, b=gh, sel=sel[1], out=efgh); + Mux16 (a=abcd, b=efgh, sel=sel[2], out=out); + + +// Alternate implementation +// +// This implementation replaces the upper two layers of the +// tree with 4-way multiplexors. +/* + Mux4Way16 (a=a, b=b, c=c, d=d, sel=sel[0..1], out=abcd); + Mux4Way16 (a=e, b=f, c=g, d=h, sel=sel[0..1], out=efgh); + Mux16 (a=abcd, b=efgh, sel=sel[2], out=out); +*/ + +// Alternate implementation +// +// Some students make a Mux8Way chip and apply it 16 times as in Not16. +}`; diff --git a/web-ide-main/projects/src/testing/project_01/13_dmux4way.ts b/web-ide-main/projects/src/testing/project_01/13_dmux4way.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/13_dmux4way.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/14_dmux8way.ts b/web-ide-main/projects/src/testing/project_01/14_dmux8way.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/14_dmux8way.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/15_or8way.ts b/web-ide-main/projects/src/testing/project_01/15_or8way.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/15_or8way.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_01/index.ts b/web-ide-main/projects/src/testing/project_01/index.ts new file mode 100644 index 0000000..1e3d84e --- /dev/null +++ b/web-ide-main/projects/src/testing/project_01/index.ts @@ -0,0 +1,71 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import * as Not from "./01_not.js"; +import * as And from "./02_and.js"; +import * as Or from "./03_or.js"; +import * as Xor from "./04_xor.js"; +import * as Mux from "./05_mux.js"; +import * as DMux from "./06_dmux.js"; +import * as Not16 from "./07_not16.js"; +import * as And16 from "./08_and16.js"; +import * as Or16 from "./09_or16.js"; +import * as Mux16 from "./10_mux16.js"; +import * as Mux4Way16 from "./11_mux4way16.js"; +import * as Mux8Way16 from "./12_mux8way16.js"; +import * as DMux4Way from "./13_dmux4way.js"; +import * as DMux8Way from "./14_dmux8way.js"; +import * as Or8Way from "./15_or8way.js"; + +export const SOLS = { + Not: { + "Not.hdl": Not.sol, + }, + And: { + "And.hdl": And.sol, + }, + Or: { + "Or.hdl": Or.sol, + }, + XOr: { + "XOr.hdl": Xor.sol, + }, + Mux: { + "Mux.hdl": Mux.sol, + }, + DMux: { + "DMux.hdl": DMux.sol, + }, + Not16: { + "Not16.hdl": Not16.sol, + }, + And16: { + "And16.hdl": And16.sol, + }, + Or16: { + "Or16.hdl": Or16.sol, + }, + Mux16: { + "Mux16.hdl": Mux16.sol, + }, + Mux4Way16: { + "Mux4Way16.hdl": Mux4Way16.sol, + }, + Mux8Way16: { + "Mux8Way16.hdl": Mux8Way16.sol, + }, + DMux4Way: { + "DMux4Way.hdl": DMux4Way.sol, + }, + DMux8Way: { + "DMux8Way.hdl": DMux8Way.sol, + }, + Or8Way: { + "Or8Way.hdl": Or8Way.sol, + }, +}; + +export async function loadSolutions(fs: FileSystem): Promise { + await fs.pushd("/projects/01"); + await reset(fs, SOLS); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/testing/project_02/01_half_adder.ts b/web-ide-main/projects/src/testing/project_02/01_half_adder.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_02/01_half_adder.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_02/02_full_adder.ts b/web-ide-main/projects/src/testing/project_02/02_full_adder.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_02/02_full_adder.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_02/03_add16.ts b/web-ide-main/projects/src/testing/project_02/03_add16.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_02/03_add16.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_02/04_inc16.ts b/web-ide-main/projects/src/testing/project_02/04_inc16.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_02/04_inc16.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_02/05_alu_no_stat.ts b/web-ide-main/projects/src/testing/project_02/05_alu_no_stat.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_02/05_alu_no_stat.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_02/06_alu.ts b/web-ide-main/projects/src/testing/project_02/06_alu.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_02/06_alu.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_02/index.ts b/web-ide-main/projects/src/testing/project_02/index.ts new file mode 100644 index 0000000..7f35eaa --- /dev/null +++ b/web-ide-main/projects/src/testing/project_02/index.ts @@ -0,0 +1,35 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import * as HalfAdder from "./01_half_adder.js"; +import * as FullAdder from "./02_full_adder.js"; +import * as Add16 from "./03_add16.js"; +import * as Inc16 from "./04_inc16.js"; +import * as Alu from "./05_alu_no_stat.js"; +import * as AluStatus from "./06_alu.js"; + +export const SOLS = { + HalfAdder: { + "HalfAdder.hdl": HalfAdder.sol, + }, + FullAdder: { + "FullAdder.hdl": FullAdder.sol, + }, + Add16: { + "Add16.hdl": Add16.sol, + }, + Inc16: { + "Inc16.hdl": Inc16.sol, + }, + AluNoStat: { + "AluNoStat.hdl": Alu.sol, + }, + ALU: { + "ALU.hdl": AluStatus.sol, + }, +}; + +export async function loadSolutions(fs: FileSystem): Promise { + await fs.pushd("/projects/02"); + await reset(fs, SOLS); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/testing/project_03/01_bit.ts b/web-ide-main/projects/src/testing/project_03/01_bit.ts new file mode 100644 index 0000000..b12f0f1 --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/01_bit.ts @@ -0,0 +1,9 @@ +export const sol = `CHIP Bit { + IN in, load; + OUT out; + + PARTS: + + Mux (a=dffOut, b=in, sel=load, out=muxOut); + DFF (in=muxOut, out=dffOut, out=out); +}`; diff --git a/web-ide-main/projects/src/testing/project_03/02_register.ts b/web-ide-main/projects/src/testing/project_03/02_register.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/02_register.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_03/03_pc.ts b/web-ide-main/projects/src/testing/project_03/03_pc.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/03_pc.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_03/04_ram8.ts b/web-ide-main/projects/src/testing/project_03/04_ram8.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/04_ram8.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_03/05_ram64.ts b/web-ide-main/projects/src/testing/project_03/05_ram64.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/05_ram64.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_03/06_ram512.ts b/web-ide-main/projects/src/testing/project_03/06_ram512.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/06_ram512.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_03/07_ram4k.ts b/web-ide-main/projects/src/testing/project_03/07_ram4k.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/07_ram4k.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_03/08_ram16k.ts b/web-ide-main/projects/src/testing/project_03/08_ram16k.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/08_ram16k.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_03/index.ts b/web-ide-main/projects/src/testing/project_03/index.ts new file mode 100644 index 0000000..34a3444 --- /dev/null +++ b/web-ide-main/projects/src/testing/project_03/index.ts @@ -0,0 +1,43 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import * as Bit from "./01_bit.js"; +import * as Register from "./02_register.js"; +import * as PC from "./03_pc.js"; +import * as RAM8 from "./04_ram8.js"; +import * as RAM64 from "./05_ram64.js"; +import * as RAM512 from "./06_ram512.js"; +import * as RAM4k from "./07_ram4k.js"; +import * as RAM16k from "./08_ram16k.js"; + +export const SOLS = { + Bit: { + "Bit.hdl": Bit.sol, + }, + Register: { + "Register.hdl": Register.sol, + }, + PC: { + "PC.hdl": PC.sol, + }, + RAM8: { + "RAM8.hdl": RAM8.sol, + }, + RAM64: { + "RAM64.hdl": RAM64.sol, + }, + RAM512: { + "RAM512.hdl": RAM512.sol, + }, + RAM4k: { + "RAM4k.hdl": RAM4k.sol, + }, + RAM16k: { + "RAM16k.hdl": RAM16k.sol, + }, +}; + +export async function loadSolutions(fs: FileSystem): Promise { + await fs.pushd("/projects/03"); + await reset(fs, SOLS); + await fs.popd(); +} diff --git a/web-ide-main/projects/src/testing/project_05/01_memory.ts b/web-ide-main/projects/src/testing/project_05/01_memory.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_05/01_memory.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_05/02_cpu.ts b/web-ide-main/projects/src/testing/project_05/02_cpu.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_05/02_cpu.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_05/03_computer.ts b/web-ide-main/projects/src/testing/project_05/03_computer.ts new file mode 100644 index 0000000..3b7d47d --- /dev/null +++ b/web-ide-main/projects/src/testing/project_05/03_computer.ts @@ -0,0 +1 @@ +export const sol = `// REDACTED`; diff --git a/web-ide-main/projects/src/testing/project_05/index.ts b/web-ide-main/projects/src/testing/project_05/index.ts new file mode 100644 index 0000000..a4a0231 --- /dev/null +++ b/web-ide-main/projects/src/testing/project_05/index.ts @@ -0,0 +1,23 @@ +import { FileSystem, reset } from "@davidsouther/jiffies/lib/esm/fs.js"; + +import * as Memory from "./01_memory.js"; +import * as CPU from "./02_cpu.js"; +import * as Computer from "./03_computer.js"; + +export const SOLS = { + Memory: { + "Memory.hdl": Memory.sol, + }, + CPU: { + "CPU.hdl": CPU.sol, + }, + Computer: { + "Computer.hdl": Computer.sol, + }, +}; + +export async function loadSolutions(fs: FileSystem): Promise { + await fs.pushd("/projects/05"); + await reset(fs, SOLS); + await fs.popd(); +} diff --git a/web-ide-main/projects/tsconfig.json b/web-ide-main/projects/tsconfig.json new file mode 100644 index 0000000..1f131e8 --- /dev/null +++ b/web-ide-main/projects/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "outDir": "build", + "rootDir": "src", + "tsBuildInfoFile": "build/.tsbuildinfo" + }, + "include": ["src"] +} diff --git a/web-ide-main/runner/data/Not.cmp b/web-ide-main/runner/data/Not.cmp new file mode 100644 index 0000000..7b64092 --- /dev/null +++ b/web-ide-main/runner/data/Not.cmp @@ -0,0 +1,3 @@ +| in | out | +| 0 | 1 | +| 1 | 0 | diff --git a/web-ide-main/runner/data/Not.out b/web-ide-main/runner/data/Not.out new file mode 100644 index 0000000..7b64092 --- /dev/null +++ b/web-ide-main/runner/data/Not.out @@ -0,0 +1,3 @@ +| in | out | +| 0 | 1 | +| 1 | 0 | diff --git a/web-ide-main/runner/data/Not.tst b/web-ide-main/runner/data/Not.tst new file mode 100644 index 0000000..4052f25 --- /dev/null +++ b/web-ide-main/runner/data/Not.tst @@ -0,0 +1,3 @@ +output-list in%B3.1.3 out%B3.1.3; +set in 0, eval, output; +set in 1, eval, output; diff --git a/web-ide-main/runner/package.json b/web-ide-main/runner/package.json new file mode 100644 index 0000000..5bfa763 --- /dev/null +++ b/web-ide-main/runner/package.json @@ -0,0 +1,28 @@ +{ + "name": "@nand2tetris/runner", + "version": "0.0.0", + "private": true, + "description": "", + "author": "David Souther ", + "license": "ISC", + "homepage": "https://davidsouther.github.io/nand2tetris", + "type": "module", + "exports": { + "./*": "./build/*" + }, + "typesVersions": { + "*": { + "*": [ + "build/*" + ] + } + }, + "dependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@nand2tetris/projects": "file:../projects", + "@types/node": "^20.14.2" + }, + "scripts": { + "build": "tsc" + } +} diff --git a/web-ide-main/runner/src/index.ts b/web-ide-main/runner/src/index.ts new file mode 100644 index 0000000..b5b1cb8 --- /dev/null +++ b/web-ide-main/runner/src/index.ts @@ -0,0 +1,54 @@ +import { ExecException, ExecOptions, exec } from "node:child_process"; +import { dirname, join, parse } from "node:path"; +import type { Assignment } from "@nand2tetris/projects/base.js"; +import { Runner, RunResult } from "./types"; + +// Wrapper around `exec`, providing nand2tetris specific options and wrapping the result in a Promise. */ +export function run(cmd: string, options: ExecOptions = {}) { + return new Promise((resolve, reject) => { + exec(cmd, { windowsHide: true, ...options }, (error, stdout, stderr) => { + if (error !== null || stderr.length > 0) { + reject({ error, stderr }); + } else { + resolve(`${stdout}`); + } + }); + }); +} + +const NAND2TetrisPackage = "org.nand2tetris.hack.main"; +type NAND2TetrisMain = "HardwareSimulatorMain"; +const __dirname = dirname(new URL(import.meta.url).pathname); + +/** + * Runner to manage calling the provided nand2tetris.jar with appropriate args and mains. + */ +export class JavaRunner implements Runner { + /** When creating a runner, run the HDL test against the data file to ensure everything works. */ + static async try_init(installPath: string): Promise { + const runner = new JavaRunner(installPath); + const file = join(__dirname, "..", "..", "data", "Not.hdl"); + const { code } = await runner.hdl(parse(file)); + return code === 0 ? runner : undefined; + } + + private constructor(private readonly installPath: string) {} + + /** Run a .tst file for the given chip. */ + async hdl({ dir, name }: Assignment): Promise { + return this.exec("HardwareSimulatorMain", join(dir, `${name}.tst`)); + } + + /** Run a nand2tetris Java main, in command line mode, given a certain file. */ + async exec(main: NAND2TetrisMain, filePath: string): Promise { + try { + const fullMain = `${NAND2TetrisPackage}.${main}`; + const command = `java -classpath nand2tetris.jar ${fullMain} ${filePath}`; + const stdout = await run(command, { cwd: this.installPath }); + return { code: 0, stdout, stderr: "" }; + } catch (e: unknown) { + const { error, stderr } = e as { error?: ExecException; stderr: string }; + return { code: error?.code ?? 255, stderr, stdout: "" }; + } + } +} diff --git a/web-ide-main/runner/src/types.ts b/web-ide-main/runner/src/types.ts new file mode 100644 index 0000000..c88212d --- /dev/null +++ b/web-ide-main/runner/src/types.ts @@ -0,0 +1,11 @@ +import type { Assignment } from "@nand2tetris/projects/base.js"; + +export interface RunResult { + code: number; + stdout: string; + stderr: string; +} + +export interface Runner { + hdl({ dir, name }: Assignment): Promise; +} diff --git a/web-ide-main/runner/tsconfig.json b/web-ide-main/runner/tsconfig.json new file mode 100644 index 0000000..1f131e8 --- /dev/null +++ b/web-ide-main/runner/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "outDir": "build", + "rootDir": "src", + "tsBuildInfoFile": "build/.tsbuildinfo" + }, + "include": ["src"] +} diff --git a/web-ide-main/simulator/babel.config.cjs b/web-ide-main/simulator/babel.config.cjs new file mode 100644 index 0000000..dd242dc --- /dev/null +++ b/web-ide-main/simulator/babel.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + presets: [ + ["@babel/preset-env", { targets: { node: "current" } }], + "@babel/preset-typescript", + ], +}; diff --git a/web-ide-main/simulator/jest.config.mjs b/web-ide-main/simulator/jest.config.mjs new file mode 100644 index 0000000..ccf0c4a --- /dev/null +++ b/web-ide-main/simulator/jest.config.mjs @@ -0,0 +1,11 @@ +/* + * For a detailed explanation regarding each configuration property, visit: + * https://jestjs.io/docs/configuration + */ + +export default { + moduleNameMapper: { "(.+)(?/src/setupTests.ts"], + transformIgnorePatterns: ["/node_modules/(?!@davidsouther/.*)"], +}; diff --git a/web-ide-main/simulator/package.json b/web-ide-main/simulator/package.json new file mode 100644 index 0000000..3d3aaaf --- /dev/null +++ b/web-ide-main/simulator/package.json @@ -0,0 +1,39 @@ +{ + "name": "@nand2tetris/simulator", + "version": "0.0.0", + "private": true, + "description": "", + "author": "David Souther ", + "license": "ISC", + "homepage": "https://davidsouther.github.io/nand2tetris", + "type": "module", + "exports": { + "./*": "./build/*" + }, + "typesVersions": { + "*": { + "*": [ + "build/*" + ] + } + }, + "dependencies": { + "@davidsouther/jiffies": "^2.2.5", + "@nand2tetris/projects": "file:../projects", + "@nand2tetris/runner": "file:../runner", + "@types/node": "^20.14.2", + "ohm-js": "^17.1.0", + "rxjs": "^7.8.1" + }, + "devDependencies": { + "@babel/preset-typescript": "^7.24.7", + "@types/jest": "^29.5.12", + "babel-jest": "^29.7.0", + "jest": "^29.7.0", + "jest-ts-webcompat-resolver": "^1.0.0" + }, + "scripts": { + "build": "tsc", + "test": "jest --verbose" + } +} diff --git a/web-ide-main/simulator/src/.gitignore b/web-ide-main/simulator/src/.gitignore new file mode 100644 index 0000000..a306801 --- /dev/null +++ b/web-ide-main/simulator/src/.gitignore @@ -0,0 +1 @@ +locales diff --git a/web-ide-main/simulator/src/chip/builder.test.ts b/web-ide-main/simulator/src/chip/builder.test.ts new file mode 100644 index 0000000..95fde94 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builder.test.ts @@ -0,0 +1,243 @@ +import { display } from "@davidsouther/jiffies/lib/esm/display.js"; +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { HDL } from "../languages/hdl.js"; +import { bin } from "../util/twos.js"; +import { build, parse } from "./builder.js"; +import { Chip, HIGH, LOW } from "./chip.js"; + +function asDisplay(e: unknown): string { + return display( + (e as { message: string }).message ?? + (e as { shortMessage: string }).shortMessage ?? + e, + ); +} + +describe("Chip Builder", () => { + it("builds a chip from a string", async () => { + const nand = unwrap( + await parse( + `CHIP Not { IN in; OUT out; PARTS: Nand(a=in, b=in, out=out); }`, + ), + ); + + nand.in().pull(LOW); + nand.eval(); + expect(nand.out().voltage()).toBe(HIGH); + + nand.in().pull(HIGH); + nand.eval(); + expect(nand.out().voltage()).toBe(LOW); + }); + + it("builds and evals a chip with subbus components", async () => { + let foo: Chip; + try { + foo = unwrap( + await parse( + `CHIP Foo { + IN six[3]; + OUT out; + PARTS: Not16( + in[0..1] = true, + in[3..5] = six, + in[7] = true, + ); + }`, + ), + ); + } catch (e) { + throw new Error(asDisplay(e)); + } + const six = foo.in("six"); + six.busVoltage = 6; + foo.eval(); + const inVoltage = [...foo.parts][0].in().busVoltage; + expect(bin(inVoltage)).toBe(bin(0b10110011)); + + // const outVoltage = foo.pin("out1").busVoltage; + // expect(outVoltage).toBe(0b01001); + // expect(outVoltage).toBe(0b11001); + }); + + it("builds and evals a chip with subpins", async () => { + let foo: Chip; + try { + foo = unwrap( + await parse(` + CHIP Not2 { + IN in[2]; + OUT out[2]; + PARTS: + Not(in=in[0], out=out[0]); + Not(in=in[1], out=out[1]); + } + `), + ); + } catch (e) { + throw new Error(asDisplay(e)); + } + + foo.in().busVoltage = 0b00; + foo.eval(); + expect(foo.out().busVoltage).toBe(0b11); + + foo.in().busVoltage = 0b11; + foo.eval(); + expect(foo.out().busVoltage).toBe(0b00); + }); + + it("builds and evals a chip with subbus components on the right", async () => { + let foo: Chip; + try { + foo = unwrap( + await parse( + `CHIP Foo { + IN in[16]; + OUT out[5]; + PARTS: Not16( + in[0..7] = in[4..11], + // in[8..15] = false, + out[3..5] = out[1..3], + ); + }`, + ), + ); + } catch (e) { + throw new Error(asDisplay(e)); + } + + foo.in().busVoltage = 0b1010_1100_0011_0101; + foo.eval(); + const inVoltage = [...foo.parts][0].in().busVoltage; + const outVoltage = foo.out().busVoltage; + expect(bin(inVoltage)).toBe(bin(0b11000011)); + expect(bin(outVoltage)).toBe(bin(0b01110)); + }); + + it("looks up unknown chips in fs", async () => { + const fs = new FileSystem( + new ObjectFileSystemAdapter({ "Copy.hdl": COPY_HDL }), + ); + + let foo: Chip; + + try { + const chip = unwrap(await HDL.parse(USE_COPY_HDL)); + foo = unwrap(await build({ parts: chip, dir: ".", fs })); + } catch (e) { + throw new Error(asDisplay(e)); + } + + foo.in("a").pull(HIGH); + foo.eval(); + expect(foo.out("b").busVoltage).toBe(1); + + foo.in("a").pull(LOW); + foo.eval(); + expect(foo.out("b").busVoltage).toBe(0); + }); + + it("returns error for mismatching input width", async () => { + try { + const chip = unwrap( + HDL.parse(`CHIP Foo { + IN in[3]; OUT out; + PARTS: Or8Way(in=in, out=out); + }`), + ); + const foo = await build({ parts: chip }); + expect(foo).toBeErr(); + } catch (e) { + throw new Error(asDisplay(e)); + } + }); + + it("returns error for mismatching output width", async () => { + try { + const chip = unwrap( + HDL.parse(`CHIP Foo { + IN in; OUT out[5]; + PARTS: Not(in=in, out=out); + }`), + ); + const foo = await build({ parts: chip }); + expect(foo).toBeErr(); + } catch (e) { + throw new Error(asDisplay(e)); + } + }); + + it("returns error for wire loop", async () => { + try { + const chip = unwrap( + HDL.parse(`CHIP Not { + IN in; + OUT out; + PARTS: + Nand(a=in, b=myNand, out=myNand); + }`), + ); + const foo = await build({ parts: chip }); + expect(foo).toBeErr(); + } catch (e) { + throw new Error(asDisplay(e)); + } + }); + + it("returns error for part loop", async () => { + try { + const chip = unwrap( + HDL.parse(`CHIP Not { + IN in; + OUT out; + PARTS: + Nand(a=in, b=b, out=c); + Nand(a=in, b=c, out=b); + }`), + ); + const foo = await build({ parts: chip }); + expect(foo).toBeErr(); + } catch (e) { + throw new Error(asDisplay(e)); + } + }); + + it("sorts after wiring", async () => { + try { + const chip = unwrap( + HDL.parse(`CHIP Or { IN a, b; OUT out; + PARTS: + Not(in =b , out = net2); + Nand(a = net, b =net2 , out =out ); + Not(in =a , out = net); +}`), + ); + const orA = await build({ parts: chip }); + expect(orA).toBeOk(); + + const ora = unwrap(orA); + + ora.in("a").pull(HIGH); + ora.in("b").pull(LOW); + ora.eval(); + expect(ora.out("out").busVoltage).toBe(HIGH); + } catch (e) { + throw new Error(asDisplay(e)); + } + }); +}); + +const USE_COPY_HDL = `CHIP UseCopy { + IN a; OUT b; + PARTS: Copy(in=a, out=b); +}`; + +const COPY_HDL = `CHIP Copy { + IN in; OUT out; + PARTS: Or(a=in, b=in, out=out); +}`; diff --git a/web-ide-main/simulator/src/chip/builder.ts b/web-ide-main/simulator/src/chip/builder.ts new file mode 100644 index 0000000..bb17fae --- /dev/null +++ b/web-ide-main/simulator/src/chip/builder.ts @@ -0,0 +1,532 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { + Err, + isErr, + isOk, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { CompilationError, createError, Span } from "../languages/base.js"; +import { HDL, HdlParse, Part, PinParts } from "../languages/hdl.js"; +import { getBuiltinChip, hasBuiltinChip } from "./builtins/index.js"; +import { Chip, Connection, isConstantPin } from "./chip.js"; + +function pinWidth(pin: PinParts): Result { + const start = pin.start ?? 0; + if (pin.end === undefined) { + return Ok(undefined); + } + if (pin.end >= start) { + return Ok(pin.end - start + 1); + } + return Err( + createError( + `Bus start index should be less than or equal to bus end index`, + pin.span, + ), + ); +} + +export async function parse( + code: string, + dir?: string, + name?: string, + fs?: FileSystem, +): Promise> { + const parsed = HDL.parse(code.toString()); + if (isErr(parsed)) { + return parsed; + } + return build({ parts: Ok(parsed), dir, name, fs }); +} + +export async function loadChip( + name: string, + dir?: string, + fs?: FileSystem, +): Promise> { + if (hasBuiltinChip(name) || fs === undefined) { + return await getBuiltinChip(name); + } + try { + const file = await fs.readFile(`${dir}/${name}.hdl`); + const maybeParsedHDL = HDL.parse(file); + + let maybeChip: Result; + if (isOk(maybeParsedHDL)) { + const maybeBuilt = await build({ + parts: Ok(maybeParsedHDL), + dir, + name, + fs, + }); + if (isErr(maybeBuilt)) { + maybeChip = Err(new Error(Err(maybeBuilt).message)); + } else { + maybeChip = maybeBuilt; + } + } else { + maybeChip = Err(new Error("HDL Was not parsed")); + } + + return maybeChip; + } catch (_e) { + return Err(new Error(`Could not load chip ${name}.hdl` /*, { cause: e }*/)); + } +} + +export async function build( + ...args: Parameters +): Promise> { + return await ChipBuilder.build(...args); +} + +interface InternalPin { + isDefined: boolean; + firstUse: Span; + width?: number; +} + +interface WireData { + partChip: Chip; + lhs: PinParts; + rhs: PinParts; +} + +function getSubBusWidth(pin: PinParts): number | undefined { + if (pin.start != undefined && pin.end != undefined) { + return pin.end - pin.start + 1; + } + return undefined; +} + +function display(pin: PinParts): string { + if (pin.start != undefined && pin.end != undefined) { + return `${pin.pin}[${pin.start}..${pin.end}]`; + } + return pin.pin; +} + +function createConnection( + lhs: PinParts, + rhs: PinParts, +): Result { + const lhsWidth = pinWidth(lhs); + const rhsWidth = pinWidth(rhs); + if (isErr(lhsWidth)) { + return lhsWidth; + } + if (isErr(rhsWidth)) { + return rhsWidth; + } + + return Ok({ + to: { + name: lhs.pin.toString(), + start: lhs.start ?? 0, + width: Ok(lhsWidth), + }, + from: { + name: rhs.pin.toString(), + start: rhs.start ?? 0, + width: Ok(rhsWidth), + }, + }); +} + +function getIndices(pin: PinParts): number[] { + if (pin.start != undefined && pin.end != undefined) { + const indices = []; + for (let i = pin.start; i <= pin.end; i++) { + indices.push(i); + } + return indices; + } + return [-1]; +} + +function checkMultipleAssignments( + pin: PinParts, + assignedIndexes: Map>, +): Result { + let errorIndex: number | undefined = undefined; // -1 stands for the whole bus width + const indices = assignedIndexes.get(pin.pin); + if (!indices) { + assignedIndexes.set(pin.pin, new Set(getIndices(pin))); + } else { + if (indices.has(-1)) { + errorIndex = pin.start ?? -1; + } else if (pin.start !== undefined && pin.end !== undefined) { + for (const i of getIndices(pin)) { + if (indices.has(i)) { + errorIndex = i; + } + indices.add(i); + } + } else { + indices.add(-1); + } + } + if (errorIndex != undefined) { + return Err( + createError( + `Cannot write to pin ${pin.pin}${ + errorIndex != -1 ? `[${errorIndex}]` : "" + } multiple times`, + pin.span, + ), + ); + } + return Ok(); +} + +class ChipBuilder { + private parts: HdlParse; + private fs?: FileSystem; + private dir?: string; + private expectedName?: string; + + private chip: Chip; + private internalPins: Map = new Map(); + private inPins: Map> = new Map(); + private outPins: Map> = new Map(); + private wires: WireData[] = []; + + static build(options: { + parts: HdlParse; + fs?: FileSystem; + dir?: string; + name?: string; + }) { + return new ChipBuilder(options).build(); + } + + private constructor({ + parts, + fs, + dir, + name, + }: { + parts: HdlParse; + fs?: FileSystem; + dir?: string; + name?: string; + }) { + this.parts = parts; + this.expectedName = name; + this.dir = dir; + this.fs = fs; + this.chip = new Chip( + parts.ins.map(({ pin, width }) => ({ pin: pin.toString(), width })), + parts.outs.map(({ pin, width }) => ({ pin: pin.toString(), width })), + parts.name.value, + [], + parts.clocked, + ); + } + + async build(): Promise> { + if (this.expectedName && this.parts.name.value != this.expectedName) { + return Err(createError(`Wrong chip name`, this.parts.name.span)); + } + + if (this.parts.parts === "BUILTIN") { + return await getBuiltinChip(this.parts.name.value); + } + + const result = await this.wireParts(); + if (isErr(result)) { + return result; + } + + this.chip.clockedPins = new Set( + [...this.chip.ins.entries(), ...this.chip.outs.entries()] + .map((pin) => pin.name) + .filter((pin) => this.chip.isClockedPin(pin)), + ); + + // Reset clock order after wiring sub-pins + for (const part of this.chip.parts) { + part.subscribeToClock(); + } + + return Ok(this.chip); + } + + private async wireParts(): Promise> { + if (this.parts.parts === "BUILTIN") { + return Ok(); + } + + for (const part of this.parts.parts) { + const builtin = await loadChip(part.name, this.dir, this.fs); + if (isErr(builtin)) { + return Err(createError(`Undefined chip name: ${part.name}`, part.span)); + } + const partChip = Ok(builtin); + if (partChip.name == this.chip.name) { + return Err( + createError( + `Cannot use chip ${partChip.name} to implement itself`, + part.span, + ), + ); + } + const result = this.wirePart(part, partChip); + if (isErr(result)) { + return result; + } + } + let result = this.validateInternalPins(); + if (isErr(result)) { + return result; + } + // We need to check this at the end because during wiring we might not know the width of some internal pins + result = this.validateWireWidths(); + if (isErr(result)) { + return result; + } + return Ok(); + } + + private checkLoops( + part: Part, + partChip: Chip, + ): Result { + const ins = new Set(); + const outs = new Set(); + + let loop: string | undefined = undefined; + for (const { lhs, rhs } of part.wires) { + if (partChip.isInPin(lhs.pin)) { + if (outs.has(rhs.pin)) { + loop = rhs.pin; + break; + } else { + ins.add(rhs.pin); + } + } else if (partChip.isOutPin(lhs.pin)) { + if (ins.has(rhs.pin)) { + loop = rhs.pin; + break; + } else { + outs.add(rhs.pin); + } + } + } + if (loop) { + return Err(createError(`Looping wire ${loop}`, part.span)); + } + return Ok(); + } + + private wirePart(part: Part, partChip: Chip): Result { + const result = this.checkLoops(part, partChip); + if (isErr(result)) { + return result; + } + + const connections: Connection[] = []; + this.inPins.clear(); + for (const { lhs, rhs } of part.wires) { + const result = this.validateWire(partChip, lhs, rhs); + if (isErr(result)) { + return result; + } + const connection = createConnection(lhs, rhs); + if (isErr(connection)) { + return connection; + } + connections.push(Ok(connection)); + } + + try { + const result = this.chip.wire(partChip, connections); + if (isErr(result)) { + const error = Err(result); + return Err( + createError( + error.message, + error.lhs + ? part.wires[error.wireIndex].lhs.span + : part.wires[error.wireIndex].rhs.span, + ), + ); + } + this.chip.sortParts(); + return Ok(); + } catch (e) { + return Err(createError((e as Error).message, part.span)); + } + } + + private validateWire( + partChip: Chip, + lhs: PinParts, + rhs: PinParts, + ): Result { + if (partChip.isInPin(lhs.pin)) { + const result = this.validateInputWire(lhs, rhs); + if (isErr(result)) { + return result; + } + } else if (partChip.isOutPin(lhs.pin)) { + const result = this.validateOutputWire(partChip, lhs, rhs); + if (isErr(result)) { + return result; + } + } else { + return Err(createError(`Undefined pin name: ${lhs.pin}`, lhs.span)); + } + if (!isConstantPin(rhs.pin)) { + this.wires.push({ partChip: partChip, lhs, rhs }); + } + return Ok(); + } + + private validateInputWire( + lhs: PinParts, + rhs: PinParts, + ): Result { + let result = this.validateInputSource(rhs); + if (isErr(result)) { + return result; + } + result = checkMultipleAssignments(lhs, this.inPins); + if (isErr(result)) { + return result; + } + + // track internal pin use to detect undefined pins + if (this.chip.isInternalPin(rhs.pin)) { + const pinData = this.internalPins.get(rhs.pin); + if (pinData == undefined) { + this.internalPins.set(rhs.pin, { + isDefined: false, + firstUse: rhs.span, + }); + } else { + pinData.firstUse = + pinData.firstUse.start < rhs.span.start ? pinData.firstUse : rhs.span; + } + } + return Ok(); + } + + private validateOutputWire( + partChip: Chip, + lhs: PinParts, + rhs: PinParts, + ): Result { + let result = this.validateWriteTarget(rhs); + if (isErr(result)) { + return result; + } + + if (this.chip.isOutPin(rhs.pin)) { + result = checkMultipleAssignments(rhs, this.outPins); + if (isErr(result)) { + return result; + } + } else { + // rhs is necessarily an internal pin + if (rhs.start !== undefined || rhs.end !== undefined) { + return Err( + createError( + `Internal pins (in this case: ${rhs.pin}) cannot be subscripted or indexed`, + rhs.span, + ), + ); + } + // track internal pin creation to detect undefined pins + const pinData = this.internalPins.get(rhs.pin); + const width = getSubBusWidth(lhs) ?? partChip.get(lhs.pin)?.width; + if (pinData == undefined) { + this.internalPins.set(rhs.pin, { + isDefined: true, + firstUse: rhs.span, + width, + }); + } else { + if (pinData.isDefined) { + return Err( + createError(`Internal pin ${rhs.pin} already defined`, rhs.span), + ); + } + pinData.isDefined = true; + pinData.width = width; + } + } + return Ok(); + } + + private validateWriteTarget(rhs: PinParts): Result { + if (this.chip.isInPin(rhs.pin)) { + return Err(createError(`Cannot write to input pin ${rhs.pin}`, rhs.span)); + } + if (isConstantPin(rhs.pin)) { + return Err( + createError(`Internal pin name cannot be "true" or "false"`, rhs.span), + ); + } + return Ok(); + } + + private validateInputSource(rhs: PinParts): Result { + if (this.chip.isOutPin(rhs.pin)) { + return Err(createError(`Cannot use output pin as input`, rhs.span)); + } else if (!this.chip.isInPin(rhs.pin) && rhs.start != undefined) { + return Err( + createError( + isConstantPin(rhs.pin) + ? `Constant bus cannot be subscripted or indexed` + : `Internal pins (in this case: ${rhs.pin}) cannot be subscripted or indexed`, + rhs.span, + ), + ); + } + return Ok(); + } + + private validateInternalPins(): Result { + for (const [name, pinData] of this.internalPins) { + if (!pinData.isDefined) { + return Err( + createError( + name.toLowerCase() == "true" || name.toLowerCase() == "false" + ? `The constant bus ${name.toLowerCase()} must be in lower-case` + : `Undefined internal pin name: ${name}`, + pinData.firstUse, + ), + ); + } + } + return Ok(); + } + + private validateWireWidths(): Result { + for (const wire of this.wires) { + const lhsWidth = + getSubBusWidth(wire.lhs) ?? wire.partChip.get(wire.lhs.pin)?.width; + const rhsWidth = + getSubBusWidth(wire.rhs) ?? + this.chip.get(wire.rhs.pin)?.width ?? + this.internalPins.get(wire.rhs.pin)?.width; + if (lhsWidth != rhsWidth) { + return Err( + createError( + `Different bus widths: ${display( + wire.lhs, + )}(${lhsWidth}) and ${display(wire.rhs)}(${rhsWidth})`, + { + start: wire.lhs.span.start, + end: wire.rhs.span.end, + line: wire.lhs.span.line, + }, + ), + ); + } + } + return Ok(); + } +} diff --git a/web-ide-main/simulator/src/chip/builtin.ts b/web-ide-main/simulator/src/chip/builtin.ts new file mode 100644 index 0000000..fd7bd49 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtin.ts @@ -0,0 +1,30 @@ +import { Memory } from "./builtins/computer/computer.js"; +import { RAM } from "./builtins/sequential/ram.js"; +import { Chip, Pin } from "./chip.js"; + +export function getBuiltinValue( + chip: string, + part: Chip, + idx: number, +): Pin | undefined { + switch (chip) { + case "Register": + case "ARegister": + case "DRegister": + case "PC": + case "KEYBOARD": + return part.out(); + case "RAM8": + case "RAM64": + case "RAM512": + case "RAM4K": + case "RAM16K": + case "ROM32K": + case "Screen": + return (part as RAM).at(idx); + case "Memory": + return (part as Memory).at(idx); + default: + return undefined; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/all.test.ts b/web-ide-main/simulator/src/chip/builtins/all.test.ts new file mode 100644 index 0000000..ac6f5a4 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/all.test.ts @@ -0,0 +1,72 @@ +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { Ok, unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { CHIP_PROJECTS } from "@nand2tetris/projects/base.js"; +import { ChipProjects } from "@nand2tetris/projects/full.js"; +import { Max } from "@nand2tetris/projects/samples/hack.js"; +import { compare } from "../../compare.js"; +import { CMP, Cmp } from "../../languages/cmp.js"; +import { HDL, HdlParse } from "../../languages/hdl.js"; +import { TST, Tst } from "../../languages/tst.js"; +import { ChipTest } from "../../test/chiptst.js"; +import { build } from "../builder.js"; +import { Chip } from "../chip.js"; + +const SKIP = new Set(["Computer", "Memory"]); + +describe("All Projects", () => { + describe.each(Object.keys(CHIP_PROJECTS))("project %s", (project) => { + it.each( + CHIP_PROJECTS[project as keyof typeof CHIP_PROJECTS].filter( + (k) => !SKIP.has(k), + ), + )("Builtin %s", async (chipName) => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const ChipProject = ChipProjects[project].CHIPS; + let hdlFile: string = ChipProject[`${chipName}.hdl`]; + const tstFile: string = ChipProject[`${chipName}.tst`]; + const cmpFile: string = ChipProject[`${chipName}.cmp`]; + + expect(hdlFile).toBeDefined(); + expect(tstFile).toBeDefined(); + expect(cmpFile).toBeDefined(); + + const partsIdx = hdlFile.indexOf("PARTS:"); + expect(partsIdx).toBeGreaterThan(0); + hdlFile = hdlFile.substring(0, partsIdx) + "BUILTIN; }"; + const hdl = HDL.parse(hdlFile); + expect(hdl).toBeOk(); + const tst = TST.parse(tstFile); + expect(tst).toBeOk(); + + const chip = await build({ parts: Ok(hdl as Ok) }); + expect(chip).toBeOk(); + const test = unwrap(ChipTest.from(Ok(tst as Ok))).with( + Ok(chip as Ok), + ); + + if (project === "05") { + test.setFileSystem( + new FileSystem( + new ObjectFileSystemAdapter({ "/samples/Max.hack": Max }), + ), + ); + } + + await test.run(); + + const outFile = test.log(); + + const cmp = CMP.parse(cmpFile); + expect(cmp).toBeOk(); + const out = CMP.parse(outFile); + expect(out).toBeOk(); + + const diffs = compare(Ok(cmp as Ok), Ok(out as Ok)); + expect(diffs).toHaveNoDiff(); + }); + }); +}); diff --git a/web-ide-main/simulator/src/chip/builtins/arithmetic/add_16.ts b/web-ide-main/simulator/src/chip/builtins/arithmetic/add_16.ts new file mode 100644 index 0000000..d66d6ff --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/arithmetic/add_16.ts @@ -0,0 +1,18 @@ +import { Chip } from "../../chip.js"; + +export function add16(a: number, b: number): [number] { + return [(a + b) & 0xffff]; +} + +export class Add16 extends Chip { + constructor() { + super(["a[16]", "b[16]"], ["out[16]"], "Add16"); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + const [out] = add16(a, b); + this.out().busVoltage = out; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/arithmetic/alu.tsx b/web-ide-main/simulator/src/chip/builtins/arithmetic/alu.tsx new file mode 100644 index 0000000..782fe21 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/arithmetic/alu.tsx @@ -0,0 +1,147 @@ +import { alu, alua, COMMANDS_OP, Flags } from "../../../cpu/alu.js"; +import { Chip, HIGH, LOW } from "../../chip.js"; + +export class ALUNoStat extends Chip { + constructor() { + super( + [ + "x[16]", + "y[16]", // 16-bit inputs + "zx", // zero the x input? + "nx", // negate the x input? + "zy", // zero the y input? + "ny", // negate the y input? + "f", // compute out = x + y (if 1) or x & y (if 0) + "no", // negate the out output? + ], + [ + "out[16]", // 16-bit output + ], + "ALU", + ); + } + + override eval() { + const x = this.in("x").busVoltage; + const y = this.in("y").busVoltage; + const zx = this.in("zx").busVoltage << 5; + const nx = this.in("nx").busVoltage << 4; + const zy = this.in("zy").busVoltage << 3; + const ny = this.in("ny").busVoltage << 2; + const f = this.in("f").busVoltage << 1; + const no = this.in("no").busVoltage << 0; + const op = zx + nx + zy + ny + f + no; + + const [out] = alu(op, x, y); + + this.out().busVoltage = out; + } +} + +export class ALU extends Chip { + constructor() { + super( + [ + "x[16]", + "y[16]", // 16-bit inputs + "zx", // zero the x input? + "nx", // negate the x input? + "zy", // zero the y input? + "ny", // negate the y input? + "f", // compute out = x + y (if 1) or x & y (if 0) + "no", // negate the out output? + ], + [ + "out[16]", // 16-bit output + "zr", // 1 if (out === 0), 0 otherwise + "ng", // 1 if (out < 0), 0 otherwise + ], + "ALU", + ); + } + + override eval() { + const x = this.in("x").busVoltage; + const y = this.in("y").busVoltage; + const zx = this.in("zx").busVoltage << 5; + const nx = this.in("nx").busVoltage << 4; + const zy = this.in("zy").busVoltage << 3; + const ny = this.in("ny").busVoltage << 2; + const f = this.in("f").busVoltage << 1; + const no = this.in("no").busVoltage << 0; + const op = zx + nx + zy + ny + f + no; + + const [out, flags] = alu(op, x, y); + + const ng = flags === Flags.Negative ? HIGH : LOW; + const zr = flags === Flags.Zero ? HIGH : LOW; + this.out("out").busVoltage = out; + this.out("ng").pull(ng); + this.out("zr").pull(zr); + } + + op(): COMMANDS_OP { + const zx = this.in("zx").busVoltage << 5; + const nx = this.in("nx").busVoltage << 4; + const zy = this.in("zy").busVoltage << 3; + const ny = this.in("ny").busVoltage << 2; + const f = this.in("f").busVoltage << 1; + const no = this.in("no").busVoltage << 0; + const op = zx + nx + zy + ny + f + no; + return op as COMMANDS_OP; + } +} + +export class ALUAll extends Chip { + constructor() { + super( + [ + "x[16]", + "y[16]", // 16-bit inputs + "zx", // zero the x input? + "nx", // negate the x input? + "zy", // zero the y input? + "ny", // negate the y input? + "f", // compute out = x + y (if 1) or x & y (if 0) + "no", // negate the out output? + ], + [ + "out[16]", // 16-bit output + "zr", // 1 if (out === 0), 0 otherwise + "ng", // 1 if (out < 0), 0 otherwise + ], + "ALU", + ); + } + + override eval() { + const x = this.in("x").busVoltage; + const y = this.in("y").busVoltage; + const zx = this.in("zx").busVoltage << 5; + const nx = this.in("nx").busVoltage << 4; + const zy = this.in("zy").busVoltage << 3; + const ny = this.in("ny").busVoltage << 2; + const f = this.in("f").busVoltage << 1; + const no = this.in("no").busVoltage << 0; + const op = zx + nx + zy + ny + f + no; + + const [out, flags] = alua(op, x, y); + + const ng = flags === Flags.Negative ? HIGH : LOW; + const zr = flags === Flags.Zero ? HIGH : LOW; + this.out("out").busVoltage = out; + this.out("ng").pull(ng); + this.out("zr").pull(zr); + } + + op(): COMMANDS_OP { + const zx = this.in("zx").busVoltage << 5; + const nx = this.in("nx").busVoltage << 4; + const zy = this.in("zy").busVoltage << 3; + const ny = this.in("ny").busVoltage << 2; + const f = this.in("f").busVoltage << 1; + const no = this.in("no").busVoltage << 0; + const op = zx + nx + zy + ny + f + no; + return op as COMMANDS_OP; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/arithmetic/full_adder.ts b/web-ide-main/simulator/src/chip/builtins/arithmetic/full_adder.ts new file mode 100644 index 0000000..fe8dece --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/arithmetic/full_adder.ts @@ -0,0 +1,30 @@ +import { Chip, Voltage } from "../../chip.js"; +import { or } from "../logic/or.js"; +import { halfAdder } from "./half_adder.js"; + +export function fullAdder( + a: Voltage, + b: Voltage, + c: Voltage, +): [Voltage, Voltage] { + const [s, ca] = halfAdder(a, b); + const [sum, cb] = halfAdder(s, c); + const [carry] = or(ca, cb); + + return [sum, carry]; +} + +export class FullAdder extends Chip { + constructor() { + super(["a", "b", "c"], ["sum", "carry"]); + } + + override eval() { + const a = this.in("a").voltage(); + const b = this.in("b").voltage(); + const c = this.in("c").voltage(); + const [sum, carry] = fullAdder(a, b, c); + this.out("sum").pull(sum); + this.out("carry").pull(carry); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/arithmetic/half_adder.ts b/web-ide-main/simulator/src/chip/builtins/arithmetic/half_adder.ts new file mode 100644 index 0000000..eb87767 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/arithmetic/half_adder.ts @@ -0,0 +1,22 @@ +import { Chip, HIGH, LOW, Voltage } from "../../chip.js"; + +export function halfAdder(a: Voltage, b: Voltage): [Voltage, Voltage] { + const sum = (a === 1 && b === 0) || (a === 0 && b === 1) ? HIGH : LOW; + const car = a === 1 && b === 1 ? HIGH : LOW; + + return [sum, car]; +} + +export class HalfAdder extends Chip { + constructor() { + super(["a", "b"], ["sum", "carry"]); + } + + override eval() { + const a = this.in("a").voltage(); + const b = this.in("b").voltage(); + const [sum, carry] = halfAdder(a, b); + this.out("sum").pull(sum); + this.out("carry").pull(carry); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/arithmetic/inc16.ts b/web-ide-main/simulator/src/chip/builtins/arithmetic/inc16.ts new file mode 100644 index 0000000..3f1dd71 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/arithmetic/inc16.ts @@ -0,0 +1,18 @@ +import { Chip } from "../../chip.js"; +import { add16 } from "./add_16.js"; + +export function inc16(n: number): [number] { + return add16(n, 1); +} + +export class Inc16 extends Chip { + constructor() { + super(["in[16]"], ["out[16]"], "Inc16"); + } + + override eval() { + const a = this.in().busVoltage; + const [out] = inc16(a); + this.out().busVoltage = out; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/builtinOverrides.ts b/web-ide-main/simulator/src/chip/builtins/builtinOverrides.ts new file mode 100644 index 0000000..c2e699d --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/builtinOverrides.ts @@ -0,0 +1,46 @@ +export const builtinOverrides: Record = { + CPU: `CHIP CPU { + + IN inM[16], // M value input (M = contents of RAM[A]) + instruction[16], // Instruction for execution + reset; // Signals whether to re-start the current + // program (reset==1) or continue executing + // the current program (reset==0). + + OUT outM[16], // M value output + writeM, // Write to M? + addressM[15], // Address in data memory (of M) + pc[15]; // address of next instruction + + PARTS: + Mux16(a=instruction, b=ALUoutput, sel=instruction[15], out=Ainput); + Not(in=instruction[15], out=Ainstruction); + Or(a=Ainstruction, b=instruction[5], out=loadA); + ARegister(in=Ainput, load=loadA, out=Aoutput, out[0..14]=addressM); + + And(a=instruction[15], b=instruction[4], out=loadD); + DRegister(in=ALUoutput, load=loadD, out=Doutput); + + Mux16(a=Aoutput, b=inM, sel=instruction[12], out=ALUsecondInput); + + ALU(x=Doutput, y=ALUsecondInput, + zx=instruction[11], nx=instruction[10], + zy=instruction[9], ny=instruction[8], + f=instruction[7], no=instruction[6], + out=ALUoutput, out=outM, ng=negative, zr=zero); + + And(a=instruction[15], b=instruction[3], out=writeM); + + Or(a=negative, b=zero, out=notPositive); + Not(in=notPositive, out=positive); + + And(a=positive, b=instruction[0], out=j1); + And(a=zero, b=instruction[1], out=j2); + And(a=negative, b=instruction[2], out=j3); + Or(a=j1, b=j2, out=jTemp); + Or(a=jTemp, b=j3, out=jumpIfC); + And(a=jumpIfC, b=instruction[15], out=jump); + + PC(reset=reset, inc=true, load=jump, in=Aoutput, out[0..14]=pc); +}`, +}; diff --git a/web-ide-main/simulator/src/chip/builtins/computer/README.md b/web-ide-main/simulator/src/chip/builtins/computer/README.md new file mode 100644 index 0000000..71a954e --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/computer/README.md @@ -0,0 +1,5 @@ +# Computer Builtins + +## CPU + + diff --git a/web-ide-main/simulator/src/chip/builtins/computer/computer.test.ts b/web-ide-main/simulator/src/chip/builtins/computer/computer.test.ts new file mode 100644 index 0000000..986fcc7 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/computer/computer.test.ts @@ -0,0 +1,67 @@ +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { Max } from "@nand2tetris/projects/samples/hack.js"; +import { HIGH } from "../../chip.js"; +import { CPU, Memory, ROM32K } from "./computer.js"; + +describe("Computer Chip Builtins", () => { + describe("ROM Builtin", () => { + it("can load a file", async () => { + const fs = new FileSystem( + new ObjectFileSystemAdapter({ "Max.hack": Max }), + ); + const rom = new ROM32K(); + + await rom.load(fs, "Max.hack"); + + expect(rom.at(4).busVoltage).toBe(10); + }); + }); + + describe("CPU Chip Builtin", () => { + it("updates PC on tock", () => { + const cpu = new CPU(); + + cpu.in("instruction").busVoltage = 12345; + + cpu.tick(); + + expect(cpu.out("pc").busVoltage).toBe(0); + + cpu.tock(); + + expect(cpu.out("pc").busVoltage).toBe(1); + }); + + it("updtates writeM on tick", () => { + const cpu = new CPU(); + + cpu.in("instruction").busVoltage = 0b1110_1111_1100_1000; + + cpu.tick(); + + expect(cpu.out("writeM").voltage()).toBe(HIGH); + expect(cpu.out("outM").busVoltage).toBe(1); + }); + }); + + describe("memory", () => { + it("maps addresses greater than KBD as 0", () => { + const memory = new Memory(); + memory.in("address").busVoltage = 24577; + memory.in("in").busVoltage = 47; + + memory.eval(); + + expect(memory.out().busVoltage).toBe(0); + + memory.in("load").busVoltage = HIGH; + + memory.eval(); + + expect(memory.out().busVoltage).toBe(0); + }); + }); +}); diff --git a/web-ide-main/simulator/src/chip/builtins/computer/computer.tsx b/web-ide-main/simulator/src/chip/builtins/computer/computer.tsx new file mode 100644 index 0000000..7007ff3 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/computer/computer.tsx @@ -0,0 +1,375 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { + CPUInput, + CPUState, + cpuTick, + cpuTock, + emptyState, +} from "../../../cpu/cpu.js"; +import { + KEYBOARD_OFFSET, + KeyboardAdapter, + SCREEN_OFFSET, + SCREEN_SIZE, +} from "../../../cpu/memory.js"; +import { load } from "../../../fs.js"; +import { int10 } from "../../../util/twos.js"; +import { + Bus, + Chip, + ClockedChip, + ConstantBus, + FALSE_BUS, + HIGH, + LOW, + Pin, +} from "../../chip.js"; +import { RAM, RAM16K } from "../sequential/ram.js"; + +export class ROM32K extends RAM { + constructor() { + super(15, "ROM"); + } + + override async load(fs: FileSystem, path: string) { + try { + (await load(fs, path)).map((v, i) => (this.at(i).busVoltage = v)); + } catch (cause) { + // throw new Error(`ROM32K Failed to load file ${path}`, { cause }); + throw new Error(`ROM32K Failed to load file ${path}`); + } + } +} + +export class Screen extends RAM { + static readonly SIZE = SCREEN_SIZE; + static readonly OFFSET = SCREEN_OFFSET; + + constructor() { + super(13, "Screen"); + } +} + +export class Keyboard extends Chip implements KeyboardAdapter { + static readonly OFFSET = KEYBOARD_OFFSET; + + constructor() { + super([], ["out[16]"], "Keyboard"); + } + + getKey() { + return this.out().busVoltage; + } + + setKey(key: number) { + this.out().busVoltage = key & 0xffff; + } + + clearKey() { + this.out().busVoltage = 0; + } + + override get(name: string) { + return name === this.name + ? new ConstantBus(this.name, this.getKey()) // readonly + : super.get(name); + } +} + +export class Memory extends ClockedChip { + readonly ram = new RAM16K(); + readonly screen = new Screen(); + private keyboard = new Keyboard(); + private address = 0; + + constructor() { + super( + ["in[16]", "load", "address[15])"], + ["out[16]"], + "Memory", + [], + ["in", "load"] + ); + this.parts.push(this.keyboard); + this.parts.push(this.screen); + this.parts.push(this.ram); + } + + override tick() { + const load = this.in("load").voltage(); + this.address = this.in("address").busVoltage; + if (load) { + const inn = this.in().busVoltage; + if (this.address > Keyboard.OFFSET) { + // out of "physical" bounds, should result in some kind of issue... + } + if (this.address == Keyboard.OFFSET) { + // Keyboard, do nothing + } else if (this.address >= Screen.OFFSET) { + this.screen.at(this.address - Screen.OFFSET).busVoltage = inn; + } else { + this.ram.at(this.address).busVoltage = inn; + } + } + } + + override tock() { + this.eval(); + } + + override eval() { + if (!this.ram) return; + this.address = this.in("address").busVoltage; + let out = 0; + if (this.address > Keyboard.OFFSET) { + // out of "physical" bounds, should result in some kind of issue... + } else if (this.address == Keyboard.OFFSET) { + out = this.keyboard?.out().busVoltage ?? 0; + } else if (this.address >= Screen.OFFSET) { + out = this.screen?.at(this.address - Screen.OFFSET).busVoltage ?? 0; + } else { + out = this.ram?.at(this.address).busVoltage ?? 0; + } + this.out().busVoltage = out; + } + + override in(pin?: string): Pin { + if (pin?.startsWith("RAM16K")) { + const idx = int10(pin.match(/\[(?\d+)]/)?.groups?.idx ?? "0"); + return this.ram.at(idx); + } + if (pin?.startsWith("Screen")) { + const idx = int10(pin.match(/\[(?\d+)]/)?.groups?.idx ?? "0"); + return this.screen.at(idx); + } + if (pin?.startsWith("Keyboard")) { + return this.keyboard.out(); + } + return super.in(pin); + } + + override get(name: string, offset = 0): Pin | undefined { + if (name.startsWith("RAM16K")) { + return this.at(offset & 0x3fff); + } + if (name.startsWith("Screen")) { + return this.at(offset & (0x1fff + Screen.OFFSET)); + } + if (name.startsWith("Keyboard")) { + return this.at(Keyboard.OFFSET); + } + if (name.startsWith("Memory")) { + return this.at(offset); + } + return super.get(name, offset); + } + + at(offset: number): Pin { + if (offset > Keyboard.OFFSET) { + return FALSE_BUS; + } + if (offset == Keyboard.OFFSET) { + return this.keyboard.out(); + } + if (offset >= Screen.OFFSET) { + return this.screen.at(offset - Screen.OFFSET); + } + return this.ram.at(offset); + } + + override reset(): void { + this.address = 0; + this.ram.reset(); + this.screen.reset(); + super.reset(); + } +} + +class DRegisterBus extends Bus { + constructor( + name: string, + private cpu: CPUState, + ) { + super(name); + } + + override get busVoltage(): number { + return this.cpu.D; + } + + override set busVoltage(num: number) { + this.cpu.D = num; + } +} + +class ARegisterBus extends Bus { + constructor( + name: string, + private cpu: CPUState, + ) { + super(name); + } + + override get busVoltage(): number { + return this.cpu.A; + } + + override set busVoltage(num: number) { + this.cpu.A = num; + } +} + +class PCBus extends Bus { + constructor( + name: string, + private cpu: CPUState, + ) { + super(name); + } + + override get busVoltage(): number { + return this.cpu.PC; + } + + override set busVoltage(num: number) { + this.cpu.PC = num; + } +} + +export class CPU extends ClockedChip { + private _state: CPUState = emptyState(); + + get state(): CPUState { + return this._state; + } + + constructor() { + super( + ["inM[16]", "instruction[16]", "reset"], + ["outM[16]", "writeM", "addressM[15]", "pc[15]"], + "CPU", + [], + ["pc", "addressM", "reset"], + ); + } + + override tick(): void { + const [state, writeM] = cpuTick(this.cpuInput(), this._state); + this._state = state; + this.out("writeM").pull(writeM ? HIGH : LOW); + this.out("outM").busVoltage = this._state.ALU ?? 0; + } + + override tock(): void { + if (!this._state) return; // Skip initial tock + const [output, state] = cpuTock(this.cpuInput(), this._state); + this._state = state; + + this.out("addressM").busVoltage = output.addressM ?? 0; + this.out("outM").busVoltage = output.outM ?? 0; + this.out("writeM").pull(output.writeM ? HIGH : LOW); + this.out("pc").busVoltage = this._state?.PC ?? 0; + } + + private cpuInput(): CPUInput { + const inM = this.in("inM").busVoltage; + const instruction = this.in("instruction").busVoltage; + const reset = this.in("reset").busVoltage === 1; + return { inM, instruction, reset }; + } + + override get(pin: string, offset?: number): Pin | undefined { + if (pin?.startsWith("ARegister")) { + return new ARegisterBus("ARegister", this._state); + } + if (pin?.startsWith("DRegister")) { + return new DRegisterBus("DRegister", this._state); + } + if (pin?.startsWith("PC")) { + return new PCBus("PC", this._state); + } + return super.get(pin, offset); + } + + override reset() { + this._state = emptyState(); + + // This is a bit of a hack, but because super.reset() does ticktock, + // we need to set PC to -1, so that it will be 0 after the reset + this._state.PC = -1; + + super.reset(); + } +} + +export class Computer extends Chip { + readonly cpu = new CPU(); + readonly ram = new Memory(); + readonly rom = new ROM32K(); + + constructor() { + super(["reset"], []); + + this.wire(this.cpu, [ + { from: { name: "reset", start: 0 }, to: { name: "reset", start: 0 } }, + { + from: { name: "instruction", start: 0 }, + to: { name: "instruction", start: 0 }, + }, + { from: { name: "oldOutM", start: 0 }, to: { name: "inM", start: 0 } }, + { from: { name: "writeM", start: 0 }, to: { name: "writeM", start: 0 } }, + { + from: { name: "addressM", start: 0 }, + to: { name: "addressM", start: 0 }, + }, + { from: { name: "newInM", start: 0 }, to: { name: "outM", start: 0 } }, + { from: { name: "pc", start: 0 }, to: { name: "pc", start: 0 } }, + ]); + + this.wire(this.rom, [ + { from: { name: "pc", start: 0 }, to: { name: "address", start: 0 } }, + { + from: { name: "instruction", start: 0 }, + to: { name: "out", start: 0 }, + }, + ]); + + this.wire(this.ram, [ + { from: { name: "newInM", start: 0 }, to: { name: "in", start: 0 } }, + { from: { name: "writeM", start: 0 }, to: { name: "load", start: 0 } }, + { + from: { name: "addressM", start: 0 }, + to: { name: "address", start: 0 }, + }, + { from: { name: "oldOutM", start: 0 }, to: { name: "out", start: 0 } }, + ]); + + for (const pin of [...this.ins.entries(), ...this.outs.entries()]) { + if (this.isClockedPin(pin.name)) { + this.clockedPins.add(pin.name); + } + } + } + + override eval() { + super.eval(); + } + + override get(name: string, offset?: number): Pin | undefined { + if ( + name.startsWith("PC") || + name.startsWith("ARegister") || + name.startsWith("DRegister") + ) { + return this.cpu.get(name); + } + if (name.startsWith("RAM16K")) { + return this.ram.get(name, offset); + } + return super.get(name, offset); + } + + override async load(fs: FileSystem, path: string): Promise { + return await this.rom.load(fs, path); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/index.ts b/web-ide-main/simulator/src/chip/builtins/index.ts new file mode 100644 index 0000000..be46c5a --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/index.ts @@ -0,0 +1,143 @@ +import { + Err, + isErr, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { parse } from "../builder.js"; +import { Chip } from "../chip.js"; +import { Add16 } from "./arithmetic/add_16.js"; +import { ALU, ALUNoStat } from "./arithmetic/alu.js"; +import { FullAdder } from "./arithmetic/full_adder.js"; +import { HalfAdder } from "./arithmetic/half_adder.js"; +import { Inc16 } from "./arithmetic/inc16.js"; +import { builtinOverrides } from "./builtinOverrides.js"; +import { + Computer, + CPU, + Keyboard, + Memory, + ROM32K, + Screen, +} from "./computer/computer.js"; +import { And, And16 } from "./logic/and.js"; +import { DMux, DMux4Way, DMux8Way } from "./logic/dmux.js"; +import { Mux, Mux4Way16, Mux8Way16, Mux16 } from "./logic/mux.js"; +import { Nand, Nand16 } from "./logic/nand.js"; +import { Not, Not16 } from "./logic/not.js"; +import { Or, Or8way, Or16 } from "./logic/or.js"; +import { Xor, Xor16 } from "./logic/xor.js"; +import { Bit, PC, Register, VRegister } from "./sequential/bit.js"; +import { DFF } from "./sequential/dff.js"; +import { RAM4K, RAM8, RAM16K, RAM64, RAM512 } from "./sequential/ram.js"; + +export { + Add16, + ALU, + And, + And16, + VRegister as ARegister, + Bit, + DFF, + DMux, + VRegister as DRegister, + FullAdder, + HalfAdder, + Inc16, + Mux, + Mux16, + Mux4Way16, + Mux8Way16, + Nand, + Nand16, + Not, + Not16, + Or, + Or16, + Or8way, + RAM16K, + RAM4K, + RAM512, + RAM64, + RAM8, + Register, + Xor, + Xor16, +}; + +export const REGISTRY = new Map Chip>( + ( + [ + ["Nand", Nand], + ["Nand16", Nand16], + ["Not", Not], + ["Not16", Not16], + ["And", And], + ["And16", And16], + ["Or", Or], + ["Or16", Or16], + ["Or8Way", Or8way], + ["XOr", Xor], + ["XOr16", Xor16], + ["Xor", Xor], + ["Xor16", Xor16], + ["Mux", Mux], + ["Mux16", Mux16], + ["Mux4Way16", Mux4Way16], + ["Mux8Way16", Mux8Way16], + ["DMux", DMux], + ["DMux4Way", DMux4Way], + ["DMux8Way", DMux8Way], + ["HalfAdder", HalfAdder], + ["FullAdder", FullAdder], + ["Add16", Add16], + ["Inc16", Inc16], + ["ALU", ALU], + ["ALUNoStat", ALUNoStat], + ["DFF", DFF], + ["Bit", Bit], + ["Register", Register], + ["ARegister", Register], + ["DRegister", Register], + ["PC", PC], + ["RAM8", RAM8], + ["RAM64", RAM64], + ["RAM512", RAM512], + ["RAM4K", RAM4K], + ["RAM16K", RAM16K], + ["ROM32K", ROM32K], + ["Screen", Screen], + ["Keyboard", Keyboard], + ["CPU", CPU], + ["Computer", Computer], + ["Memory", Memory], + ["ARegister", VRegister], + ["DRegister", VRegister], + ] as [string, { new (): Chip }][] + ).map(([name, ChipCtor]) => [ + name, + () => { + const chip = new ChipCtor(); + chip.name = name; + return chip; + }, + ]), +); + +export function hasBuiltinChip(name: string): boolean { + return REGISTRY.has(name); +} + +export async function getBuiltinChip(name: string): Promise> { + if (builtinOverrides[name]) { + const result = await parse(builtinOverrides[name], name); + if (isErr(result)) { + return Err(new Error(Err(result).message)); + } + return result; + } + const chip = REGISTRY.get(name); + return chip + ? Ok(chip()) + : Err(new Error(`Chip ${name} not in builtin registry`)); +} diff --git a/web-ide-main/simulator/src/chip/builtins/logic/and.ts b/web-ide-main/simulator/src/chip/builtins/logic/and.ts new file mode 100644 index 0000000..7dd5777 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/logic/and.ts @@ -0,0 +1,35 @@ +import { Chip, HIGH, LOW, Voltage } from "../../chip.js"; + +export function and(a: Voltage, b: Voltage): [Voltage] { + return [a === 1 && b === 1 ? HIGH : LOW]; +} + +export function and16(a: number, b: number): [number] { + return [a & b & 0xffff]; +} + +export class And extends Chip { + constructor() { + super(["a", "b"], ["out"]); + } + + override eval() { + const a = this.in("a").voltage(); + const b = this.in("b").voltage(); + const [n] = and(a, b); + this.out().pull(n); + } +} + +export class And16 extends Chip { + constructor() { + super(["a[16]", "b[16]"], ["out[16]"]); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + const [n] = and16(a, b); + this.out().busVoltage = n; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/logic/dmux.ts b/web-ide-main/simulator/src/chip/builtins/logic/dmux.ts new file mode 100644 index 0000000..ab56c2a --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/logic/dmux.ts @@ -0,0 +1,86 @@ +import { Chip, HIGH, LOW, Voltage } from "../../chip.js"; + +export function dmux(inn: Voltage, sel: Voltage): [Voltage, Voltage] { + const a = sel === LOW && inn === HIGH ? HIGH : LOW; + const b = sel === HIGH && inn === HIGH ? HIGH : LOW; + return [a, b]; +} + +export function dmux4way( + inn: Voltage, + sel: number, +): [Voltage, Voltage, Voltage, Voltage] { + const a = sel === 0b00 && inn === HIGH ? HIGH : LOW; + const b = sel === 0b01 && inn === HIGH ? HIGH : LOW; + const c = sel === 0b10 && inn === HIGH ? HIGH : LOW; + const d = sel === 0b11 && inn === HIGH ? HIGH : LOW; + return [a, b, c, d]; +} + +export function dmux8way( + inn: Voltage, + sel: number, +): [Voltage, Voltage, Voltage, Voltage, Voltage, Voltage, Voltage, Voltage] { + const a = sel === 0b000 && inn === HIGH ? HIGH : LOW; + const b = sel === 0b001 && inn === HIGH ? HIGH : LOW; + const c = sel === 0b010 && inn === HIGH ? HIGH : LOW; + const d = sel === 0b011 && inn === HIGH ? HIGH : LOW; + const e = sel === 0b100 && inn === HIGH ? HIGH : LOW; + const f = sel === 0b101 && inn === HIGH ? HIGH : LOW; + const g = sel === 0b110 && inn === HIGH ? HIGH : LOW; + const h = sel === 0b111 && inn === HIGH ? HIGH : LOW; + return [a, b, c, d, e, f, g, h]; +} + +export class DMux extends Chip { + constructor() { + super(["in", "sel"], ["a", "b"]); + } + + override eval() { + const inn = this.in("in").voltage(); + const sel = this.in("sel").voltage(); + + const [a, b] = dmux(inn, sel); + this.out("a").pull(a); + this.out("b").pull(b); + } +} + +export class DMux4Way extends Chip { + constructor() { + super(["in", "sel[2]"], ["a", "b", "c", "d"]); + } + + override eval() { + const inn = this.in("in").voltage(); + const sel = this.in("sel").busVoltage; + + const [a, b, c, d] = dmux4way(inn, sel); + this.out("a").pull(a); + this.out("b").pull(b); + this.out("c").pull(c); + this.out("d").pull(d); + } +} + +export class DMux8Way extends Chip { + constructor() { + super(["in", "sel[3]"], ["a", "b", "c", "d", "e", "f", "g", "h"]); + } + + override eval() { + const inn = this.in("in").voltage(); + const sel = this.in("sel").busVoltage; + + const [a, b, c, d, e, f, g, h] = dmux8way(inn, sel); + this.out("a").pull(a); + this.out("b").pull(b); + this.out("c").pull(c); + this.out("d").pull(d); + this.out("e").pull(e); + this.out("f").pull(f); + this.out("g").pull(g); + this.out("h").pull(h); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/logic/mux.ts b/web-ide-main/simulator/src/chip/builtins/logic/mux.ts new file mode 100644 index 0000000..1a8ad15 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/logic/mux.ts @@ -0,0 +1,117 @@ +import { Chip, LOW, Voltage } from "../../chip.js"; + +export function mux(a: Voltage, b: Voltage, sel: Voltage): [Voltage] { + return [sel === LOW ? a : b]; +} + +export function mux16(a: number, b: number, sel: Voltage): [number] { + return [sel === LOW ? a : b]; +} + +export function mux16_4( + a: number, + b: number, + c: number, + d: number, + sel: number, +): [number] { + const s2 = (sel & 0b01) as Voltage; + return (sel & 0b10) === 0b00 ? mux16(a, b, s2) : mux16(c, d, s2); +} + +export function mux16_8( + a: number, + b: number, + c: number, + d: number, + e: number, + f: number, + g: number, + h: number, + sel: number, +): [number] { + const s2 = (sel & 0b11) as Voltage; + return (sel & 0b100) === 0b000 + ? mux16_4(a, b, c, d, s2) + : mux16_4(e, f, g, h, s2); +} + +export class Mux extends Chip { + constructor() { + super(["a", "b", "sel"], ["out"]); + } + + override eval() { + const a = this.in("a").voltage(); + const b = this.in("b").voltage(); + const sel = this.in("sel").voltage(); + + const [set] = mux(a, b, sel); + this.out().pull(set); + } +} + +export class Mux16 extends Chip { + constructor() { + super(["a[16]", "b[16]", "sel"], ["out[16]"]); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + const sel = this.in("sel").voltage(); + const [out] = mux16(a, b, sel); + this.out().busVoltage = out; + } +} + +export class Mux4Way16 extends Chip { + constructor() { + super(["a[16]", "b[16]", "c[16]", "d[16]", "sel[2]"], ["out[16]"]); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + const c = this.in("c").busVoltage; + const d = this.in("d").busVoltage; + const sel = this.in("sel").busVoltage; + const [out] = mux16_4(a, b, c, d, sel); + + this.out().busVoltage = out; + } +} + +export class Mux8Way16 extends Chip { + constructor() { + super( + [ + "a[16]", + "b[16]", + "c[16]", + "d[16]", + "e[16]", + "f[16]", + "g[16]", + "h[16]", + "sel[3]", + ], + ["out[16]"], + ); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + const c = this.in("c").busVoltage; + const d = this.in("d").busVoltage; + const e = this.in("e").busVoltage; + const f = this.in("f").busVoltage; + const g = this.in("g").busVoltage; + const h = this.in("h").busVoltage; + const sel = this.in("sel").busVoltage; + const [out] = mux16_8(a, b, c, d, e, f, g, h, sel); + + this.out().busVoltage = out; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/logic/nand.ts b/web-ide-main/simulator/src/chip/builtins/logic/nand.ts new file mode 100644 index 0000000..1d2e124 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/logic/nand.ts @@ -0,0 +1,31 @@ +import { nand16 } from "../../../util/twos.js"; +import { Chip, HIGH, LOW, Voltage } from "../../chip.js"; + +export function nand(a: Voltage, b: Voltage): [Voltage] { + return [a === 1 && b === 1 ? LOW : HIGH]; +} + +export class Nand extends Chip { + constructor() { + super(["a", "b"], ["out"]); + } + + override eval() { + const a = this.in("a").voltage(); + const b = this.in("b").voltage(); + const [out] = nand(a, b); + this.out().pull(out); + } +} + +export class Nand16 extends Chip { + constructor() { + super(["a[16]", "b[16]"], ["out[16]"]); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + this.out().busVoltage = nand16(a, b); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/logic/not.ts b/web-ide-main/simulator/src/chip/builtins/logic/not.ts new file mode 100644 index 0000000..0ca3fdf --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/logic/not.ts @@ -0,0 +1,32 @@ +import { Chip, HIGH, LOW, Voltage } from "../../chip.js"; + +export function not(inn: Voltage): [Voltage] { + return [inn === LOW ? HIGH : LOW]; +} + +export function not16(inn: number): [number] { + return [~inn & 0xffff]; +} + +export class Not extends Chip { + constructor() { + super(["in"], ["out"]); + } + + override eval() { + const a = this.in("in").voltage(); + const [out] = not(a); + this.out().pull(out); + } +} + +export class Not16 extends Chip { + constructor() { + super(["in[16]"], ["out[16]"]); + } + + override eval() { + const [n] = not16(this.in().busVoltage); + this.out().busVoltage = n; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/logic/or.ts b/web-ide-main/simulator/src/chip/builtins/logic/or.ts new file mode 100644 index 0000000..046714b --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/logic/or.ts @@ -0,0 +1,51 @@ +import { Chip, HIGH, LOW, Voltage } from "../../chip.js"; + +export function or(a: Voltage, b: Voltage): [Voltage] { + return [a === 1 || b === 1 ? HIGH : LOW]; +} + +export function or16(a: number, b: number): [number] { + return [(a | b) & 0xffff]; +} + +export function or8way(a: number): [Voltage] { + return [(a & 0xff) === 0 ? LOW : HIGH]; +} + +export class Or extends Chip { + constructor() { + super(["a", "b"], ["out"]); + } + + override eval() { + const a = this.in("a").voltage(); + const b = this.in("b").voltage(); + const [out] = or(a, b); + this.out().pull(out); + } +} + +export class Or16 extends Chip { + constructor() { + super(["a[16]", "b[16]"], ["out[16]"]); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + const [out] = or16(a, b); + this.out().busVoltage = out; + } +} + +export class Or8way extends Chip { + constructor() { + super(["in[8]"], ["out"], "Or8way"); + } + + override eval() { + const inn = this.in().busVoltage; + const [out] = or8way(inn); + this.out().pull(out); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/logic/xor.ts b/web-ide-main/simulator/src/chip/builtins/logic/xor.ts new file mode 100644 index 0000000..5c21048 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/logic/xor.ts @@ -0,0 +1,35 @@ +import { Chip, HIGH, LOW, Voltage } from "../../chip.js"; + +export function xor(a: Voltage, b: Voltage): [Voltage] { + return [(a === HIGH && b === LOW) || (a === LOW && b === HIGH) ? HIGH : LOW]; +} + +export function xor16(a: number, b: number): [number] { + return [(a ^ b) & 0xffff]; +} + +export class Xor extends Chip { + constructor() { + super(["a", "b"], ["out"]); + } + + override eval() { + const a = this.in("a").voltage(); + const b = this.in("b").voltage(); + const [out] = xor(a, b); + this.out().pull(out); + } +} + +export class Xor16 extends Chip { + constructor() { + super(["a[16]", "b[16]"], ["out[16]"]); + } + + override eval() { + const a = this.in("a").busVoltage; + const b = this.in("b").busVoltage; + const [out] = xor16(a, b); + this.out().busVoltage = out; + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/sequential/bit.tsx b/web-ide-main/simulator/src/chip/builtins/sequential/bit.tsx new file mode 100644 index 0000000..b80accd --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/sequential/bit.tsx @@ -0,0 +1,111 @@ +import { Bus, ClockedChip, HIGH, LOW, Pin, Voltage } from "../../chip.js"; + +export class Bit extends ClockedChip { + bit: Voltage = LOW; + + constructor(name?: string) { + super(["in", "load"], ["out"], name, [], ["in", "load"]); + } + + override tick() { + if (this.in("load").voltage() === HIGH) { + this.bit = this.in().voltage(); + } + } + + override tock() { + this.out().pull(this.bit ?? 0); + } + + override reset() { + this.bit = LOW; + super.reset(); + } +} + +class RegisterBus extends Bus { + constructor( + name: string, + private register: { bits: number }, + ) { + super(name); + } + + override get busVoltage(): number { + return this.register.bits & 0xffff; + } + + override set busVoltage(num: number) { + this.register.bits = num & 0xffff; + } +} + +export class Register extends ClockedChip { + bits = 0x00; + + constructor(name?: string) { + super(["in[16]", "load"], ["out[16]"], name, [], ["in", "load"]); + } + + override tick() { + if (this.in("load").voltage() === HIGH) { + this.bits = this.in().busVoltage & 0xffff; + } + } + + override tock() { + this.out().busVoltage = this.bits & 0xffff; + } + + override get(name: string, offset?: number): Pin | undefined { + return name === this.name + ? new RegisterBus(this.name, this) + : super.get(name, offset); + } + + override reset() { + this.bits = 0x00; + super.reset(); + } +} + +export class VRegister extends Register {} + +export class PC extends ClockedChip { + bits = 0x00; + + constructor(name?: string) { + super( + ["in[16]", "reset", "load", "inc"], + ["out[16]"], + name, + [], + ["in", "reset", "load", "inc"], + ); + } + + override tick() { + if (this.in("reset").voltage() === HIGH) { + this.bits = 0; + } else if (this.in("load").voltage() === HIGH) { + this.bits = this.in().busVoltage & 0xffff; + } else if (this.in("inc").voltage() === HIGH) { + this.bits += 1; + } + } + + override tock() { + this.out().busVoltage = this.bits & 0xffff; + } + + override get(name: string, offset?: number): Pin | undefined { + return name === this.name + ? new RegisterBus(this.name, this) + : super.get(name, offset); + } + + override reset() { + this.bits = 0x00; + super.reset(); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/sequential/dff.ts b/web-ide-main/simulator/src/chip/builtins/sequential/dff.ts new file mode 100644 index 0000000..853a87d --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/sequential/dff.ts @@ -0,0 +1,19 @@ +import { ClockedChip } from "../../chip.js"; + +export class DFF extends ClockedChip { + constructor(name?: string) { + super(["in"], ["out"], name, ["t"], ["in"]); + } + + override tick() { + // Read in into t + const t = this.in().voltage(); + this.pin("t").pull(t); + } + + override tock() { + // write t into out + const t = this.pin("t").voltage(); + this.out().pull(t); + } +} diff --git a/web-ide-main/simulator/src/chip/builtins/sequential/ram.tsx b/web-ide-main/simulator/src/chip/builtins/sequential/ram.tsx new file mode 100644 index 0000000..19e2346 --- /dev/null +++ b/web-ide-main/simulator/src/chip/builtins/sequential/ram.tsx @@ -0,0 +1,113 @@ +import { assert } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { Memory, Memory as MemoryChip } from "../../../cpu/memory.js"; +import { Bus, ClockedChip, Pin } from "../../chip.js"; + +export class RAM extends ClockedChip { + protected _memory: MemoryChip; + private _nextData = 0; + private _address = 0; + + get memory() { + return this._memory; + } + get address() { + return this._address; + } + + constructor( + readonly width: number, + name?: string, + ) { + super( + ["in[16]", "load", `address[${width}]`], + [`out[16]`], + name, + [], + ["in", "load"], + ); + this._memory = new MemoryChip(Math.pow(2, this.width)); + } + + override tick() { + const load = this.in("load").voltage(); + this._address = this.in("address").busVoltage; + if (load) { + this._nextData = this.in().busVoltage; + this._memory.set(this._address, this._nextData); + } + } + + override tock() { + this.out().busVoltage = this._memory?.get(this._address) ?? 0; + } + + override eval() { + const address = this.in("address").busVoltage; + this.out().busVoltage = this._memory?.get(address) ?? 0; + } + + at(idx: number): Pin { + assert( + idx < this._memory.size, + () => `Request out of bounds (${idx} >= ${this._memory.size})`, + ); + return new RamBus(`${this.name}[${idx}]`, idx, this._memory); + } + + override get(name: string, offset?: number) { + return name === this.name ? this.at(offset ?? 0) : super.get(name); + } + + override reset(): void { + this._memory.reset(); + super.reset(); + } +} + +export class RamBus extends Bus { + constructor( + name: string, + private readonly index: number, + private ram: Memory, + ) { + super(name); + } + + override get busVoltage(): number { + return this.ram.get(this.index); + } + + override set busVoltage(num: number) { + this.ram.set(this.index, num); + } +} + +export class RAM8 extends RAM { + constructor() { + super(3, "RAM8"); + } +} + +export class RAM64 extends RAM { + constructor() { + super(6, "RAM64"); + } +} + +export class RAM512 extends RAM { + constructor() { + super(9, "RAM512"); + } +} + +export class RAM4K extends RAM { + constructor() { + super(12, "RAM4K"); + } +} + +export class RAM16K extends RAM { + constructor() { + super(14, "RAM16K"); + } +} diff --git a/web-ide-main/simulator/src/chip/chip.test.ts b/web-ide-main/simulator/src/chip/chip.test.ts new file mode 100644 index 0000000..6e8f94d --- /dev/null +++ b/web-ide-main/simulator/src/chip/chip.test.ts @@ -0,0 +1,910 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { bin } from "../util/twos.js"; +import { And, Inc16, Mux16, Not, Not16, Or, Xor } from "./builtins/index.js"; +import { Nand } from "./builtins/logic/nand.js"; +import { Bit, PC, Register } from "./builtins/sequential/bit.js"; +import { DFF } from "./builtins/sequential/dff.js"; +import { + Bus, + Chip, + ConstantBus, + HIGH, + InSubBus, + LOW, + OutSubBus, + parseToPin, + printChip, + TRUE_BUS, +} from "./chip.js"; +import { Clock } from "./clock.js"; + +describe("Chip", () => { + it("parses toPin", () => { + expect(parseToPin("a")).toMatchObject({ pin: "a" }); + expect(parseToPin("a[2]")).toMatchObject({ pin: "a", start: 2 }); + expect(parseToPin("a[2..4]")).toMatchObject({ + pin: "a", + start: 2, + end: 4, + }); + }); + + describe("combinatorial", () => { + describe("nand", () => { + it("can eval a nand gate", () => { + const nand = new Nand(); + nand.eval(); + expect(nand.out().voltage()).toBe(HIGH); + + nand.in("a")?.pull(HIGH); + nand.eval(); + expect(nand.out().voltage()).toBe(HIGH); + + nand.in("b")?.pull(HIGH); + nand.eval(); + expect(nand.out().voltage()).toBe(LOW); + + nand.in("a")?.pull(LOW); + nand.eval(); + expect(nand.out().voltage()).toBe(HIGH); + }); + }); + + describe("not", () => { + it("evaluates a not gate", () => { + const notChip = new Not(); + + notChip.eval(); + expect(notChip.out().voltage()).toBe(HIGH); + + notChip.in().pull(HIGH); + notChip.eval(); + expect(notChip.out().voltage()).toBe(LOW); + }); + }); + + describe("and", () => { + it("evaluates an and gate", () => { + const andChip = new And(); + + const a = assertExists(andChip.in("a")); + const b = assertExists(andChip.in("b")); + + andChip.eval(); + expect(andChip.out().voltage()).toBe(LOW); + + a.pull(HIGH); + andChip.eval(); + expect(andChip.out().voltage()).toBe(LOW); + + b.pull(HIGH); + andChip.eval(); + expect(andChip.out().voltage()).toBe(HIGH); + + a.pull(LOW); + andChip.eval(); + expect(andChip.out().voltage()).toBe(LOW); + }); + }); + + describe("or", () => { + it("evaluates an or gate", () => { + const orChip = new Or(); + + const a = assertExists(orChip.in("a")); + const b = assertExists(orChip.in("b")); + + orChip.eval(); + expect(orChip.out().voltage()).toBe(LOW); + + a.pull(HIGH); + orChip.eval(); + printChip(orChip); + expect(orChip.out().voltage()).toBe(HIGH); + + b.pull(HIGH); + orChip.eval(); + expect(orChip.out().voltage()).toBe(HIGH); + + a.pull(LOW); + orChip.eval(); + expect(orChip.out().voltage()).toBe(HIGH); + }); + }); + + describe("xor", () => { + it("evaluates an xor gate", () => { + const xorChip = new Xor(); + + const a = assertExists(xorChip.in("a")); + const b = assertExists(xorChip.in("b")); + + xorChip.eval(); + expect(xorChip.out().voltage()).toBe(LOW); + + a.pull(HIGH); + xorChip.eval(); + expect(xorChip.out().voltage()).toBe(HIGH); + + b.pull(HIGH); + xorChip.eval(); + expect(xorChip.out().voltage()).toBe(LOW); + + a.pull(LOW); + xorChip.eval(); + expect(xorChip.out().voltage()).toBe(HIGH); + }); + }); + }); + + describe("wide", () => { + describe("Not16", () => { + it("evaluates a not16 gate", () => { + const not16 = new Not16(); + + const inn = not16.in(); + + inn.busVoltage = 0x0; + not16.eval(); + expect(not16.out().busVoltage).toBe(0xffff); + + inn.busVoltage = 0xf00f; + not16.eval(); + expect(not16.out().busVoltage).toBe(0x0ff0); + }); + }); + + describe("bus voltage", () => { + it("sets and returns wide busses", () => { + const pin = new Bus("wide", 16); + pin.busVoltage = 0xf00f; + expect(pin.voltage(0)).toBe(1); + expect(pin.voltage(8)).toBe(0); + expect(pin.voltage(9)).toBe(0); + expect(pin.voltage(15)).toBe(1); + expect(pin.busVoltage).toBe(0xf00f); + }); + + it("creates wide busses internally", () => { + const chip = new Chip([], [], "WithWide"); + + chip.wire(new Not16(), [ + { + to: { name: "out", start: 0, width: 16 }, + from: { name: "a", start: 0, width: 16 }, + }, + ]); + + const width = chip.pins.get("a")?.width; + expect(width).toBe(16); + }); + }); + + describe("and16", () => undefined); + }); + + describe("SubBus", () => { + class Not3 extends Chip { + constructor() { + super(["in[3]"], ["out[3]"]); + } + + override eval() { + const inn = this.in().busVoltage; + const out = ~inn & 0b111; + this.out().busVoltage = out; + } + } + + it("drives OutSubBus", () => { + const notChip = new Not(); + const inPin = new Bus("in", 3); + const outSubBus = new OutSubBus(notChip.in(), 1, 1); + inPin.connect(outSubBus); + + inPin.busVoltage = 0b0; + expect(notChip.in().busVoltage).toBe(0b0); + inPin.busVoltage = 0b111; + expect(notChip.in().busVoltage).toBe(0b1); + }); + + it("wires SubBus in=in[1]", () => { + const not3Chip = new Not3(); + const notPart = new Not(); + const inPin = not3Chip.in(); + + not3Chip.wire(notPart, [ + { + from: { name: "in", start: 1, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + ]); + + inPin.busVoltage = 0b0; + not3Chip.eval(); + expect(notPart.in().busVoltage).toBe(0b0); + inPin.busVoltage = 0b111; + not3Chip.eval(); + expect(notPart.in().busVoltage).toBe(0b1); + }); + + it("wires SubBus in[0]=a", () => { + const chip = new Chip(["a", "b"], ["out[3]"]); + const not3 = new Not3(); + + // Not3(in[0]=a, in[1]=b, in[2]=b, out=out) + chip.wire(not3, [ + { + from: { name: "a", start: 0, width: undefined }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "b", start: 0, width: undefined }, + to: { name: "in", start: 1, width: 1 }, + }, + { + from: { name: "b", start: 0, width: undefined }, + to: { name: "in", start: 2, width: 1 }, + }, + { + from: { name: "out", start: 0, width: undefined }, + to: { name: "out", start: 0, width: undefined }, + }, + ]); + + assertExists(chip.in("b")).busVoltage = 1; + assertExists(chip.in("a")).busVoltage = 0; + chip.eval(); + expect(chip.out().busVoltage).toBe(0b001); + }); + + it("wires SubBus out=out[1]", () => { + const threeChip = new (class ThreeChip extends Chip { + constructor() { + super([], ["out[3]"]); + } + })(); + + const notPart = new Not(); + threeChip.wire(notPart, [ + { + from: { name: "out", start: 1, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + const outPin = notPart.out(); + + outPin.busVoltage = 0b0; + expect(threeChip.out().busVoltage).toBe(0b0); + outPin.busVoltage = 0b1; + expect(threeChip.out().busVoltage).toBe(0b010); + }); + + it("widens output busses if necessary", () => { + const mux4way16 = new Chip( + ["in[16]", "b[16]", "c[16]", "d[16]", "sel[2]"], + ["out[16]"], + ); + + mux4way16.wire(new Mux16(), [ + { + from: { name: "a", start: 0 }, + to: { name: "a", start: 0 }, + }, + { + from: { name: "b", start: 0 }, + to: { name: "b", start: 0 }, + }, + { + from: { name: "sel", start: 0, width: 1 }, + to: { name: "sel", start: 0 }, + }, + { + from: { name: "out1", start: 0 }, + to: { name: "out", start: 0 }, + }, + ]); + + mux4way16.wire(new Mux16(), [ + { + from: { name: "c", start: 0 }, + to: { name: "a", start: 0 }, + }, + { + from: { name: "d", start: 0 }, + to: { name: "b", start: 0 }, + }, + { + from: { name: "sel", start: 0, width: 1 }, + to: { name: "sel", start: 0 }, + }, + { + from: { name: "out2", start: 0 }, + to: { name: "out", start: 0 }, + }, + ]); + + mux4way16.wire(new Mux16(), [ + { + from: { name: "out1", start: 0 }, + to: { name: "a", start: 0 }, + }, + { + from: { name: "out2", start: 0 }, + to: { name: "b", start: 0 }, + }, + { + from: { name: "sel", start: 1, width: 1 }, + to: { name: "sel", start: 0, width: 1 }, + }, + { + from: { name: "out", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + }); + + it("widens internal busses if necessary", () => { + const chip = new Chip(["in"], [], "test", ["t"]); + + chip.wire(new Not(), [ + { + from: { name: "in", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "t", start: 1, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + + chip.in().busVoltage = 0b0; + chip.eval(); + expect(chip.pin("t").busVoltage).toBe(0b10); + }); + + class Not8 extends Chip { + constructor() { + super(["in[8]"], ["out[8]"]); + } + + override eval() { + const inn = this.in().busVoltage; + const out = ~inn & 0xff; + this.out().busVoltage = out; + } + } + + it("assigns input inside wide busses", () => { + class Foo extends Chip { + readonly not8 = new Not8(); + constructor() { + super([], []); + this.parts.push(this.not8); + this.pins.insert(new ConstantBus("pal", 0b1010_1100_0011_0101)); + this.pins.get("pal")?.connect(new OutSubBus(this.not8.in(), 4, 8)); + this.pins.emplace("out1", 5); + const out1Bus = new OutSubBus( + assertExists(this.pins.get("out1")), + 3, + 5, + ); + this.not8.out().connect(out1Bus); + } + } + + const foo = new Foo(); + foo.eval(); + expect(foo.not8.in().busVoltage).toEqual(0b1100_0011); + expect(foo.pin("out1")?.busVoltage).toEqual(0b00111); + }); + + it("assigns output inside wide busses", () => { + // From figure A2.2, page 287, 2nd edition + class Foo extends Chip { + readonly not8 = new Not8(); + constructor() { + super([], []); + this.parts.push(this.not8); + this.pins.insert(new ConstantBus("six", 0b110)); + // in[0..1] = true + TRUE_BUS.connect(new InSubBus(this.not8.in(), 0, 2)); + // in[3..5] = six, 110 + this.pins.get("six")?.connect(new InSubBus(this.not8.in(), 3, 3)); + // in[7] = true + TRUE_BUS.connect(new InSubBus(this.not8.in(), 7, 1)); + // out[3..7] = out1 + this.pins.emplace("out1", 5); + const out1Bus = new OutSubBus( + assertExists(this.pins.get("out1")), + 3, + 5, + ); + this.not8.out().connect(out1Bus); + } + } + + const foo = new Foo(); + foo.eval(); + expect(foo.not8.in().busVoltage).toBe(0b10110011); + expect(foo.pin("out1").busVoltage).toBe(0b01001); + }); + + it("pulls portions of true", () => { + class Foo extends Chip { + readonly chip = new Not3(); + constructor() { + super([], []); + this.wire(this.chip, [ + { + from: { name: "true", start: 0, width: 1 }, + to: { name: "in", start: 1, width: 2 }, + }, + ]); + } + } + + const foo = new Foo(); + + const inVoltage = foo.chip.in().busVoltage; + expect(bin(inVoltage)).toBe(bin(0b110)); + }); + + it("pulls start of true", () => { + class Foo extends Chip { + readonly chip = new Not3(); + constructor() { + super([], []); + this.wire(this.chip, [ + { + from: { name: "true", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 2 }, + }, + ]); + } + } + + const foo = new Foo(); + + const inVoltage = foo.chip.in().busVoltage; + expect(bin(inVoltage)).toBe(bin(0b11)); + }); + }); + + describe("sequential", () => { + const clock = Clock.get(); + beforeEach(() => { + clock.reset(); + }); + + describe("dff", () => { + it("flips and flops", () => { + clock.reset(); + const dff = new DFF(); + + clock.tick(); // Read input, low + expect(dff.out().voltage()).toBe(LOW); + clock.tock(); // Write t, low + expect(dff.out().voltage()).toBe(LOW); + + dff.in().pull(HIGH); + clock.tick(); // Read input, HIGH + expect(dff.out().voltage()).toBe(LOW); + clock.tock(); // Write t, HIGH + expect(dff.out().voltage()).toBe(HIGH); + + clock.tick(); + expect(dff.out().voltage()).toBe(HIGH); + clock.tock(); + expect(dff.out().voltage()).toBe(HIGH); + }); + }); + + describe("bit", () => { + it("does not update when load is low", () => { + clock.reset(); + const bit = new Bit(); + + const inn = bit.in(); + const load = bit.in("load"); + const out = bit.out(); + + load.pull(LOW); + inn.pull(HIGH); + expect(out.voltage()).toBe(LOW); + clock.tick(); + expect(out.voltage()).toBe(LOW); + clock.tock(); + expect(out.voltage()).toBe(LOW); + }); + + it("does updates when load is high", () => { + clock.reset(); + const bit = new Bit(); + + const inn = bit.in(); + const load = bit.in("load"); + const out = bit.out(); + + load.pull(HIGH); + inn.pull(HIGH); + expect(out.voltage()).toBe(LOW); + clock.tick(); + expect(out.voltage()).toBe(LOW); + clock.tock(); + expect(out.voltage()).toBe(HIGH); + }); + }); + + describe("PC", () => { + it("remains constant when not ticking", () => { + clock.reset(); + const pc = new PC(); + const out = pc.out(); + + expect(out.busVoltage).toBe(0); + clock.tick(); + expect(out.busVoltage).toBe(0); + clock.tock(); + expect(out.busVoltage).toBe(0); + clock.tick(); + expect(out.busVoltage).toBe(0); + clock.tock(); + expect(out.busVoltage).toBe(0); + }); + + it("increments when ticking", () => { + clock.reset(); + const pc = new PC(); + const out = pc.out(); + + pc.in("inc").pull(HIGH); + + clock.tick(); + expect(out.busVoltage).toBe(0); + clock.tock(); + expect(out.busVoltage).toBe(1); + + clock.tick(); + expect(out.busVoltage).toBe(1); + clock.tock(); + expect(out.busVoltage).toBe(2); + + for (let i = 0; i < 10; i++) { + clock.eval(); + expect(out.busVoltage).toBe(i + 3); + } + }); + + it("loads a jump value", () => { + clock.reset(); + const pc = new PC(); + const out = pc.out(); + + pc.in().busVoltage = 0x8286; + + expect(out.busVoltage).toBe(0); + clock.tick(); + expect(out.busVoltage).toBe(0); + clock.tock(); + expect(out.busVoltage).toBe(0); + + pc.in("load").pull(HIGH); + + expect(out.busVoltage).toBe(0); + clock.eval(); + expect(out.busVoltage).toBe(0x8286); + }); + + it("resets", () => { + clock.reset(); + const pc = new PC(); + const out = pc.out(); + pc.in("inc").pull(HIGH); + + expect(out.busVoltage).toBe(0); + + for (let i = 0; i < 10; i++) { + clock.eval(); + } + + expect(out.busVoltage).toBe(10); + + pc.in("reset").pull(HIGH); + + clock.eval(); + + expect(out.busVoltage).toBe(0); + }); + }); + }); + + it("sorts parts before eval", () => { + class FooA extends Chip { + readonly notA = new Not(); + readonly notB = new Not(); + constructor() { + super([], ["out"], "Foo", ["x"]); + this.wire(this.notA, [ + { + from: { name: "x", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "out", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + this.wire(this.notB, [ + { + from: { name: "true", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "x", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + } + } + + const fooA = new FooA(); + fooA.sortParts(); + expect(fooA.parts).toEqual([fooA.notB, fooA.notA]); + + class FooB extends Chip { + readonly notA = new Not(); + readonly notB = new Not(); + constructor() { + super([], ["out"], "Foo", ["x"]); + this.wire(this.notA, [ + { + from: { name: "true", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "x", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + this.wire(this.notB, [ + { + from: { name: "x", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "out", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + } + } + + const fooB = new FooB(); + fooB.sortParts(); + expect(fooB.parts).toEqual([fooB.notA, fooB.notB]); + }); + + it("sorts clocked chips", () => { + class FooC extends Chip { + readonly register = new Register(); + readonly inc16A = new Inc16(); + readonly inc16B = new Inc16(); + constructor() { + super([], [], "Foo", []); + this.wire(this.inc16B, [ + { + from: { name: "b", start: 0, width: 16 }, + to: { name: "in", start: 0, width: 16 }, + }, + { + from: { name: "c", start: 0, width: 16 }, + to: { name: "out", start: 0, width: 16 }, + }, + ]); + this.wire(this.register, [ + { + from: { name: "c", start: 0, width: 16 }, + to: { name: "in", start: 0, width: 16 }, + }, + { + from: { name: "true", start: 0, width: 1 }, + to: { name: "load", start: 0, width: 1 }, + }, + { + from: { name: "a", start: 0, width: 16 }, + to: { name: "out", start: 0, width: 16 }, + }, + ]); + this.wire(this.inc16A, [ + { + from: { name: "a", start: 0, width: 16 }, + to: { name: "in", start: 0, width: 16 }, + }, + { + from: { name: "b", start: 0, width: 16 }, + to: { name: "out", start: 0, width: 16 }, + }, + ]); + } + } + const fooC = new FooC(); + fooC.sortParts(); + const parts = fooC.parts.map((chip) => chip.id); + expect(parts).toEqual([fooC.register.id, fooC.inc16A.id, fooC.inc16B.id]); + }); + + it("evals without order issues (after sorting)", () => { + /* + CHIP Or { + IN a, b; + OUT out; + + PARTS: + + Not(in =b , out = net2); + Nand(a = net, b =net2 , out =out ); + Not(in =a , out = net); +} + */ + class OrA extends Chip { + readonly nota = new Not(); + readonly nand = new Nand(); + readonly notb = new Not(); + constructor() { + super(["a", "b"], ["out"], "OrA", []); + this.wire(this.nota, [ + { + from: { name: "b", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "net2", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + this.wire(this.nand, [ + { + from: { name: "net", start: 0, width: 1 }, + to: { name: "a", start: 0, width: 1 }, + }, + { + from: { name: "net2", start: 0, width: 1 }, + to: { name: "b", start: 0, width: 1 }, + }, + { + from: { name: "out", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + this.wire(this.notb, [ + { + from: { name: "a", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "net", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + this.sortParts(); + } + } + + class OrB extends Chip { + readonly nota = new Not(); + readonly nand = new Nand(); + readonly notb = new Not(); + constructor() { + super(["a", "b"], ["out"], "OrB", []); + this.wire(this.nota, [ + { + from: { name: "b", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "net2", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + this.wire(this.notb, [ + { + from: { name: "a", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "net", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + this.wire(this.nand, [ + { + from: { name: "net", start: 0, width: 1 }, + to: { name: "a", start: 0, width: 1 }, + }, + { + from: { name: "net2", start: 0, width: 1 }, + to: { name: "b", start: 0, width: 1 }, + }, + { + from: { name: "out", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ]); + } + } + + class OrC extends Chip { + readonly nota = new Not(); + readonly nand = new Nand(); + readonly notb = new Not(); + constructor() { + super(["a", "b"], ["out"], "OrC", []); + this.wireAll([ + { + part: this.nota, + connections: [ + { + from: { name: "b", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "net2", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ], + }, + { + part: this.nand, + connections: [ + { + from: { name: "net", start: 0, width: 1 }, + to: { name: "a", start: 0, width: 1 }, + }, + { + from: { name: "net2", start: 0, width: 1 }, + to: { name: "b", start: 0, width: 1 }, + }, + { + from: { name: "out", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ], + }, + { + part: this.notb, + connections: [ + { + from: { name: "a", start: 0, width: 1 }, + to: { name: "in", start: 0, width: 1 }, + }, + { + from: { name: "net", start: 0, width: 1 }, + to: { name: "out", start: 0, width: 1 }, + }, + ], + }, + ]); + } + } + + const ora = new OrA(); + ora.in("a").pull(HIGH); + ora.in("b").pull(LOW); + ora.eval(); + expect(ora.out("out").busVoltage).toBe(HIGH); + + const orb = new OrB(); + orb.in("a").pull(HIGH); + orb.in("b").pull(LOW); + orb.eval(); + expect(orb.out("out").busVoltage).toBe(HIGH); + + const orc = new OrC(); + orc.in("a").pull(HIGH); + orc.in("b").pull(LOW); + orc.eval(); + expect(orc.out("out").busVoltage).toBe(HIGH); + }); +}); diff --git a/web-ide-main/simulator/src/chip/chip.ts b/web-ide-main/simulator/src/chip/chip.ts new file mode 100644 index 0000000..69159ab --- /dev/null +++ b/web-ide-main/simulator/src/chip/chip.ts @@ -0,0 +1,830 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import { assert, assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { range } from "@davidsouther/jiffies/lib/esm/range.js"; +import { + Err, + isErr, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import type { Subscription } from "rxjs"; +import { bin } from "../util/twos.js"; +import { Clock } from "./clock.js"; + +export const HIGH = 1; +export const LOW = 0; +export type Voltage = typeof HIGH | typeof LOW; + +export interface Pin { + readonly name: string; + readonly width: number; + busVoltage: number; + pull(voltage: Voltage, bit?: number): void; + toggle(bit?: number): void; + voltage(bit?: number): Voltage; + connect(pin: Pin): void; +} + +export function isConstantPin(pinName: string): boolean { + return ( + pinName === "false" || + pinName === "true" || + pinName === "0" || + pinName === "1" + ); +} + +export class Bus implements Pin { + state: Voltage[]; + next: Pin[] = []; + + constructor( + readonly name: string, + readonly width = 1, + ) { + this.state = range(0, this.width).map(() => LOW); + } + + ensureWidth(newWidth: number) { + assert(newWidth <= 16, `Cannot widen past 16 to ${newWidth} bits`); + if (this.width < newWidth) { + (this as { width: number }).width = newWidth; + this.state = [ + ...this.state, + ...range(this.width, newWidth).map(() => LOW as Voltage), + ]; + } + } + + connect(next: Pin) { + this.next.push(next); + next.busVoltage = this.busVoltage; + } + + pull(voltage: Voltage, bit = 0) { + assert( + bit >= 0 && bit < this.width, + `Bit out of bounds: ${this.name}@${bit}`, + ); + this.state[bit] = voltage; + this.next.forEach((n) => n.pull(voltage, bit)); + } + + voltage(bit = 0): Voltage { + assert(bit >= 0 && bit < this.width); + return this.state[bit]; + } + + set busVoltage(voltage: number) { + for (const i of range(0, this.width)) { + this.state[i] = ((voltage & (1 << i)) >> i) as Voltage; + } + this.next.forEach((n) => (n.busVoltage = this.busVoltage)); + } + + get busVoltage(): number { + return range(0, this.width).reduce((b, i) => b | (this.state[i] << i), 0); + } + + toggle(bit = 0) { + const nextVoltage = this.voltage(bit) === LOW ? HIGH : LOW; + this.pull(nextVoltage, bit); + } +} + +export class InSubBus extends Bus { + constructor( + private bus: Pin, + private start: number, + override readonly width = 1, + ) { + super(bus.name); + assert( + start >= 0 && start + width <= bus.width, + `Mismatched InSubBus dimensions on ${bus.name} (${width} + ${start} > ${bus.width})`, + ); + this.connect(bus); + } + + override pull(voltage: Voltage, bit = 0) { + assert(bit >= 0 && bit < this.width); + this.bus.pull(voltage, this.start + bit); + } + + override voltage(bit = 0): Voltage { + assert(bit >= 0 && bit < this.width); + return this.bus.voltage(this.start + bit); + } + + override set busVoltage(voltage: number) { + const high = this.bus.busVoltage & ~mask(this.width + this.start); + const low = this.bus.busVoltage & mask(this.start); + const mid = (voltage & mask(this.width)) << this.start; + this.bus.busVoltage = high | mid | low; + } + + override get busVoltage(): number { + return (this.bus.busVoltage >> this.start) & mask(this.width); + } + + override connect(bus: Pin): void { + assert( + this.start + this.width <= bus.width, + `Mismatched InSubBus connection dimensions (From ${bus.name} to ${this.name})`, + ); + this.bus = bus; + } +} + +export class OutSubBus extends Bus { + constructor( + private bus: Pin, + private start: number, + override readonly width = 1, + ) { + super(bus.name); + assert(start >= 0 && width <= bus.width, `Mismatched OutSubBus dimensions`); + this.connect(bus); + } + + override pull(voltage: Voltage, bit = 0) { + if (bit >= this.start && bit < this.start + this.width) { + this.bus.pull(voltage, bit - this.start); + } + } + + override set busVoltage(voltage: number) { + this.bus.busVoltage = + (voltage & mask(this.width + this.start)) >> this.start; + } + + override get busVoltage(): number { + return (this.bus.busVoltage >> this.start) & mask(this.width); + } + + override connect(bus: Pin): void { + assert( + this.width <= bus.width, + `Mismatched OutSubBus connection dimensions`, + ); + this.bus = bus; + } +} + +export class ConstantBus extends Bus { + constructor( + name: string, + private readonly value: number, + ) { + super(name, 16 /* TODO: get high bit index */); + } + + pullHigh(_ = 0) { + return undefined; + } + pullLow(_ = 0) { + return undefined; + } + override voltage(_ = 0): Voltage { + return (this.busVoltage & 0x1) as Voltage; + } + + override set busVoltage(voltage: number) { + // Noop + } + override get busVoltage(): number { + return this.value; + } +} + +export const TRUE_BUS = new ConstantBus("true", 0xffff); +export const FALSE_BUS = new ConstantBus("false", 0); + +export function parsePinDecl(toPin: string): { + pin: string; + width: number; +} { + const { pin, w } = toPin.match(/(?[a-zA-Z]+)(\[(?\d+)\])?/) + ?.groups as { + pin: string; + w?: string; + }; + return { + pin, + width: w ? Number(w) : 1, + }; +} + +export function parseToPin(toPin: string): { + pin: string; + start?: number; + end?: number; +} { + const { pin, i, j } = toPin.match( + /(?[a-z]+)(\[(?\d+)(\.\.(?\d+))?\])?/, + )?.groups as { pin: string; i?: string; j?: string }; + return { + pin, + start: i ? Number(i) : undefined, + end: j ? Number(j) : undefined, + }; +} + +export class Pins { + private readonly map = new Map(); + + insert(pin: Pin) { + const { name } = pin; + assert(!this.map.has(name), `Pins already has ${name}!`); + this.map.set(name, pin); + } + + emplace(name: string, minWidth?: number) { + if (this.has(name)) { + return assertExists(this.get(name)); + } else { + const pin = new Bus(name, minWidth); + this.insert(pin); + return pin; + } + } + + has(pin: string): boolean { + return this.map.has(pin); + } + + get(pin: string): Pin | undefined { + return this.map.get(pin); + } + + entries(): Iterable { + return this.map.values(); + } + + [Symbol.iterator]() { + return this.map[Symbol.iterator](); + } +} + +function validateWidth( + start: number, + width: number, + pin: Pin, +): Result { + return start + width <= pin.width + ? Ok() + : Err(`Sub-bus index out of range (${pin.name} has width ${pin.width})`); +} + +let id = 0; + +export interface PartWireError { + wireIndex: number; + lhs: boolean; + message: string; +} + +export interface WireError { + message: string; + lhs: boolean; +} +export class Chip { + readonly id = id++; + ins = new Pins(); + outs = new Pins(); + pins = new Pins(); + insToPart = new Map>(); + partToOuts = new Map>(); + parts: Chip[] = []; + clockedPins: Set; + clockSubscription?: Subscription; + + get clocked() { + if (this.clockedPins.size > 0) { + return true; + } + for (const part of this.parts) { + if (part.clocked) return true; + } + return false; + } + + constructor( + ins: (string | { pin: string; width: number })[], + outs: (string | { pin: string; width: number })[], + public name?: string, + internals: (string | { pin: string; width: number })[] = [], + clocked: string[] = [], + ) { + for (const inn of ins) { + const { pin, width = 1 } = + (inn as { pin: string }).pin !== undefined + ? (inn as { pin: string; width: number }) + : parsePinDecl(inn as string); + this.ins.insert(new Bus(pin, width)); + } + + for (const out of outs) { + const { pin, width = 1 } = + (out as { pin: string }).pin !== undefined + ? (out as { pin: string; width: number }) + : parsePinDecl(out as string); + this.outs.insert(new Bus(pin, width)); + } + + for (const internal of internals) { + const { pin, width = 1 } = + (internal as { pin: string }).pin !== undefined + ? (internal as { pin: string; width: number }) + : parsePinDecl(internal as string); + this.pins.insert(new Bus(pin, width)); + } + + this.clockedPins = new Set(clocked); + + this.subscribeToClock(); + } + + subscribeToClock() { + this.clockSubscription?.unsubscribe(); + this.clockSubscription = Clock.subscribe(() => this.eval()); + } + + reset() { + for (const [_, pin] of this.ins) { + pin.busVoltage = 0; + } + for (const part of this.parts) { + part.reset(); + } + this.eval(); + } + + in(pin = "in"): Pin { + assert(this.hasIn(pin), `No in pin ${pin}`); + return assertExists(this.ins.get(pin)); + } + + out(pin = "out"): Pin { + assert(this.hasOut(pin), `No in pin ${pin}`); + return assertExists(this.outs.get(pin)); + } + + hasIn(pin: string): boolean { + return this.ins.has(pin); + } + + hasOut(pin: string): boolean { + return this.outs.has(pin); + } + + pin(name: string): Pin { + assert(this.pins.has(name), "Pin not available in "); + return assertExists(this.pins.get(name)); + } + + get(name: string, offset?: number): Pin | undefined { + if (this.ins.has(name)) { + return assertExists(this.ins.get(name)); + } + if (this.outs.has(name)) { + return assertExists(this.outs.get(name)); + } + if (this.pins.has(name)) { + return assertExists(this.pins.get(name)); + } + return this.getBuiltin(name, offset); + } + + private getBuiltin(name: string, offset = 0): Pin | undefined { + if (BUILTIN_NAMES.includes(name)) { + for (const part of this.parts) { + const pin = part.get(name, offset); + if (pin) { + return pin; + } + } + } + return undefined; + } + + isInPin(pin: string): boolean { + return this.ins.has(pin); + } + + isOutPin(pin: string): boolean { + return this.outs.has(pin); + } + + isExternalPin(pin: string): boolean { + return this.isInPin(pin) || this.isOutPin(pin) || isConstantPin(pin); + } + + isInternalPin(pin: string): boolean { + return !this.isExternalPin(pin); + } + + pathExists(start: string, end: string) { + const nodes: (Chip | string)[] = [start]; + + while (nodes.length > 0) { + const node = assertExists(nodes.pop()); + if (typeof node == "string") { + if (node == end) { + return true; + } + nodes.push(...(this.insToPart.get(node) ?? [])); + } else { + nodes.push(...(this.partToOuts.get(node) ?? [])); + } + } + + return false; + } + + isClockedPin(pin: string) { + if (this.isInPin(pin)) { + return ![...this.outs].some(([out, _]) => this.pathExists(pin, out)); + } else { + return ![...this.ins].some(([in_, _]) => this.pathExists(in_, pin)); + } + } + + hasConnection(from: Chip, to: Chip): boolean { + return [...(this.partToOuts.get(from) ?? [])].some((pin) => + this.insToPart.get(pin)?.has(to), + ); + } + + wire(part: Chip, connections: Connection[]): Result { + for (let i = 0; i < connections.length; i++) { + const { from, to } = connections[i]; + if (part.isOutPin(to.name)) { + const result = this.wireOutPin(part, to, from); + if (isErr(result)) { + return Err({ + wireIndex: i, + lhs: Err(result).lhs, + message: Err(result).message, + }); + } + } else { + const result = this.wireInPin(part, to, from); + if (isErr(result)) { + return Err({ + wireIndex: i, + lhs: Err(result).lhs, + message: Err(result).message, + }); + } + } + } + this.parts.push(part); + + return Ok(); + } + + wireAll(wires: Iterable<{ part: Chip; connections: Connection[] }>) { + for (const { part, connections } of wires) { + this.wire(part, connections); + } + this.sortParts(); + } + + // Returns whether the part connection graph has a loop. This should be called + // after wiring pins, so that connections are sorted topologically to best + // simulate non-order-dependent wiring. This can be handled manually (OrB), + // by calling sortParts() after wiring (OrA), or by using wireAll for creating + // wires (OrC). + sortParts(): boolean { + const sorted: Chip[] = []; + const visited = new Set(); + const visiting = new Set(); + + type Node = { part: Chip; isReturning: boolean }; + + const stack: Node[] = this.parts.map((part) => ({ + part, + isReturning: false, + })); + + while (stack.length > 0) { + const node = assertExists(stack.pop()); + + if (node.isReturning) { + // If we are returning to this node, we can safely add it to the sorted list + visited.add(node.part); + sorted.push(node.part); + } else if (!visited.has(node.part)) { + if (visiting.has(node.part)) { + return true; + } + visiting.add(node.part); + + // Re-push this node to handle it on return + stack.push({ part: node.part, isReturning: true }); + + // Push all its children to visit them + for (const out of this.partToOuts.get(node.part) ?? []) { + stack.push( + ...Array.from(this.insToPart.get(out) ?? []) + .filter((part) => !visited.has(part)) + .map((part) => ({ + part, + isReturning: false, + })), + ); + } + } + } + + this.parts = sorted.reverse(); + return false; + } + + private findPin(from: string, minWidth?: number): Pin { + if (from === "true" || from === "1") { + return TRUE_BUS; + } + if (from === "false" || from === "0") { + return FALSE_BUS; + } + if (this.ins.has(from)) { + return assertExists(this.ins.get(from)); + } + if (this.outs.has(from)) { + return assertExists(this.outs.get(from)); + } + return this.pins.emplace(from, minWidth); + } + + private wireOutPin( + part: Chip, + to: PinSide, + from: PinSide, + ): Result { + const partPin = assertExists( + part.outs.get(to.name), + () => `Cannot wire to missing pin ${to.name}`, + ); + to.width ??= partPin.width; + + let chipPin = this.findPin(from.name, from.width ?? to.width); + const isInternal = this.pins.has(chipPin.name); + + from.width ??= chipPin.width; + + if (chipPin instanceof ConstantBus) { + return Err({ + message: `Cannot wire to constant bus`, + lhs: true, + }); + } + + // Widen internal pins + if (isInternal && chipPin instanceof Bus) { + chipPin.ensureWidth(from.start + from.width); + } + + // Wrap the chipPin in an InBus when the chip side is dimensioned + if (from.start > 0 || from.width !== chipPin.width) { + const result = validateWidth(from.start, from.width, chipPin); + if (isErr(result)) { + return Err({ + message: Err(result), + lhs: true, + }); + } + chipPin = new InSubBus(chipPin, from.start, from.width); + } + + // Wrap the chipPin in an OutBus when the part side is dimensioned + if (to.start > 0 || to.width !== partPin.width) { + const result = validateWidth(to.start, to.width, partPin); + if (isErr(result)) { + return Err({ + message: Err(result), + lhs: false, + }); + } + chipPin = new OutSubBus(chipPin, to.start, to.width); + } + + if (!part.clockedPins.has(partPin.name)) { + const partToOuts = this.partToOuts.get(part) ?? new Set(); + partToOuts.add(chipPin.name); + this.partToOuts.set(part, partToOuts); + } + + const loop = this.sortParts(); + + if (loop) { + const partToOuts = this.partToOuts.get(part) ?? new Set(); + partToOuts.delete(chipPin.name); + this.partToOuts.set(part, partToOuts); + return Err({ message: "Circular pin dependency", lhs: false }); + } else { + partPin.connect(chipPin); + } + + return Ok(); + } + + private wireInPin( + part: Chip, + to: PinSide, + from: PinSide, + ): Result { + let partPin = assertExists( + part.ins.get(to.name), + () => `Cannot wire to missing pin ${to.name}`, + ); + to.width ??= partPin.width; + + const chipPin = this.findPin(from.name, from.width ?? to.width); + + from.width ??= chipPin.width; + + // Wrap the partPin in an InBus when the part side is dimensioned + if (to.start > 0 || to.width !== partPin.width) { + const result = validateWidth(to.start, to.width, partPin); + if (isErr(result)) { + return Err({ + message: Err(result), + lhs: true, + }); + } + partPin = new InSubBus(partPin, to.start, to.width); + } + + // Wrap the partPin in an OutBus when the chip side is dimensioned + if (!["true", "false"].includes(chipPin.name)) { + if (from.start > 0 || from.width !== chipPin.width) { + const result = validateWidth(from.start, from.width, chipPin); + if (isErr(result)) { + return Err({ + message: Err(result), + lhs: false, + }); + } + partPin = new OutSubBus(partPin, from.start, from.width); + } + } + + if (!part.clockedPins.has(partPin.name)) { + const pinsToPart = this.insToPart.get(chipPin.name) ?? new Set(); + pinsToPart.add(part); + this.insToPart.set(chipPin.name, pinsToPart); + } + + const loop = this.sortParts(); + + if (loop) { + const pinsToPart = this.insToPart.get(chipPin.name) ?? new Set(); + pinsToPart.delete(part); + this.insToPart.set(chipPin.name, pinsToPart); + return Err({ message: "Circular pin dependency", lhs: true }); + } else { + chipPin.connect(partPin); + } + + return Ok(); + } + + eval() { + for (const chip of this.parts) { + TRUE_BUS.next.forEach((pin) => (pin.busVoltage = TRUE_BUS.busVoltage)); + FALSE_BUS.next.forEach((pin) => (pin.busVoltage = FALSE_BUS.busVoltage)); + chip.eval(); + } + } + + tick() { + this.eval(); + } + + tock() { + this.eval(); + } + + remove() { + this.clockSubscription?.unsubscribe(); + for (const part of this.parts) { + part.remove(); + } + } + + // For the ROM32K builtin to load from a file system + async load(fs: FileSystem, path: string): Promise { + for (const part of this.parts) { + if (part.name === "ROM32K") { + await part.load(fs, path); + } + } + } +} + +export class Low extends Chip { + constructor() { + super([], []); + this.outs.insert(FALSE_BUS); + } +} + +export class High extends Chip { + constructor() { + super([], []); + this.outs.insert(TRUE_BUS); + } +} + +export class ClockedChip extends Chip { + override get clocked(): boolean { + return true; + } + + override subscribeToClock(): void { + this.clockSubscription?.unsubscribe(); + this.clockSubscription = Clock.subscribe(({ level }) => { + if (level === LOW) { + this.tock(); + } else { + this.tick(); + } + }); + } + + override remove() { + this.clockSubscription?.unsubscribe(); + super.remove(); + } + + override reset(): void { + super.reset(); + this.tick(); + this.tock(); + } +} + +export interface PinSide { + name: string; + start: number; + width?: number; +} + +export interface Connection { + // To is the part side + to: PinSide; + // From is the chip side + from: PinSide; +} + +export type Pinout = Record; +export interface SerializedChip { + id: number; + name: string; + ins: Pinout; + outs: Pinout; + pins: Pinout; + children: SerializedChip[]; +} + +function mask(width: number) { + return Math.pow(2, width) - 1; +} + +function setBus(busses: Pinout, pin: Pin) { + busses[pin.name] = bin( + (pin.busVoltage & mask(pin.width)) << + (pin as unknown as { start: number }).start, + ); + return busses; +} + +export function printChip(chip: Chip): SerializedChip { + return { + id: chip.id, + name: chip.name ?? chip.constructor.name, + ins: [...chip.ins.entries()].reduce(setBus, {} as Pinout), + outs: [...chip.outs.entries()].reduce(setBus, {} as Pinout), + pins: [...chip.pins.entries()].reduce(setBus, {} as Pinout), + children: [...chip.parts.values()].map(printChip), + }; +} + +export const BUILTIN_NAMES = [ + "Register", + "ARegister", + "DRegister", + "PC", + "RAM8", + "RAM64", + "RAM512", + "RAM4K", + "RAM16K", + "ROM32K", + "Screen", + "Keyboard", + "Memory", +]; diff --git a/web-ide-main/simulator/src/chip/clock.ts b/web-ide-main/simulator/src/chip/clock.ts new file mode 100644 index 0000000..f3d56f5 --- /dev/null +++ b/web-ide-main/simulator/src/chip/clock.ts @@ -0,0 +1,92 @@ +import { assert } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { BehaviorSubject, Observable, Subject } from "rxjs"; +import { HIGH, LOW, Voltage } from "./chip.js"; + +interface Tick { + readonly level: Voltage; + readonly ticks: number; +} + +let clock: Clock; +export class Clock { + private level: Voltage = LOW; + private ticks = 0; + + static get() { + if (clock === undefined) { + clock = new Clock(); + } + return clock; + } + + static subscribe(observer: (value: Tick) => void) { + return Clock.get().$.subscribe(observer); + } + + get isHigh(): boolean { + return this.level === HIGH; + } + + get isLow(): boolean { + return this.level === LOW; + } + + private subject = new BehaviorSubject({ + level: this.level, + ticks: this.ticks, + }); + readonly frameSubject = new Subject(); + readonly resetSubject = new Subject(); + + readonly $: Observable = this.subject; + readonly frame$: Observable = this.frameSubject; + readonly reset$: Observable = this.resetSubject; + + private next() { + this.subject.next({ + level: this.level, + ticks: this.ticks, + }); + } + + private constructor() { + // private + } + + reset() { + this.level = LOW; + this.ticks = 0; + this.next(); + this.resetSubject.next(); + } + + tick() { + assert(this.level === LOW, "Can only tick up from LOW"); + this.level = HIGH; + this.next(); + } + + tock() { + assert(this.level === HIGH, "Can only tock down from HIGH"); + this.level = LOW; + this.ticks += 1; + this.next(); + } + + toggle() { + this.level === HIGH ? this.tock() : this.tick(); + } + + eval() { + this.tick(); + this.tock(); + } + + frame() { + this.frameSubject.next(); + } + + toString() { + return `${this.ticks}${this.level === HIGH ? "+" : ""}`; + } +} diff --git a/web-ide-main/simulator/src/chip/errors.txt b/web-ide-main/simulator/src/chip/errors.txt new file mode 100644 index 0000000..0ac85ff --- /dev/null +++ b/web-ide-main/simulator/src/chip/errors.txt @@ -0,0 +1,59 @@ +These are the errors from the current builder. + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L212 + try { + result = getSubBus(pinName); + } catch (Exception e) { + input.HDLError(pinName + " has an invalid sub bus specification"); + } + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L217 + if (result != null) { + if (result[0] < 0 || result[1] < 0) + input.HDLError(pinName + ": negative bit numbers are illegal"); + else if (result[0] > result[1]) + input.HDLError(pinName + ": left bit number should be lower than the right one"); + else if (result[1] >= busWidth) + input.HDLError(pinName + ": the specified sub bus is not in the bus range"); + } + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L274 + // find left pin info. If doesn't exist - error. + byte leftType = partGateClass.getPinType(leftName); + if (leftType == UNKNOWN_PIN_TYPE) + input.HDLError(leftName + " is not a pin in " + partName); + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L310 + if ((rightType == UNKNOWN_PIN_TYPE || rightType == INTERNAL_PIN_TYPE) && + !fullRightName.equals(rightName)) + input.HDLError(fullRightName + ": sub bus of an internal node may not be used"); + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L333 + if (selfFittingWidth) { + if(!rightName.equals(fullRightName)) + input.HDLError(rightName + " may not be subscripted"); + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L346 + // check that right & left has the same width + if (leftWidth != rightWidth) + input.HDLError(leftName + "(" + leftWidth + ") and " + rightName + "(" + rightWidth + + ") have different bus widths"); + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L352 + // make sure that an internal pin is only fed once by a part's output pin + if ((rightType == INTERNAL_PIN_TYPE) && (leftType == OUTPUT_PIN_TYPE)) { + if (rightPinInfo.isInitialized(rightSubBus)) + input.HDLError("An internal pin may only be fed once by a part's output pin"); + +https://github.com/DavidSouther/nand2tetris/blob/8adbbd3d23c1a1bc746946891bd6d489da08594a/nand2tetris/org/nand2tetris/hack/simulators/gates/CompositeGateClass.java#L377 + // find connection type + switch (leftType) { + case INPUT_PIN_TYPE: + switch (rightType) { + case OUTPUT_PIN_TYPE: + input.HDLError("Can't connect gate's output pin to part"); + + case OUTPUT_PIN_TYPE: + switch (rightType) { + case INPUT_PIN_TYPE: + input.HDLError("Can't connect part's output pin to gate's input pin"); \ No newline at end of file diff --git a/web-ide-main/simulator/src/compare.test.ts b/web-ide-main/simulator/src/compare.test.ts new file mode 100644 index 0000000..fe9bbf5 --- /dev/null +++ b/web-ide-main/simulator/src/compare.test.ts @@ -0,0 +1,42 @@ +import { compare, compareLines, diff } from "./compare.js"; + +describe("compare", () => { + it("diffs a row", () => { + const as = ["a", "b", "c"]; + const bs = ["a", "d", "c"]; + const diffs = diff(as, bs); + expect(diffs).toMatchObject([{ a: "b", b: "d", col: 1 }]); + }); + + it("diffs a block", () => { + const as = [ + ["0", "0", "0"], + ["0", "1", "1"], + ["1", "0", "1"], + ["1", "1", "0"], + ]; + const bs = [ + ["0", "0", "0"], + ["0", "1", "0"], + ["1", "0", "0"], + ["1", "1", "1"], + ]; + const diffs = compare(as, bs); + expect(diffs).toMatchObject([ + { a: "1", b: "0", row: 1, col: 2 }, + { a: "1", b: "0", row: 2, col: 2 }, + { a: "0", b: "1", row: 3, col: 2 }, + ]); + }); +}); + +describe("compareLines", () => { + it("handles windows and unix lines", () => { + expect(compareLines("AAA\r\nBBB\r\nCCC\r\n", "AAA\nBBB\nCCC\n")).toEqual( + {}, + ); + expect(compareLines("AAA\nBBB\nCCC\n", "AAA\r\nBBB\r\nCCC\r\n")).toEqual( + {}, + ); + }); +}); diff --git a/web-ide-main/simulator/src/compare.ts b/web-ide-main/simulator/src/compare.ts new file mode 100644 index 0000000..f297d19 --- /dev/null +++ b/web-ide-main/simulator/src/compare.ts @@ -0,0 +1,82 @@ +export interface Diff { + a: string; + b: string; + row?: number; + col?: number; +} + +function normalLines( + str: string, + { + trim = true, + skipTrimmed = false, + }: { trim?: boolean; skipTrimmed?: boolean } = {}, +): string[] { + let lines = str.replace("\r\n", "\n").split("\n"); + + if (trim) lines = lines.map((line) => line.trim()); + if (skipTrimmed) lines = lines.filter((line) => line != ""); + return lines; +} + +export type CompareResultSuccess = Record; +export interface CompareResultLengths { + lenA: number; + lenB: number; +} +export interface CompareResultLine { + line: number; +} +export type CompareResult = + | CompareResultSuccess + | CompareResultLine + | CompareResultLengths; + +export function compareLines(as: string, bs: string): CompareResult { + const resultLines = normalLines(as); + const compareLines = normalLines(bs); + + if (resultLines.length != compareLines.length) { + return { lenA: resultLines.length, lenB: compareLines.length }; + } + + for (let line = 0; line < compareLines.length; line++) { + if (resultLines[line] !== compareLines[line]) { + return { line }; + } + } + + return {}; +} + +export function compare(as: string[][], bs: string[][]): Diff[] { + let diffs: Diff[] = []; + + const q = Math.max(as.length, bs.length); + for (let row = 0; row < q; row++) { + const a = as[row] ?? []; + const b = bs[row] ?? []; + diffs = diffs.concat( + diff(a, b).map((diff) => { + diff.row = row; + return diff; + }), + ); + } + + return diffs; +} + +export function diff(as: string[], bs: string[]): Diff[] { + const diffs: Diff[] = []; + + const q = Math.max(as.length, bs.length); + for (let col = 0; col < q; col++) { + const a = as[col] ?? ""; + const b = bs[col] ?? ""; + if (a !== b && !a.match(/\*+/)) { + diffs.push({ a, b, col }); + } + } + return diffs; +} diff --git a/web-ide-main/simulator/src/cpu/alu.test.ts b/web-ide-main/simulator/src/cpu/alu.test.ts new file mode 100644 index 0000000..b763a27 --- /dev/null +++ b/web-ide-main/simulator/src/cpu/alu.test.ts @@ -0,0 +1,67 @@ +import { alu, alua, COMMANDS, Flags } from "./alu.js"; + +describe("alu", () => { + it("calculates", () => { + expect(alu(COMMANDS.asm["0"], 123, 456)).toEqual([0, Flags.Zero]); + expect(alu(COMMANDS.asm["D+A"], 123, 456)).toEqual([579, Flags.Positive]); + expect(alu(COMMANDS.asm["D-A"], 123, 456)).toEqual([ + -333 & 0xffff, + Flags.Negative, + ]); + expect(alu(COMMANDS.asm["A-D"], 123, 456)).toEqual([333, Flags.Positive]); + expect(alu(COMMANDS.asm["D&A"], 0b1010, 0b1101)).toEqual([ + 0b1000, + Flags.Positive, + ]); + expect(alu(COMMANDS.asm["D|A"], 0b1010, 0b1101)).toEqual([ + 0b1111, + Flags.Positive, + ]); + }); + + it("calculates undocumented", () => { + // https://medium.com/@MadOverlord/14-nand2tetris-opcodes-they-dont-want-you-to-know-about-f3246831d1d1 + + // -2 + expect(alua(0b111110, 0, 0)).toEqual([0xfffe, Flags.Negative]); + + // NAND + expect(alua(0b000001, 0, 0)).toEqual([0xffff, Flags.Negative]); + expect(alua(0b000001, 0, 1)).toEqual([0xffff, Flags.Negative]); + expect(alua(0b000001, 1, 0)).toEqual([0xffff, Flags.Negative]); + expect(alua(0b000001, 1, 1)).toEqual([0xfffe, Flags.Negative]); + expect(alua(0b000001, 0b0011, 0b0101)).toEqual([ + 0b1111111111111110, + Flags.Negative, + ]); + + // NOR + expect(alua(0b010100, 0, 0)).toEqual([0xffff, Flags.Negative]); + expect(alua(0b010100, 0, 1)).toEqual([0xfffe, Flags.Negative]); + expect(alua(0b010100, 1, 0)).toEqual([0xfffe, Flags.Negative]); + expect(alua(0b010100, 1, 1)).toEqual([0xfffe, Flags.Negative]); + expect(alua(0b010100, 0b0011, 0b0101)).toEqual([ + 0b1111_1111_1111_1000, + Flags.Negative, + ]); + + // Weird + // 010000 : NOT(X) AND Y : 00,01,10,11 TruthTable=0100 + expect(alua(0b010000, 0b0011, 0b0101)[0] & 0b1111).toBe(0b0100); + // 010001 : NOT(NOT(X) AND Y) : 00,01,10,11 TruthTable=1011 + expect(alua(0b010001, 0b0011, 0b0101)[0] & 0b1111).toBe(0b1011); + // 000101 : NOT(X AND NOT(Y)) : 00,01,10,11 TruthTable=1101 + expect(alua(0b000101, 0b0011, 0b0101)[0] & 0b1111).toBe(0b1101); + // 000100 : X AND NOT(Y) : 00,01,10,11 TruthTable=0010 + expect(alua(0b000100, 0b0011, 0b0101)[0] & 0b1111).toBe(0b0010); + + // Bizarre + expect(alua(0b010111, 13, 19)[0]).toBe(33); // X + Y + 1 + expect(alua(0b000110, 13, 19)[0]).toBe(-7 & 0xffff); // X — Y — 1 + expect(alua(0b011110, 13, 19)[0]).toBe(-15 & 0xffff); // -(X + 2) + expect(alua(0b110110, 13, 19)[0]).toBe(-21 & 0xffff); // -(Y + 2) + expect(alua(0b010110, 13, 19)[0]).toBe(-34 & 0xffff); // -(X + Y + 2) + expect(alua(0b000011, 13, 19)[0]).toBe(-33 & 0xffff); // -(X + Y + 1) + expect(alua(0b010010, 13, 19)[0]).toBe(5 & 0xffff); // -(X — Y + 1) + }); +}); diff --git a/web-ide-main/simulator/src/cpu/alu.ts b/web-ide-main/simulator/src/cpu/alu.ts new file mode 100644 index 0000000..79e0171 --- /dev/null +++ b/web-ide-main/simulator/src/cpu/alu.ts @@ -0,0 +1,330 @@ +const commandASMValues = new Set([ + "0", + "1", + "-1", + "D", + "A", + "!D", + "!A", + "-D", + "-A", + "D+1", + "A+1", + "D-1", + "A-1", + "D+A", + "D-A", + "A-D", + "D&A", + "D|A", +] as const); + +export type COMMANDS_ASM = typeof commandASMValues extends Set + ? S + : never; + +export function isCommandAsm(command: string): command is COMMANDS_ASM { + return ( + commandASMValues.has(command as COMMANDS_ASM) || + commandASMValues.has(command.replace("M", "A") as COMMANDS_ASM) + ); +} + +export type COMMANDS_OP = + | 0b101010 + | 0b111111 + | 0b111010 + | 0b001100 + | 0b110000 + | 0b110000 + | 0b001101 + | 0b110001 + | 0b001111 + | 0b110011 + | 0b011111 + | 0b110111 + | 0b001110 + | 0b110010 + | 0b000010 + | 0b010011 + | 0b010011 + | 0b000111 + | 0b000000 + | 0b000000 + | 0b010101 + | 0b010101; + +//Usefull for the visualization of the ALU +export type COMMANDS_ALU = + | "0" + | "1" + | "-1" + | "x" + | "y" + | "!x" + | "!y" + | "-x" + | "-y" + | "x+1" + | "y+1" + | "x-1" + | "y-1" + | "x+y" + | "x-y" + | "y-x" + | "x&y" + | "x|y"; + +export const COMMANDS_ALU: { + op: Record; +} = { + op: { + 0x2a: "0", + 0x3f: "1", + 0x3a: "-1", + 0x0c: "x", + 0x30: "y", + 0x0d: "!x", + 0x31: "!y", + 0x0f: "-x", + 0x33: "-y", + 0x1f: "x+1", + 0x37: "y+1", + 0x0e: "x-1", + 0x32: "y-1", + 0x02: "x+y", + 0x13: "x-y", + 0x07: "y-x", + 0x00: "x&y", + 0x15: "x|y", + }, +}; + +export const COMMANDS: { + asm: Record; + op: Record; + getOp: (asm: string) => COMMANDS_OP; +} = { + asm: { + "0": 0b101010, // 42 0x2A + "1": 0b111111, // 63 0x3F + "-1": 0b111010, // 58 0x3A + D: 0b001100, // 12 0x0C + A: 0b110000, // 48 0x30 + "!D": 0b001101, // 13 0x0D + "!A": 0b110001, // 49 0x31 + "-D": 0b001111, // 15 0x0F + "-A": 0b110011, // 51 0x33 + "D+1": 0b011111, // 31 0x1F + "A+1": 0b110111, // 55 0x37 + "D-1": 0b001110, // 14 0x0E + "A-1": 0b110010, // 50 0x32 + "D+A": 0b000010, // 2 0x02 + "D-A": 0b010011, // 19 0x13 + "A-D": 0b000111, // 7 0x07 + "D&A": 0b000000, // 0 0x00 + "D|A": 0b010101, // 21 0x15 + }, + op: { + 0x2a: "0", + 0x3f: "1", + 0x3a: "-1", + 0x0c: "D", + 0x30: "A", + 0x0d: "!D", + 0x31: "!A", + 0x0f: "-D", + 0x33: "-A", + 0x1f: "D+1", + 0x37: "A+1", + 0x0e: "D-1", + 0x32: "A-1", + 0x02: "D+A", + 0x13: "D-A", + 0x07: "A-D", + 0x00: "D&A", + 0x15: "D|A", + }, + getOp(asm: string) { + return COMMANDS.asm[asm.replace("M", "A") as COMMANDS_ASM]; + }, +}; + +const assignAsmValues = new Set([ + "", + "M", + "D", + "MD", + "A", + "AM", + "AD", + "AMD", +] as const); + +export type ASSIGN_ASM = typeof assignAsmValues extends Set + ? S + : never; + +export type ASSIGN_OP = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; + +export function isAssignAsm(assign: unknown): assign is ASSIGN_ASM { + return assignAsmValues.has(assign as ASSIGN_ASM); +} + +export const ASSIGN: { + asm: Record; + op: Record; +} = { + asm: { + "": 0x0, + M: 0b001, + D: 0b010, + MD: 0b011, + A: 0b100, + AM: 0b101, + AD: 0b110, + AMD: 0b111, + }, + op: { + 0x0: "", + 0x1: "M", + 0x2: "D", + 0x3: "MD", + 0x4: "A", + 0x5: "AM", + 0x6: "AD", + 0x7: "AMD", + }, +}; + +const jumpAsmValues = new Set([ + "", + "JGT", + "JEQ", + "JGE", + "JLT", + "JNE", + "JLE", + "JMP", +] as const); + +export type JUMP_ASM = typeof jumpAsmValues extends Set ? S : never; +export type JUMP_OP = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; + +export function isJumpAsm(jump: unknown): jump is JUMP_ASM { + return jumpAsmValues.has(jump as JUMP_ASM); +} + +export const JUMP: { + asm: Record; + op: Record; +} = { + asm: { + "": 0b0, + JGT: 0b001, + JEQ: 0b010, + JGE: 0b011, + JLT: 0b100, + JNE: 0b101, + JLE: 0b110, + JMP: 0b111, + }, + op: { + 0x0: "", + 0x1: "JGT", + 0x2: "JEQ", + 0x3: "JGE", + 0x4: "JLT", + 0x5: "JNE", + 0x6: "JLE", + 0x7: "JMP", + }, +}; + +export const Flags = { + 0x01: "Positive", + 0x00: "Zero", + 0x0f: "Negative", + Positive: 0x01, + Zero: 0x00, + Negative: 0x0f, +}; + +export function alu(op: number, d: number, a: number): [number, number] { + let o = 0; + switch (op) { + case 0x2a: + o = 0; + break; + case 0x3f: + o = 1; + break; + case 0x3a: + o = -1; + break; + case 0x0c: + o = d; + break; + case 0x30: + o = a; + break; + case 0x0d: + o = ~d; + break; + case 0x31: + o = ~a; + break; + case 0x0f: + o = -d; + break; + case 0x33: + o = -a; + break; + case 0x1f: + o = d + 1; + break; + case 0x37: + o = a + 1; + break; + case 0x0e: + o = d - 1; + break; + case 0x32: + o = a - 1; + break; + case 0x02: + o = d + a; + break; + case 0x13: + o = d - a; + break; + case 0x07: + o = a - d; + break; + case 0x00: + o = d & a; + break; + case 0x15: + o = d | a; + break; + } + + o = o & 0xffff; + const flags = + o === 0 ? Flags.Zero : o & 0x8000 ? Flags.Negative : Flags.Positive; + return [o, flags]; +} + +export function alua(op: number, d: number, a: number): [number, number] { + if (op & 0b100000) d = 0; + if (op & 0b010000) d = ~d & 0xffff; + if (op & 0b001000) a = 0; + if (op & 0b000100) a = ~a & 0xffff; + + let o = (op & 0b000010 ? d + a : d & a) & 0xffff; + if (op & 0b000001) o = ~o & 0xffff; + + const flags = + o === 0 ? Flags.Zero : o & 0x8000 ? Flags.Negative : Flags.Positive; + return [o, flags]; +} diff --git a/web-ide-main/simulator/src/cpu/cpu.test.ts b/web-ide-main/simulator/src/cpu/cpu.test.ts new file mode 100644 index 0000000..489bf35 --- /dev/null +++ b/web-ide-main/simulator/src/cpu/cpu.test.ts @@ -0,0 +1,202 @@ +import { HACK } from "../testing/mult.js"; +import { Flags } from "./alu.js"; +import { CPU, CPUInput, CPUState, cpu } from "./cpu.js"; +import { Memory } from "./memory.js"; + +describe("CPU", () => { + describe("cpu step function", () => { + test("@A: sets A for @ instuructions", () => { + const input: CPUInput = { inM: 0, reset: false, instruction: 0x0002 }; + const state: CPUState = { + A: 0, + D: 0, + PC: 0, + ALU: 0, + flag: Flags.Zero, + }; + + const [output, outState] = cpu(input, state); + + expect(output).toEqual({ outM: 0, writeM: false, addressM: 2 }); + expect(outState).toEqual({ + A: 2, + D: 0, + PC: 1, + ALU: 0, + flag: Flags.Zero, + }); + }); + + test("M=1: writes to memory", () => { + const input: CPUInput = { inM: 0, reset: false, instruction: 0xffc8 }; + const inState: CPUState = { + A: 2, + D: 0, + PC: 0, + ALU: 0, + flag: Flags.Zero, + }; + + const [output, outState] = cpu(input, inState); + + expect(output).toEqual({ outM: 1, writeM: true, addressM: 2 }); + expect(outState).toEqual({ + A: 2, + D: 0, + PC: 1, + ALU: 1, + flag: Flags.Positive, + }); + }); + + test("D=M: reads from memory", () => { + const input: CPUInput = { + inM: 0x1234, + reset: false, + instruction: 0xfc10, + }; + const inState: CPUState = { A: 0, D: 0, PC: 0, ALU: 0, flag: Flags.Zero }; + + const [output, outState] = cpu(input, inState); + + expect(output).toEqual({ outM: 0x1234, writeM: false, addressM: 0 }); + expect(outState).toEqual({ + A: 0, + D: 0x1234, + PC: 1, + ALU: 0x1234, + flag: Flags.Positive, + }); + }); + + test("D;JEQ: jumps when D is 0", () => { + const input: CPUInput = { + inM: 0x0, + reset: false, + instruction: 0xd302, + }; + const inState: CPUState = { + A: 0xf, + D: 0, + PC: 0, + ALU: 0, + flag: Flags.Zero, + }; + + const [output, outState] = cpu(input, inState); + + expect(output).toEqual({ outM: 0, writeM: false, addressM: 0xf }); + expect(outState).toEqual({ + A: 0xf, + D: 0, + PC: 15, + ALU: 0, + flag: Flags.Zero, + }); + }); + + test("D;JEQ: does not jump when D is not 0", () => { + const input: CPUInput = { + inM: 0x0, + reset: false, + instruction: 0xd302, + }; + const inState: CPUState = { + A: 0xf, + D: 3, + PC: 0, + ALU: 0, + flag: Flags.Zero, + }; + + const [output, outState] = cpu(input, inState); + + expect(output).toEqual({ outM: 3, writeM: false, addressM: 0xf }); + expect(outState).toEqual({ + A: 0xf, + D: 3, + PC: 1, + ALU: 3, + flag: Flags.Positive, + }); + }); + + test("D=D+M: adds memory with register", () => { + const input: CPUInput = { + inM: 5, + reset: false, + instruction: 0xf090, + }; + const inState: CPUState = { A: 0, D: 3, PC: 0, ALU: 0, flag: Flags.Zero }; + + const [output, outState] = cpu(input, inState); + + expect(output).toEqual({ outM: 13, writeM: false, addressM: 0 }); + expect(outState).toEqual({ + A: 0, + D: 8, + PC: 1, + ALU: 13, // ALU adds at every eval + flag: Flags.Positive, + }); + }); + + test("@15 A=-1;JMP", () => { + const input: CPUInput = { + inM: 0, + reset: false, + instruction: 0xeea7, + }; + const inState: CPUState = { + A: 15, + D: 0, + PC: 0, + ALU: 0, + flag: Flags.Zero, + }; + + const [output, outState] = cpu(input, inState); + + expect(output).toEqual({ outM: 0xffff, writeM: false, addressM: 0xffff }); + expect(outState).toEqual({ + A: 0xffff, + D: 0, + PC: 15, // Jumped to old address + ALU: 0xffff, + flag: Flags.Negative, + }); + }); + }); + + it("executes instructions", () => { + const RAM = new Memory(256); + RAM.set(0, 2); + RAM.set(1, 3); + const ROM = new Memory(HACK.buffer); + const cpu = new CPU({ RAM, ROM }); + + for (let i = 0; i < 100; i++) { + cpu.tick(); + } + + expect(RAM.get(2)).toBe(6); + }); + + // https://github.com/nand2tetris/web-ide/issues/337 + it("MD=D+1 does not double-update on tock", () => { + const RAM = new Memory(1); + const ROM = new Memory( + new Int16Array([ + 0x0000, // @0 + 0xefc8, // M=1 // init RAM[0]=1 + 0xefd0, // D=1 + 0xe7d8, // MD=D+1 + ]).buffer, + ); + + const cpu = new CPU({ RAM, ROM }); + for (let i = 0; i < 4; i++) cpu.tick(); + + expect(RAM.get(0)).toBe(2); + }); +}); diff --git a/web-ide-main/simulator/src/cpu/cpu.ts b/web-ide-main/simulator/src/cpu/cpu.ts new file mode 100644 index 0000000..eb03fc5 --- /dev/null +++ b/web-ide-main/simulator/src/cpu/cpu.ts @@ -0,0 +1,221 @@ +import { alu, COMMANDS_OP, Flags } from "./alu.js"; +import { + Memory, + MemoryAdapter, + MemoryKeyboard, + RAM as RAMMem, + SCREEN_OFFSET, + SCREEN_SIZE, + SubMemory, +} from "./memory.js"; + +export interface CPUInput { + inM: number; + instruction: number; + reset: boolean; +} + +export interface CPUOutput { + outM: number; + writeM: boolean; + addressM: number; +} + +export interface CPUState { + A: number; + D: number; + PC: number; + ALU: number; + flag: number; +} + +export function emptyState(): CPUState { + return { A: 0, D: 0, PC: 0, ALU: 0, flag: Flags.Zero }; +} + +const BITS = { + c: 0b1000_0000_0000_0000, + x1: 0b1001_0000_0000_0000, + x2: 0b1001_0000_0000_0000, + am: 0b1001_0000_0000_0000, + op: 0b0000_1111_1100_0000, + d1: 0b1000_0000_0010_0000, + d2: 0b1000_0000_0001_0000, + d3: 0b1000_0000_0000_1000, + j1: 0b1000_0000_0000_0001, + j2: 0b1000_0000_0000_0010, + j3: 0b1000_0000_0000_0100, +}; + +export function decode(instruction: number) { + function bit(bit: number): boolean { + return (instruction & bit) === bit; + } + const bits = { + c: bit(BITS.c), + x1: bit(BITS.x1), + x2: bit(BITS.x2), + am: bit(BITS.am), + op: ((instruction & BITS.op) >> 6) as COMMANDS_OP, + d1: bit(BITS.d1), + d2: bit(BITS.d2), + d3: bit(BITS.d3), + j1: bit(BITS.j1), + j2: bit(BITS.j2), + j3: bit(BITS.j3), + }; + + return bits; +} + +export function cpuTick( + { inM, instruction }: CPUInput, + { A, D, PC }: CPUState, +): [CPUState, boolean, number] { + const bits = decode(instruction); + const a = bits.am ? inM : A; + const [ALU, flag] = alu(bits.op, D, a); + + // While a DRegister would update during the Tock clock step, + // this implementation updates the D internal state during tick because the test will need to access the internal D state. + if (bits.d2) { + D = ALU; + } + + return [{ A, D, PC: PC + 1, ALU, flag }, bits.d3, ALU]; +} + +export function cpuTock( + { inM, instruction, reset }: CPUInput, + { A, D, PC, ALU, flag }: CPUState, +): [CPUOutput, CPUState] { + const bits = decode(instruction); + + const j1 = bits.j1 && flag === Flags.Positive; + const j2 = bits.j2 && flag === Flags.Zero; + const j3 = bits.j3 && flag === Flags.Negative; + const jmp = j1 || j2 || j3; + + PC = reset ? 0 : jmp ? A : PC; + + if (!bits.c) { + A = instruction & 0x7fff; + } else if (bits.d1) { + A = ALU; + } + + const a = bits.am ? inM : A; + const alu2 = alu(bits.op, D, a); + + ALU = alu2[0]; + flag = alu2[1]; + + const output: CPUOutput = { + addressM: A, + outM: ALU, + writeM: bits.d3, + }; + + const state: CPUState = { + A, + D, + ALU, + flag, + PC, + }; + + return [output, state]; +} + +export function cpu(input: CPUInput, state: CPUState): [CPUOutput, CPUState] { + const [tickState, _writeM] = cpuTick(input, state); + return cpuTock(input, tickState); +} + +export class CPU { + readonly RAM: Memory; + readonly ROM: Memory; + readonly Screen: MemoryAdapter; + readonly Keyboard: MemoryKeyboard; + + #pc = 0; + #a = 0; + #d = 0; + + #tickState: CPUState = { + A: 0, + D: 0, + PC: 0, + ALU: 0, + flag: Flags.Zero, + }; + + get state(): CPUState { + return this.#tickState; + } + + get PC() { + return this.#pc; + } + + get A() { + return this.#a; + } + + get D() { + return this.#d; + } + + setA(value: number) { + this.#a = value; + } + + setD(value: number) { + this.#d = value; + } + + setPC(value: number) { + this.#pc = value; + } + + constructor({ RAM = new RAMMem(), ROM }: { RAM?: Memory; ROM: Memory }) { + this.RAM = RAM; + this.ROM = ROM; + + // "Device Map" + this.Screen = new SubMemory(this.RAM, SCREEN_SIZE, SCREEN_OFFSET); + this.Keyboard = new MemoryKeyboard(this.RAM); + } + + reset() { + this.#pc = 0; + this.#a = 0; + this.#d = 0; + } + + tick() { + const addressM = this.#a; + const input = { + inM: this.RAM.get(this.#a), + instruction: this.ROM.get(this.#pc), + reset: false, + }; + + const [tickState, writeM, outM] = cpuTick(input, { + A: this.#a, + D: this.#d, + PC: this.#pc, + ALU: this.#d, + flag: Flags.Zero, + }); + + if (writeM) { + this.RAM.set(addressM, outM); + } + + const [_, { A, D, PC }] = cpuTock(input, tickState); + this.#a = A; + this.#d = D; + this.#pc = PC; + } +} diff --git a/web-ide-main/simulator/src/cpu/memory.ts b/web-ide-main/simulator/src/cpu/memory.ts new file mode 100644 index 0000000..68cf9f4 --- /dev/null +++ b/web-ide-main/simulator/src/cpu/memory.ts @@ -0,0 +1,234 @@ +import { assert } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { load } from "../fs.js"; +import { op } from "../util/asm.js"; +import { int2, int10, int16 } from "../util/twos.js"; + +export const FORMATS = ["bin", "dec", "hex", "asm"]; +export type Format = (typeof FORMATS)[number]; + +export const SCREEN_OFFSET = 0x4000; +export const SCREEN_ROWS = 256; +export const SCREEN_COLS = 32; // These are 16-bit columns +export const SCREEN_SIZE = SCREEN_ROWS * SCREEN_COLS; +export const KEYBOARD_OFFSET = 0x6000; + +export interface MemoryAdapter { + size: number; + get(index: number): number; + set(index: number, value: number): void; + reset(): void; + update(cell: number, value: string, format: Format): void; + load(fs: FileSystem, path: string, offset?: number): Promise; + loadBytes(bytes: number[], offset?: number): void; + range(start?: number, end?: number): number[]; + map( + fn: (index: number, value: number) => T, + start?: number, + end?: number, + ): Iterable; + [Symbol.iterator](): Iterable; +} + +export interface KeyboardAdapter { + getKey(): number; + setKey(key: number): void; + clearKey(): void; +} + +export class Memory implements MemoryAdapter { + private memory: Int16Array; + + get size(): number { + return this.memory.length; + } + + constructor(memory: ArrayBuffer | number) { + if (typeof memory === "number") { + this.memory = new Int16Array(memory); + } else { + this.memory = new Int16Array(memory); + } + } + + get(index: number): number { + if (index < 0 || index >= this.size) { + return 0xffff; + } + return this.memory[index] ?? 0; + } + + set(index: number, value: number): void { + if (index >= 0 && index < this.size) { + this.memory[index] = value & 0xffff; + } + } + + reset(): void { + this.memory.fill(0); + } + + update(cell: number, value: string, format: Format) { + let current: number | undefined; + switch (format) { + case "asm": + try { + current = op(value); + } catch { + current = undefined; + } + break; + case "bin": + current = int2(value); + break; + case "hex": + current = int16(value); + break; + case "dec": + default: + current = int10(value); + break; + } + + if (current !== undefined && isFinite(current) && current <= 0xffff) { + this.set(cell, current); + } + } + + async load(fs: FileSystem, path: string, offset?: number) { + try { + this.loadBytes(await load(fs, path), offset); + } catch (_cause) { + // throw new Error(`ROM32K Failed to load file ${path}`, { cause }); + throw new Error(`Memory Failed to load file ${path}`); + } + } + + loadBytes(bytes: number[], offset?: number): void { + this.memory.set(new Int16Array(bytes), offset); + this.memory.fill(0, bytes.length, this.size); + } + + range(start = 0, end = this.size): number[] { + return [...this.memory.slice(start, end)]; + } + + *map( + fn: (index: number, value: number) => T, + start = 0, + end = this.size, + ): Iterable { + assert(start <= end); + for (let i = start; i < end; i++) { + yield fn(i, this.get(i)); + } + } + + [Symbol.iterator](): Iterable { + return this.map((_, v) => v); + } + + isEmpty(): boolean { + return this.memory.every((word) => word === 0); + } +} + +export class SubMemory implements MemoryAdapter { + constructor( + private readonly parent: MemoryAdapter, + readonly size: number, + private readonly offset: number, + ) {} + + get(index: number): number { + if (index < 0 || index >= this.size) { + return 0xffff; + } + return this.parent.get(this.offset + index); + } + + set(index: number, value: number, trackChange = true): void { + if (index >= 0 && index < this.size) { + this.parent.set(index + this.offset, value); + } + } + + reset(): void { + for (let i = 0; i < this.size; i++) { + this.set(i, 0, false); + } + } + + update(index: number, value: string, format: string): void { + if (index >= 0 && index < this.size) { + this.parent.update(index + this.offset, value, format); + } + } + + load(fs: FileSystem, path: string): Promise { + return this.parent.load(fs, path, this.offset); + } + + loadBytes(bytes: number[]): void { + return this.parent.loadBytes(bytes, this.offset); + } + + range(start?: number, end?: number): number[] { + return this.parent.range(start, end); + } + + map( + fn: (index: number, value: number) => T, + start = 0, + end: number = this.size, + ): Iterable { + return this.parent.map(fn, start + this.offset, end + this.offset); + } + + [Symbol.iterator](): Iterable { + return this.map((_, v) => v); + } +} + +export class MemoryKeyboard extends SubMemory implements KeyboardAdapter { + constructor(memory: MemoryAdapter) { + super(memory, 1, 0x6000); + } + + getKey(): number { + return this.get(0); + } + + setKey(key: number): void { + this.set(0, key & 0xffff); + } + + clearKey(): void { + this.set(0, 0); + } +} + +export class ROM extends Memory { + static readonly SIZE = 0x8000; + constructor(program?: Int16Array) { + if (program) { + const arr = new Int16Array(ROM.SIZE); + arr.set(program); + super(arr.buffer); + } else { + super(ROM.SIZE); + } + } +} + +export class RAM extends Memory { + keyboard = new SubMemory(this, 1, KEYBOARD_OFFSET); + screen = new SubMemory(this, SCREEN_SIZE, SCREEN_OFFSET); + + // 4k main memory, 2k screen memory, 1 keyboard + static readonly SIZE = 0x4000 + 0x2000 + 0x0001; + + constructor() { + super(RAM.SIZE); + } +} diff --git a/web-ide-main/simulator/src/fs.ts b/web-ide-main/simulator/src/fs.ts new file mode 100644 index 0000000..e09e1e9 --- /dev/null +++ b/web-ide-main/simulator/src/fs.ts @@ -0,0 +1,25 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import * as loader from "./loader.js"; + +export async function load(fs: FileSystem, path: string): Promise { + if (path.endsWith(".hack")) { + return loadHack(fs, path); + } + + if (path.endsWith(".asm")) { + return loadAsm(fs, path); + } + + throw new Error(`Cannot load file without hack or asm extension ${path}`); +} + +export async function loadAsm(fs: FileSystem, path: string): Promise { + return loader.loadAsm(await fs.readFile(path)); +} + +export async function loadHack( + fs: FileSystem, + path: string, +): Promise { + return loader.loadHack(await fs.readFile(path)); +} diff --git a/web-ide-main/simulator/src/jack/compiler.test.ts b/web-ide-main/simulator/src/jack/compiler.test.ts new file mode 100644 index 0000000..1745def --- /dev/null +++ b/web-ide-main/simulator/src/jack/compiler.test.ts @@ -0,0 +1,163 @@ +import { Programs } from "@nand2tetris/projects/samples/project_11/index.js"; +import { JACK } from "../languages/jack"; +import { Compiler, compile } from "./compiler"; + +function parse(code: string, rule: string) { + return JACK.semantics(JACK.parser.match(code, rule)); +} + +describe("compiler", () => { + it("compiles expression", () => { + const exp = parse("(2 + 3) * 5", "Expression").expression; + + const compiler = new Compiler(); + compiler.compileExpression(exp); + expect(compiler.output).toEqual([ + "push constant 2", + "push constant 3", + "add", + "push constant 5", + "call Math.multiply 2", + ]); + }); + + it("compiles function", () => { + const func = parse( + `function void main() { + var int a; + let a = 4; + return; + }`, + "SubroutineDec", + ).subroutineDec; + + const compiler = new Compiler(); + compiler.className = "Main"; + compiler.compileFunction(func); + expect(compiler.output).toEqual([ + "function Main.main 1", + "push constant 4", + "pop local 0", + "push constant 0", + "return", + ]); + }); + + it("compiles array access", () => { + const statement = parse(`let x = arr[2];`, "Statement").statement; + + const compiler = new Compiler(); + compiler.localSymbolTable = { + x: { + type: "int", + segment: "local", + index: 0, + }, + arr: { + type: "Array", + segment: "local", + index: 1, + }, + }; + compiler.compileStatement(statement); + expect(compiler.output).toEqual([ + "push constant 2", + "push local 1", + "add", + "pop pointer 1", + "push that 0", + "pop local 0", + ]); + }); + + it("compiles if-else", () => { + const statement = parse( + `if (condition) { + let x = 4; + } else { + let x = 5; + }`, + "Statement", + ).statement; + + const compiler = new Compiler(); + compiler.className = "Main"; + compiler.localSymbolTable = { + condition: { + type: "boolean", + segment: "local", + index: 0, + }, + x: { + type: "int", + segment: "local", + index: 1, + }, + }; + compiler.compileStatement(statement); + expect(compiler.output).toEqual([ + "push local 0", + "not", + "if-goto Main_1", + "push constant 4", + "pop local 1", + "goto Main_0", + "label Main_1", + "push constant 5", + "pop local 1", + "label Main_0", + ]); + }); + + it.each(Object.keys(Programs))("%s", (program) => { + const compiled = compile( + Object.fromEntries( + Object.entries(Programs[program]).map(([name, file]) => [ + name, + file.jack, + ]), + ), + ); + + for (const file of Object.keys(compiled)) { + expect(compiled[file]).toEqual(Programs[program][file].compiled); + } + }); + + it("compiles a class with no fields", () => { + const compiled = compile({ + NoField: ` + class NoField { + constructor NoField new() { + return this; + } + method void dispose() { + do Memory.deAlloc(this); + return; + } + } + `, + Main: ` + class Main { + function void main() { + var NoField z; + let z = NoField.new(); + do z.dispose(); + return; + } + } + `, + }); + + const noFieldVm = compiled["NoField"]; + expect(noFieldVm).toContain("function NoField.new 0"); + expect(noFieldVm).not.toContain("call Memory.alloc 1"); + expect(noFieldVm).toContain("function NoField.dispose 0"); + expect(noFieldVm).not.toContain("call Memory.deAlloc 1"); + + const mainVm = compiled["Main"]; + expect(mainVm).toContain("function Main.main 1"); + expect(mainVm).toContain("call NoField.new 0"); + expect(mainVm).toContain("call NoField.dispose 1"); + }); +}); diff --git a/web-ide-main/simulator/src/jack/compiler.ts b/web-ide-main/simulator/src/jack/compiler.ts new file mode 100644 index 0000000..ca52069 --- /dev/null +++ b/web-ide-main/simulator/src/jack/compiler.ts @@ -0,0 +1,651 @@ +import { + Err, + isErr, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { CompilationError, createError, Span } from "../languages/base.js"; +import { + ArrayAccess, + Class, + ClassVarDec, + DoStatement, + Expression, + IfStatement, + isPrimitive, + JACK, + KeywordConstant, + LetStatement, + Op, + Parameter, + ReturnStatement, + Statement, + Subroutine, + SubroutineCall, + Term, + Type, + UnaryOp, + VarDec, + Variable, + WhileStatement, +} from "../languages/jack.js"; +import { Segment } from "../languages/vm.js"; +import { + makeInterface, + overridesOsCorrectly, + VM_BUILTINS, +} from "../vm/builtins.js"; +import { validateSubroutine } from "./controlFlow.js"; + +const osClasses = new Set([ + "Sys", + "Screen", + "Output", + "Keyboard", + "String", + "Array", + "Memory", + "Math", +]); + +function isOsClass(name: string): boolean { + return osClasses.has(name); +} + +function isError(value: unknown): value is CompilationError { + return (value as CompilationError).message != undefined; +} + +function capitalize(s: string) { + return s.charAt(0).toUpperCase() + s.slice(1); +} + +export function compile( + files: Record, +): Record { + const classes: Record = {}; + for (const [name, content] of Object.entries(files)) { + const parsed = JACK.parse(content); + if (isErr(parsed)) { + classes[name] = Err(parsed); + } else { + const cls = Ok(parsed); + const result = validateClass(cls); + classes[name] = + cls.name.value == name + ? isErr(result) + ? Err(result) + : cls + : createError( + `Class name ${cls.name.value} doesn't match file name ${name}`, + cls.name.span, + ); + } + } + + const validClasses: Record = Object.fromEntries( + Object.entries(classes).filter(([_, parsed]) => !isError(parsed)), + ) as Record; + + const vms: Record = {}; + for (const [name, parsed] of Object.entries(classes)) { + if (isError(parsed)) { + vms[name] = parsed; + } else { + try { + const compiled = new Compiler().compile(parsed, validClasses); + if (isErr(compiled)) { + vms[name] = Err(compiled); + } else { + vms[name] = Ok(compiled); + } + } catch (e) { + vms[name] = e as CompilationError; + } + } + } + return vms; +} + +function validateClass(cls: Class): Result { + const subroutineNames = new Set(); + for (const subroutine of cls.subroutines) { + if (subroutineNames.has(subroutine.name.value)) { + return Err( + createError( + `Subroutine ${subroutine.name.value} already declared`, + subroutine.name.span, + ), + ); + } + subroutineNames.add(subroutine.name.value); + const result = validateSubroutine(subroutine); + if (isErr(result)) { + return result; + } + } + return Ok(); +} + +interface VariableData { + type: Type; + segment: Segment; + index: number; +} + +const ops: Record = { + "+": "add", + "-": "sub", + "*": "call Math.multiply 2", + "/": "call Math.divide 2", + "&": "and", + "|": "or", + "<": "lt", + ">": "gt", + "=": "eq", +}; + +const unaryOps: Record = { + "-": "neg", + "~": "not", +}; + +interface SubroutineCallAttributes { + className: string; + subroutineName: string; + object?: string; // object being acted upon if this is a method (undefined if function / constructor) +} + +export class Compiler { + private instructions: string[] = []; + globalSymbolTable: Record = {}; + localSymbolTable: Record = {}; + + className = ""; + private classes: Record = {}; + + private labelNum = 0; + private fieldNum = 0; + private staticNum = 0; + private localNum = 0; + + get output(): string[] { + return Array.from(this.instructions); + } + + varData(name: string): VariableData | undefined { + return this.localSymbolTable[name] || this.globalSymbolTable[name]; + } + + var(name: string): string; + var(variable: Variable): string; + var(variable: ArrayAccess): string; + var(variable: LetStatement): string; + var(arg: string | Variable | ArrayAccess | LetStatement): string { + let name: string; + let span: Span | undefined; + if (typeof arg == "string") { + name = arg; + } else { + if (typeof arg.name == "string") { + name = arg.name; + span = arg.span; + } else { + name = arg.name.value; + span = arg.name.span; + } + } + const data = this.varData(name); + if (!data) { + throw createError(`Undeclared variable ${name}`, span); + } + return `${data.segment} ${data.index}`; + } + + write(...lines: string[]) { + this.instructions.push(...lines); + } + + getLabel() { + const label = `${this.className}_${this.labelNum}`; + this.labelNum += 1; + return label; + } + + compile( + cls: Class, + other?: Record, + ): Result { + this.className = cls.name.value; + this.classes = other ?? {}; + for (const varDec of cls.varDecs) { + this.compileClassVarDec(varDec); + } + for (const subroutine of cls.subroutines) { + this.compileSubroutineDec(subroutine); + } + return Ok( + this.instructions + .map((inst) => + inst.startsWith("function") || inst.startsWith("label") + ? inst + : " ".concat(inst), + ) + .join("\n"), + ); + } + + validateType(type: string, span?: Span) { + if (isPrimitive(type) || isOsClass(type) || this.classes[type]) { + return; + } + throw createError(`Unknown type ${type}`, span); + } + + validateReturnType(returnType: string, span?: Span) { + if (returnType == "void") { + return; + } + this.validateType(returnType, span); + } + + compileClassVarDec(dec: ClassVarDec) { + this.validateType(dec.type.value, dec.type.span); + for (const name of dec.names) { + if (dec.varType == "field") { + this.globalSymbolTable[name] = { + type: dec.type.value, + segment: "this", + index: this.fieldNum, + }; + this.fieldNum += 1; + } else { + this.globalSymbolTable[name] = { + type: dec.type.value, + segment: "static", + index: this.staticNum, + }; + this.staticNum += 1; + } + } + } + + compileVarDec(dec: VarDec) { + this.validateType(dec.type.value, dec.type.span); + for (const name of dec.names) { + this.localSymbolTable[name] = { + type: dec.type.value, + segment: "local", + index: this.localNum, + }; + this.localNum += 1; + } + } + + registerArgs(params: Parameter[], offset = false) { + let argNum = 0; + for (const param of params) { + this.validateType(param.type.value, param.type.span); + this.localSymbolTable[param.name] = { + type: param.type.value, + segment: "argument", + index: argNum + (offset ? 1 : 0), // when compiling a method the first argument is this, so we offset the others by 1 + }; + argNum += 1; + } + } + + validateSubroutineDec(subroutine: Subroutine) { + this.validateReturnType( + subroutine.returnType.value, + subroutine.returnType.span, + ); + + if (isOsClass(this.className)) { + const builtin = VM_BUILTINS[`${this.className}.${subroutine.name.value}`]; + + if (builtin && !overridesOsCorrectly(this.className, subroutine)) { + throw createError( + `OS subroutine ${this.className}.${subroutine.name.value} must follow the interface ${makeInterface(subroutine.name.value, builtin)})`, + ); + } + } + } + + compileSubroutineDec(subroutine: Subroutine) { + this.validateSubroutineDec(subroutine); + switch (subroutine.type) { + case "method": + this.compileMethod(subroutine); + break; + case "constructor": + this.compileConstructor(subroutine); + break; + case "function": + this.compileFunction(subroutine); + } + } + + compileSubroutineStart(subroutine: Subroutine, isMethod = false) { + this.localSymbolTable = {}; + this.localNum = 0; + this.registerArgs(subroutine.parameters, isMethod); + + const localCount = subroutine.body.varDecs + .map((dec) => dec.names.length) + .reduce((a, b) => a + b, 0); + this.write( + `function ${this.className}.${subroutine.name.value} ${localCount}`, + ); + for (const varDec of subroutine.body.varDecs) { + this.compileVarDec(varDec); + } + } + + compileFunction(subroutine: Subroutine) { + this.compileSubroutineStart(subroutine); + this.compileStatements(subroutine.body.statements); + } + + compileMethod(subroutine: Subroutine) { + this.compileSubroutineStart(subroutine, true); + this.write("push argument 0", "pop pointer 0"); + this.compileStatements(subroutine.body.statements); + } + + compileConstructor(subroutine: Subroutine) { + this.compileSubroutineStart(subroutine); + + if (this.fieldNum > 0) + this.write( + `push constant ${this.fieldNum}`, + "call Memory.alloc 1", + "pop pointer 0", + ); + else this.write("push constant 0", "pop pointer 0"); + + this.compileStatements(subroutine.body.statements); + } + + compileExpression(expression: Expression) { + this.compileTerm(expression.term); + for (const part of expression.rest) { + this.compileTerm(part.term); + this.compileOp(part.op); // postfix + } + } + + compileOp(op: Op) { + this.write(ops[op]); + } + + compileTerm(term: Term) { + switch (term.termType) { + case "numericLiteral": + this.write(`push constant ${term.value}`); + break; + case "stringLiteral": + this.compileStringLiteral(term.value); + break; + case "variable": + this.write(`push ${this.var(term)}`); + break; + case "keywordLiteral": + this.compileKeywordLiteral(term.value); + break; + case "subroutineCall": + this.compileSubroutineCall(term); + break; + case "arrayAccess": + this.compileExpression(term.index); + this.write( + `push ${this.var(term)}`, + "add", + "pop pointer 1", + "push that 0", + ); + break; + case "groupedExpression": + this.compileExpression(term.expression); + break; + case "unaryExpression": + this.compileTerm(term.term); + this.write(unaryOps[term.op]); + } + } + + validateArgNum(name: string, expected: number, call: SubroutineCall) { + const received = call.parameters.length; + if (expected != received) { + throw createError( + `${name} expected ${expected} arguments, got ${received}`, + call.span, + ); + } + } + + validateSubroutineCall( + className: string, + subroutineName: string, + call: SubroutineCall, + isMethod: boolean, + ) { + const builtin = VM_BUILTINS[`${className}.${subroutineName}`]; + if (builtin) { + if (builtin.type == "method" && !isMethod) { + throw createError( + `Method ${className}.${subroutineName} was called as a function/constructor`, + call.name.span, + ); + } + if (builtin.type != "method" && isMethod) { + throw createError( + `${capitalize( + builtin.type, + )} ${className}.${subroutineName} was called as a method`, + call.name.span, + ); + } + this.validateArgNum( + `${className}.${subroutineName}`, + builtin.args.length, + call, + ); + return; + } else if (this.classes[className]) { + for (const subroutine of this.classes[className].subroutines) { + if (subroutine.name.value == subroutineName) { + if (subroutine.type == "method" && !isMethod) { + throw createError( + `Method ${className}.${subroutineName} was called as a function/constructor`, + call.name.span, + ); + } + if (subroutine.type != "method" && isMethod) { + throw createError( + `${capitalize( + subroutine.name.value, + )} ${className}.${subroutineName} was called as a method`, + call.name.span, + ); + } + this.validateArgNum( + `${className}.${subroutineName}`, + subroutine.parameters.length, + call, + ); + return; + } + } + throw createError( + `Class ${className} doesn't contain a function/constructor ${subroutineName}`, + call.name.span, + ); + } else { + throw createError(`Class ${className} doesn't exist`, call.name.span); + } + } + + classifySubroutineCall(call: SubroutineCall): SubroutineCallAttributes { + let object: string | undefined; + let className = ""; + let subroutineName = ""; + + if (call.name.value.includes(".")) { + const [prefix, suffix] = call.name.value.split(".", 2); + subroutineName = suffix; + const varData = this.varData(prefix); + if (varData) { + // external method call + object = this.var(prefix); + className = varData.type; + } else { + // function / constructor call + className = prefix; + } + } else { + object = "pointer 0"; // this + className = this.className; + subroutineName = call.name.value; + } + + this.validateSubroutineCall( + className, + subroutineName, + call, + object != undefined, + ); + + return { className, subroutineName, object }; + } + + compileSubroutineCall(call: SubroutineCall) { + const attributes = this.classifySubroutineCall(call); + + if ( + attributes.className === "Memory" && + attributes.subroutineName === "deAlloc" && + this.fieldNum === 0 + ) { + for (const param of call.parameters) { + this.compileExpression(param); + this.write("pop temp 0"); + } + + this.write("push constant 0"); + return; + } + + if (attributes.object) { + this.write(`push ${attributes.object}`); + } + for (const param of call.parameters) { + this.compileExpression(param); + } + this.write( + `call ${attributes.className}.${attributes.subroutineName} ${ + call.parameters.length + (attributes.object ? 1 : 0) + }`, + ); + } + + compileStringLiteral(str: string) { + this.write(`push constant ${str.length}`, `call String.new 1`); + for (let i = 0; i < str.length; i++) { + this.write( + `push constant ${str.charCodeAt(i)}`, + `call String.appendChar 2`, + ); + } + } + + compileKeywordLiteral(keyword: KeywordConstant) { + switch (keyword) { + case "true": + this.write(`push constant 1`, `neg`); + break; + case "false": + this.write(`push constant 0`); + break; + case "null": + this.write(`push constant 0`); + break; + case "this": + this.write(`push pointer 0`); + } + } + + compileStatements(statements: Statement[]) { + for (const statement of statements) { + this.compileStatement(statement); + } + } + + compileStatement(statement: Statement) { + switch (statement.statementType) { + case "doStatement": + this.compileDoStatement(statement); + break; + case "ifStatement": + this.compileIf(statement); + break; + case "letStatement": + this.compileLet(statement); + break; + case "returnStatement": + this.compileReturn(statement); + break; + case "whileStatement": + this.compileWhile(statement); + } + } + + compileReturn(statement: ReturnStatement) { + if (statement.value) { + this.compileExpression(statement.value); + } else { + this.write(`push constant 0`); // return 0 + } + this.write(`return`); + } + + compileLet(statement: LetStatement) { + if (statement.arrayIndex) { + this.compileExpression(statement.arrayIndex); + this.write(`push ${this.var(statement)}`, "add"); + this.compileExpression(statement.value); + this.write("pop temp 0", "pop pointer 1", "push temp 0", "pop that 0"); + } else { + this.compileExpression(statement.value); + this.write(`pop ${this.var(statement)}`); + } + } + + compileDoStatement(statement: DoStatement) { + this.compileSubroutineCall(statement.call); + this.write(`pop temp 0`); + } + + compileIf(statement: IfStatement) { + const condTrue = this.getLabel(); + const condFalse = this.getLabel(); + + this.compileExpression(statement.condition); + this.write("not", `if-goto ${condFalse}`); + this.compileStatements(statement.body); + this.write(`goto ${condTrue}`, `label ${condFalse}`); + this.compileStatements(statement.else); + this.write(`label ${condTrue}`); + } + + compileWhile(statement: WhileStatement) { + const loop = this.getLabel(); + const exit = this.getLabel(); + + this.write(`label ${loop}`); + this.compileExpression(statement.condition); + this.write(`not`, `if-goto ${exit}`); + this.compileStatements(statement.body); + this.write(`goto ${loop}`, `label ${exit}`); + } +} diff --git a/web-ide-main/simulator/src/jack/controlFlow.ts b/web-ide-main/simulator/src/jack/controlFlow.ts new file mode 100644 index 0000000..1954273 --- /dev/null +++ b/web-ide-main/simulator/src/jack/controlFlow.ts @@ -0,0 +1,180 @@ +import { + Err, + isErr, + Ok, + Result, + unwrap, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { CompilationError, createError } from "../languages/base.js"; +import { + IfStatement, + ReturnType, + Statement, + Subroutine, + WhileStatement, +} from "../languages/jack.js"; + +class CFGNode { + id: number; + hasReturn = false; + children: CFGNode[] = []; + + static count = 0; + + constructor() { + this.id = CFGNode.count; + CFGNode.count += 1; + } + + alwaysReturns(): boolean { + const visited: Set = new Set(); + + function checkReturn(node: CFGNode): boolean { + if (node.hasReturn) { + return true; + } else if (node.children.length === 0) { + return false; + } + visited.add(node); + for (const child of node.children) { + if (!visited.has(child) && !checkReturn(child)) { + return false; + } + } + return true; + } + + return checkReturn(this); + } + + getLeafs(): CFGNode[] { + const leafs: Set = new Set(); + const visited: Set = new Set(); + + function findLeafs(node: CFGNode) { + if (node.children.length === 0) { + leafs.add(node); + } else { + visited.add(node); + for (const child of node.children) { + if (!visited.has(child)) { + findLeafs(child); + } + } + } + } + + findLeafs(this); + return Array.from(leafs); + } +} + +function processIf( + statement: IfStatement, + returnType: ReturnType, + current: CFGNode, +): Result { + const ifStart = new CFGNode(); + current.children.push(ifStart); + current = ifStart; + const result1 = buildCFG(statement.body, returnType); + const result2 = buildCFG(statement.else, returnType); + if (isErr(result1)) { + return result1; + } + if (isErr(result2)) { + return result2; + } + const path1 = unwrap(result1); + const path2 = unwrap(result2); + current.children.push(path1, path2); + const leafs = path1.getLeafs().concat(path2.getLeafs()); + current = new CFGNode(); + for (const leaf of leafs) { + leaf.children.push(current); + } + return Ok(current); +} + +function processWhile( + statement: WhileStatement, + returnType: ReturnType, + current: CFGNode, +): Result { + const whileStart = new CFGNode(); + current.children.push(whileStart); + current = whileStart; + const result = buildCFG(statement.body, returnType); + if (isErr(result)) { + return result; + } + const body = unwrap(result); + for (const leaf of body.getLeafs()) { + leaf.children.push(current); + } + const next = new CFGNode(); + current.children.push(body, next); + current = next; + return Ok(current); +} + +function buildCFG( + statements: Statement[], + returnType: ReturnType, +): Result { + const root = new CFGNode(); + let current = root; + + let result: Result | undefined; + for (const statement of statements) { + switch (statement.statementType) { + case "letStatement": + case "doStatement": + break; + case "returnStatement": + if (returnType != "void" && statement.value == undefined) { + return Err( + createError( + `A non void subroutine must return a value`, + statement.span, + ), + ); + } + current.hasReturn = true; + break; + case "ifStatement": + result = processIf(statement, returnType, current); + if (isErr(result)) { + return result; + } + current = unwrap(result); + break; + case "whileStatement": + result = processWhile(statement, returnType, current); + if (isErr(result)) { + return result; + } + current = unwrap(result); + break; + } + } + return Ok(root); +} + +export function validateSubroutine( + subroutine: Subroutine, +): Result { + const cfg = buildCFG(subroutine.body.statements, subroutine.returnType.value); + if (isErr(cfg)) { + return cfg; + } + if (!unwrap(cfg).alwaysReturns()) { + return Err( + createError( + `Subroutine ${subroutine.name.value}: not all code paths return a value`, + subroutine.name.span, + ), + ); + } + return Ok(); +} diff --git a/web-ide-main/simulator/src/languages/asm.test.ts b/web-ide-main/simulator/src/languages/asm.test.ts new file mode 100644 index 0000000..fb425f2 --- /dev/null +++ b/web-ide-main/simulator/src/languages/asm.test.ts @@ -0,0 +1,367 @@ +import { MaxAsm } from "@nand2tetris/projects/samples/project_06/02_max.js"; +import { ASSIGN, COMMANDS, JUMP } from "../cpu/alu.js"; +import { Asm, asmSemantics, emit, fillLabel, grammar } from "./asm.js"; + +describe("asm language", () => { + it("parses an empty file", () => { + const match = grammar.match(""); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).asm).toEqual({ instructions: [] }); + }); + + it("parses an A instruction to a label", () => { + const match = grammar.match("@R0", "aInstruction"); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).instruction).toEqual({ + type: "A", + label: "R0", + value: undefined, + span: { line: 1, start: 0, end: 3 }, + }); + }); + + it("parses an A instruction to a value", () => { + const match = grammar.match("@5", "aInstruction"); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).instruction).toEqual({ + type: "A", + label: undefined, + value: 5, + span: { line: 1, start: 0, end: 2 }, + }); + }); + + it("parses a C instruction", () => { + const match = grammar.match("-1", "cInstruction"); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).instruction).toEqual({ + type: "C", + op: COMMANDS.getOp("-1"), + isM: false, + span: { line: 1, start: 0, end: 2 }, + }); + }); + + it("parses a C instruction with assignment", () => { + const match = grammar.match("D=M", "cInstruction"); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).instruction).toEqual({ + type: "C", + op: COMMANDS.getOp("M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 1, start: 0, end: 3 }, + }); + }); + + it("parses a C instruction with operation", () => { + const match = grammar.match("M=M+1", "cInstruction"); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).instruction).toEqual({ + type: "C", + op: COMMANDS.getOp("A+1"), + store: ASSIGN.asm["M"], + isM: true, + span: { line: 1, start: 0, end: 5 }, + }); + }); + + it("parses a C instruction with jump", () => { + const match = grammar.match("D;JEQ", "cInstruction"); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).instruction).toEqual({ + type: "C", + op: COMMANDS.getOp("D"), + jump: JUMP.asm["JEQ"], + isM: false, + span: { line: 1, start: 0, end: 5 }, + }); + }); + + it("parses a C instruction with assignment and jump", () => { + const match = grammar.match("A=D;JEQ", "cInstruction"); + expect(match).toHaveSucceeded(); + expect(asmSemantics(match).instruction).toEqual({ + type: "C", + op: COMMANDS.getOp("D"), + jump: JUMP.asm["JEQ"], + store: ASSIGN.asm["A"], + isM: false, + span: { line: 1, start: 0, end: 7 }, + }); + }); + + it("parses a file into instructions", () => { + const match = grammar.match(MaxAsm); + + expect(match).toHaveSucceeded(); + const { instructions } = asmSemantics(match).asm as Asm; + expect(instructions).toEqual([ + { + type: "A", + label: "R0", + span: { line: 10, start: 319, end: 322 }, + }, + { + type: "C", + op: COMMANDS.getOp("M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 11, start: 325, end: 328 }, + }, + { + type: "A", + label: "R1", + span: { line: 12, start: 331, end: 334 }, + }, + { + type: "C", + op: COMMANDS.getOp("D-M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 13, start: 337, end: 342 }, + }, + { + type: "A", + label: "ITSR0", + span: { line: 15, start: 372, end: 378 }, + }, + { + type: "C", + op: COMMANDS.getOp("D"), + jump: JUMP.asm["JGT"], + isM: false, + span: { line: 16, start: 381, end: 386 }, + }, + { + type: "A", + label: "R1", + span: { line: 18, start: 401, end: 404 }, + }, + { + type: "C", + op: COMMANDS.getOp("M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 19, start: 407, end: 410 }, + }, + { + type: "A", + label: "OUTPUT_D", + span: { line: 20, start: 413, end: 422 }, + }, + { + type: "C", + op: COMMANDS.getOp("0"), + jump: JUMP.asm["JMP"], + isM: false, + span: { line: 21, start: 425, end: 430 }, + }, + { + type: "L", + label: "ITSR0", + span: { line: 22, start: 431, end: 438 }, + }, + { + type: "A", + label: "R0", + span: { line: 23, start: 441, end: 444 }, + }, + { + type: "C", + op: COMMANDS.getOp("M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 24, start: 447, end: 450 }, + }, + { + type: "L", + label: "OUTPUT_D", + span: { line: 25, start: 451, end: 461 }, + }, + { + type: "A", + label: "R2", + span: { line: 26, start: 464, end: 467 }, + }, + { + type: "C", + op: COMMANDS.getOp("D"), + store: ASSIGN.asm["M"], + isM: false, + span: { line: 27, start: 470, end: 473 }, + }, + { + type: "L", + label: "END", + span: { line: 28, start: 474, end: 479 }, + }, + { + type: "A", + label: "END", + span: { line: 29, start: 482, end: 486 }, + }, + { + type: "C", + op: COMMANDS.getOp("0"), + jump: JUMP.asm["JMP"], + isM: false, + span: { line: 30, start: 489, end: 494 }, + }, + ]); + }); + + it("assembles a file to hack", () => { + const match = grammar.match(MaxAsm); + + expect(match).toHaveSucceeded(); + + const asm: Asm = asmSemantics(match).asm; + fillLabel(asm); + + expect(asm.instructions).toEqual([ + { + type: "A", + value: 0, + span: { line: 10, start: 319, end: 322 }, + }, + { + type: "C", + op: COMMANDS.getOp("M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 11, start: 325, end: 328 }, + }, + { + type: "A", + value: 1, + span: { line: 12, start: 331, end: 334 }, + }, + { + type: "C", + op: COMMANDS.getOp("D-M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 13, start: 337, end: 342 }, + }, + { + type: "A", + value: 10, + span: { line: 15, start: 372, end: 378 }, + }, + { + type: "C", + op: COMMANDS.getOp("D"), + jump: JUMP.asm["JGT"], + isM: false, + span: { line: 16, start: 381, end: 386 }, + }, + { + type: "A", + value: 1, + span: { line: 18, start: 401, end: 404 }, + }, + { + type: "C", + op: COMMANDS.getOp("M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 19, start: 407, end: 410 }, + }, + { + type: "A", + value: 12, + span: { line: 20, start: 413, end: 422 }, + }, + { + type: "C", + op: COMMANDS.getOp("0"), + jump: JUMP.asm["JMP"], + isM: false, + span: { line: 21, start: 425, end: 430 }, + }, + { + type: "L", + label: "ITSR0", + span: { line: 22, start: 431, end: 438 }, + }, + { + type: "A", + value: 0, + span: { line: 23, start: 441, end: 444 }, + }, + { + type: "C", + op: COMMANDS.getOp("M"), + store: ASSIGN.asm["D"], + isM: true, + span: { line: 24, start: 447, end: 450 }, + }, + { + type: "L", + label: "OUTPUT_D", + span: { line: 25, start: 451, end: 461 }, + }, + { + type: "A", + value: 2, + span: { line: 26, start: 464, end: 467 }, + }, + { + type: "C", + op: COMMANDS.getOp("D"), + store: ASSIGN.asm["M"], + isM: false, + span: { line: 27, start: 470, end: 473 }, + }, + { + type: "L", + label: "END", + span: { line: 28, start: 474, end: 479 }, + }, + { + type: "A", + value: 14, + span: { line: 29, start: 482, end: 486 }, + }, + { + type: "C", + op: COMMANDS.getOp("0"), + jump: JUMP.asm["JMP"], + isM: false, + span: { line: 30, start: 489, end: 494 }, + }, + ]); + }); + + it("assembles a file to bin", () => { + const match = grammar.match(MaxAsm); + + expect(match).toHaveSucceeded(); + + const asm: Asm = asmSemantics(match).asm; + fillLabel(asm); + const bin = emit(asm); + + // biome-ignore format: special constant formatting + const file = [ + 0b0_000000000000000, // @R0 0x0000 + 0b111_1_110000_010_000, // D=M 0xFE10 + 0b0_000000000000001, // @R1 0x0001 + 0b111_1_010011_010_000, // D=D-M 0xF8D0 + 0b0_000000000001010, // @ITSR0#10 0x000A + 0b111_0_001100_000_001, // D;JGT 0xE301 + 0b0_000000000000001, // @R1 0x0001 + 0b111_1_110000_010_000, // D=M 0xFE10 + 0b0_000000000001100, // @OUTPUT_D#12 0x000C + 0b111_0_101010_000_111, // 0;JMP (ITSR0:10) 0xEA85 + 0b0_000000000000000, // @R0 0x0000 + 0b111_1_110000_010_000, // D=M (OUTPUT_D:12) 0x000C + 0b0_000000000000010, // @R2 0x0002 + 0b111_0_001100_001_000, // M=D (INFINITE LOOP:14) 0xE308 + 0b0_000000000001110, // @INFINITE_LOOP#14 0x0014 + 0b111_0_101010_000_111, // 0;JMP 0xEA83 + ]; + expect(bin).toEqual(file); + }); +}); diff --git a/web-ide-main/simulator/src/languages/asm.ts b/web-ide-main/simulator/src/languages/asm.ts new file mode 100644 index 0000000..557d449 --- /dev/null +++ b/web-ide-main/simulator/src/languages/asm.ts @@ -0,0 +1,365 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { Err, Ok, Result } from "@davidsouther/jiffies/lib/esm/result.js"; +import { type Node, grammar as ohmGrammar } from "ohm-js"; +import { + ASSIGN, + ASSIGN_ASM, + ASSIGN_OP, + COMMANDS, + COMMANDS_ASM, + COMMANDS_OP, + isAssignAsm, + isCommandAsm, + JUMP, + JUMP_ASM, + JUMP_OP, +} from "../cpu/alu.js"; +import { KEYBOARD_OFFSET, SCREEN_OFFSET } from "../cpu/memory.js"; +import { makeC } from "../util/asm.js"; +import { + baseSemantics, + CompilationError, + createError, + grammars, + makeParser, + Span, + span, +} from "./base.js"; +import asmGrammar from "./grammars/asm.ohm.js"; + +export const grammar = ohmGrammar(asmGrammar, grammars); +export const asmSemantics = grammar.extendSemantics(baseSemantics); + +export interface Asm { + instructions: AsmInstruction[]; +} + +export type AsmInstruction = + | AsmAInstruction + | AsmCInstruction + | AsmLabelInstruction; + +export type AsmAInstruction = AsmALabelInstruction | AsmAValueInstruction; +export interface AsmALabelInstruction { + type: "A"; + label: string; + span?: Span; +} + +export interface AsmAValueInstruction { + type: "A"; + value: number; + span?: Span; +} + +export function isAValueInstruction( + inst: AsmInstruction, +): inst is AsmAValueInstruction { + return inst.type == "A" && (inst as AsmAValueInstruction).value !== undefined; +} + +function isALabelInstruction( + inst: AsmInstruction, +): inst is AsmALabelInstruction { + return inst.type == "A" && (inst as AsmALabelInstruction).label !== undefined; +} + +export interface AsmCInstruction { + type: "C"; + op: COMMANDS_OP; + isM: boolean; + store?: ASSIGN_OP; + jump?: JUMP_OP; + span?: Span; +} + +export interface AsmLabelInstruction { + type: "L"; + label: string; + span?: Span; +} + +asmSemantics.addAttribute("root", { + Root(_) { + return this.asm; + }, +}); + +asmSemantics.addAttribute("asm", { + ASM(asm, last) { + const instructions = + asm.children.map( + (node) => node.intermediateInstruction as AsmInstruction, + ) ?? []; + return { + instructions: last.child(0) + ? [...instructions, last.child(0).instruction] + : instructions, + }; + }, +}); + +asmSemantics.addAttribute("intermediateInstruction", { + intermediateInstruction(inst, _n) { + return inst.instruction; + }, +}); + +function getAsmAssign(assignN: Node) { + let assign = assignN.child(0)?.child(0)?.sourceString ?? ""; + + // The book (figure 4.5) specifies DM and ADM as the correct forms for destination, + // but since the desktop simulators accept only MD and AMD we have decided to accept both */ + if (assign == "DM") { + assign = "MD"; + } + if (assign == "ADM") { + assign = "AMD"; + } + if (assign != "" && !isAssignAsm(assign)) { + const reversed = assign.split("").reverse().join(""); + const suggestion = isAssignAsm(reversed) + ? `. Did you mean ${reversed}?` + : ""; + throw createError( + `Invalid ASM target: ${assign}${suggestion}`, + span(assignN.source), + ); + } + + return assign; +} + +function getAsmOp(opN: Node) { + const op = opN.sourceString; + + if (!isCommandAsm(op)) { + const reversed = op.split("").reverse().join(""); + const suggestion = isCommandAsm(reversed) + ? `. Did you mean ${reversed}?` + : ""; + throw createError( + `Invalid ASM value: ${opN.sourceString}${suggestion}`, + span(opN.source), + ); + } + + return op; +} + +asmSemantics.addAttribute("instruction", { + aInstruction(_at, name): AsmAInstruction { + return A(name.value, span(this.source)); + }, + cInstruction(assignN, opN, jmpN): AsmCInstruction { + const assign = getAsmAssign(assignN); + + const op = getAsmOp(opN) as COMMANDS_ASM; + const jmp = (jmpN.child(0)?.child(1)?.sourceString ?? "") as JUMP_ASM; + return C(assign as ASSIGN_ASM, op, jmp, span(this.source)); + }, + label(_o, { name }, _c): AsmLabelInstruction { + return L(name, span(this.source)); + }, +}); + +export type Pointer = + | "R0" + | "R1" + | "R2" + | "R3" + | "R4" + | "R5" + | "R6" + | "R7" + | "R8" + | "R9" + | "R10" + | "R11" + | "R12" + | "R13" + | "R14" + | "R15" + | "SP" + | "LCL" + | "ARG" + | "THIS" + | "THAT" + | "SCREEN" + | "KBD"; + +export function fillLabel( + asm: Asm, + symbolCallback?: (name: string, value: number, isVar: boolean) => void, +): Result { + let nextLabel = 16; + const symbols = new Map([ + ["R0", 0], + ["R1", 1], + ["R2", 2], + ["R3", 3], + ["R4", 4], + ["R5", 5], + ["R6", 6], + ["R7", 7], + ["R8", 8], + ["R9", 9], + ["R10", 10], + ["R11", 11], + ["R12", 12], + ["R13", 13], + ["R14", 14], + ["R15", 15], + ["SP", 0], + ["LCL", 1], + ["ARG", 2], + ["THIS", 3], + ["THAT", 4], + ["SCREEN", SCREEN_OFFSET], + ["KBD", KEYBOARD_OFFSET], + ]); + + function getLabelValue(label: string) { + if (!symbols.has(label)) { + symbols.set(label, nextLabel); + symbolCallback?.(label, nextLabel, true); + nextLabel += 1; + } + return assertExists(symbols.get(label), `Label not in symbols: ${label}`); + } + + function transmuteAInstruction(instruction: AsmALabelInstruction) { + const value = getLabelValue(instruction.label); + (instruction as unknown as AsmAValueInstruction).value = value; + delete (instruction as unknown as { label: undefined }).label; + } + + const unfilled: AsmALabelInstruction[] = []; + let line = 0; + for (const instruction of asm.instructions) { + if (instruction.type === "L") { + if (symbols.has(instruction.label)) { + return Err( + createError(`Duplicate label ${instruction.label}`, instruction.span), + ); + } else { + symbols.set(instruction.label, line); + symbolCallback?.(instruction.label, line, false); + } + continue; + } + + line += 1; + + if (instruction.type === "A") { + if (isALabelInstruction(instruction)) { + unfilled.push(instruction); + } + } + } + + unfilled.forEach(transmuteAInstruction); + return Ok(); +} + +function writeCInst(inst: AsmCInstruction): string { + return ( + (inst.store ? `${ASSIGN.op[inst.store]}=` : "") + + COMMANDS.op[inst.op] + + (inst.jump ? `;${JUMP.op[inst.jump]}` : "") + ); +} + +export const AsmToString = (inst: AsmInstruction | string): string => { + if (typeof inst === "string") return inst; + switch (inst.type) { + case "A": + return isALabelInstruction(inst) ? `@${inst.label}` : `@${inst.value}`; + case "L": + return `(${inst.label})`; + case "C": + return writeCInst(inst); + } +}; + +export function translateInstruction(inst: AsmInstruction): number | undefined { + if (inst.type === "A") { + if (isALabelInstruction(inst)) { + throw new Error(`ASM Emitting unfilled A instruction`); + } + return inst.value; + } + if (inst.type === "C") { + return makeC( + inst.isM, + inst.op, + (inst.store ?? 0) as ASSIGN_OP, + (inst.jump ?? 0) as ASSIGN_OP, + ); + } + return undefined; +} + +export function emit(asm: Asm): number[] { + return asm.instructions + .map(translateInstruction) + .filter((op): op is number => op !== undefined); +} + +const A = (source: string | number, span?: Span): AsmAInstruction => + typeof source === "string" + ? { + type: "A", + label: source, + span, + } + : { + type: "A", + value: source, + span, + }; + +const C = ( + assign: ASSIGN_ASM, + op: COMMANDS_ASM, + jmp?: JUMP_ASM, + span?: Span, +): AsmCInstruction => { + const inst: AsmCInstruction = { + type: "C", + op: COMMANDS.getOp(op), + isM: op.includes("M"), + span, + }; + if (jmp) inst.jump = JUMP.asm[jmp]; + if (assign) inst.store = ASSIGN.asm[assign]; + return inst; +}; + +const AC = ( + source: string | number, + assign: ASSIGN_ASM, + op: COMMANDS_ASM, + jmp?: JUMP_ASM, +) => [A(source), C(assign, op, jmp)]; + +const L = (label: string, span?: Span): AsmLabelInstruction => ({ + type: "L", + label, + span, +}); + +export const ASM = { + grammar: asmGrammar, + semantics: asmSemantics, + parser: grammar, + parse: makeParser(grammar, asmSemantics), + passes: { + fillLabel, + emit, + }, + A, + C, + AC, + L, +}; diff --git a/web-ide-main/simulator/src/languages/base.test.ts b/web-ide-main/simulator/src/languages/base.test.ts new file mode 100644 index 0000000..8ec4da2 --- /dev/null +++ b/web-ide-main/simulator/src/languages/base.test.ts @@ -0,0 +1,54 @@ +import { cleanState } from "@davidsouther/jiffies/lib/esm/scope/state.js"; +import { grammar } from "ohm-js"; +import { baseSemantics, grammars } from "./base.js"; + +describe("Ohm Base", () => { + it("parses numbers", () => { + const match = grammars.Base.match("1234", "Number"); + + expect(match).toHaveSucceeded(); + const { value } = baseSemantics(match); + expect(value).toBe(1234); + }); + + it.each([ + ["%XFF", 255], + ["%D128", 128], + ["127", 127], + ["%B11", 3], + ["%D-1", 0xffff], + ["0", 0], + ["11111", 11111], + ])("parses values", (str, num) => { + const match = grammars.Base.match(str, "Number"); + expect(match).toHaveSucceeded(); + expect(baseSemantics(match).value).toBe(num); + }); + + it("saves names", () => { + const match = grammars.Base.match("inout", "Name"); + expect(match).toHaveSucceeded(); + const { name } = baseSemantics(match); + expect(name).toBe("inout"); + }); + + describe("trailing lists", () => { + const state = cleanState(() => { + const repGrammar = grammar( + `Rep <: Base { + Rep = List<"A", ","> + Block = OpenParen Rep CloseParen + }`, + grammars, + ); + return { repGrammar }; + }, beforeEach); + + it.each([ + ["A,", "Rep"], + ["(A,)", "Block"], + ])("allows trailing lists", (str, tag) => { + expect(state.repGrammar.match(str, tag)).toHaveSucceeded(); + }); + }); +}); diff --git a/web-ide-main/simulator/src/languages/base.ts b/web-ide-main/simulator/src/languages/base.ts new file mode 100644 index 0000000..1944fa4 --- /dev/null +++ b/web-ide-main/simulator/src/languages/base.ts @@ -0,0 +1,122 @@ +import { Err, Ok, Result } from "@davidsouther/jiffies/lib/esm/result.js"; +import { + type Dict, + type Grammar, + grammar, + Interval, + type Semantics, +} from "ohm-js"; +import { int2, int10, int16 } from "../util/twos.js"; + +import baseGrammar from "./grammars/base.ohm.js"; +export const grammars = { + Base: grammar(baseGrammar), +}; + +export const baseSemantics = grammars.Base.createSemantics(); + +baseSemantics.extendOperation("asIteration", { + List(list, _) { + return list.asIteration(); + }, +}); + +baseSemantics.addAttribute("value", { + decNumber(_, digits): number { + return int10(digits.sourceString); + }, + wholeDec(_, digits): number { + return int10(digits.sourceString); + }, + binNumber(_, digits) { + return int2(digits.sourceString); + }, + hexNumber(_, digits) { + return int16(digits.sourceString); + }, + Number(num) { + return num.value; + }, + Name(ident) { + return ident.name; + }, + identifier(_, __): string { + return this.sourceString; + }, +}); + +baseSemantics.addAttribute("name", { + identifier(_, __): string { + return this.sourceString; + }, + Name(_): string { + return this.child(0)?.name; + }, +}); + +baseSemantics.addAttribute("String", { + String(_a, str, _b) { + return str.sourceString; + }, +}); + +export interface CompilationError { + message: string; + span?: Span; +} + +const UNKNOWN_HDL_ERROR = `HDL statement has a syntax error`; + +export function createError( + description: string, + span?: Span, +): CompilationError { + const match = description.match(/Line \d+, col \d+: (?.*)/); + const message = match?.groups?.message ? match.groups.message : description; + return { + message: `${ + span?.line != undefined ? `Line ${span.line}: ` : "" + }${message}`, + span: span, + }; +} + +export function makeParser( + grammar: Grammar, + semantics: Semantics, + property: (obj: Dict) => ResultType = ({ root }) => root, +): (source: string) => Result { + return function parse(source) { + try { + const match = grammar.match(source); + if (match.succeeded()) { + const parsed = semantics(match); + const parse = property(parsed); + return Ok(parse); + } else { + return Err( + createError( + match.shortMessage ?? UNKNOWN_HDL_ERROR, + span(match.getInterval()), + ), + ); + } + } catch (e) { + return Err(e as Error); + } + }; +} + +export interface Span { + start: number; + end: number; + line: number; +} + +export function span(span: Interval): Span { + return { + start: span.startIdx, + end: span.endIdx, + line: span.getLineAndColumn().lineNum, + }; +} diff --git a/web-ide-main/simulator/src/languages/cmp.test.ts b/web-ide-main/simulator/src/languages/cmp.test.ts new file mode 100644 index 0000000..693dd16 --- /dev/null +++ b/web-ide-main/simulator/src/languages/cmp.test.ts @@ -0,0 +1,26 @@ +import { cmpSemantics, grammar } from "./cmp.js"; + +describe("cmp language", () => { + it("parses an empty file", () => { + const match = grammar.match(""); + expect(match).toHaveSucceeded(); + expect(cmpSemantics(match).root).toEqual([]); + }); + + it("parses a file into lines", () => { + const match = grammar.match(`| a | b | out | +| 0 | 0 | 0 | +| 1 | 0 | 1 | +| 0 | 1 | 1 | +| 1 | 1 | 0 |`); + + expect(match).toHaveSucceeded(); + expect(cmpSemantics(match).root).toEqual([ + [" a ", " b ", " out "], + [" 0 ", " 0 ", " 0 "], + [" 1 ", " 0 ", " 1 "], + [" 0 ", " 1 ", " 1 "], + [" 1 ", " 1 ", " 0 "], + ]); + }); +}); diff --git a/web-ide-main/simulator/src/languages/cmp.ts b/web-ide-main/simulator/src/languages/cmp.ts new file mode 100644 index 0000000..1ce8e26 --- /dev/null +++ b/web-ide-main/simulator/src/languages/cmp.ts @@ -0,0 +1,35 @@ +import { grammar as ohmGrammar } from "ohm-js"; +import { baseSemantics, grammars, makeParser } from "./base.js"; + +export type Cell = string; +export type Line = Cell[]; +export type Cmp = Line[]; + +import cmpGrammar from "./grammars/cmp.ohm.js"; +export const grammar = ohmGrammar(cmpGrammar, grammars); +export const cmpSemantics = grammar.extendSemantics(baseSemantics); + +cmpSemantics.addAttribute("cell", { + cell(value, _) { + return value.sourceString; + }, +}); + +cmpSemantics.addAttribute("line", { + line(_a, cells, _b) { + return cells.children.map((c) => c.cell); + }, +}); + +cmpSemantics.addAttribute("root", { + Root(lines) { + return lines.children.map((c) => c.line); + }, +}); + +export const CMP = { + grammar: cmpGrammar, + semantics: cmpSemantics, + parser: grammar, + parse: makeParser(grammar, cmpSemantics), +}; diff --git a/web-ide-main/simulator/src/languages/grammars/.gitignore b/web-ide-main/simulator/src/languages/grammars/.gitignore new file mode 100644 index 0000000..a11483e --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/.gitignore @@ -0,0 +1 @@ +.ohm.js diff --git a/web-ide-main/simulator/src/languages/grammars/asm.ohm b/web-ide-main/simulator/src/languages/grammars/asm.ohm new file mode 100644 index 0000000..ecee950 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/asm.ohm @@ -0,0 +1,21 @@ +ASM <: Base { + Root := ASM + ASM = intermediateInstruction* instruction? + + instruction = label|aInstruction|cInstruction + intermediateInstruction = instruction space+ + + identifier := (letter|underscore|dot|dollar|colon) (alnum|underscore|dot|dollar|colon)* + + label = openParen identifier closeParen + aInstruction = at (identifier | decNumber) + cInstruction = assign? op jmp? + + assignChar = "A" | "M" | "D" + opChar = assignChar | "0" | "1" | "!" | "-" | "+" | "|" | "&" + + assign = assignChar+ equal + op = opChar+ + + jmp = semi ("JGT" | "JEQ" | "JGE" | "JLT" | "JNE" | "JLE" | "JMP") +} \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/asm.ohm.js b/web-ide-main/simulator/src/languages/grammars/asm.ohm.js new file mode 100644 index 0000000..2426b59 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/asm.ohm.js @@ -0,0 +1,22 @@ +const asm = `ASM <: Base { + Root := ASM + ASM = intermediateInstruction* instruction? + + instruction = label|aInstruction|cInstruction + intermediateInstruction = instruction space+ + + identifier := (letter|underscore|dot|dollar|colon) (alnum|underscore|dot|dollar|colon)* + + label = openParen identifier closeParen + aInstruction = at (identifier | decNumber) + cInstruction = assign? op jmp? + + assignChar = "A" | "M" | "D" + opChar = assignChar | "0" | "1" | "!" | "-" | "+" | "|" | "&" + + assign = assignChar+ equal + op = opChar+ + + jmp = semi ("JGT" | "JEQ" | "JGE" | "JLT" | "JNE" | "JLE" | "JMP") +}`; +export default asm; diff --git a/web-ide-main/simulator/src/languages/grammars/base.ohm b/web-ide-main/simulator/src/languages/grammars/base.ohm new file mode 100644 index 0000000..7e87372 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/base.ohm @@ -0,0 +1,77 @@ +Base { + Root = Value* + + At = at + Bang = bang + Bar = bar + CloseAngle = closeAngle + CloseBrace = closeBrace + CloseParen = closeParen + CloseSquare = closeSquare + Comma = comma + Dollar = dollar + Dot = dot + DoubleQuote = doubleQuote + Equal = equal + OpenAngle = openAngle + OpenBrace = openBrace + OpenParen = openParen + OpenSquare = openSquare + Percent = percent + Semi = semi + Underscore = underscore + + at = "@" + bang = "!" + bar = "|" + closeAngle = ">" + closeBrace = "}" + closeParen = ")" + closeSquare = "]" + comma = "," + dollar = "$" + dot = "." + doubleQuote = "\"" + equal = "=" + minus = "-" + newline = "\r"? "\n" + openAngle = "<" + openBrace = "{" + openParen = "(" + openSquare = "[" + percent = "%" + semi = ";" + underscore = "_" + colon = ":" + + Value = identifier | number | boolean + + boolean = true | false + True = true + False = false + true = "true" + false = "false" + + Name = identifier + identifier = (letter|underscore|dot|dollar) (alnum|underscore|dot|dollar)* + + Number = number + number = hexNumber | decNumber | binNumber + binNumber = ("%B") ("0"|"1")+ + hexNumber = ("%X") hexDigit+ + decNumber = ("%D")? (wholeDec | realDec) + wholeDec = minus? digit+ + realDec = minus? digit* "." digit+ + + String = DoubleQuote (~doubleQuote any)* doubleQuote + + spaces := (lineComment | comment | space)* + commentStart = "/*" + commentEnd = "*/" + comment = commentStart (~commentEnd any)* commentEnd + lineCommentStart = "//" + lineComment = lineCommentStart (~"\n" any)* + + List = NonemptyListOf sep? + EmptyList = EmptyList sep? +} \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/base.ohm.js b/web-ide-main/simulator/src/languages/grammars/base.ohm.js new file mode 100644 index 0000000..acce3f4 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/base.ohm.js @@ -0,0 +1,79 @@ +const base = ` +Base { + Root = Value* + + At = at + Bang = bang + Bar = bar + CloseAngle = closeAngle + CloseBrace = closeBrace + CloseParen = closeParen + CloseSquare = closeSquare + Comma = comma + Dollar = dollar + Dot = dot + DoubleQuote = doubleQuote + Equal = equal + OpenAngle = openAngle + OpenBrace = openBrace + OpenParen = openParen + OpenSquare = openSquare + Percent = percent + Semi = semi + Underscore = underscore + + at = "@" + bang = "!" + bar = "|" + closeAngle = ">" + closeBrace = "}" + closeParen = ")" + closeSquare = "]" + comma = "," + dollar = "$" + dot = "." + doubleQuote = "\\"" + equal = "=" + minus = "-" + newline = "\\r"? "\\n" + openAngle = "<" + openBrace = "{" + openParen = "(" + openSquare = "[" + percent = "%" + semi = ";" + underscore = "_" + colon = ":" + + Value = identifier | number | boolean + + boolean = true | false + True = true + False = false + true = "true" + false = "false" + + Name = identifier + identifier = (letter|underscore|dot|dollar) (alnum|underscore|dot|dollar)* + + Number = number + number = hexNumber | decNumber | binNumber + binNumber = ("%B") ("0"|"1")+ + hexNumber = ("%X") hexDigit+ + decNumber = ("%D")? (wholeDec | realDec) + wholeDec = minus? digit+ + realDec = minus? digit* "." digit+ + + String = DoubleQuote (~doubleQuote any)* doubleQuote + + spaces := (lineComment | comment | space)* + commentStart = "/*" + commentEnd = "*/" + comment = commentStart (~commentEnd any)* commentEnd + lineCommentStart = "//" + lineComment = lineCommentStart (~"\\n" any)* + + List = NonemptyListOf sep? + EmptyList = EmptyList sep? +}`; +export default base; diff --git a/web-ide-main/simulator/src/languages/grammars/cmp.ohm b/web-ide-main/simulator/src/languages/grammars/cmp.ohm new file mode 100644 index 0000000..735740b --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/cmp.ohm @@ -0,0 +1,6 @@ +Cmp <: Base { + Root := line* + line = bar cell+ newline? + cell = cellvalue bar + cellvalue = (~(bar|newline) any)* +} \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/cmp.ohm.js b/web-ide-main/simulator/src/languages/grammars/cmp.ohm.js new file mode 100644 index 0000000..05fdf51 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/cmp.ohm.js @@ -0,0 +1,8 @@ +const cmp = ` +Cmp <: Base { + Root := line* + line = bar cell+ newline? + cell = cellvalue bar + cellvalue = (~(bar|newline) any)* +}`; +export default cmp; diff --git a/web-ide-main/simulator/src/languages/grammars/hdl.ohm b/web-ide-main/simulator/src/languages/grammars/hdl.ohm new file mode 100644 index 0000000..f2deaa3 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/hdl.ohm @@ -0,0 +1,23 @@ +Hdl <: Base{ + Root := Chip + identifier := (letter) (alnum)* + Name := identifier + Chip = "CHIP" Name OpenBrace ChipBody CloseBrace + ChipBody = InList? OutList? PartList ClockedList? + InList = "IN" PinList Semi + OutList = "OUT" PinList Semi + PartList = BuiltinPart | Parts + PinList = List + PinDecl = Name PinWidth? + PinWidth = OpenSquare decNumber CloseSquare + BuiltinPart = "BUILTIN" Semi + Parts = "PARTS:" Part* + Part = Name "(" Wires ")" Semi + Wires = List + Wire = WireSide Equal (WireSide | True | False) + WireSide = Name SubBus? + SubBus = OpenSquare decNumber subBusRest? CloseSquare + subBusRest = ".." decNumber + ClockedList = "CLOCKED" SimplePinList Semi + SimplePinList = List +} \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/hdl.ohm.js b/web-ide-main/simulator/src/languages/grammars/hdl.ohm.js new file mode 100644 index 0000000..b730f80 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/hdl.ohm.js @@ -0,0 +1,25 @@ +const hdl = ` +Hdl <: Base{ + Root := Chip + identifier := (letter) (alnum)* + Name := identifier + Chip = "CHIP" Name OpenBrace ChipBody CloseBrace + ChipBody = InList? OutList? PartList ClockedList? + InList = "IN" PinList Semi + OutList = "OUT" PinList Semi + PartList = BuiltinPart | Parts + PinList = List + PinDecl = Name PinWidth? + PinWidth = OpenSquare decNumber CloseSquare + BuiltinPart = "BUILTIN" Semi + Parts = "PARTS:" Part* + Part = Name "(" Wires ")" Semi + Wires = List + Wire = WireSide Equal (WireSide | True | False) + WireSide = Name SubBus? + SubBus = OpenSquare decNumber subBusRest? CloseSquare + subBusRest = ".." decNumber + ClockedList = "CLOCKED" SimplePinList Semi + SimplePinList = List +}`; +export default hdl; diff --git a/web-ide-main/simulator/src/languages/grammars/jack.ohm b/web-ide-main/simulator/src/languages/grammars/jack.ohm new file mode 100644 index 0000000..f313b9e --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/jack.ohm @@ -0,0 +1,78 @@ +Jack <: Base { + Root := Class + + whitespace = (lineComment | comment | space) + + class = "class" whitespace+ + Class = class jackIdentifier OpenBrace ClassVarDec* SubroutineDec* CloseBrace + + type = ("int" | "char" | "boolean" | jackIdentifier) whitespace+ + + classVarType = ("static" | "field") whitespace+ + ClassVarDec = classVarType type jackIdentifier TrailingIdentifier* Semi + TrailingIdentifier = Comma jackIdentifier + + void = "void" whitespace+ + returnType = (type | void) + subroutineType = ("constructor" | "function" | "method") whitespace+ + SubroutineDec = subroutineType returnType jackIdentifier OpenParen ParameterList CloseParen SubroutineBody + + + Parameter = type jackIdentifier + Parameters = Parameter TrailingParameter* + TrailingParameter = Comma Parameter + ParameterList = Parameters? + + SubroutineBody = OpenBrace VarDec* Statement* CloseBrace + + var = "var" whitespace+ + VarDec = var type jackIdentifier TrailingIdentifier* Semi + + Statement = LetStatement | IfStatement | WhileStatement | DoStatement | ReturnStatement + + arrayAccessStart = jackIdentifier openSquare + ArrayAccess = arrayAccessStart Expression CloseSquare + + let = "let" whitespace+ + LetTarget = ArrayAccess | jackIdentifier + LetStatement = let LetTarget Equal Expression Semi + + IfStatement = "if" OpenParen Expression CloseParen OpenBrace Statement* CloseBrace ElseBlock? + ElseBlock = "else" OpenBrace Statement* CloseBrace + + WhileStatement = "while" OpenParen Expression CloseParen OpenBrace Statement* CloseBrace + + do = "do" whitespace+ + DoStatement = do SubroutineCall Semi + + return = "return" + returnWithSpace = "return" whitespace+ + ReturnStatement = EmptyReturn | ReturnValue + EmptyReturn = return Semi + ReturnValue = returnWithSpace Expression Semi + + op = "+" | "-" | "*" | "/" | "&" | "|" | "<" | ">" | "=" + ExpressionPart = op Term + Expression = Term ExpressionPart* + + integerConstant = digit+ + stringConstant = doubleQuote (~doubleQuote ~newline any)* doubleQuote + keywordConstant = "true" | "false" | "null" | "this" + + GroupedExpression = OpenParen Expression CloseParen + + unaryOp = "-" | "~" + UnaryExpression = unaryOp Term + + Term = integerConstant | stringConstant | keywordConstant | SubroutineCall | ArrayAccess | jackIdentifier | GroupedExpression | UnaryExpression + + compoundIdentifier = jackIdentifier dot jackIdentifier + SubroutineName = compoundIdentifier | jackIdentifier + SubroutineCall = SubroutineName OpenParen ExpressionList CloseParen + + ExpressionList = Expressions? + Expressions = Expression TrailingExpression* + TrailingExpression = Comma Expression + + jackIdentifier = letter (alnum | underscore)* +} \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/jack.ohm.js b/web-ide-main/simulator/src/languages/grammars/jack.ohm.js new file mode 100644 index 0000000..c1431ce --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/jack.ohm.js @@ -0,0 +1,80 @@ +const jack = `Jack <: Base { + Root := Class + + whitespace = (lineComment | comment | space) + + class = "class" whitespace+ + Class = class jackIdentifier OpenBrace ClassVarDec* SubroutineDec* CloseBrace + + type = ("int" | "char" | "boolean" | jackIdentifier) whitespace+ + + classVarType = ("static" | "field") whitespace+ + ClassVarDec = classVarType type jackIdentifier TrailingIdentifier* Semi + TrailingIdentifier = Comma jackIdentifier + + void = "void" whitespace+ + returnType = (type | void) + subroutineType = ("constructor" | "function" | "method") whitespace+ + SubroutineDec = subroutineType returnType jackIdentifier OpenParen ParameterList CloseParen SubroutineBody + + + Parameter = type jackIdentifier + Parameters = Parameter TrailingParameter* + TrailingParameter = Comma Parameter + ParameterList = Parameters? + + SubroutineBody = OpenBrace VarDec* Statement* CloseBrace + + var = "var" whitespace+ + VarDec = var type jackIdentifier TrailingIdentifier* Semi + + Statement = LetStatement | IfStatement | WhileStatement | DoStatement | ReturnStatement + + arrayAccessStart = jackIdentifier openSquare + ArrayAccess = arrayAccessStart Expression CloseSquare + + let = "let" whitespace+ + LetTarget = ArrayAccess | jackIdentifier + LetStatement = let LetTarget Equal Expression Semi + + IfStatement = "if" OpenParen Expression CloseParen OpenBrace Statement* CloseBrace ElseBlock? + ElseBlock = "else" OpenBrace Statement* CloseBrace + + WhileStatement = "while" OpenParen Expression CloseParen OpenBrace Statement* CloseBrace + + do = "do" whitespace+ + DoStatement = do SubroutineCall Semi + + return = "return" + returnWithSpace = "return" whitespace+ + ReturnStatement = EmptyReturn | ReturnValue + EmptyReturn = return Semi + ReturnValue = returnWithSpace Expression Semi + + op = "+" | "-" | "*" | "/" | "&" | "|" | "<" | ">" | "=" + ExpressionPart = op Term + Expression = Term ExpressionPart* + + integerConstant = digit+ + stringConstant = doubleQuote (~doubleQuote ~newline any)* doubleQuote + keywordConstant = "true" | "false" | "null" | "this" + + GroupedExpression = OpenParen Expression CloseParen + + unaryOp = "-" | "~" + UnaryExpression = unaryOp Term + + Term = integerConstant | stringConstant | keywordConstant | SubroutineCall | ArrayAccess | jackIdentifier | GroupedExpression | UnaryExpression + + compoundIdentifier = jackIdentifier dot jackIdentifier + SubroutineName = compoundIdentifier | jackIdentifier + SubroutineCall = SubroutineName OpenParen ExpressionList CloseParen + + ExpressionList = Expressions? + Expressions = Expression TrailingExpression* + TrailingExpression = Comma Expression + + jackIdentifier = letter (alnum | underscore)* +}`; + +export default jack; diff --git a/web-ide-main/simulator/src/languages/grammars/prep.sh b/web-ide-main/simulator/src/languages/grammars/prep.sh new file mode 100644 index 0000000..da88ae2 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/prep.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" + +for f in *.ohm ; do + echo "const ${f%.ohm} = \`" >| "${f}.js" + cat "$f" | sed 's!\\!\\\\!g' >> "${f}.js" + echo "\`;" >> "${f}.js" + echo "export default ${f%.ohm};" >> "${f}.js" +done \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/tst.ohm b/web-ide-main/simulator/src/languages/grammars/tst.ohm new file mode 100644 index 0000000..cd0b13e --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/tst.ohm @@ -0,0 +1,59 @@ +Tst <: Base { + Root := Tst + Tst = (TstStatement | TstRepeat | TstWhile)+ + + TstRepeat = Repeat Number? OpenBrace TstCommand+ CloseBrace + TstWhile = While Condition OpenBrace TstCommand+ CloseBrace + TstStatement = TstCommand + + TstCommand = TstOperation Separator + Separator = (Semi | Bang | Comma) + + TstOperation = + | TstFileOperation + | TstOutputListOperation + | TstEvalOperation + | TstSetOperation + | TstOutputOperation + | TstEchoOperation + | TstClearEchoOperation + | TstLoadROMOperation + | TstResetRAMOperation + + TstLoadROMOperation = ROM32K Load FileName + TstFileOperation = FileOperation FileName? + TstOutputListOperation = "output-list" OutputFormat+ + OutputFormat = Name Index? FormatSpec? + FormatSpec = percent FormatStyle wholeDec dot wholeDec dot wholeDec + TstSetOperation = Set Name Index? Number + Index = OpenSquare wholeDec? CloseSquare + Condition = Value CompareOp Value + TstEvalOperation = Eval | TickTock | Tick | Tock | VmStep + TstOutputOperation = Output + TstEchoOperation = Echo String + TstClearEchoOperation = ClearEcho + TstResetRAMOperation = ResetRAM + + filename = (alnum|underscore|dot|dollar|minus)+ + FileName = filename + FileOperation = "load" | "output-file" | "compare-to" + + Set = "set" + Eval = "eval" + Tick = "tick" + Tock = "tock" + TickTock = "ticktock" + VmStep = "vmstep" + Echo = "echo" + Repeat = "repeat" + ClearEcho = "clear-echo" + Output = "output" + OutputList = "output-list" + FormatStyle = "B"|"D"|"S"|"X" + ROM32K = "ROM32K" + Load = "load" + While = "while" + ResetRAM = "resetRam" + + CompareOp = "<>" | "<=" | ">=" | "=" | "<" | ">" +} \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/tst.ohm.js b/web-ide-main/simulator/src/languages/grammars/tst.ohm.js new file mode 100644 index 0000000..4d13ae3 --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/tst.ohm.js @@ -0,0 +1,61 @@ +const tst = ` +Tst <: Base { + Root := Tst + Tst = (TstStatement | TstRepeat | TstWhile)+ + + TstRepeat = Repeat Number? OpenBrace TstCommand+ CloseBrace + TstWhile = While Condition OpenBrace TstCommand+ CloseBrace + TstStatement = TstCommand + + TstCommand = TstOperation Separator + Separator = (Semi | Bang | Comma) + + TstOperation = + | TstFileOperation + | TstOutputListOperation + | TstEvalOperation + | TstSetOperation + | TstOutputOperation + | TstEchoOperation + | TstClearEchoOperation + | TstLoadROMOperation + | TstResetRAMOperation + + TstLoadROMOperation = ROM32K Load FileName + TstFileOperation = FileOperation FileName? + TstOutputListOperation = "output-list" OutputFormat+ + OutputFormat = Name Index? FormatSpec? + FormatSpec = percent FormatStyle wholeDec dot wholeDec dot wholeDec + TstSetOperation = Set Name Index? Number + Index = OpenSquare wholeDec? CloseSquare + Condition = Value CompareOp Value + TstEvalOperation = Eval | TickTock | Tick | Tock | VmStep + TstOutputOperation = Output + TstEchoOperation = Echo String + TstClearEchoOperation = ClearEcho + TstResetRAMOperation = ResetRAM + + filename = (alnum|underscore|dot|dollar|minus)+ + FileName = filename + FileOperation = "load" | "output-file" | "compare-to" + + Set = "set" + Eval = "eval" + Tick = "tick" + Tock = "tock" + TickTock = "ticktock" + VmStep = "vmstep" + Echo = "echo" + Repeat = "repeat" + ClearEcho = "clear-echo" + Output = "output" + OutputList = "output-list" + FormatStyle = "B"|"D"|"S"|"X" + ROM32K = "ROM32K" + Load = "load" + While = "while" + ResetRAM = "resetRam" + + CompareOp = "<>" | "<=" | ">=" | "=" | "<" | ">" +}`; +export default tst; diff --git a/web-ide-main/simulator/src/languages/grammars/vm.js b/web-ide-main/simulator/src/languages/grammars/vm.js new file mode 100644 index 0000000..e69de29 diff --git a/web-ide-main/simulator/src/languages/grammars/vm.ohm b/web-ide-main/simulator/src/languages/grammars/vm.ohm new file mode 100644 index 0000000..442d50c --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/vm.ohm @@ -0,0 +1,56 @@ +Vm <: Base { + Root := Vm + + Vm = newline* VmInstructionLine* VmInstruction? + + space := comment | " " | "\t" + whitespace = lineComment | comment | space + + VmInstructionLine = VmInstruction newline+ + VmInstruction = + | StackInstruction + | OpInstruction + | FunctionInstruction + | CallInstruction + | ReturnInstruction + | GotoInstruction + | LabelInstruction + + StackInstruction = (push | pop) MemorySegment Number + OpInstruction = Add | Sub | Neg | Lt | Gt | Eq | And | Or | Not + FunctionInstruction = function Name Number + CallInstruction = call Name Number + ReturnInstruction = return + LabelInstruction = label Name + GotoInstruction = (goto | ifGoto) Name + + MemorySegment = argument | local | static | constant | this | that | pointer | temp + + push = "push" whitespace+ + pop = "pop" whitespace+ + function = "function" whitespace+ + call = "call" whitespace+ + return = "return" + goto = "goto" whitespace+ + ifGoto = "if-goto" whitespace+ + label = "label" whitespace+ + + argument = "argument" whitespace+ + local = "local" whitespace+ + static = "static" whitespace+ + constant = "constant" whitespace+ + this = "this" whitespace+ + that = "that" whitespace+ + pointer = "pointer" whitespace+ + temp = "temp" whitespace+ + + Add = "add" + Sub = "sub" + Neg = "neg" + Eq = "eq" + Lt = "lt" + Gt = "gt" + And = "and" + Or = "or" + Not = "not" +} \ No newline at end of file diff --git a/web-ide-main/simulator/src/languages/grammars/vm.ohm.js b/web-ide-main/simulator/src/languages/grammars/vm.ohm.js new file mode 100644 index 0000000..6c08bdc --- /dev/null +++ b/web-ide-main/simulator/src/languages/grammars/vm.ohm.js @@ -0,0 +1,57 @@ +const vm = `Vm <: Base { + Root := Vm + + Vm = newline* VmInstructionLine* VmInstruction? + + space := comment | " " | "\t" + whitespace = lineComment | comment | space + + VmInstructionLine = VmInstruction newline+ + VmInstruction = + | StackInstruction + | OpInstruction + | FunctionInstruction + | CallInstruction + | ReturnInstruction + | GotoInstruction + | LabelInstruction + + StackInstruction = (push | pop) MemorySegment Number + OpInstruction = Add | Sub | Neg | Lt | Gt | Eq | And | Or | Not + FunctionInstruction = function Name Number + CallInstruction = call Name Number + ReturnInstruction = return + LabelInstruction = label Name + GotoInstruction = (goto | ifGoto) Name + + MemorySegment = argument | local | static | constant | this | that | pointer | temp + + push = "push" whitespace+ + pop = "pop" whitespace+ + function = "function" whitespace+ + call = "call" whitespace+ + return = "return" + goto = "goto" whitespace+ + ifGoto = "if-goto" whitespace+ + label = "label" whitespace+ + + argument = "argument" whitespace+ + local = "local" whitespace+ + static = "static" whitespace+ + constant = "constant" whitespace+ + this = "this" whitespace+ + that = "that" whitespace+ + pointer = "pointer" whitespace+ + temp = "temp" whitespace+ + + Add = "add" + Sub = "sub" + Neg = "neg" + Eq = "eq" + Lt = "lt" + Gt = "gt" + And = "and" + Or = "or" + Not = "not" +}`; +export default vm; diff --git a/web-ide-main/simulator/src/languages/hdl.test.ts b/web-ide-main/simulator/src/languages/hdl.test.ts new file mode 100644 index 0000000..7360639 --- /dev/null +++ b/web-ide-main/simulator/src/languages/hdl.test.ts @@ -0,0 +1,352 @@ +import { + grammar, + HdlParse, + hdlSemantics, + Part, + PinDeclaration, +} from "./hdl.js"; + +const AND_BUILTIN = `CHIP And { + IN a, b; + OUT out; + BUILTIN; +}`; + +const NOT_PARTS = `CHIP Not { + IN in; + OUT out; + PARTS: + Nand(a=in, b=in, out=out); +}`; + +const NOT_NO_PARTS = `CHIP Not { + IN in; + OUT out; + PARTS: +}`; + +const AND_16_BUILTIN = `CHIP And16 { + IN a[16], b[16]; + OUT out[16]; + BUILTIN; +}`; + +const CLOCKED = `CHIP Foo { + IN in; + + PARTS: + + CLOCKED in; +}`; + +const ERRORS = [ + ["Not { BUILTIN }", 'Line 1, col 1: expected "CHIP"'], + ["CHIP { BUILTIN }", "Line 1, col 6: expected a letter"], // A chip name is expected + ["CHIP Not BUILTIN }", 'Line 1, col 10: expected "{"'], + ["CHIP Not { BUILTIN }", 'Line 1, col 20: expected ";"'], + ["CHIP Not { BONKERS; }", 'Line 1, col 12: expected "PARTS:" or "BUILTIN"'], + ["CHIP Not { ", 'Line 1, col 12: expected "PARTS:" or "BUILTIN"'], + [ + "CHIP Not { PARTS: (); }", + 'Line 1, col 19: expected "}", "CLOCKED", or a letter', // A chip name is expected + ], + ["CHIP Not { PARTS: Nand; }", 'Line 1, col 23: expected "("'], + ["CHIP Not { PARTS: Nand() }", "Line 1, col 24: expected a letter"], // A pin name is expected + ["CHIP Not { PARTS: Nand(=a) }", "Line 1, col 24: expected a letter"], // A pin name is expected + [ + "CHIP Not { PARTS: Nand(a=) }", + 'Line 1, col 26: expected "false", "true", or a letter', + ], // A pin name is expected + ["CHIP Not { PARTS: Nand(a) }", 'Line 1, col 25: expected "="'], + ["CHIP Not { PARTS: Nand(a=a }", 'Line 1, col 28: expected ")", ",", or "["'], +]; + +describe("HDL w/ Ohm", () => { + describe("parts", () => { + it("parses part wires", () => { + const wire = grammar.match("a[2..4]=b[10..12]", "Wire"); + expect(wire).toHaveSucceeded(); + expect(hdlSemantics(wire).Wire).toEqual({ + lhs: { + pin: "a", + start: 2, + end: 4, + span: { start: 0, end: 7, line: 1 }, + }, + rhs: { + pin: "b", + start: 10, + end: 12, + span: { start: 8, end: 17, line: 1 }, + }, + }); + }); + + it("parses parts", () => { + const wide = grammar.match("Nand(a=a, b=b, out=out);", "Part"); + expect(wide).toHaveSucceeded(); + expect(hdlSemantics(wide).Part).toEqual({ + name: "Nand", + span: { start: 0, end: 24, line: 1 }, + wires: [ + { + lhs: { + pin: "a", + start: undefined, + end: undefined, + span: { start: 5, end: 6, line: 1 }, + }, + rhs: { + pin: "a", + start: undefined, + end: undefined, + span: { start: 7, end: 8, line: 1 }, + }, + }, + { + lhs: { + pin: "b", + start: undefined, + end: undefined, + span: { start: 10, end: 11, line: 1 }, + }, + rhs: { + pin: "b", + start: undefined, + end: undefined, + span: { start: 12, end: 13, line: 1 }, + }, + }, + { + lhs: { + pin: "out", + start: undefined, + end: undefined, + span: { start: 15, end: 18, line: 1 }, + }, + rhs: { + pin: "out", + start: undefined, + end: undefined, + span: { start: 19, end: 22, line: 1 }, + }, + }, + ], + }); + }); + + it("parses trailing commas", () => { + const parse1 = grammar.match(`a=a, b=b,`, "Wires"); + expect(parse1).toHaveSucceeded(); + const parse2 = grammar.match(`Foo(a=a, b=b,);`, "Part"); + expect(parse2).toHaveSucceeded(); + }); + + it("parses complex parts", () => { + const not8 = grammar.match( + `Not(in[0..1] = true, + in[3..5] = six, + in[7] = true, + out[3..7] = out1, + address=address[0..13], + out[2..3]=address[5..6]);`, + "Part", + ); + expect(not8).toHaveSucceeded(); + expect(hdlSemantics(not8).Part).toEqual({ + name: "Not", + span: { start: 0, end: 158, line: 1 }, + wires: [ + { + lhs: { + pin: "in", + start: 0, + end: 1, + span: { start: 4, end: 12, line: 1 }, + }, + rhs: { + pin: "true", + start: undefined, + end: undefined, + span: { start: 15, end: 19, line: 1 }, + }, + }, + { + lhs: { + pin: "in", + start: 3, + end: 5, + span: { start: 29, end: 37, line: 2 }, + }, + rhs: { + pin: "six", + start: undefined, + end: undefined, + span: { start: 40, end: 43, line: 2 }, + }, + }, + { + lhs: { + pin: "in", + start: 7, + end: 7, + span: { start: 53, end: 58, line: 3 }, + }, + rhs: { + pin: "true", + start: undefined, + end: undefined, + span: { start: 61, end: 65, line: 3 }, + }, + }, + { + lhs: { + pin: "out", + start: 3, + end: 7, + span: { start: 75, end: 84, line: 4 }, + }, + rhs: { + pin: "out1", + start: undefined, + end: undefined, + span: { start: 87, end: 91, line: 4 }, + }, + }, + { + lhs: { + pin: "address", + start: undefined, + end: undefined, + span: { start: 101, end: 108, line: 5 }, + }, + rhs: { + pin: "address", + start: 0, + end: 13, + span: { start: 109, end: 123, line: 5 }, + }, + }, + { + lhs: { + pin: "out", + start: 2, + end: 3, + span: { start: 133, end: 142, line: 6 }, + }, + rhs: { + pin: "address", + start: 5, + end: 6, + span: { start: 143, end: 156, line: 6 }, + }, + }, + ], + }); + }); + }); + + describe("pins", () => { + it("parses a simple decl", () => { + const decl = grammar.match("a", "PinDecl"); + expect(decl).toHaveSucceeded(); + expect(hdlSemantics(decl).PinDecl).toEqual({ pin: "a", width: 1 }); + }); + + it("parses a wide decl", () => { + const decl = grammar.match("a[3]", "PinDecl"); + expect(decl).toHaveSucceeded(); + expect(hdlSemantics(decl).PinDecl).toEqual({ pin: "a", width: 3 }); + }); + }); + + describe("entire chips", () => { + it("parses basic chip", () => { + const match = grammar.match(AND_BUILTIN); + expect(match).toHaveSucceeded(); + expect(hdlSemantics(match).Chip).toEqual({ + name: { value: "And", span: { start: 5, end: 8, line: 1 } }, + ins: [ + { pin: "a", width: 1 }, + { pin: "b", width: 1 }, + ], + outs: [{ pin: "out", width: 1 }], + parts: "BUILTIN", + }); + }); + + it("parses chip with parts", () => { + const match = grammar.match(NOT_PARTS); + expect(match).toHaveSucceeded(); + expect(hdlSemantics(match).Chip).toEqual({ + name: { value: "Not", span: { start: 5, end: 8, line: 1 } }, + ins: [{ pin: "in", width: 1 }], + outs: [{ pin: "out", width: 1 }], + parts: [ + { + name: "Nand", + span: { start: 50, end: 76, line: 5 }, + wires: [ + { + lhs: { pin: "a", span: { start: 55, end: 56, line: 5 } }, + rhs: { pin: "in", span: { start: 57, end: 59, line: 5 } }, + }, + { + lhs: { pin: "b", span: { start: 61, end: 62, line: 5 } }, + rhs: { pin: "in", span: { start: 63, end: 65, line: 5 } }, + }, + { + lhs: { pin: "out", span: { start: 67, end: 70, line: 5 } }, + rhs: { pin: "out", span: { start: 71, end: 74, line: 5 } }, + }, + ], + }, + ], + }); + }); + + it("parses chip without parts", () => { + const match = grammar.match(NOT_NO_PARTS); + expect(match).toHaveSucceeded(); + + expect(hdlSemantics(match).Chip).toEqual({ + name: { value: "Not", span: { start: 5, end: 8, line: 1 } }, + ins: [{ pin: "in", width: 1 }], + outs: [{ pin: "out", width: 1 }], + parts: [], + }); + }); + + it("parses chip using builtins", () => { + const match = grammar.match(AND_16_BUILTIN); + expect(match).toHaveSucceeded(); + expect(hdlSemantics(match).Chip).toEqual({ + name: { value: "And16", span: { start: 5, end: 10, line: 1 } }, + ins: [ + { pin: "a", width: 16 }, + { pin: "b", width: 16 }, + ], + outs: [{ pin: "out", width: 16 }], + parts: "BUILTIN", + }); + }); + + it("parses a chip with clocked pins", () => { + const match = grammar.match(CLOCKED); + expect(match).toHaveSucceeded(); + expect(hdlSemantics(match).Chip).toEqual({ + name: { value: "Foo", span: { start: 5, end: 8, line: 1 } }, + ins: [{ pin: "in", width: 1 }], + outs: [], + parts: [], + clocked: ["in"], + }); + }); + }); + + describe("errors", () => { + it.each(ERRORS)("fails with reasonable errors", (source, message) => { + expect(grammar.match(source)).toHaveFailed(message); + }); + }); +}); diff --git a/web-ide-main/simulator/src/languages/hdl.ts b/web-ide-main/simulator/src/languages/hdl.ts new file mode 100644 index 0000000..8d65330 --- /dev/null +++ b/web-ide-main/simulator/src/languages/hdl.ts @@ -0,0 +1,154 @@ +/** Reads and parses HDL chip descriptions. */ +import { grammar as ohmGrammar } from "ohm-js"; +import { baseSemantics, grammars, makeParser, Span, span } from "./base.js"; + +export interface PinIndex { + start?: number | undefined; + end?: number | undefined; +} + +export interface PinParts extends PinIndex { + pin: string; + span: Span; +} + +export interface PinDeclaration { + pin: string | string; + width: number; +} + +export interface Wire { + lhs: PinParts; + rhs: PinParts; +} + +export interface Part { + name: string; + wires: Wire[]; + span: Span; +} + +export interface HdlParse { + name: { value: string; span?: Span }; + ins: PinDeclaration[]; + outs: PinDeclaration[]; + clocked: string[]; + parts: "BUILTIN" | Part[]; +} + +import hdlGrammar from "./grammars/hdl.ohm.js"; +export const grammar = ohmGrammar(hdlGrammar, grammars); + +export const hdlSemantics = grammar.extendSemantics(baseSemantics); + +hdlSemantics.addAttribute("SubBus", { + SubBus(_a, startNode, endNode, _b) { + const start = startNode.value; + const end = endNode.child(0)?.child(1)?.value ?? start; + return { start, end }; + }, +}); + +hdlSemantics.addAttribute("WireSide", { + WireSide({ name }, index) { + const { start, end } = (index.child(0)?.SubBus as PinIndex) ?? { + start: undefined, + end: undefined, + }; + return { pin: name, start, end, span: span(this.source) }; + }, +}); + +hdlSemantics.addAttribute("Wire", { + Wire(left, _, right) { + const rhs: PinParts = right.isTerminal() + ? { pin: right.sourceString } + : right.WireSide; + return { lhs: left.WireSide as PinParts, rhs }; + }, +}); + +hdlSemantics.addAttribute("Wires", { + Wires(list) { + return list.asIteration().children.map((node) => node.Wire as Wire); + }, +}); + +hdlSemantics.addAttribute("Part", { + Part({ name }, _a, { Wires }, _b, _c) { + return { + name: name as string, + wires: Wires as Wire[], + span: span(this.source), + }; + }, +}); + +hdlSemantics.addAttribute("Parts", { + Parts(_, parts) { + return parts.children.map((c) => c.Part); + }, + BuiltinPart(_a, _b) { + return "BUILTIN"; + }, +}); + +hdlSemantics.addAttribute<"BUILTIN" | Part[]>("PartList", { + PartList(list) { + return list.Parts; + }, +}); + +hdlSemantics.addAttribute("Clocked", { + ClockedList(_a, clocked, _b) { + return ( + clocked + .asIteration() + .children.map( + ({ sourceString }: { sourceString: string }) => sourceString, + ) ?? [] + ); + }, +}); + +hdlSemantics.addAttribute("PinDecl", { + PinDecl({ name }, width) { + return { + pin: name, + width: width.child(0)?.child(1)?.value ?? 1, + }; + }, +}); + +hdlSemantics.addAttribute("PinList", { + PinList(list) { + return list + .asIteration() + .children.map((node) => node.PinDecl as PinDeclaration); + }, +}); + +hdlSemantics.addAttribute("Chip", { + Chip(_a, name, _b, body, _c) { + return { + name: { value: name.sourceString, span: span(name.source) }, + ins: body.child(0).child(0)?.child(1)?.PinList ?? [], + outs: body.child(1).child(0)?.child(1)?.PinList ?? [], + parts: body.child(2).PartList ?? [], + clocked: body.child(3).child(0)?.Clocked, + }; + }, +}); + +hdlSemantics.addAttribute("Root", { + Root(root) { + return root.child(0)?.Chip; + }, +}); + +export const HDL = { + parser: grammar, + grammar: hdlGrammar, + semantics: hdlSemantics, + parse: makeParser(grammar, hdlSemantics, (n) => n.Chip), +}; diff --git a/web-ide-main/simulator/src/languages/jack.test.ts b/web-ide-main/simulator/src/languages/jack.test.ts new file mode 100644 index 0000000..74cd320 --- /dev/null +++ b/web-ide-main/simulator/src/languages/jack.test.ts @@ -0,0 +1,13 @@ +import { unwrap } from "@davidsouther/jiffies/lib/esm/result"; +import { Programs } from "@nand2tetris/projects/samples/project_11/index.js"; +import { JACK } from "./jack"; + +describe("jack language", () => { + describe.each(Object.keys(Programs))("%s", (program) => { + it.each(Object.keys(Programs[program]))("%s", (filename) => { + const parsed = JACK.parse(Programs[program][filename].jack); + expect(parsed).toBeOk(); + expect(unwrap(parsed)).toEqual(Programs[program][filename].parsed); + }); + }); +}); diff --git a/web-ide-main/simulator/src/languages/jack.ts b/web-ide-main/simulator/src/languages/jack.ts new file mode 100644 index 0000000..bb4c31e --- /dev/null +++ b/web-ide-main/simulator/src/languages/jack.ts @@ -0,0 +1,438 @@ +import { type Node, grammar as ohmGrammar } from "ohm-js"; +import { baseSemantics, grammars, makeParser, Span, span } from "./base.js"; +import jackGrammar from "./grammars/jack.ohm.js"; + +const primitives = new Set(["int", "boolean", "char"] as const); +export type Primitive = typeof primitives extends Set ? S : never; + +export function isPrimitive(value: string): value is Primitive { + return primitives.has(value as Primitive); +} + +export type Type = Primitive | string; + +export interface Class { + name: { value: string; span: Span }; + varDecs: ClassVarDec[]; + subroutines: Subroutine[]; +} + +export type ClassVarType = "static" | "field"; + +export interface ClassVarDec { + varType: ClassVarType; + type: { value: Type; span: Span }; + names: string[]; +} + +export interface Parameter { + type: { value: Type; span: Span }; + name: string; +} + +export type ReturnType = Type | "void"; +export type SubroutineType = "constructor" | "function" | "method"; + +export interface Subroutine { + type: SubroutineType; + name: { value: string; span: Span }; + returnType: { value: ReturnType; span: Span }; + parameters: Parameter[]; + body: SubroutineBody; +} + +export interface SubroutineBody { + varDecs: VarDec[]; + statements: Statement[]; +} + +export interface VarDec { + type: { value: Type; span: Span }; + names: string[]; +} + +export type Statement = + | LetStatement + | IfStatement + | WhileStatement + | DoStatement + | ReturnStatement; + +export interface LetStatement { + statementType: "letStatement"; + name: { value: string; span: Span }; + arrayIndex?: Expression; + value: Expression; + span: Span; +} + +export interface IfStatement { + statementType: "ifStatement"; + condition: Expression; + body: Statement[]; + else: Statement[]; +} + +export interface WhileStatement { + statementType: "whileStatement"; + condition: Expression; + body: Statement[]; +} + +export interface DoStatement { + statementType: "doStatement"; + call: SubroutineCall; +} + +export interface ReturnStatement { + statementType: "returnStatement"; + value?: Expression; + span: Span; +} + +export type Op = "+" | "-" | "*" | "/" | "&" | "|" | "<" | ">" | "="; +export type KeywordConstant = "true" | "false" | "null" | "this"; +export type UnaryOp = "-" | "~"; + +export type Term = + | NumericLiteral + | StringLiteral + | Variable + | KeywordLiteral + | SubroutineCall + | ArrayAccess + | GroupedExpression + | UnaryExpression; + +export interface NumericLiteral { + termType: "numericLiteral"; + value: number; +} + +export interface StringLiteral { + termType: "stringLiteral"; + value: string; +} + +export interface KeywordLiteral { + termType: "keywordLiteral"; + value: KeywordConstant; +} + +export interface Variable { + termType: "variable"; + name: string; + span: Span; +} + +export interface GroupedExpression { + termType: "groupedExpression"; + expression: Expression; +} + +export interface UnaryExpression { + termType: "unaryExpression"; + op: UnaryOp; + term: Term; +} + +export interface ArrayAccess { + termType: "arrayAccess"; + name: { value: string; span: Span }; + index: Expression; + span: Span; +} + +export interface SubroutineCall { + termType: "subroutineCall"; + name: { value: string; span: Span }; + span: Span; + parameters: Expression[]; +} + +export interface ExpressionPart { + op: Op; + term: Term; +} + +export interface Expression { + term: Term; + rest: ExpressionPart[]; +} + +export const grammar = ohmGrammar(jackGrammar, grammars); +export const jackSemantics = grammar.extendSemantics(baseSemantics); + +function statements(node: Node) { + return node.children.map((n) => n.statement); +} + +jackSemantics.addAttribute("Root", { + Root(_) { + return this.class; + }, +}); + +jackSemantics.addAttribute("class", { + Class(_a, name, _b, varDecs, subroutines, _c) { + return { + name: { value: name.sourceString, span: span(name.source) }, + varDecs: varDecs.children.map((n) => n.classVarDec), + subroutines: subroutines.children.map((n) => n.subroutineDec), + }; + }, +}); + +jackSemantics.addAttribute("classVarDec", { + ClassVarDec(varType, type, name, rest, _) { + return { + varType: varType.sourceString.trim() as ClassVarType, + type: { + value: type.sourceString.trim() as Type, + span: span(type.source), + }, + names: [ + name.sourceString, + ...rest.children.map((n) => n.child(1).sourceString), + ], + }; + }, +}); + +jackSemantics.addAttribute("subroutineDec", { + SubroutineDec(type, returnType, name, _a, parameters, _b, body) { + return { + type: type.sourceString.trim() as SubroutineType, + returnType: { + value: returnType.sourceString.trim() as ReturnType, + span: span(returnType.source), + }, + name: { value: name.sourceString, span: span(name.source) }, + parameters: parameters.parameterList, + body: body.subroutineBody, + }; + }, +}); + +jackSemantics.addAttribute("parameter", { + Parameter(type, name) { + return { + type: { + value: type.sourceString.trim() as Type, + span: span(type.source), + }, + name: name.sourceString, + }; + }, +}); + +jackSemantics.addAttribute("parameterList", { + ParameterList(node) { + return node.child(0)?.parameters ?? []; + }, +}); + +jackSemantics.addAttribute("parameters", { + Parameters(first, rest) { + return [first.parameter, ...rest.children.map((n) => n.child(1).parameter)]; + }, +}); + +jackSemantics.addAttribute("subroutineBody", { + SubroutineBody(_a, varDecs, statementList, _b) { + return { + varDecs: varDecs.children.map((n) => n.varDec), + statements: statements(statementList), + }; + }, +}); + +jackSemantics.addAttribute("varDec", { + VarDec(_a, type, name, rest, _b) { + return { + type: { + value: type.sourceString.trim() as Type, + span: span(type.source), + }, + names: [ + name.sourceString, + ...rest.children.map((n) => n.child(1).sourceString), + ], + }; + }, +}); + +// jackSemantics.addAttribute("letTarget", { +// LetTarget() { +// jackI +// } +// }) + +jackSemantics.addAttribute("statement", { + LetStatement(_a, target, _b, value, _c) { + if (target.term.termType == "variable") { + return { + statementType: "letStatement", + name: { + value: (target.term as Variable).name, + span: (target.term as Variable).span, + }, + value: value.expression, + span: span(this.source), + }; + } else { + return { + statementType: "letStatement", + name: (target.term as ArrayAccess).name, + arrayIndex: (target.term as ArrayAccess).index, + value: value.expression, + span: span(this.source), + }; + } + }, + + IfStatement(_a, _b, condition, _c, _d, body, _e, elseBlock) { + return { + statementType: "ifStatement", + condition: condition.expression, + body: statements(body), + else: elseBlock.child(0)?.else ?? [], + }; + }, + + WhileStatement(_a, _b, condition, _c, _d, body, _e) { + return { + statementType: "whileStatement", + condition: condition.expression, + body: statements(body), + }; + }, + + DoStatement(_a, call, _b) { + return { statementType: "doStatement", call: call.term as SubroutineCall }; + }, + + EmptyReturn(_a, _b) { + return { + statementType: "returnStatement", + span: span(this.source), + }; + }, + + ReturnValue(_a, value, _b) { + return { + statementType: "returnStatement", + value: value.expression, + span: span(this.source), + }; + }, +}); + +jackSemantics.addAttribute("else", { + ElseBlock(_a, _b, body, _c) { + return statements(body); + }, +}); + +jackSemantics.addAttribute("term", { + integerConstant(node) { + return { + termType: "numericLiteral", + value: Number(node.sourceString), + }; + }, + + stringConstant(_a, _b, _c) { + return { termType: "stringLiteral", value: this.sourceString.slice(1, -1) }; + }, + + keywordConstant(_) { + return { + termType: "keywordLiteral", + value: this.sourceString as KeywordConstant, + }; + }, + + SubroutineCall(name, _a, expressions, _b) { + return { + termType: "subroutineCall", + name: { value: name.sourceString, span: span(name.source) }, + parameters: expressions.expressionList, + span: span(this.source), + }; + }, + + ArrayAccess(start, index, _) { + const name = start.child(0); + return { + termType: "arrayAccess", + name: { value: name.sourceString, span: span(name.source) }, + index: index.expression, + span: span(this.source), + }; + }, + + jackIdentifier(first, rest) { + return { + termType: "variable", + name: `${first.sourceString}${rest.sourceString}`, + span: span(this.source), + }; + }, + + GroupedExpression(_a, expression, _b) { + return { + termType: "groupedExpression", + expression: expression.expression, + }; + }, + + UnaryExpression(op, term) { + return { + termType: "unaryExpression", + op: op.sourceString as UnaryOp, + term: term.term, + }; + }, +}); + +jackSemantics.addAttribute("expressionList", { + ExpressionList(node) { + return node.child(0)?.expressions ?? []; + }, +}); + +jackSemantics.addAttribute("expressions", { + Expressions(first, rest) { + return [ + first.expression, + ...rest.children.map((n) => n.child(1).expression), + ]; + }, +}); + +jackSemantics.addAttribute("expression", { + Expression(first, rest) { + return { + nodeType: "expression", + term: first.term, + rest: rest.children.map((n) => n.expressionPart), + }; + }, +}); + +jackSemantics.addAttribute("expressionPart", { + ExpressionPart(op, term) { + return { + op: op.sourceString as Op, + term: term.term, + }; + }, +}); + +export const JACK = { + parser: grammar, + grammar: jackGrammar, + semantics: jackSemantics, + parse: makeParser(grammar, jackSemantics, (n) => n.class), +}; diff --git a/web-ide-main/simulator/src/languages/tst.test.ts b/web-ide-main/simulator/src/languages/tst.test.ts new file mode 100644 index 0000000..2cd5c6c --- /dev/null +++ b/web-ide-main/simulator/src/languages/tst.test.ts @@ -0,0 +1,507 @@ +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { resetFiles } from "@nand2tetris/projects/full.js"; +import { grammar, TST } from "./tst.js"; + +const NOT_TST = ` +output-list in%B3.1.3 out%B3.1.3; + +set in 0, eval, output; +set in 1, eval, output;`; + +const BIT_TST = ` +output-list time%S1.4.1 in%B2.1.2 load%B2.1.2 out%B2.1.2; +set in 0, set load 0, tick, output; tock, output; +set in 0, set load 1, eval, output; +`; + +const MEM_TST = ` +output-list time%S1.2.1 in%B2.1.2; +set in -32123, tick, output; +`; + +const MEM_REPEAT = ` +repeat 14 { + eval, output; +} +`; + +const INDEF_REPEAT = ` +repeat { + eval, output; +} +`; + +const COND_WHILE = `while out <> 89 { + eval; +}`; + +describe("tst language", () => { + it("parses an output format", () => { + const match = grammar.match("a%B3.1.3", "OutputFormat"); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).format).toStrictEqual({ + id: "a", + builtin: false, + address: -1, + format: { + style: "B", + width: 1, + lpad: 3, + rpad: 3, + }, + }); + }); + + it("parses an output list", () => { + const match = grammar.match( + "output-list a%B1.1.1 out%X2.3.4", + "TstOutputListOperation", + ); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).operation).toStrictEqual({ + op: "output-list", + spec: [ + { + id: "a", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 1, rpad: 1 }, + }, + { + id: "out", + + builtin: false, + address: -1, + format: { style: "X", width: 3, lpad: 2, rpad: 4 }, + }, + ], + }); + }); + + it("parses an output list with junk", () => { + const match = grammar.match( + "\n/// A list\noutput-list a%B1.1.1 /* the output */ out%X2.3.4", + "TstOutputListOperation", + ); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).operation).toStrictEqual({ + op: "output-list", + spec: [ + { + id: "a", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 1, rpad: 1 }, + }, + { + id: "out", + builtin: false, + address: -1, + format: { style: "X", width: 3, lpad: 2, rpad: 4 }, + }, + ], + }); + }); + + it("parses an output list with builtins", () => { + const match = grammar.match( + "output-list PC[]%D0.4.0 RAM16K[0]%D1.7.1", + "TstOutputListOperation", + ); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).operation).toStrictEqual({ + op: "output-list", + spec: [ + { + id: "PC", + builtin: true, + address: -1, + format: { style: "D", width: 4, lpad: 0, rpad: 0 }, + }, + { + id: "RAM16K", + builtin: true, + address: 0, + format: { style: "D", width: 7, lpad: 1, rpad: 1 }, + }, + ], + }); + }); + + it("parses file ops", () => { + const match = grammar.match( + "load A.hdl, output-file A.out, compare-to A.cmp, output-list a%B1.1.1;", + ); + expect(match).toHaveSucceeded(); + }); + + it("parses a single set", () => { + const match = grammar.match("set a 0", "TstSetOperation"); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).operation).toEqual({ + op: "set", + id: "a", + value: 0, + }); + }); + + it("parses simple multiline", () => { + const match = grammar.match("eval;\n\neval;\n\n"); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + { + op: { op: "eval" }, + separator: ";", + span: { start: 0, end: 5, line: 1 }, + }, + { + op: { op: "eval" }, + separator: ";", + span: { start: 7, end: 12, line: 3 }, + }, + ], + }); + }); + + it("parses a test file", () => { + const match = grammar.match(NOT_TST); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + { + op: { + op: "output-list", + spec: [ + { + id: "in", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 3, rpad: 3 }, + }, + { + id: "out", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 3, rpad: 3 }, + }, + ], + }, + separator: ";", + span: { line: 2, start: 1, end: 34 }, + }, + + { + op: { op: "set", id: "in", value: 0 }, + separator: ",", + span: { line: 4, start: 36, end: 45 }, + }, + { + op: { op: "eval" }, + separator: ",", + span: { line: 4, start: 46, end: 51 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 4, start: 52, end: 59 }, + }, + + { + op: { op: "set", id: "in", value: 1 }, + separator: ",", + span: { line: 5, start: 60, end: 69 }, + }, + { + op: { op: "eval" }, + separator: ",", + span: { line: 5, start: 70, end: 75 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 5, start: 76, end: 83 }, + }, + ], + }); + }); + + it("parses a clocked test file", () => { + const match = grammar.match(BIT_TST); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + { + op: { + op: "output-list", + spec: [ + { + id: "time", + builtin: false, + address: -1, + format: { style: "S", width: 4, lpad: 1, rpad: 1 }, + }, + { + id: "in", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 2, rpad: 2 }, + }, + { + id: "load", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 2, rpad: 2 }, + }, + { + id: "out", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 2, rpad: 2 }, + }, + ], + }, + separator: ";", + span: { line: 2, start: 1, end: 58 }, + }, + + { + op: { op: "set", id: "in", value: 0 }, + separator: ",", + span: { line: 3, start: 59, end: 68 }, + }, + { + op: { op: "set", id: "load", value: 0 }, + separator: ",", + span: { line: 3, start: 69, end: 80 }, + }, + { + op: { op: "tick" }, + separator: ",", + span: { line: 3, start: 81, end: 86 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 3, start: 87, end: 94 }, + }, + + { + op: { op: "tock" }, + separator: ",", + span: { line: 3, start: 95, end: 100 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 3, start: 101, end: 108 }, + }, + + { + op: { op: "set", id: "in", value: 0 }, + separator: ",", + span: { line: 4, start: 109, end: 118 }, + }, + { + op: { op: "set", id: "load", value: 1 }, + separator: ",", + span: { line: 4, start: 119, end: 130 }, + }, + { + op: { op: "eval" }, + separator: ",", + span: { line: 4, start: 131, end: 136 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 4, start: 137, end: 144 }, + }, + ], + }); + }); + + it("parses a test file with negative integers", () => { + const match = grammar.match(MEM_TST); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + // output-list time%S1.2.1 in%B2.1.2; + { + op: { + op: "output-list", + spec: [ + { + id: "time", + builtin: false, + address: -1, + format: { style: "S", width: 2, lpad: 1, rpad: 1 }, + }, + { + id: "in", + builtin: false, + address: -1, + format: { style: "B", width: 1, lpad: 2, rpad: 2 }, + }, + ], + }, + separator: ";", + span: { + start: 1, + end: 35, + line: 2, + }, + }, + // set in -32123, tick, output; + { + op: { op: "set", id: "in", value: 33413 /* unsigned */ }, + separator: ",", + span: { line: 3, start: 36, end: 50 }, + }, + { + op: { op: "tick" }, + separator: ",", + span: { line: 3, start: 51, end: 56 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 3, start: 57, end: 64 }, + }, + ], + }); + }); + + it("repeats blocks", () => { + const match = grammar.match(MEM_REPEAT); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + { + count: 14, + statements: [ + { + op: { op: "eval" }, + separator: ",", + span: { line: 3, start: 15, end: 20 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 3, start: 21, end: 28 }, + }, + ], + span: { + start: 1, + end: 30, + line: 2, + }, + }, + ], + }); + }); + + it("repeats indefinitely", () => { + const match = grammar.match(INDEF_REPEAT); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + { + count: -1, + span: { + start: 1, + end: 27, + line: 2, + }, + statements: [ + { + op: { op: "eval" }, + separator: ",", + span: { line: 3, start: 12, end: 17 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { line: 3, start: 18, end: 25 }, + }, + ], + }, + ], + }); + }); + + it("loops with a condition", () => { + const match = grammar.match(COND_WHILE); + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + { + span: { + start: 0, + end: 27, + line: 1, + }, + condition: { + op: "<>", + left: "out", + right: 89, + }, + statements: [ + { + op: { op: "eval" }, + separator: ";", + span: { + start: 20, + end: 25, + line: 2, + }, + }, + ], + }, + ], + }); + }); + + it("loads ROMs", () => { + const match = grammar.match(`ROM32K load Max.hack;`); + + expect(match).toHaveSucceeded(); + expect(TST.semantics(match).tst).toEqual({ + lines: [ + { + span: { + start: 0, + end: 21, + line: 1, + }, + op: { op: "loadRom", file: "Max.hack" }, + separator: ";", + }, + ], + }); + }); +}); + +it("loads all project tst files", async () => { + const fs = new FileSystem(new ObjectFileSystemAdapter({})); + await resetFiles(fs); + async function check() { + for (const stat of await fs.scandir(".")) { + if (stat.isDirectory()) { + fs.pushd(stat.name); + await check(); + fs.popd(); + } else { + if (stat.name.endsWith("vm_tst")) { + const tst = await fs.readFile(stat.name); + const match = grammar.match(tst); + expect(match).toHaveSucceeded(); + } + } + } + } + await check(); +}); diff --git a/web-ide-main/simulator/src/languages/tst.ts b/web-ide-main/simulator/src/languages/tst.ts new file mode 100644 index 0000000..c8e4eb5 --- /dev/null +++ b/web-ide-main/simulator/src/languages/tst.ts @@ -0,0 +1,272 @@ +/** Reads tst files to apply and perform test runs. */ + +import { grammar as ohmGrammar } from "ohm-js"; +import { baseSemantics, grammars, makeParser, Span, span } from "./base.js"; + +export interface TstEchoOperation { + op: "echo"; + message: string; +} + +export interface TstClearEchoOperation { + op: "clear-echo"; +} + +export interface TstSetOperation { + op: "set"; + id: string; + index?: number; + value: number; +} + +export interface TstEvalOperation { + op: "eval" | "tick" | "tock" | "ticktock" | "vmstep"; +} + +export interface TstOutputOperation { + op: "output"; +} + +export interface TstOutputFormat { + style: "D" | "X" | "B" | "S"; + width: number; + lpad: number; + rpad: number; +} + +export interface TstOutputSpec { + id: string; + builtin: boolean; + address: number; + format?: TstOutputFormat; +} + +export interface TstOutputListOperation { + op: "output-list"; + spec: TstOutputSpec[]; +} + +export interface TstLoadROMOperation { + op: "loadRom"; + file: string; +} + +export interface TstFileOperation { + op: "load" | "output-file" | "compare-to"; + file?: string; +} + +export interface TstResetRamOperation { + op: "resetRam"; +} + +export type TstOperation = + | TstFileOperation + | TstEvalOperation + | TstEchoOperation + | TstClearEchoOperation + | TstOutputOperation + | TstSetOperation + | TstOutputListOperation + | TstLoadROMOperation + | TstResetRamOperation; + +export type Separator = "," | ";" | "!"; + +export interface TstCommand { + op: TstOperation; + separator: Separator; + span: Span; +} + +export interface TstRepeat { + statements: TstCommand[]; + count: number; + span: Span; +} + +export interface TstWhileCondition { + op: "<" | "<=" | "=" | ">=" | ">" | "<>"; + left: string | number; + right: string | number; +} + +export interface TstWhileStatement { + statements: TstCommand[]; + condition: TstWhileCondition; + span: Span; +} + +export type TstStatement = TstCommand | TstRepeat | TstWhileStatement; + +export interface Tst { + lines: TstStatement[]; +} + +import tstGrammar from "./grammars/tst.ohm.js"; +export const grammar = ohmGrammar(tstGrammar, grammars); +export const tstSemantics = grammar.extendSemantics(baseSemantics); + +tstSemantics.extendAttribute("value", { + Index(_a, idx, _b) { + return idx?.child(0)?.value ?? -1; + }, +}); + +tstSemantics.extendAttribute("name", { + FileName({ name }) { + return name; + }, +}); + +tstSemantics.addAttribute("index", { + Index(_open, dec, _close) { + return dec.child(0)?.value ?? 0; + }, +}); + +tstSemantics.addAttribute("formatSpec", { + FormatSpec( + _a, + { sourceString: style }, + { value: lpad }, + _b, + { value: width }, + _c, + { value: rpad }, + ) { + return { + style: style as TstOutputFormat["style"], + width, + lpad, + rpad, + }; + }, +}); + +tstSemantics.addAttribute("format", { + OutputFormat({ name: id }, index, formatSpec) { + return { + id, + builtin: index?.child(0) !== undefined, + address: index?.child(0)?.value ?? -1, + format: formatSpec?.child(0)?.formatSpec, + }; + }, +}); + +tstSemantics.addAttribute("operation", { + TstEvalOperation(op) { + return { op: op.sourceString as TstEvalOperation["op"] }; + }, + TstOutputOperation(_) { + return { op: "output" }; + }, + TstOutputListOperation(_, formats) { + return { + op: "output-list", + spec: formats.children.map((n) => n.format), + }; + }, + TstSetOperation(op, { name }, index, { value }) { + const setOp: TstSetOperation = { + op: "set", + id: name, + value, + }; + const child = index.child(0)?.child(1)?.child(0); + if (child) { + setOp.index = child.value; + } + return setOp; + }, + TstEchoOperation(op, str) { + return { + op: "echo", + message: str.String as string, + }; + }, + TstClearEchoOperation(op) { + return { + op: "clear-echo", + }; + }, + TstLoadROMOperation(_r, _l, name) { + return { + op: "loadRom", + file: name.sourceString, + }; + }, + TstFileOperation(op, file) { + return { + op: op.sourceString as TstFileOperation["op"], + file: file?.sourceString, + }; + }, + TstResetRAMOperation(_) { + return { + op: "resetRam", + }; + }, +}); + +tstSemantics.addAttribute("command", { + TstCommand(op, sep) { + return { + op: op.operation, + separator: sep.sourceString as Separator, + span: span(this.source), + }; + }, +}); + +tstSemantics.addAttribute("condition", { + Condition({ value: left }, { sourceString: op }, { value: right }) { + return { + left, + right, + op: op as "<" | "<=" | "=" | ">=" | ">" | "<>", + }; + }, +}); + +tstSemantics.addAttribute("statement", { + TstWhile(op, cond, _o, commands, _c) { + return { + statements: commands.children.map((node) => node.command as TstCommand), + condition: cond.condition, + span: span(this.source), + }; + }, + TstRepeat(op, count, _o, commands, _c) { + return { + statements: commands.children.map((node) => node.command as TstCommand), + count: count.sourceString ? Number(count.sourceString) : -1, + span: span(this.source), + }; + }, + TstStatement(command) { + return command.command; + }, +}); + +tstSemantics.addAttribute("tst", { + Tst(lines) { + return { + lines: lines.children.map((n) => n.statement), + }; + }, +}); + +tstSemantics.addAttribute("root", { + Root({ tst }) { + return tst; + }, +}); + +export const TST = { + grammar: tstGrammar, + semantics: tstSemantics, + parser: grammar, + parse: makeParser(grammar, tstSemantics), +}; diff --git a/web-ide-main/simulator/src/languages/vm.test.ts b/web-ide-main/simulator/src/languages/vm.test.ts new file mode 100644 index 0000000..03c0087 --- /dev/null +++ b/web-ide-main/simulator/src/languages/vm.test.ts @@ -0,0 +1,495 @@ +import { grammar, VM, Vm } from "./vm.js"; + +const SIMPLE_ADD = ` +push constant 7 +push constant 8 +add`; + +const SIMPLE_ADD_PARSED = { + instructions: [ + { + op: "push", + segment: "constant", + offset: 7, + span: { start: 1, end: 16, line: 2 }, + }, + { + op: "push", + segment: "constant", + offset: 8, + span: { start: 17, end: 32, line: 3 }, + }, + { op: "add", span: { start: 33, end: 36, line: 4 } }, + ], +} satisfies Vm; + +// d = (2 - x) + (y + 9) +const FIG7_3A = ` +push constant 2 +push local 0 +sub +push local 1 +push constant 9 +add +add +pop local 2 +`; + +const FIG7_3A_PARSED = { + instructions: [ + { + op: "push", + segment: "constant", + offset: 2, + span: { start: 1, end: 16, line: 2 }, + }, + { + op: "push", + segment: "local", + offset: 0, + span: { start: 17, end: 29, line: 3 }, + }, + { op: "sub", span: { start: 30, end: 33, line: 4 } }, + { + op: "push", + segment: "local", + offset: 1, + span: { start: 34, end: 46, line: 5 }, + }, + { + op: "push", + segment: "constant", + offset: 9, + span: { start: 47, end: 62, line: 6 }, + }, + { op: "add", span: { start: 63, end: 66, line: 7 } }, + { op: "add", span: { start: 67, end: 70, line: 8 } }, + { + op: "pop", + segment: "local", + offset: 2, + span: { start: 71, end: 82, line: 9 }, + }, + ], +} satisfies Vm; + +// (x < 7) or (y == 8) +const FIG7_3B = ` +push local 0 +push constant 7 +lt +push local 1 +push constant 8 +eq +or +`; +const FIG7_3B_PARSED = { + instructions: [ + { + op: "push", + segment: "local", + offset: 0, + span: { start: 1, end: 13, line: 2 }, + }, + { + op: "push", + segment: "constant", + offset: 7, + span: { start: 14, end: 29, line: 3 }, + }, + { op: "lt", span: { start: 30, end: 32, line: 4 } }, + { + op: "push", + segment: "local", + offset: 1, + span: { start: 33, end: 45, line: 5 }, + }, + { + op: "push", + segment: "constant", + offset: 8, + span: { start: 46, end: 61, line: 6 }, + }, + { op: "eq", span: { start: 62, end: 64, line: 7 } }, + { op: "or", span: { start: 65, end: 67, line: 8 } }, + ], +} satisfies Vm; + +const FIG8_1 = ` +// returns x * y +// x = arg 0 +// y = arg 1 +// sum = local 0 +// i = local 1 +function mult 2 + push constant 0 + pop local 0 + push constant 0 + pop local 1 +label WHILE_LOOP + push local 1 + push argument 1 + lt + neg + if-goto WHILE_END + push local 0 + push argument 0 + add + pop local 0 + push local 1 + push constant 1 + add + pop local 1 + goto WHILE_LOOP +label WHILE_END + push local 0 + return +`; +const FIG8_1_PARSED = { + instructions: [ + { + op: "function", + name: "mult", + nVars: 2, + span: { start: 76, end: 91, line: 7 }, + }, + { + op: "push", + segment: "constant", + offset: 0, + span: { start: 94, end: 109, line: 8 }, + }, + { + op: "pop", + segment: "local", + offset: 0, + span: { start: 112, end: 123, line: 9 }, + }, + { + op: "push", + segment: "constant", + offset: 0, + span: { start: 126, end: 141, line: 10 }, + }, + { + op: "pop", + segment: "local", + offset: 1, + span: { start: 144, end: 155, line: 11 }, + }, + { + op: "label", + label: "WHILE_LOOP", + span: { start: 156, end: 172, line: 12 }, + }, + { + op: "push", + segment: "local", + offset: 1, + span: { start: 175, end: 187, line: 13 }, + }, + { + op: "push", + segment: "argument", + offset: 1, + span: { start: 190, end: 205, line: 14 }, + }, + { op: "lt", span: { start: 208, end: 210, line: 15 } }, + { op: "neg", span: { start: 213, end: 216, line: 16 } }, + { + op: "if-goto", + label: "WHILE_END", + span: { start: 219, end: 236, line: 17 }, + }, + { + op: "push", + segment: "local", + offset: 0, + span: { start: 239, end: 251, line: 18 }, + }, + { + op: "push", + segment: "argument", + offset: 0, + span: { start: 254, end: 269, line: 19 }, + }, + { op: "add", span: { start: 272, end: 275, line: 20 } }, + { + op: "pop", + segment: "local", + offset: 0, + span: { start: 278, end: 289, line: 21 }, + }, + { + op: "push", + segment: "local", + offset: 1, + span: { start: 292, end: 304, line: 22 }, + }, + { + op: "push", + segment: "constant", + offset: 1, + span: { start: 307, end: 322, line: 23 }, + }, + { op: "add", span: { start: 325, end: 328, line: 24 } }, + { + op: "pop", + segment: "local", + offset: 1, + span: { start: 331, end: 342, line: 25 }, + }, + { + op: "goto", + label: "WHILE_LOOP", + span: { start: 345, end: 360, line: 26 }, + }, + { + op: "label", + label: "WHILE_END", + span: { start: 361, end: 376, line: 27 }, + }, + { + op: "push", + segment: "local", + offset: 0, + span: { start: 379, end: 391, line: 28 }, + }, + { op: "return", span: { start: 394, end: 400, line: 29 } }, + ], +}; + +const FIG8_2 = ` +function main 0 + push constant 3 + push constant 4 + call hypot 2 + return + +function hypot 2 + push argument 0 + push argument 0 + call mult 2 + push argument 1 + push argument 1 + call mult 2 + add + call sqrt 1 + return +`; +const FIG8_2_PARSED = { + instructions: [ + { + op: "function", + name: "main", + nVars: 0, + span: { start: 1, end: 16, line: 2 }, + }, + { + op: "push", + segment: "constant", + offset: 3, + span: { start: 19, end: 34, line: 3 }, + }, + { + op: "push", + segment: "constant", + offset: 4, + span: { start: 37, end: 52, line: 4 }, + }, + { + op: "call", + name: "hypot", + nArgs: 2, + span: { start: 55, end: 67, line: 5 }, + }, + { op: "return", span: { start: 70, end: 76, line: 6 } }, + { + op: "function", + name: "hypot", + nVars: 2, + span: { start: 78, end: 94, line: 8 }, + }, + { + op: "push", + segment: "argument", + offset: 0, + span: { start: 97, end: 112, line: 9 }, + }, + { + op: "push", + segment: "argument", + offset: 0, + span: { start: 115, end: 130, line: 10 }, + }, + { + op: "call", + name: "mult", + nArgs: 2, + span: { start: 133, end: 144, line: 11 }, + }, + { + op: "push", + segment: "argument", + offset: 1, + span: { start: 147, end: 162, line: 12 }, + }, + { + op: "push", + segment: "argument", + offset: 1, + span: { start: 165, end: 180, line: 13 }, + }, + { + op: "call", + name: "mult", + nArgs: 2, + span: { start: 183, end: 194, line: 14 }, + }, + { op: "add", span: { start: 197, end: 200, line: 15 } }, + { + op: "call", + name: "sqrt", + nArgs: 1, + span: { start: 203, end: 214, line: 16 }, + }, + { op: "return", span: { start: 217, end: 223, line: 17 } }, + ], +} satisfies Vm; + +const FIG8_4 = ` +function main 0 +push constant 3 +call factorial 1 +return +function factorial 1 +push argument 0 +push constant 1 +eq +if-goto BASE_CASE +push argument 0 +push argument 0 +push constant 1 +sub +call factorial 1 +call mult 2 +return +label BASE_CASE +push constant 1 +return +`; +const FIG8_4_PARSED = { + instructions: [ + { + op: "function", + name: "main", + nVars: 0, + span: { start: 1, end: 16, line: 2 }, + }, + { + op: "push", + segment: "constant", + offset: 3, + span: { start: 17, end: 32, line: 3 }, + }, + { + op: "call", + name: "factorial", + nArgs: 1, + span: { start: 33, end: 49, line: 4 }, + }, + { op: "return", span: { start: 50, end: 56, line: 5 } }, + { + op: "function", + name: "factorial", + nVars: 1, + span: { start: 57, end: 77, line: 6 }, + }, + { + op: "push", + segment: "argument", + offset: 0, + span: { start: 78, end: 93, line: 7 }, + }, + { + op: "push", + segment: "constant", + offset: 1, + span: { start: 94, end: 109, line: 8 }, + }, + { op: "eq", span: { start: 110, end: 112, line: 9 } }, + { + op: "if-goto", + label: "BASE_CASE", + span: { start: 113, end: 130, line: 10 }, + }, + { + op: "push", + segment: "argument", + offset: 0, + span: { start: 131, end: 146, line: 11 }, + }, + { + op: "push", + segment: "argument", + offset: 0, + span: { start: 147, end: 162, line: 12 }, + }, + { + op: "push", + segment: "constant", + offset: 1, + span: { start: 163, end: 178, line: 13 }, + }, + { op: "sub", span: { start: 179, end: 182, line: 14 } }, + { + op: "call", + name: "factorial", + nArgs: 1, + span: { start: 183, end: 199, line: 15 }, + }, + { + op: "call", + name: "mult", + nArgs: 2, + span: { start: 200, end: 211, line: 16 }, + }, + { op: "return", span: { start: 212, end: 218, line: 17 } }, + { + op: "label", + label: "BASE_CASE", + span: { start: 219, end: 234, line: 18 }, + }, + { + op: "push", + segment: "constant", + offset: 1, + span: { start: 235, end: 250, line: 19 }, + }, + { op: "return", span: { start: 251, end: 257, line: 20 } }, + ], +} satisfies Vm; + +test.each([ + ["Simple Add", SIMPLE_ADD, SIMPLE_ADD_PARSED], + ["Figure 7.3a", FIG7_3A, FIG7_3A_PARSED], + ["Figure 7.3b", FIG7_3B, FIG7_3B_PARSED], + ["Figure 8.1", FIG8_1, FIG8_1_PARSED], + ["Figure 8.2", FIG8_2, FIG8_2_PARSED], + ["Figure 8.4", FIG8_4, FIG8_4_PARSED], +])("VM Parser: %s", (_name, fig, parsed) => { + const match = grammar.match(fig); + expect(match).toHaveSucceeded(); + expect(VM.semantics(match).vm).toStrictEqual(parsed); +}); + +test.each([ + ["call mult", 'Line 1, col 10: expected "%B", ".", a digit, or "%X"'], + [ + "push invalid", + 'Line 1, col 6: expected "temp", "pointer", "that", "this", "constant", "static", "local", or "argument"', + ], +])("VM Parser Error: '%s'", (bad, message) => { + const match = grammar.match(bad); + expect(match).toHaveFailed(message); +}); diff --git a/web-ide-main/simulator/src/languages/vm.ts b/web-ide-main/simulator/src/languages/vm.ts new file mode 100644 index 0000000..4a57a46 --- /dev/null +++ b/web-ide-main/simulator/src/languages/vm.ts @@ -0,0 +1,260 @@ +/** Reads tst files to apply and perform test runs. */ + +import { grammar as ohmGrammar } from "ohm-js"; +import { baseSemantics, grammars, makeParser, Span, span } from "./base.js"; + +import vmGrammar from "./grammars/vm.ohm.js"; +export const grammar = ohmGrammar(vmGrammar, grammars); +export const vmSemantics = grammar.extendSemantics(baseSemantics); + +export interface Vm { + instructions: VmInstruction[]; +} + +export type Segment = + | "argument" + | "local" + | "static" + | "constant" + | "this" + | "that" + | "pointer" + | "temp"; + +export type VmInstruction = + | StackInstruction + | OpInstruction + | FunctionInstruction + | CallInstruction + | ReturnInstruction + | GotoInstruction + | LabelInstruction; + +export interface StackInstruction { + op: "push" | "pop"; + segment: Segment; + offset: number; + span?: Span; +} +export interface OpInstruction { + op: "add" | "sub" | "neg" | "lt" | "gt" | "eq" | "and" | "or" | "not"; + span?: Span; +} +export interface FunctionInstruction { + op: "function"; + name: string; + nVars: number; + span?: Span; +} +export interface CallInstruction { + op: "call"; + name: string; + nArgs: number; + span?: Span; +} +export interface ReturnInstruction { + op: "return"; + span?: Span; +} +export interface LabelInstruction { + op: "label"; + label: string; + span?: Span; +} +export interface GotoInstruction { + op: "goto" | "if-goto"; + label: string; + span?: Span; +} + +vmSemantics.addAttribute< + | "push" + | "pop" + | "function" + | "call" + | "return" + | "goto" + | "if-goto" + | "label" + | "add" + | "sub" + | "neg" + | "lt" + | "gt" + | "eq" + | "and" + | "or" + | "not" +>("op", { + push(_a, _b) { + return "push"; + }, + pop(_a, _b) { + return "pop"; + }, + function(_a, _b) { + return "function"; + }, + call(_a, _b) { + return "call"; + }, + return(_a) { + return "return"; + }, + goto(_a, _b) { + return "goto"; + }, + ifGoto(_a, _b) { + return "if-goto"; + }, + label(_a, _b) { + return "label"; + }, + Add(_) { + return "add"; + }, + Sub(_) { + return "sub"; + }, + Neg(_) { + return "neg"; + }, + Eq(_) { + return "eq"; + }, + Lt(_) { + return "lt"; + }, + Gt(_) { + return "gt"; + }, + And(_) { + return "and"; + }, + Or(_) { + return "or"; + }, + Not(_) { + return "not"; + }, +}); + +vmSemantics.addAttribute< + | "argument" + | "local" + | "static" + | "constant" + | "this" + | "that" + | "pointer" + | "temp" +>("segment", { + argument(_a, _b) { + return "argument"; + }, + local(_a, _b) { + return "local"; + }, + static(_a, _b) { + return "static"; + }, + constant(_a, _b) { + return "constant"; + }, + this(_a, _b) { + return "this"; + }, + that(_a, _b) { + return "that"; + }, + pointer(_a, _b) { + return "pointer"; + }, + temp(_a, _b) { + return "temp"; + }, +}); + +vmSemantics.addAttribute("instruction", { + StackInstruction({ op }, { segment }, value) { + return { + op: op as "push" | "pop", + segment, + offset: Number(value.sourceString), + span: span(this.source), + }; + }, + OpInstruction({ op }) { + return { + op: op as + | "add" + | "sub" + | "neg" + | "lt" + | "gt" + | "eq" + | "and" + | "or" + | "not", + span: span(this.source), + }; + }, + FunctionInstruction(_, { name }, nVars) { + return { + op: "function", + name, + nVars: Number(nVars.sourceString), + span: span(this.source), + }; + }, + CallInstruction(_, { name }, nArgs) { + return { + op: "call", + name, + nArgs: Number(nArgs.sourceString), + span: span(this.source), + }; + }, + ReturnInstruction(_) { + return { op: "return", span: span(this.source) }; + }, + // LabelInstruction = Label Name + LabelInstruction(_, { name: label }) { + return { op: "label", label, span: span(this.source) }; + }, + // GotoInstruction = (Goto | IfGoto) Name + GotoInstruction({ op }, { name: label }) { + return { + op: op as "goto" | "if-goto", + label, + span: span(this.source), + }; + }, + VmInstructionLine(inst, _) { + return inst.instruction; + }, +}); + +vmSemantics.addAttribute("vm", { + Vm(_, lines, last) { + const instructions = lines.children.map((node) => node.instruction) ?? []; + return { + instructions: last.child(0) + ? [...instructions, last.child(0).instruction] + : instructions, + }; + }, +}); + +vmSemantics.addAttribute("root", { + Root({ vm }) { + return vm; + }, +}); + +export const VM = { + grammar: vmGrammar, + semantics: vmSemantics, + parser: grammar, + parse: makeParser(grammar, vmSemantics), +}; diff --git a/web-ide-main/simulator/src/loader.ts b/web-ide-main/simulator/src/loader.ts new file mode 100644 index 0000000..af52191 --- /dev/null +++ b/web-ide-main/simulator/src/loader.ts @@ -0,0 +1,30 @@ +import { unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { ASM } from "./languages/asm.js"; +import { int2, parseTwosInt } from "./util/twos.js"; + +export async function loadAsm(source: string): Promise { + const asm = unwrap(ASM.parse(source)); + ASM.passes.fillLabel(asm); + return ASM.passes.emit(asm); +} + +export async function loadHack(source: string): Promise { + return source + .split("\n") + .filter((line) => line.trim() !== "") + .map(int2); +} + +export function loadHackSync(source: string): number[] { + return source + .split("\n") + .filter((line) => line.trim() !== "") + .map(int2); +} + +export async function loadBlob(bytes: string): Promise { + return bytes + .split("\n") + .filter((line) => line.trim() !== "") + .map(parseTwosInt); +} diff --git a/web-ide-main/simulator/src/output.test.ts b/web-ide-main/simulator/src/output.test.ts new file mode 100644 index 0000000..0d59fbd --- /dev/null +++ b/web-ide-main/simulator/src/output.test.ts @@ -0,0 +1,115 @@ +import { cleanState } from "@davidsouther/jiffies/lib/esm/scope/state.js"; +import { Output } from "./output.js"; +import { TestOutputInstruction } from "./test/instruction.js"; +import { Test } from "./test/tst.js"; + +class OutputTest extends Test { + private readonly vars: Map; + + constructor(init: [string, number | string][]) { + super(); + this.vars = new Map(init); + } + + hasVar(variable: string | number): boolean { + return this.vars.has(`${variable}`); + } + getVar(variable: string | number): number | string { + return this.vars.get(`${variable}`) ?? 0; + } + getWidth(variable: string, offset?: number | undefined): number { + return 1; + } + setVar(variable: string, value: number): void { + this.vars.set(`${variable}`, value); + } +} + +describe("Test Output Handler", () => { + const state = cleanState( + () => ({ + test: new OutputTest([ + ["time", "14+"], + ["a", 1], + ["b", 20], + ["in", 0], + ["out", -1], + ["address", 1234], + ]), + }), + beforeEach, + ); + + it("outputs padded values", () => { + const outA = new Output("a", "D", 1, 3, 3); + const a = outA.print(state.test); + + expect(a).toEqual(" 1 "); + }); + + it("outputs 16 bit values", () => { + const outB = new Output("b", "B", 16, 1, 1); + const b = outB.print(state.test); + expect(b).toEqual(" 0000000000010100 "); + }); + + it("outputs a line", () => { + state.test.outputList([ + { id: "a", style: "D", len: 1, lpad: 2, rpad: 2 }, + { id: "b", style: "X", len: 6, lpad: 1, rpad: 1 }, + { id: "in", style: "B", len: 2, lpad: 2, rpad: 2 }, + { id: "out", style: "B", len: 4, lpad: 2, rpad: 2 }, + ]); + state.test.addInstruction(new TestOutputInstruction()); + state.test.run(); + + expect(state.test.log()).toEqual("| 1 | 0x0014 | 00 | 1111 |\n"); + }); + + it("outputs 16 bit", () => { + const test = new OutputTest([ + ["a", 0b0001001000110100], + ["b", 0b1001100001110110], + ]); + test.outputList([ + { id: "a", style: "B", len: 16, lpad: 1, rpad: 1 }, + { id: "b", style: "B", len: 16, lpad: 1, rpad: 1 }, + ]); + + test.addInstruction(new TestOutputInstruction()); + test.run(); + + expect(test.log()).toEqual("| 0001001000110100 | 1001100001110110 |\n"); + }); + + it("outputs a header for 16 bit", () => { + const outB = new Output("b", "B", 16, 1, 1); + const b = outB.header(state.test); + expect(b).toEqual(" b "); + }); + + it("truncates a narrow header", () => { + const wideOut = new Output("addressM", "D", 5, 0, 0); + + const wide = wideOut.header(state.test); + expect(wide).toEqual("addre"); + }); + + it("does not center %S", () => { + const outTime = new Output("time", "S", 6, 1, 1); + const time = outTime.print(state.test); + expect(`'${time}'`).toEqual("' 14+ '"); + }); + + it("outputs builtin header with no index", () => { + const outPC = new Output("PC", "D", 4, 0, 0, true, -1); + const header = outPC.header(state.test); + expect(header).toEqual("PC[]"); + }); + + it("outputs builtin header with index", () => { + const outPC = new Output("RAM16K", "D", 7, 1, 1, true, 2); + const header = outPC.header(state.test); + expect(header).toEqual("RAM16K[2]"); + }); +}); diff --git a/web-ide-main/simulator/src/output.ts b/web-ide-main/simulator/src/output.ts new file mode 100644 index 0000000..ed7ca8a --- /dev/null +++ b/web-ide-main/simulator/src/output.ts @@ -0,0 +1,109 @@ +import { assert } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { Test } from "./test/tst.js"; +import { bin, dec, hex } from "./util/twos.js"; + +export class Output { + private readonly fmt: "B" | "X" | "D" | "S"; + private readonly lPad: number; + private readonly rPad: number; + private readonly len: number; + private readonly index: number; + private readonly builtin: boolean; + + // new Output(inst.id, inst.style, inst.width, inst.lpad, inst.rpad) + constructor( + private variable: string, + format = "%B1.1.1", + len?: number, + lPad?: number, + rPad?: number, + builtin?: boolean, + index?: number, + ) { + if ( + format.startsWith("%") && + len === undefined && + lPad === undefined && + rPad === undefined + ) { + const { fmt, lPad, rPad, len } = format.match( + /^%(?[BDXS])(?\d+)\.(?\d+)\.(?\d+)$/, + )?.groups as { + fmt: "B" | "X" | "D" | "S"; + lPad: string; + rPad: string; + len: string; + }; + this.fmt = fmt; + this.lPad = parseInt(lPad); + this.rPad = parseInt(rPad); + this.len = parseInt(len); + this.builtin = false; + this.index = -1; + } else { + assert(["B", "X", "D", "S"].includes(format[0])); + this.fmt = format[0] as "B" | "X" | "D" | "S"; + this.len = len ?? 3; + this.lPad = lPad ?? 1; + this.rPad = rPad ?? 1; + this.builtin = builtin ?? false; + this.index = index ?? -1; + } + } + + header(test: Test) { + let variable = `${this.variable}`; + if (this.builtin) { + const index = this.index >= 0 ? this.index : ""; + variable = `${variable}[${index}]`; + } + if (variable.length > this.len + this.lPad + this.rPad) { + return variable.substring(0, this.len + this.lPad + this.rPad); + } + return this.padCenter(variable); + } + + print(test: Test) { + const val = test.getVar(this.variable, this.index); + if (this.fmt === "S") { + return this.padLeft(val as string); + } + + const fmt = { B: bin, D: dec, X: hex }[this.fmt]; + const value = fmt(val as number); + if (this.fmt === "D") { + return this.padRight(value); + } else { + return this.padLeft(value.slice(value.length - this.len)); + } + } + + private padCenter(value: string) { + const space = this.lPad + this.len + this.rPad; + const leftSpace = Math.floor((space - value.length) / 2); + const rightSpace = space - leftSpace - value.length; + const padLeft = leftSpace + value.length; + const padRight = padLeft + rightSpace; + value = value.padStart(padLeft); + value = value.padEnd(padRight); + return value; + } + + private padLeft(value: string) { + value = value.substring(0, this.len); + const padRight = this.rPad + this.len; + const padLeft = this.lPad + padRight; + value = value.padEnd(padRight); + value = value.padStart(padLeft); + return value; + } + + private padRight(value: string) { + value = value.substring(0, this.len); + const padLeft = this.lPad + this.len; + const padRight = this.rPad + padLeft; + value = value.padStart(padLeft); + value = value.padEnd(padRight); + return value; + } +} diff --git a/web-ide-main/simulator/src/projects/all.test.ts b/web-ide-main/simulator/src/projects/all.test.ts new file mode 100644 index 0000000..172dac6 --- /dev/null +++ b/web-ide-main/simulator/src/projects/all.test.ts @@ -0,0 +1,159 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { Ok, unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { + ASM_PROJECTS, + CHIP_PROJECTS, + VM_PROJECTS, +} from "@nand2tetris/projects/base.js"; +import { ChipProjects, VmProjects } from "@nand2tetris/projects/full.js"; +import { Max } from "@nand2tetris/projects/samples/hack.js"; +import { + FILES as ASM_FILES, + ASM_SOLS, +} from "@nand2tetris/projects/samples/project_06/index.js"; +import { ChipProjects as ChipProjectsSols } from "@nand2tetris/projects/testing/index.js"; +import { build } from "../chip/builder.js"; +import { Chip } from "../chip/chip.js"; +import { compare } from "../compare.js"; +import { ASM, Asm } from "../languages/asm.js"; +import { CMP, Cmp } from "../languages/cmp.js"; +import { HDL, HdlParse } from "../languages/hdl.js"; +import { TST, Tst } from "../languages/tst.js"; +import { VM } from "../languages/vm.js"; +import { ChipTest } from "../test/chiptst.js"; +import { VMTest } from "../test/vmtst.js"; +import { Vm } from "../vm/vm.js"; + +const PROJECTS = new Set(["01", "03", "07", "08"]); +const SKIP = new Set([]); +const INCLUDE = new Set(["And", "And16", "Mux8Way16", "Bit"]); + +describe("Chip Projects", () => { + describe.each(Object.keys(CHIP_PROJECTS).filter((k) => PROJECTS.has(k)))( + "project %s", + (project) => { + it.each( + CHIP_PROJECTS[project as keyof typeof CHIP_PROJECTS] + .filter((k) => !SKIP.has(k)) + .filter((k) => INCLUDE.has(k)), + )("Chip %s", async (chipName) => { + const chipProject = { + // @ts-ignore + ...assertExists(ChipProjects[project]), + // @ts-ignore + ...assertExists(ChipProjectsSols[project]), + }; + const hdlFile = chipProject.SOLS[chipName]?.[`${chipName}.hdl`]; + const tstFile = chipProject.CHIPS?.[`${chipName}.tst`]; + const cmpFile = chipProject.CHIPS?.[`${chipName}.cmp`]; + + expect(hdlFile).toBeDefined(); + expect(tstFile).toBeDefined(); + expect(cmpFile).toBeDefined(); + + const hdl = HDL.parse(hdlFile); + expect(hdl).toBeOk(); + const tst = TST.parse(tstFile); + expect(tst).toBeOk(); + + const chip = await build({ parts: Ok(hdl as Ok) }); + expect(chip).toBeOk(); + const test = unwrap(ChipTest.from(Ok(tst as Ok))).with( + Ok(chip as Ok), + ); + + if (chipName === "Computer") { + test.setFileSystem( + new FileSystem(new ObjectFileSystemAdapter({ "Max.hack": Max })), + ); + } + + await test.run(); + + const outFile = test.log(); + + const cmp = CMP.parse(cmpFile); + expect(cmp).toBeOk(); + const out = CMP.parse(outFile); + expect(out).toBeOk(); + + const diffs = compare(Ok(cmp as Ok), Ok(out as Ok)); + expect(diffs).toHaveNoDiff(); + }); + }, + ); +}); + +describe("ASM Projects", () => { + describe.each(Object.keys(ASM_PROJECTS))("project %s", (project) => { + it.each(Object.keys(ASM_FILES))("%s", (file_name) => { + const source = ASM_FILES[file_name as keyof typeof ASM_FILES]; + const parsed = ASM.parse(source); + expect(parsed).toBeOk(); + const asm = Ok(parsed as Ok); + ASM.passes.fillLabel(asm); + const filled = ASM.passes.emit(asm); + expect(filled).toEqual(ASM_SOLS[file_name as keyof typeof ASM_FILES]); + }); + }); +}); + +describe("Vm Projects", () => { + describe.each(Object.keys(VM_PROJECTS).filter((k) => PROJECTS.has(k)))( + "project %s", + (project) => { + it.each( + VM_PROJECTS[project as keyof typeof VM_PROJECTS].filter( + (k) => !SKIP.has(k), + ), + )("VM Program %s", async (vmName) => { + const vmProject = { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + ...assertExists(VmProjects[project]), + }; + + const tstFile = vmProject.VMS[vmName]?.[`${vmName}VME.tst`]; + const cmpFile = vmProject.VMS[vmName]?.[`${vmName}.cmp`]; + + let vmCode = ""; + for (const filename of Object.keys(vmProject.VMS[vmName])) { + if (filename.endsWith(".vm")) { + const vmFile = vmProject.VMS[vmName]?.[filename]; + expect(vmFile).toBeDefined(); + vmCode += vmFile; + } + } + + expect(tstFile).toBeDefined(); + expect(cmpFile).toBeDefined(); + + const parsed = VM.parse(vmCode); + expect(parsed).toBeOk(); + const tst = TST.parse(tstFile); + expect(tst).toBeOk(); + + const vm = await Vm.build(unwrap(parsed).instructions); + expect(vm).toBeOk(); + const test = unwrap(VMTest.from(unwrap(tst))).with(unwrap(vm)); + + await test.run(); + + const outFile = test.log(); + + const cmp = CMP.parse(cmpFile); + expect(cmp).toBeOk(); + const out = CMP.parse(outFile); + expect(out).toBeOk(); + + const diffs = compare(unwrap(cmp), unwrap(out)); + expect(diffs).toHaveNoDiff(); + }); + }, + ); +}); diff --git a/web-ide-main/simulator/src/projects/runner.ts b/web-ide-main/simulator/src/projects/runner.ts new file mode 100644 index 0000000..b42f7fa --- /dev/null +++ b/web-ide-main/simulator/src/projects/runner.ts @@ -0,0 +1,137 @@ +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { + Err, + isErr, + isOk, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { + type Assignment, + AssignmentStubs, +} from "@nand2tetris/projects/base.js"; +import type { Runner, RunResult } from "@nand2tetris/runner/types.js"; +import { build as buildChip } from "../chip/builder.js"; +import { Chip } from "../chip/chip.js"; +import { CompilationError } from "../languages/base.js"; +import { HDL, HdlParse } from "../languages/hdl.js"; +import { TST, Tst } from "../languages/tst.js"; +import { ChipTest } from "../test/chiptst.js"; + +export interface AssignmentFiles extends Assignment { + hdl: string; + tst: string; + cmp: string; +} + +export interface AssignmentParse extends AssignmentFiles { + maybeParsedHDL: Result; + maybeParsedTST: Result; +} + +export interface AssignmentBuild extends AssignmentParse { + maybeChip: Result; + maybeTest: Result; +} + +export interface AssignmentRun extends AssignmentBuild { + pass: boolean; + out: string; + shadow?: RunResult; +} + +export const hasTest = ({ + name, + ext, +}: { + name: string; + ext: string; +}): boolean => + AssignmentStubs[name as keyof typeof AssignmentStubs] !== undefined && + [".hdl", ".tst"].includes(ext); + +/** Try parsing the loaded files. */ +export const maybeParse = (file: AssignmentFiles): AssignmentParse => { + const maybeParsedHDL = HDL.parse(file.hdl); + const maybeParsedTST = TST.parse(file.tst); + return { ...file, maybeParsedHDL, maybeParsedTST }; +}; + +/** After parsing the assignment, compile the Chip and Tst. */ +export const maybeBuild = + (fs: FileSystem) => + async (file: AssignmentParse): Promise => { + let maybeChip: Result; + if (isOk(file.maybeParsedHDL)) { + const maybeBuilt = await buildChip({ + parts: Ok(file.maybeParsedHDL), + fs, + }); + if (isErr(maybeBuilt)) { + maybeChip = Err(new Error(Err(maybeBuilt).message)); + } else { + maybeChip = maybeBuilt; + } + } else { + maybeChip = Err(new Error("HDL Was not parsed")); + } + const maybeTest = isOk(file.maybeParsedTST) + ? ChipTest.from(Ok(file.maybeParsedTST)) + : Err(new Error("TST Was not parsed")); + + return { ...file, maybeChip, maybeTest }; + }; + +/** If the assignment parsed, run it! */ +export const tryRun = + (fs: FileSystem) => + async (assignment: AssignmentBuild): Promise => { + if (isErr(assignment.maybeChip)) { + return { + ...assignment, + pass: false, + out: Err(assignment.maybeChip).message, + }; + } + if (isErr(assignment.maybeTest)) { + return { + ...assignment, + pass: false, + out: Err(assignment.maybeTest).message, + }; + } + const test = Ok(assignment.maybeTest) + .with(Ok(assignment.maybeChip)) + .setFileSystem(fs); + await test.run(); + const out = test.log(); + const pass = out.trim() === assignment.cmp.trim(); + return { ...assignment, out, pass }; + }; + +/** Parse & execute a Nand2tetris assignment, possibly also including the Java output in shadow mode. */ +export const runner = (fs: FileSystem, ideRunner?: Runner) => { + const tryRunWithFs = tryRun(fs); + const maybeBuildWithFs = maybeBuild(fs); + return async (assignment: AssignmentFiles): Promise => { + const jsRunner = async () => + tryRunWithFs(await maybeBuildWithFs(await maybeParse(assignment))); + const javaRunner = async () => ideRunner?.hdl(assignment); + + const [jsRun, shadow] = await Promise.all([jsRunner(), javaRunner()]); + return { ...jsRun, shadow }; + }; +}; + +/** Run all tests for a given Nand2Tetris project. */ +export async function runTests( + files: Array, + loadAssignment: (file: Assignment) => Promise, + fs: FileSystem, + ideRunner?: Runner, +): Promise { + const run = runner(fs, ideRunner); + return Promise.all( + files.map(loadAssignment).map(async (assignment) => run(await assignment)), + ); +} diff --git a/web-ide-main/simulator/src/setupTests.ts b/web-ide-main/simulator/src/setupTests.ts new file mode 100644 index 0000000..21fd35b --- /dev/null +++ b/web-ide-main/simulator/src/setupTests.ts @@ -0,0 +1,101 @@ +import { display } from "@davidsouther/jiffies/lib/esm/display.js"; +import { + Err, + isErr, + isOk, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import type { MatchResult } from "ohm-js"; +import { Diff } from "./compare.js"; + +interface CustomMatchers { + toBeOk(expected?: T): R; + toBeErr(expected?: T): R; +} + +interface OhmMatchers { + toHaveSucceeded(): R; + toHaveFailed(message: string): R; +} + +interface CmpMatchers { + toHaveNoDiff(): R; +} + +declare global { + // biome-ignore lint/style/noNamespace: add some setup stuff + namespace jest { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + type Expect = CustomMatchers; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + interface Matchers + extends CustomMatchers, + OhmMatchers, + CmpMatchers {} + interface InverseAsymmetricMatchers extends CustomMatchers, OhmMatchers {} + } +} + +expect.extend({ + toBeErr(result: Result, expected?: Err) { + if (isOk(result)) { + return { + pass: false, + message: () => + `Expected Err(${display(expected)}), got Ok(${display(Err(result))})`, + }; + } else { + if (expected) { + expect(Err(result)).toMatchObject(Err(expected) as Error); + } + } + return { + pass: true, + message: () => `Err(${display(Err(result))}) is expected`, + }; + }, + toBeOk(result: Result, expected?: Ok) { + if (isErr(result)) { + return { + pass: false, + message: () => + `Expected Ok(${display(expected)}), got Err(${display(Err(result))})`, + }; + } else { + if (expected) { + expect(Ok(result)).toMatchObject(Ok(expected) as object); + } + } + return { + pass: true, + message: () => `Ok(${display(Ok(result))}) is expected`, + }; + }, + toHaveSucceeded(match: MatchResult) { + if (match.succeeded()) { + return { pass: true, message: () => "Match succeeded" }; + } else { + return { pass: false, message: () => match.message ?? "Match failed" }; + } + }, + toHaveFailed(match: MatchResult, message: string) { + expect(match.failed()).toBe(true); + expect(match.shortMessage).toBe(message); + return { + pass: true, + message: () => "Failed to parse with correct message", + }; + }, + toHaveNoDiff(diffs: Diff[]) { + expect( + diffs.map(({ a, b, col, row }) => `${a} <> ${b} (${row}:${col})`), + ).toEqual([]); + return { + pass: true, + message: () => "There were no diffs", + }; + }, +}); diff --git a/web-ide-main/simulator/src/test/builder.ts b/web-ide-main/simulator/src/test/builder.ts new file mode 100644 index 0000000..67663a0 --- /dev/null +++ b/web-ide-main/simulator/src/test/builder.ts @@ -0,0 +1,154 @@ +import { checkExhaustive } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { Err, Ok, Result } from "@davidsouther/jiffies/lib/esm/result.js"; +import { Span } from "../languages/base.js"; +import { + Tst, + TstCommand, + TstOperation, + TstStatement, + TstWhileStatement, +} from "../languages/tst.js"; +import { + TestEvalInstruction, + TestTickInstruction, + TestTockInstruction, +} from "./chiptst.js"; +import { TestResetRamInstruction, TestTickTockInstruction } from "./cputst.js"; +import { + Condition, + TestBreakInstruction, + TestClearEchoInstruction, + TestCompareToInstruction, + TestEchoInstruction, + TestInstruction, + TestLoadInstruction, + TestLoadROMInstruction, + TestOutputFileInstruction, + TestOutputInstruction, + TestOutputListInstruction, + TestRepeatInstruction, + TestSetInstruction, + TestStopInstruction, + TestWhileInstruction, +} from "./instruction.js"; +import { Test } from "./tst.js"; +import { TestVMStepInstruction } from "./vmtst.js"; + +export function isTstCommand(line: TstStatement): line is TstCommand { + return (line as TstCommand).op !== undefined; +} + +function isTstWhileStatement(line: TstStatement): line is TstWhileStatement { + return (line as TstWhileStatement).condition !== undefined; +} + +function makeInstruction(inst: TstOperation) { + const { op } = inst; + switch (op) { + case "tick": + return new TestTickInstruction(); + case "tock": + return new TestTockInstruction(); + case "ticktock": + return new TestTickTockInstruction(); + case "eval": + return new TestEvalInstruction(); + case "vmstep": + return new TestVMStepInstruction(); + case "output": + return new TestOutputInstruction(); + case "set": + return new TestSetInstruction(inst.id, inst.value, inst.index); + case "output-list": + return new TestOutputListInstruction(inst.spec); + case "echo": + return new TestEchoInstruction(inst.message); + case "clear-echo": + return new TestClearEchoInstruction(); + case "loadRom": + return new TestLoadROMInstruction(inst.file); + case "load": + return new TestLoadInstruction(inst.file); + case "output-file": + return new TestOutputFileInstruction(inst.file); + case "compare-to": + return new TestCompareToInstruction(inst.file); + case "resetRam": + return new TestResetRamInstruction(); + default: + checkExhaustive(op, `Unknown tst operation ${op}`); + } +} + +export function fill( + test: T, + tst: Tst, + requireLoad = true, +): Result { + let span: Span | undefined; + let stepInstructions: TestInstruction[] = []; + + let base: T | TestWhileInstruction | TestRepeatInstruction = test; + let commands: TstCommand[] = []; + + let hasLoad = false; + + for (const line of tst.lines) { + if (isTstCommand(line)) { + base = test; + commands = [line]; + } else { + const repeat = isTstWhileStatement(line) + ? new TestWhileInstruction( + new Condition( + line.condition.left, + line.condition.right, + line.condition.op, + ), + ) + : new TestRepeatInstruction(line.count); + repeat.span = line.span; + test.addInstruction(repeat); + + base = repeat; + commands = line.statements; + } + + for (const command of commands) { + if (command.op.op == "load") { + hasLoad = true; + } + const inst = makeInstruction(command.op); + if (inst !== undefined) { + if (span === undefined) { + span = line.span; + } else { + span.end = line.span.end; + } + + base.addInstruction(inst); + stepInstructions.push(inst); + } + if (command.separator != ",") { + if (command.separator == ";") { + base.addInstruction(new TestStopInstruction(span ?? command.span)); + } else if (command.separator == "!") { + base.addInstruction(new TestBreakInstruction(span ?? command.span)); + } + for (const inst of stepInstructions) { + inst.span = span ?? command.span; + } + span = undefined; + stepInstructions = []; + } + } + } + + if (requireLoad && !hasLoad) { + return Err(new Error("A test script must have a load command")); + } + + test.reset(); + + return Ok(test); +} diff --git a/web-ide-main/simulator/src/test/chiptst.test.ts b/web-ide-main/simulator/src/test/chiptst.test.ts new file mode 100644 index 0000000..9b393eb --- /dev/null +++ b/web-ide-main/simulator/src/test/chiptst.test.ts @@ -0,0 +1,213 @@ +import { unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { Computer } from "../chip/builtins/computer/computer.js"; +import { Nand } from "../chip/builtins/logic/nand.js"; +import { TstRepeat } from "../languages/tst.js"; +import { + ChipTest, + TestEvalInstruction, + TestTickInstruction, + TestTockInstruction, +} from "./chiptst.js"; +import { + TestCompoundInstruction, + TestOutputInstruction, + TestSetInstruction, +} from "./instruction.js"; + +describe("Chip Test", () => { + describe("Builtins", () => { + it("can set Memory", async () => { + const computer = new Computer(); + const test = new ChipTest().with(computer); + + test.addInstruction(new TestSetInstruction("RAM16K", 0x1234, 2)); + await test.run(); + + expect(computer.get("RAM16K", 2)?.busVoltage).toBe(0x1234); + }); + + it("can read memory", async () => { + const computer = new Computer(); + const test = new ChipTest().with(computer); + test.outputList([ + { + id: "RAM16K", + style: "D", + len: 4, + lpad: 0, + rpad: 0, + builtin: true, + address: 2, + }, + ]); + + test.addInstruction(new TestSetInstruction("RAM16K", 1234, 2)); + test.addInstruction(new TestOutputInstruction()); + await test.run(); + + expect(test.log()).toEqual(`|1234|\n`); + }); + }); + + describe("Full tests", () => { + it("creates a simulator test", async () => { + const test = new ChipTest().with(new Nand()); + test.outputList( + ["a", "b", "out"].map((v) => { + return { id: v }; + }), + ); + + let statement: TestCompoundInstruction; + statement = new TestCompoundInstruction(); + test.addInstruction(statement); + [ + new TestSetInstruction("a", 0), + new TestSetInstruction("b", 0), + new TestEvalInstruction(), + new TestOutputInstruction(), + ].forEach((i) => statement.addInstruction(i)); + + statement = new TestCompoundInstruction(); + test.addInstruction(statement); + [ + new TestSetInstruction("a", 1), + new TestSetInstruction("b", 1), + new TestEvalInstruction(), + new TestOutputInstruction(), + ].forEach((i) => statement.addInstruction(i)); + + statement = new TestCompoundInstruction(); + test.addInstruction(statement); + [ + new TestSetInstruction("a", 1), + new TestSetInstruction("b", 0), + new TestEvalInstruction(), + new TestOutputInstruction(), + ].forEach((i) => statement.addInstruction(i)); + + statement = new TestCompoundInstruction(); + test.addInstruction(statement); + [ + new TestSetInstruction("a", 0), + new TestSetInstruction("b", 1), + new TestEvalInstruction(), + new TestOutputInstruction(), + ].forEach((i) => statement.addInstruction(i)); + + await test.run(); + expect(test.log()).toEqual( + `| 0 | 0 | 1 |\n| 1 | 1 | 0 |\n| 1 | 0 | 1 |\n| 0 | 1 | 1 |\n`, + ); + }); + + it("tick tocks a clock", async () => { + const test = new ChipTest(); //.with(new DFF()); + test.outputList([{ id: "time", style: "S", len: 4, lpad: 0, rpad: 0 }]); + for (let i = 0; i < 5; i++) { + const statement = new TestCompoundInstruction(); + test.addInstruction(statement); + statement.addInstruction(new TestTickInstruction()); + statement.addInstruction(new TestOutputInstruction()); + statement.addInstruction(new TestTockInstruction()); + statement.addInstruction(new TestOutputInstruction()); + } + for (let i = 0; i < 2; i++) { + const statement = new TestCompoundInstruction(); + test.addInstruction(statement); + statement.addInstruction(new TestEvalInstruction()); + statement.addInstruction(new TestOutputInstruction()); + } + for (let i = 0; i < 3; i++) { + const statement = new TestCompoundInstruction(); + test.addInstruction(statement); + statement.addInstruction(new TestTickInstruction()); + statement.addInstruction(new TestTockInstruction()); + statement.addInstruction(new TestOutputInstruction()); + } + + await test.run(); + + expect(test.log().trim().split("\n")).toEqual( + [ + "0+", + "1", + "1+", + "2", + "2+", + "3", + "3+", + "4", + "4+", + "5", + "5", + "5", + "6", + "7", + "8", + ].map((i) => `|${i.padEnd(4, " ")}|`), + ); + }); + + it("tick tocks a clock with a repeat", async () => { + const repeat: TstRepeat = { + count: 5, + statements: [ + { + op: { op: "tick" }, + separator: ",", + span: { start: 0, end: 27, line: 1 }, + }, + { + op: { op: "output" }, + separator: ",", + span: { start: 0, end: 27, line: 1 }, + }, + { + op: { op: "tock" }, + separator: ",", + span: { start: 0, end: 27, line: 1 }, + }, + { + op: { op: "output" }, + separator: ";", + span: { start: 0, end: 27, line: 1 }, + }, + ], + span: { + line: 1, + start: 0, + end: 27, + }, + }; + + const maybeTest = ChipTest.from( + { + lines: [repeat], + }, + { requireLoad: false }, + ); + expect(maybeTest).toBeOk(); + const test = unwrap(maybeTest); + test.outputList([{ id: "time", style: "S", len: 4, lpad: 0, rpad: 0 }]); + + await test.run(); + + expect(test.log().trim().split("\n")).toEqual( + ["0+", "1", "1+", "2", "2+", "3", "3+", "4", "4+", "5"].map( + (i) => `|${i.padEnd(4, " ")}|`, + ), + ); + }); + }); + + it("has a first step", () => { + const test = new ChipTest(); //.with(new DFF()); + const statement = new TestSetInstruction("a", 1); + test.addInstruction(statement); + + test.reset(); + + expect(test.currentStep).toBeDefined(); + }); +}); diff --git a/web-ide-main/simulator/src/test/chiptst.ts b/web-ide-main/simulator/src/test/chiptst.ts new file mode 100644 index 0000000..c03ced9 --- /dev/null +++ b/web-ide-main/simulator/src/test/chiptst.ts @@ -0,0 +1,160 @@ +import { Result } from "@davidsouther/jiffies/lib/esm/result.js"; +import { Bus, Chip, HIGH, LOW, Low } from "../chip/chip.js"; +import { Clock } from "../chip/clock.js"; +import { Tst } from "../languages/tst.js"; +import { Action } from "../types.js"; +import { fill } from "./builder.js"; +import { TestInstruction } from "./instruction.js"; +import { Test } from "./tst.js"; + +export class ChipTest extends Test { + private chip: Chip = new Low(); + private doLoad?: (path: string) => Promise; + + get chipId(): number { + return this.chip.id; + } + + private clock = Clock.get(); + + static from( + tst: Tst, + options: { + dir?: string; + setStatus?: Action; + loadAction?: (path: string) => Promise; + compareTo?: Action; + requireLoad?: boolean; + } = {}, + ): Result { + const test = new ChipTest(options); + + return fill(test, tst, options.requireLoad); + } + + constructor({ + dir, + setStatus, + loadAction, + compareTo, + }: { + dir?: string; + setStatus?: Action; + loadAction?: (path: string) => Promise; + compareTo?: Action; + } = {}) { + super(dir, setStatus, compareTo); + this.doLoad = loadAction; + } + + with(chip: Chip): this { + this.chip = chip; + return this; + } + + override async load(filename?: string): Promise { + if (!this.dir) return; + const chip = await this.doLoad?.( + filename ? `${this.dir}/${filename}` : this.dir, + ); + if (chip) { + this.chip = chip; + } + } + + hasVar(variable: string | number): boolean { + if (variable === "time") { + return true; + } + variable = `${variable}`; + // Look up built-in chip state variables + return this.chip.hasIn(variable) || this.chip.hasOut(variable); + } + + getVar(variable: string | number, offset?: number): number | string { + variable = `${variable}`; + if (variable === "time") { + return this.clock.toString(); + } + const pin = this.chip.get(variable, offset); + if (!pin) return 0; + return pin instanceof Bus ? pin.busVoltage : pin.voltage(); + } + + getWidth(variable: string, offset?: number): number { + const pin = this.chip.get(variable, offset); + if (!pin) return 0; + return pin.width; + } + + setVar(variable: string, value: number, offset?: number): void { + // Look up built-in chip state variables + const pinOrBus = this.chip.get(variable, offset); + if (pinOrBus instanceof Bus) { + pinOrBus.busVoltage = value; + } else { + pinOrBus?.pull(value === 0 ? LOW : HIGH); + } + } + + eval(): void { + this.chip.eval(); + } + + tick(): void { + this.chip.eval(); + this.clock.tick(); + } + + tock(): void { + this.chip.eval(); + this.clock.tock(); + } + + override async loadROM(filename: string) { + await this.chip.load(this.fs, [this.dir ?? "", filename].join("/")); + } + + override async run() { + this.clock.reset(); + await super.run(); + } +} + +export interface ChipTestInstruction extends TestInstruction { + _chipTestInstruction_: true; + do(test: ChipTest): Promise; +} + +export class TestEvalInstruction implements ChipTestInstruction { + readonly _chipTestInstruction_ = true; + async do(test: ChipTest) { + test.eval(); + } + + *steps() { + yield this; + } +} + +export class TestTickInstruction implements ChipTestInstruction { + readonly _chipTestInstruction_ = true; + async do(test: ChipTest) { + test.tick(); + } + + *steps() { + yield this; + } +} + +export class TestTockInstruction implements ChipTestInstruction { + readonly _chipTestInstruction_ = true; + async do(test: ChipTest) { + test.tock(); + } + + *steps() { + yield this; + } +} diff --git a/web-ide-main/simulator/src/test/cputst.ts b/web-ide-main/simulator/src/test/cputst.ts new file mode 100644 index 0000000..8b04187 --- /dev/null +++ b/web-ide-main/simulator/src/test/cputst.ts @@ -0,0 +1,187 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { Result } from "@davidsouther/jiffies/lib/esm/result.js"; +import { CPU } from "../cpu/cpu.js"; +import { ROM } from "../cpu/memory.js"; +import { Tst } from "../languages/tst.js"; +import { Action, AsyncAction } from "../types.js"; +import { fill, isTstCommand } from "./builder.js"; +import { TestInstruction } from "./instruction.js"; +import { Test } from "./tst.js"; + +export class CPUTest extends Test { + cpu: CPU; + private ticks = 0; + private doLoad?: AsyncAction; + fileLoaded = false; + hasLoad = false; + + static from( + tst: Tst, + options: { + dir?: string; + rom?: ROM; + doEcho?: Action; + doLoad?: AsyncAction; + compareTo?: Action; + requireLoad?: boolean; + } = {}, + ): Result { + const test = new CPUTest(options); + + test.hasLoad = tst.lines.some( + (line) => isTstCommand(line) && line.op.op == "load", + ); + + return fill(test, tst, options.requireLoad); + } + + constructor({ + dir, + rom = new ROM(), + doEcho, + doLoad, + compareTo, + }: { + dir?: string; + rom?: ROM; + doEcho?: Action; + doLoad?: AsyncAction; + compareTo?: Action; + } = {}) { + super(dir, doEcho, compareTo); + this.doLoad = doLoad; + this.cpu = new CPU({ ROM: rom }); + this.reset(); + } + + override async step() { + if (!this.hasLoad && this.cpu.ROM.isEmpty()) { + throw new Error( + "Cannot execute the test without first loading an .asm or .hack file", + ); + } + return super.step(); + } + + override async load(filename?: string): Promise { + if (!filename && !this.dir) return; + const dir = assertExists(this.dir?.split("/").slice(0, -1).join("/")); + const rom = await this.doLoad?.(filename ? `${dir}/${filename}` : dir); + if (rom) { + this.cpu = new CPU({ ROM: rom }); + } + } + + override reset(): this { + super.reset(); + this.cpu.reset(); + this.ticks = 0; + return this; + } + + hasVar(variable: string | number): boolean { + if (typeof variable === "number") { + return false; + } + // A: Current value of the address register (unsigned 15-bit); + // D: Current value of the data register (16-bit); + // PC: Current value of the Program Counter (unsigned 15-bit); + // RAM[i]: Current value of RAM location i (16-bit); + // time: Number of time units (also called clock cycles, or ticktocks) that elapsed since the simulation started (a read-only system variable). + if ( + variable === "A" || + variable === "D" || + variable === "PC" || + variable === "time" || + variable.startsWith("RAM") + ) { + return true; + } + return false; + } + + getVar(variable: string | number, offset?: number): number { + switch (variable) { + case "A": + return this.cpu.A; + case "D": + return this.cpu.D; + case "PC": + return this.cpu.PC; + case "time": + return this.ticks; + case "RAM": + // Exact RAM with offset + return offset === undefined ? 0 : this.cpu.RAM.get(offset); + } + if (typeof variable === "number") return 0; + if (variable.startsWith("RAM")) { + // RAM with implicit offset, EG: RAM[123] + const num = Number(variable.substring(4, variable.length - 1)); + return this.cpu.RAM.get(num); + } + return 0; + } + + getWidth(variable: string, offset?: number): number { + return 16; + } + + setVar(variable: string, value: number, index?: number): void { + // A: Current value of the address register (unsigned 15-bit); + // D: Current value of the data register (16-bit); + // PC: Current value of the Program Counter (unsigned 15-bit); + // RAM[i]: Current value of RAM location i (16-bit); + switch (variable) { + case "A": + this.cpu.setA(value); + break; + case "D": + this.cpu.setD(value); + break; + case "PC": + this.cpu.setPC(value); + break; + case "RAM": + this.cpu.RAM.set(index ?? 0, value); + break; + } + return; + } + + ticktock(): void { + this.ticks += 1; + this.cpu.tick(); + } + + override async loadROM(filename: string): Promise { + await this.cpu.ROM.load(this.fs, filename); + } +} + +export interface CPUTestInstruction extends TestInstruction { + _cpuTestInstruction_: true; + do(test: CPUTest): Promise; +} + +export class TestTickTockInstruction implements CPUTestInstruction { + readonly _cpuTestInstruction_ = true; + async do(test: CPUTest) { + test.ticktock(); + } + + *steps() { + yield this; + } +} + +export class TestResetRamInstruction implements CPUTestInstruction { + readonly _cpuTestInstruction_ = true; + async do(test: CPUTest) { + test.cpu.RAM.reset(); + } + + *steps() { + yield this; + } +} diff --git a/web-ide-main/simulator/src/test/instruction.ts b/web-ide-main/simulator/src/test/instruction.ts new file mode 100644 index 0000000..df4d831 --- /dev/null +++ b/web-ide-main/simulator/src/test/instruction.ts @@ -0,0 +1,293 @@ +import { Span } from "../languages/base.js"; +import { TstOutputSpec } from "../languages/tst.js"; +import { Test } from "./tst.js"; + +export interface TestInstruction { + span?: Span; + do(test: Test): Promise; + steps(test: Test): IterableIterator; +} + +export class TestControlInstruction implements TestInstruction { + span: Span; + + constructor(span: Span) { + this.span = span; + } + + async do() { + return; + } + *steps() { + yield this; + } +} + +export class TestStopInstruction extends TestControlInstruction {} +export class TestBreakInstruction extends TestControlInstruction {} + +export class TestSetInstruction implements TestInstruction { + constructor( + private variable: string, + private value: number, + private index?: number | undefined, + ) {} + + async do(test: Test) { + test.setVar(this.variable, this.value, this.index); + } + + *steps() { + yield this; + } +} + +export class TestOutputInstruction implements TestInstruction { + async do(test: Test) { + test.output(); + } + + *steps() { + yield this; + } +} + +export interface OutputParams { + id: string; + style?: "B" | "D" | "S" | "X"; + len?: number; + lpad?: number; + rpad?: number; + builtin?: boolean; + address?: number; +} + +export class TestOutputListInstruction implements TestInstruction { + private outputs: OutputParams[] = []; + + constructor(specs: TstOutputSpec[] = []) { + for (const spec of specs) { + this.addOutput(spec); + } + } + + addOutput(inst: TstOutputSpec) { + this.outputs.push({ + id: inst.id, + style: inst.format?.style ?? "B", + len: inst.format?.width ?? -1, + lpad: inst.format?.lpad ?? 1, + rpad: inst.format?.rpad ?? 1, + builtin: inst.builtin, + address: inst.address, + }); + } + + async do(test: Test) { + test.outputList(this.outputs); + test.header(); + } + + *steps() { + yield this; + } +} + +export class TestCompoundInstruction implements TestInstruction { + protected readonly instructions: TestInstruction[] = []; + span?: Span; + + addInstruction(instruction: TestInstruction) { + this.instructions.push(instruction); + } + + async do(test: Test) { + for (const instruction of this.instructions) { + instruction.do(test); + } + } + + *steps(_test: Test): Generator { + yield this; + } +} + +export class TestRepeatInstruction extends TestCompoundInstruction { + constructor(public readonly repeat: number) { + super(); + } + + override async do() { + return undefined; + } + + private *innerSteps(test: Test): Generator { + for (const instruction of this.instructions) { + yield* instruction.steps(test) as Generator; + } + } + + override *steps(test: Test): Generator { + if (this.repeat === -1) { + yield this; + while (true) { + yield* this.innerSteps(test); + } + } else { + for (let i = 0; i < this.repeat; i++) { + yield this; + yield* this.innerSteps(test); + } + } + } +} + +export class Condition { + constructor( + public readonly x: string | number, + public readonly y: string | number, + public readonly op: "<" | "<=" | "=" | ">=" | ">" | "<>", + ) {} + + check(test: Test): boolean { + const x = test.hasVar(this.x) ? test.getVar(this.x) : this.x; + const y = test.hasVar(this.y) ? test.getVar(this.y) : this.y; + + if (typeof x === "string" || typeof y === "string") { + switch (this.op) { + case "=": + return `${x}` === `${y}`; + case "<>": + return `${x}` !== `${y}`; + } + } else { + switch (this.op) { + case "<": + return x < y; + case "<=": + return x <= y; + case ">": + return x > y; + case ">=": + return x >= y; + case "=": + return x === y; + case "<>": + return x !== y; + } + } + return false; + } +} + +export class TestWhileInstruction extends TestCompoundInstruction { + constructor(public readonly condition: Condition) { + super(); + } + + override *steps(test: Test): Generator { + while (this.condition.check(test)) { + yield this; + for (const instruction of this.instructions) { + yield* instruction.steps(test) as Generator; + } + } + } +} + +export class TestEchoInstruction implements TestInstruction { + constructor(public readonly content: string) {} + async do(test: Test) { + test.echo(this.content); + } + + *steps() { + yield this; + } +} + +export class TestClearEchoInstruction implements TestInstruction { + async do(test: Test) { + test.clearEcho(); + } + + *steps() { + yield this; + } +} + +export class TestLoadROMInstruction implements TestInstruction { + constructor(readonly file: string) {} + async do(test: Test) { + await test.loadROM(this.file); + } + + *steps() { + yield this; + } +} + +export class TestLoadInstruction implements TestInstruction { + constructor(readonly file?: string) {} + + async do(test: Test) { + await test.load(this.file); + } + + *steps() { + yield this; + } +} + +export class TestCompareToInstruction implements TestInstruction { + constructor(readonly file?: string) {} + + async do(test: Test) { + if (this.file) { + await test.compareTo(this.file); + } + } + + *steps() { + yield this; + } +} + +export class TestOutputFileInstruction implements TestInstruction { + constructor(readonly file?: string) {} + + async do(test: Test) { + if (this.file) { + test.outputFile(this.file); + } + } + + *steps() { + yield this; + } +} + +export class TestBreakpointInstruction implements TestInstruction { + constructor( + readonly variable: string, + readonly value: number, + ) {} + + async do(test: Test) { + test.addBreakpoint(this.variable, this.value); + } + + *steps() { + yield this; + } +} + +export class TestClearBreakpointsInstruction implements TestInstruction { + async do(test: Test) { + test.clearBreakpoints(); + } + + *steps() { + yield this; + } +} diff --git a/web-ide-main/simulator/src/test/tst.ts b/web-ide-main/simulator/src/test/tst.ts new file mode 100644 index 0000000..be614f6 --- /dev/null +++ b/web-ide-main/simulator/src/test/tst.ts @@ -0,0 +1,176 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { Output } from "../output.js"; +import { Action } from "../types.js"; +import { + OutputParams, + TestBreakInstruction, + TestInstruction, + TestStopInstruction, +} from "./instruction.js"; + +export const DEFAULT_TIME_WIDTH = 7; + +export abstract class Test { + protected readonly instructions: (IS | TestInstruction)[] = []; + protected _outputList: Output[] = []; + protected _log = ""; + fs: FileSystem = new FileSystem(); + protected doEcho?: Action; + protected doCompareTo?: Action; + protected dir?: string; + protected outputFileName?: string; + + constructor( + path?: string, + doEcho?: Action, + doCompareTo?: Action, + ) { + this.doEcho = doEcho; + this.doCompareTo = doCompareTo; + this.dir = path; + } + + setFileSystem(fs: FileSystem): this { + this.fs = fs; + return this; + } + + echo(_content: string) { + this.doEcho?.(_content); + return; + } + clearEcho() { + this.doEcho?.(""); + return; + } + + async loadROM(_filename?: string): Promise { + return undefined; + } + async load(_filename?: string): Promise { + return undefined; + } + + async compareTo(filename: string): Promise { + this.doCompareTo?.(filename); + } + outputFile(filename: string): void { + this.outputFileName = filename; + } + + private createOutputs(params: OutputParams[]): Output[] { + return params.map((param) => { + if (param.len === -1) { + if (param.id === "time") { + param.len = DEFAULT_TIME_WIDTH; + param.style = "S"; + } else { + const width = this.getWidth(param.id, param.address); + if (param.style === "B") { + param.len = width; + } else if (param.style === "D") { + param.len = Math.ceil(Math.log(width)); + } else if (param.style === "X") { + param.len = Math.ceil(width / 4); + } + } + } + return new Output( + param.id, + param.style, + param.len, + param.lpad, + param.rpad, + param.builtin, + param.address, + ); + }); + } + + outputList(params: OutputParams[]): void { + this._outputList = this.createOutputs(params); + } + + addInstruction(instruction: IS | TestInstruction): void { + this.instructions.push(instruction); + } + + reset(): this { + this._steps = (function* (test) { + for (const instruction of test.instructions) { + yield* instruction.steps(test); + } + })(this); + this._step = this._steps.next(); + this._log = ""; + return this; + } + + private _steps!: IterableIterator; + private _step!: IteratorResult; + + get steps(): Iterator { + if (this._steps === undefined) { + this.reset(); + this._steps = assertExists(this._steps, "Reset did not initialize steps"); + this._step = assertExists(this._step, "Reset did not find first step"); + } + return this._steps; + } + + get currentStep(): IS | TestInstruction | undefined { + return this._step?.value; + } + + get done(): boolean { + return this._step?.done ?? false; + } + + async step() { + while (!this._step.done) { + await this._step.value.do(this); + this._step = this.steps.next(); + + if (this._step.value instanceof TestStopInstruction) { + this._step = this.steps.next(); + return false; + } else if (this._step.value instanceof TestBreakInstruction) { + return true; + } + } + return true; + } + + async run() { + this.reset(); + while (!(await this.step())); + } + + protected readonly breakpoints: Map = new Map(); + addBreakpoint(variable: string, value: number) { + this.breakpoints.set(variable, value); + } + clearBreakpoints() { + this.breakpoints.clear(); + } + + output() { + const values = this._outputList.map((output) => output.print(this)); + this._log += `|${values.join("|")}|\n`; + } + + header() { + const values = this._outputList.map((output) => output.header(this)); + this._log += `|${values.join("|")}|\n`; + } + + log() { + return this._log; + } + + abstract hasVar(variable: string | number): boolean; + abstract getVar(variable: string | number, offset?: number): number | string; + abstract setVar(variable: string, value: number, offset?: number): void; + abstract getWidth(variable: string, offset?: number): number; +} diff --git a/web-ide-main/simulator/src/test/vmtst.test.ts b/web-ide-main/simulator/src/test/vmtst.test.ts new file mode 100644 index 0000000..75fc187 --- /dev/null +++ b/web-ide-main/simulator/src/test/vmtst.test.ts @@ -0,0 +1,38 @@ +import { + FileSystem, + ObjectFileSystemAdapter, +} from "@davidsouther/jiffies/lib/esm/fs.js"; +import { unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { VM_PROJECTS } from "@nand2tetris/projects/base.js"; +import { resetFiles } from "@nand2tetris/projects/full.js"; +import { TST } from "../languages/tst.js"; +import { VMTest } from "./vmtst.js"; + +async function prepare(project: "07" | "08", name: string): Promise { + const fs = new FileSystem(new ObjectFileSystemAdapter({})); + await resetFiles(fs); + fs.cd(`/projects/${project}/${name}`); + const vm_tst = await fs.readFile(name + "VME.tst"); + const tst = unwrap(TST.parse(vm_tst)); + const test = unwrap(VMTest.from(tst)).using(fs); + await test.load(); + return test; +} + +describe("VM Test Runner", () => { + test.each(VM_PROJECTS["07"])("07 VM Test Runner %s", async (name) => { + const test = await prepare("07", name); + + for (let i = 0; i < 100; i++) { + await test.step(); + } + }); + + test.each(VM_PROJECTS["08"])("08 VM Test Runner %s", async (name) => { + const test = await prepare("08", name); + + for (let i = 0; i < 100; i++) { + test.step(); + } + }); +}); diff --git a/web-ide-main/simulator/src/test/vmtst.ts b/web-ide-main/simulator/src/test/vmtst.ts new file mode 100644 index 0000000..b3ecfe0 --- /dev/null +++ b/web-ide-main/simulator/src/test/vmtst.ts @@ -0,0 +1,167 @@ +import { assertExists } from "@davidsouther/jiffies/lib/esm/assert.js"; +import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js"; +import { Result } from "@davidsouther/jiffies/lib/esm/result.js"; +import { RAM } from "../cpu/memory.js"; +import { Tst } from "../languages/tst.js"; +import { Segment } from "../languages/vm.js"; +import { Action, AsyncAction } from "../types.js"; +import { Vm } from "../vm/vm.js"; +import { fill } from "./builder.js"; +import { TestInstruction } from "./instruction.js"; +import { Test } from "./tst.js"; + +export interface VmFile { + name: string; + content: string; +} + +export class VMTest extends Test { + vm: Vm = new Vm(); + + private doLoad?: AsyncAction; + + static from( + tst: Tst, + options: { + dir?: string; + doLoad?: AsyncAction; + doEcho?: Action; + compareTo?: Action; + } = {}, + ): Result { + const test = new VMTest(options); + return fill(test, tst); + } + + constructor({ + dir, + doEcho, + doLoad, + compareTo, + }: { + dir?: string; + doEcho?: Action; + doLoad?: AsyncAction; + compareTo?: Action; + } = {}) { + super(dir, doEcho, compareTo); + this.doLoad = doLoad; + } + + using(fs: FileSystem): this { + this.fs = fs; + return this; + } + + with(vm: Vm) { + this.vm = vm; + return this; + } + + override async load(filename?: string): Promise { + if (!this.dir) return; + const dir = assertExists(this.dir?.split("/").slice(0, -1).join("/")); + const vm = await this.doLoad?.(filename ? `${dir}/${filename}` : dir); + if (vm) { + this.vm = vm; + } + } + + hasVar(variable: string | number, index?: number): boolean { + if (typeof variable !== "string") { + index = variable; + variable = "RAM"; + } + if ( + variable === "RAM" && + index !== undefined && + index > 0 && + index < RAM.SIZE + ) { + return true; + } + return [ + "argument", + "local", + "static", + "constant", + "this", + "that", + "pointer", + "temp", + ].includes(variable.toLowerCase()); + } + + getVar(variable: string | number, index?: number): number { + if (typeof variable !== "string") { + index = variable; + variable = "RAM"; + } + if (variable === "RAM" && index !== undefined) { + return this.vm.RAM.get(index); + } + return this.vm.memory.getSegment(variable as Segment, index ?? 0); + } + + getWidth(variable: string, offset?: number): number { + return 16; + } + + setVar(variable: string, value: number, index?: number): void { + if (typeof variable !== "string") { + index = variable; + variable = "RAM"; + } + if (variable === "RAM" && index !== undefined) { + this.vm.RAM.set(index, value); + return; + } + if (index !== undefined) { + this.vm.memory.setSegment(variable as Segment, index, value); + } else { + switch (variable.toLowerCase()) { + case "sp": + this.vm.memory.SP = value; + break; + case "arg": + case "argument": + this.vm.memory.ARG = value; + this.vm.segmentInitializations["argument"].initialized = true; + break; + case "lcl": + case "local": + this.vm.memory.LCL = value; + this.vm.segmentInitializations["local"].initialized = true; + break; + case "this": + this.vm.memory.THIS = value; + this.vm.invocation.thisInitialized = true; + break; + case "that": + this.vm.memory.THAT = value; + this.vm.invocation.thatInitialized = true; + break; + } + } + } + + vmstep(): void { + this.vm.step(); + } +} + +export interface VMTestInstruction extends TestInstruction { + _vmTestInstruction_: true; + do(test: VMTest): Promise; +} + +export class TestVMStepInstruction implements VMTestInstruction { + readonly _vmTestInstruction_ = true; + async do(test: VMTest) { + test.vmstep(); + } + + *steps() { + yield this; + } +} diff --git a/web-ide-main/simulator/src/testing/fill.ts b/web-ide-main/simulator/src/testing/fill.ts new file mode 100644 index 0000000..91cf608 --- /dev/null +++ b/web-ide-main/simulator/src/testing/fill.ts @@ -0,0 +1,82 @@ +import { CPU } from "../cpu/cpu.js"; +import { SCREEN_OFFSET } from "../cpu/memory.js"; + +const colorfn = () => (Math.random() * 0xffff) & 0xffff; + +export const TickScreen = (cpu: CPU) => { + let row = 0; + let col = 0; + let color = colorfn(); + return () => { + const index = SCREEN_OFFSET + col + row * 32; + cpu.RAM.set(index, color); + col += 1; + if (col >= 32) { + col = 0; + row += 1; + color = colorfn(); + if (row >= 256) { + row = 0; + } + } + }; +}; + +export const JACK = ` +R2 = 0; +while (true) { + R2 = !R2 + R0 = 32; + while (R0-->0) { + R1 = 256; + while (R1-->0) { + SCREEN[R1 * 32 + R1] = R2; + } + } +} +`; + +export const VM = ` +push constant 0 ; pop local 2 ; // R2 = 0; +label loop // while (true) { + push local 2; not; pop local 2; // R2 = !R2 + push constant 31 ; pop local 0 ; R0 = 32; + label row // while (R0-->0) { + push constant 255 ; pop local 1; // R1 = 256; + label col // while (R1-->0) { + push local 2; + push constant SCREEN ; push local 1 ; + push local 0; push constant 32; + call mul 2 ; add ; add ; + pop pointer 1; pop that 0 // SCREEN[R0 * 32 + R1] = R2; + push local 1 ; push constant 1; sub ; pop local 1; + push R1 ; if-goto col // } + push local 0 ; push constant 1; sub ; pop local 0; + push R0 ; if-goto row // } +goto loop; //} +`; + +export const ASM = ` +@R2 M=0 // R2 = 0 +(OUTER) + @R2 D=M M=!D // R2 = !R2 + @32 D=A @R0 M=D // R0 = 32 + (ROW) @R0 D=M @R3 M=D @R0 M=D-1 @ROW_END D;JEQ // while R0 --> 0 + @256 D=A @R1 M=D // R1 = 256 + (COL) @R1 D=M @R3 M=D @R1 M=D-1 @COL_END D;JEQ // while R1 --> 0 + @R5 M=0 + @32 D=A @R3 M=D // R3 = 32 + @R1 D=M @R4 M=D // R4 = R1 + (MUL) + @R3 D=M @MUL_END D;JEQ // while R3 > 0 + @R3 D=M @R5 D=D+M // R5 += R3 + @R3 M=M-1 // R3 -= 1 + @MUL 0;JMP + (MUL_END) // R5 = 32 * R1 + @R1 D=M @R5 D=M+D @SCREEN D=A+D @R3 M=D // R3 = R1 + R5 + SCREEN + @R2 D=M @R3 M=D // SCREEN + (R1 * 32 + R1) = R2; + (COL_END) + (ROW_END) +(OUTER_END) +`; +export const HACK = ``; diff --git a/web-ide-main/simulator/src/testing/mult.ts b/web-ide-main/simulator/src/testing/mult.ts new file mode 100644 index 0000000..f33b481 --- /dev/null +++ b/web-ide-main/simulator/src/testing/mult.ts @@ -0,0 +1,72 @@ +export const JACK = ` +while (R0 > 0) { + R2 = R2 + R1 + R0 = R0 - 1 +}`; + +export const VM = ` +(_loop_start) + push constant 0 + push arg 0 + eq + jump-eq _loop_end + + push arg 1 + push local 0 + add + pop local 0 + + push arg 0 + push constant 1 + sub + pop arg 0 + + jump _loop_start + +(_loop_end) + jump loop_end +`; + +export const ASM = ` +@R2 +M=0 +(LOOP) + @R0 + D=M + @END + D;JEQ + + @R1 + D=M + @R2 + D=D+M + M=D + + @R0 + M=M-1 + @LOOP + 0;JMP +(END) + @END + 0;JMP +`; + +export const HACK = new Int16Array([ + 0x0002, // @R2 + 0xda88, // M=0 + 0x0000, // (LOOP) @R0 + 0xfc10, // D=M + 0x000f, // @END + 0xd302, // D;JEQ + 0x0001, // @R1 + 0xfc10, // D=M + 0x0002, // @R2 + 0xf090, // D=D+M + 0xd308, // M=D + 0x0000, // @R0 + 0xfc88, // M=M-1 + 0x0002, // @LOOP + 0xda87, // 0;JMP + 0x000f, // (END) @END + 0xda87, // 0;JMP +]); diff --git a/web-ide-main/simulator/src/timer.ts b/web-ide-main/simulator/src/timer.ts new file mode 100644 index 0000000..d79a138 --- /dev/null +++ b/web-ide-main/simulator/src/timer.ts @@ -0,0 +1,99 @@ +import { Clock } from "./chip/clock.js"; + +export const MAX_STEPS = 1000; + +const clock = Clock.get(); + +const BUDGET = 8; // ms allowed per tick + +export abstract class Timer { + frame() { + this.tick(); + this.finishFrame(); + } + + /// Update the simulation state, but DO NOT perform any UI changes. + + // Note: This used to by synchronous for performance reasons, + // but it caused a problem where a 'ROM32k load' test instruction would not resolve before the next ones, + // causing the Computer chip to run bad instructions and fail the test script + abstract tick(): Promise; + + /// UI Updates are allowed in finishFrame. + finishFrame() { + clock.frame(); + } + + abstract reset(): void; + + abstract toggle(): void; + + _steps = 1; // How many steps to take per update + _steps_actual = 1; + get steps() { + return this._steps; + } + set steps(value: number) { + this._steps = value; + this._steps_actual = value; + } + + _speed = 60; // how often to update, in ms + get speed() { + return this._speed; + } + set speed(value: number) { + this._speed = value; + } + + get running() { + return this.#running; + } + + #running = false; + #sinceLastFrame = 0; + #lastUpdate = 0; + #run = async () => { + if (!this.#running) { + return; + } + const now = Date.now(); + const delta = now - this.#lastUpdate; + this.#lastUpdate = now; + this.#sinceLastFrame += delta; + if (this.#sinceLastFrame > this.speed) { + let done = false; + let steps = Math.min(this._steps, this._steps_actual); + + const startTime = performance.now(); + while (!done && steps-- > 0) { + done = await this.tick(); + } + const endTime = performance.now(); + + // Dynamically adjust steps to stay within BUDGET ms per update, to avoid blocking the main thread. + const duration = endTime - startTime; + this._steps_actual *= BUDGET / duration; + this._steps_actual = Math.ceil(this._steps_actual); + + this.finishFrame(); + if (done) { + this.stop(); + } + this.#sinceLastFrame -= this.speed; + } + requestAnimationFrame(this.#run); + }; + + start() { + this.#running = true; + this.#lastUpdate = Date.now() - this.speed; + this.#run(); + this.toggle(); + } + + stop() { + this.#running = false; + this.toggle(); + } +} diff --git a/web-ide-main/simulator/src/types.ts b/web-ide-main/simulator/src/types.ts new file mode 100644 index 0000000..babadae --- /dev/null +++ b/web-ide-main/simulator/src/types.ts @@ -0,0 +1,2 @@ +export type Action = (value: T) => void; +export type AsyncAction = (value: T) => Promise; diff --git a/web-ide-main/simulator/src/util/asm.test.ts b/web-ide-main/simulator/src/util/asm.test.ts new file mode 100644 index 0000000..73f5bdb --- /dev/null +++ b/web-ide-main/simulator/src/util/asm.test.ts @@ -0,0 +1,30 @@ +import { ASSIGN, COMMANDS, JUMP } from "../cpu/alu.js"; +import { asm, makeC } from "./asm.js"; + +describe("asm", () => { + it("converts int16 to asm", () => { + expect(asm(0x0000)).toBe("@0"); + expect(asm(12)).toBe("@12"); + + expect(asm(0b1110_101010_000_000)).toBe("0"); + expect(asm(0b1111_110000_010_000)).toBe("D=M"); + expect(asm(0b1110_001110_010_101)).toBe("D=D-1;JNE"); + expect(asm(0b1110_101010_000_111)).toBe("0;JMP"); + expect(asm(0b1111_110010_011_000)).toBe("MD=M-1"); + }); + + it("makes C instruction", () => { + expect( + makeC(true, COMMANDS.getOp("D"), ASSIGN.asm["M"], JUMP.asm[""]), + ).toBe(0b111_1_001100_001_000); + expect( + makeC(true, COMMANDS.getOp("D-M"), ASSIGN.asm["D"], JUMP.asm[""]), + ).toBe(0b111_1_010011_010_000); + expect( + makeC(false, COMMANDS.getOp("D"), ASSIGN.asm[""], JUMP.asm["JGT"]), + ).toBe(0b111_0_001100_000_001); + expect( + makeC(false, COMMANDS.getOp("0"), ASSIGN.asm[""], JUMP.asm["JMP"]), + ).toBe(0b111_0_101010_000_111); + }); +}); diff --git a/web-ide-main/simulator/src/util/asm.ts b/web-ide-main/simulator/src/util/asm.ts new file mode 100644 index 0000000..6371127 --- /dev/null +++ b/web-ide-main/simulator/src/util/asm.ts @@ -0,0 +1,116 @@ +import { + ASSIGN, + ASSIGN_OP, + COMMANDS, + COMMANDS_ASM, + COMMANDS_OP, + isAssignAsm, + isCommandAsm, + isJumpAsm, + JUMP, + JUMP_OP, +} from "../cpu/alu.js"; + +export type CommandOps = keyof typeof COMMANDS.op; +export type JumpOps = keyof typeof JUMP.op; +export type StoreOps = keyof typeof ASSIGN.op; + +export function asm(op: number): string { + if (op & 0x8000) { + return cInstruction(op); + } + return aInstruction(op); +} + +function cInstruction(op: number): string { + op = op & 0xffff; // Clear high order bits + const mop = (op & 0x1000) >> 12; + const cop: CommandOps = ((op & 0b0000111111000000) >> 6) as CommandOps; + const sop: StoreOps = ((op & 0b0000000000111000) >> 3) as StoreOps; + const jop: JumpOps = (op & 0b0000000000000111) as JumpOps; + + if (COMMANDS.op[cop] === undefined) { + // Invalid commend + return "#ERR"; + } + + let command = COMMANDS.op[cop]; + if (mop) { + command = command.replace(/A/g, "M") as COMMANDS_ASM; + } + + const store = ASSIGN.op[sop]; + const jump = JUMP.op[jop]; + + let instruction: string = command; + if (store) { + instruction = `${store}=${instruction}`; + } + if (jump) { + instruction = `${instruction};${jump}`; + } + + return instruction; +} + +function aInstruction(op: number): string { + return "@" + (op & 0x7fff).toString(10); +} + +export function op(asm: string): number { + if (asm[0] === "@") { + return aop(asm); + } else { + return cop(asm); + } +} + +function aop(asm: string): number { + return parseInt(asm.substring(1), 10); +} + +function cop(asm: string): number { + const firstPass = asm.match( + /(?:(?.+)=)?(.+)(?:;(?.+))?/, + ); + const { assignExists, jumpExists } = firstPass?.groups ?? {}; + + const parts = asm.match( + /(?:(?[AMD]{1,3})=)?(?[-+!01ADM&|]{1,3})(?:;(?JGT|JLT|JGE|JLE|JEQ|JMP))?/, + ); + let { assign, jump } = parts?.groups ?? {}; + const { operation } = parts?.groups ?? {}; + + assign = assign ?? (assignExists ? undefined : ""); + jump = jump ?? (jumpExists ? undefined : ""); + if ( + parts?.[0] != asm || // match is not exhaustive + !isAssignAsm(assign) || + !isJumpAsm(jump) || + !isCommandAsm(operation) + ) { + // TODO: This should return Result<> instead of throw + throw new Error("Invalid c instruction"); + } + + const mode = operation.includes("M"); + const aop = ASSIGN.asm[assign]; + const jop = JUMP.asm[jump]; + const cop = COMMANDS.getOp(operation); + + return makeC(mode, cop, aop, jop); +} + +export function makeC( + isM: boolean, + op: COMMANDS_OP, + assign: ASSIGN_OP, + jmp: JUMP_OP, +): number { + const C = 0xe000; + const A = isM ? 0x1000 : 0; + const O = op << 6; + const D = assign << 3; + const J = jmp; + return C + A + O + D + J; +} diff --git a/web-ide-main/simulator/src/util/twos.test.ts b/web-ide-main/simulator/src/util/twos.test.ts new file mode 100644 index 0000000..71d5a7e --- /dev/null +++ b/web-ide-main/simulator/src/util/twos.test.ts @@ -0,0 +1,68 @@ +import { bin, dec, hex, int2, int10, int16, nand16 } from "./twos.js"; + +describe("twos", () => { + it("formats as base 16", () => { + // expect(bin(0)).toBe("0000 0000 0000 0000"); + // expect(bin(1)).toBe("0000 0000 0000 0001"); + // expect(bin(-1)).toBe("1111 1111 1111 1111"); + // expect(bin(256)).toBe("0000 0001 0000 0000"); + expect(bin(0)).toBe("0000000000000000"); + expect(bin(1)).toBe("0000000000000001"); + expect(bin(-1)).toBe("1111111111111111"); + expect(bin(256)).toBe("0000000100000000"); + + expect(bin(6, 4)).toBe("0110"); + + expect(dec(0)).toBe("0"); + expect(dec(1)).toBe("1"); + expect(dec(-1)).toBe("-1"); + expect(dec(33413)).toBe("-32123"); + expect(dec(0x8000)).toBe("-32768"); + expect(dec(256)).toBe("256"); + + expect(hex(0)).toBe("0x0000"); + expect(hex(1)).toBe("0x0001"); + expect(hex(-1)).toBe("0xFFFF"); + expect(hex(256)).toBe("0x0100"); + }); + + it("parses to integer", () => { + expect(int2("0000000000000000")).toBe(0); + expect(int2("0000000000000001")).toBe(1); + expect(int2("1111111111111111")).toBe(65535); + expect(int2("0000000100000000")).toBe(256); + expect(int2("0000 0000 0000 0000")).toBe(0); + expect(int2("0000 0000 0000 0001")).toBe(1); + expect(int2("1111 1111 1111 1111")).toBe(65535); + expect(int2("0000 0001 0000 0000")).toBe(256); + + expect(int10("0")).toBe(0); + expect(int10("1")).toBe(1); + expect(int10("-1")).toBe(65535); + expect(int10("-32123")).toBe(33413); + expect(int10("-32768")).toBe(0x8000); + expect(int10("256")).toBe(256); + + expect(int16("0x0000")).toBe(0); + expect(int16("0x0001")).toBe(1); + expect(int16("0xffff")).toBe(65535); + expect(int16("0xFFFF")).toBe(65535); + expect(int16("0x0100")).toBe(256); + }); + + it("nands 16 bit numbers", () => { + expect(nand16(0b0, 0b0)).toBe(0b1111_1111_1111_1111); + expect(nand16(0b1, 0b0)).toBe(0b1111_1111_1111_1111); + expect(nand16(0b0, 0b1)).toBe(0b1111_1111_1111_1111); + expect(nand16(0b1, 0b1)).toBe(0b1111_1111_1111_1110); + expect(nand16(0b1010_1010_1010_1010, 0b0101_0101_0101_0101)).toBe( + 0b1111_1111_1111_1111, + ); + expect(nand16(0b1111_0000_1111_0000, 0b1111_0000_0000_1111)).toBe( + 0b0000_1111_1111_1111, + ); + expect(nand16(0b1111_1111_0000_1111_0000, 0b1111_1111_0000_0000_1111)).toBe( + 0b0000_1111_1111_1111, + ); + }); +}); diff --git a/web-ide-main/simulator/src/util/twos.ts b/web-ide-main/simulator/src/util/twos.ts new file mode 100644 index 0000000..bdd0d65 --- /dev/null +++ b/web-ide-main/simulator/src/util/twos.ts @@ -0,0 +1,129 @@ +const Hex = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "A", + "B", + "C", + "D", + "E", + "F", +]; + +export function chars(i: number): string { + return Hex[i] ?? "X"; +} + +export function bits(i: number): string { + switch (i) { + case 0x0: + return "0000"; + case 0x1: + return "0001"; + case 0x2: + return "0010"; + case 0x3: + return "0011"; + case 0x4: + return "0100"; + case 0x5: + return "0101"; + case 0x6: + return "0110"; + case 0x7: + return "0111"; + case 0x8: + return "1000"; + case 0x9: + return "1001"; + case 0xa: + return "1010"; + case 0xb: + return "1011"; + case 0xc: + return "1100"; + case 0xd: + return "1101"; + case 0xe: + return "1110"; + case 0xf: + return "1111"; + default: + return "erro"; + } +} + +export function int(n: string, radix: number): number { + const i = parseInt(n.replace(/[^\d a-f A-F +-.]/g, ""), radix); + return i & 0xffff; +} + +export function int16(i: string): number { + return int(i, 16); +} + +export function int10(i: string): number { + return int(i, 10); +} + +export function int2(i: string): number { + return int(i.replaceAll(" ", ""), 2); +} + +export function parseTwosInt(i: string): number { + if (i.toUpperCase().includes("X")) { + return int16(i); + } + return int10(i); +} + +export function hex(i: number): string { + const hu = chars((i & 0xf000) >> 12); + const hl = chars((i & 0x0f00) >> 8); + const lu = chars((i & 0x00f0) >> 4); + const ll = chars(i & 0x000f); + + return `0x${hu}${hl}${lu}${ll}`; +} + +export function bin(i: number, precision = 16): string { + const hu = bits((i & 0xf000) >> 12); + const hl = bits((i & 0x0f00) >> 8); + const lu = bits((i & 0x00f0) >> 4); + const ll = bits(i & 0x000f); + + // return `${hu} ${hl} ${lu} ${ll}`; + return `${hu}${hl}${lu}${ll}`.substring(16 - precision); // Match the book's formatting +} + +export function dec(i: number): string { + i = i & 0xffff; + if (i === 0x8000) { + return "-32768"; + } + if (i & 0x8000) { + i = (~i + 1) & 0x7fff; + return `-${i}`; + } + return `${i}`; +} + +export function unsigned(i: number): string { + i = i & 0xffff; + return `${i}`; +} + +export function nand16(a: number, b: number): number { + a = a & 0xffff; + b = b & 0xffff; + let c = ~(a & b); + c = c & 0xffff; + return c; +} diff --git a/web-ide-main/simulator/src/vm/builtins.test.ts b/web-ide-main/simulator/src/vm/builtins.test.ts new file mode 100644 index 0000000..c96d7fd --- /dev/null +++ b/web-ide-main/simulator/src/vm/builtins.test.ts @@ -0,0 +1,75 @@ +import { unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { Vm } from "./vm.js"; + +describe("builtins", () => { + describe("Math", () => { + test("multiply", () => { + const vm = unwrap( + Vm.build([ + { op: "push", segment: "constant", offset: 7 }, + { op: "push", segment: "constant", offset: 8 }, + { op: "call", name: "Math.multiply", nArgs: 2 }, + ]), + ); + + vm.step(); + vm.step(); + vm.step(); + expect(vm.read([0, 256])).toEqual([257, 56]); + }); + test("divide", () => { + const vm = unwrap( + Vm.build([ + { op: "push", segment: "constant", offset: 10 }, + { op: "push", segment: "constant", offset: 5 }, + { op: "call", name: "Math.divide", nArgs: 2 }, + ]), + ); + + vm.step(); + vm.step(); + vm.step(); + expect(vm.read([0, 256])).toEqual([257, 2]); + }); + test("min", () => { + const vm = unwrap( + Vm.build([ + { op: "push", segment: "constant", offset: 11 }, + { op: "push", segment: "constant", offset: 4 }, + { op: "call", name: "Math.min", nArgs: 2 }, + ]), + ); + + vm.step(); + vm.step(); + vm.step(); + expect(vm.read([0, 256])).toEqual([257, 4]); + }); + test("max", () => { + const vm = unwrap( + Vm.build([ + { op: "push", segment: "constant", offset: 11 }, + { op: "push", segment: "constant", offset: 4 }, + { op: "call", name: "Math.max", nArgs: 2 }, + ]), + ); + + vm.step(); + vm.step(); + vm.step(); + expect(vm.read([0, 256])).toEqual([257, 11]); + }); + test("sqrt", () => { + const vm = unwrap( + Vm.build([ + { op: "push", segment: "constant", offset: 36 }, + { op: "call", name: "Math.sqrt", nArgs: 1 }, + ]), + ); + + vm.step(); + vm.step(); + expect(vm.read([0, 256])).toEqual([257, 6]); + }); + }); +}); diff --git a/web-ide-main/simulator/src/vm/builtins.ts b/web-ide-main/simulator/src/vm/builtins.ts new file mode 100644 index 0000000..cd1554e --- /dev/null +++ b/web-ide-main/simulator/src/vm/builtins.ts @@ -0,0 +1,504 @@ +import { + ReturnType, + Subroutine, + SubroutineType, + Type, +} from "../languages/jack.js"; +import { VmMemory } from "./memory.js"; +import { ERRNO } from "./os/errors.js"; +import { OS } from "./os/os.js"; +import { BACKSPACE, DOUBLE_QUOTES, NEW_LINE } from "./os/string.js"; + +export type VmBuiltinFunction = (memory: VmMemory, os: OS) => number; + +export interface VmBuiltin { + func: VmBuiltinFunction; + type: SubroutineType; + args: Type[]; + returnType: ReturnType; +} + +function getArgs(memory: VmMemory, n: number) { + const args = []; + for (let i = 0; i < n; i++) { + args.push(memory.get(memory.SP - n + i)); + } + return args; +} + +export function overridesOsCorrectly(cls: string, subroutine: Subroutine) { + const builtin = VM_BUILTINS[`${cls}.${subroutine.name.value}`]; + + return ( + builtin && + builtin.args.length == subroutine.parameters.length && + builtin.args.every( + (arg, index) => arg == subroutine.parameters[index].type.value, + ) && + builtin.returnType == subroutine.returnType.value + ); +} + +export function makeInterface(name: string, builtin: VmBuiltin) { + return `${builtin.returnType} ${name}(${builtin.args.join(",")}`; +} + +export const VM_BUILTINS: Record = { + "Math.init": { + func: (_, __) => 0, + args: [], + returnType: "void", + type: "function", + }, + "Math.multiply": { + func: (memory, _) => { + const [a, b] = getArgs(memory, 2); + return (a * b) & 0xffff; + }, + args: ["int", "int"], + returnType: "int", + type: "function", + }, + "Math.divide": { + func: (memory, os) => { + const [a, b] = getArgs(memory, 2); + if (b == 0) { + os.sys.error(ERRNO.DIVIDE_BY_ZERO); + return 0; + } + return Math.floor(a / b) & 0xffff; + }, + args: ["int", "int"], + returnType: "int", + type: "function", + }, + "Math.min": { + func: (memory, _) => { + const [a, b] = getArgs(memory, 2); + return Math.min(a, b) & 0xffff; + }, + args: ["int", "int"], + returnType: "int", + type: "function", + }, + "Math.max": { + func: (memory, _) => { + const [a, b] = getArgs(memory, 2); + return Math.max(a, b) & 0xffff; + }, + args: ["int", "int"], + returnType: "int", + type: "function", + }, + "Math.sqrt": { + func: (memory, os) => { + const [x] = getArgs(memory, 1); + if (x < 0) { + os.sys.error(ERRNO.SQRT_NEG); + return 0; + } + return Math.floor(Math.sqrt(x)) & 0xffff; + }, + args: ["int"], + returnType: "int", + type: "function", + }, + "Math.abs": { + func: (memory, _) => { + const [x] = getArgs(memory, 1); + return Math.abs(x) & 0xffff; + }, + args: ["int"], + returnType: "int", + type: "function", + }, + "Screen.init": { + func: (_, __) => 0, + args: [], + returnType: "void", + type: "function", + }, + "Screen.clearScreen": { + func: (_, os) => { + os.screen.clear(); + return 0; + }, + args: [], + returnType: "void", + type: "function", + }, + "Screen.setColor": { + func: (memory, os) => { + const [color] = getArgs(memory, 1); + os.screen.color = color !== 0; + return 0; + }, + args: ["boolean"], + returnType: "void", + type: "function", + }, + "Screen.drawPixel": { + func: (memory, os) => { + const [x, y] = getArgs(memory, 2); + os.screen.drawPixel(x, y); + return 0; + }, + args: ["int", "int"], + returnType: "void", + type: "function", + }, + "Screen.drawLine": { + func: (memory, os) => { + const [x1, y1, x2, y2] = getArgs(memory, 4); + os.screen.drawLine(x1, y1, x2, y2); + return 0; + }, + args: ["int", "int", "int", "int"], + returnType: "void", + type: "function", + }, + "Screen.drawRectangle": { + func: (memory, os) => { + const [x1, y1, x2, y2] = getArgs(memory, 4); + os.screen.drawRect(x1, y1, x2, y2); + return 0; + }, + args: ["int", "int", "int", "int"], + returnType: "void", + type: "function", + }, + "Screen.drawCircle": { + func: (memory, os) => { + const [x, y, r] = getArgs(memory, 3); + os.screen.drawCircle(x, y, r); + return 0; + }, + args: ["int", "int", "int"], + returnType: "void", + type: "function", + }, + "Memory.init": { + func: (_, __) => 0, + args: [], + returnType: "void", + type: "function", + }, + "Memory.peek": { + func: (memory, _) => { + const [address] = getArgs(memory, 1); + return memory.get(address); + }, + args: ["int"], + returnType: "int", + type: "function", + }, + "Memory.poke": { + func: (memory, _) => { + const [address, value] = getArgs(memory, 2); + memory.set(address, value); + return 0; + }, + args: ["int", "int"], + returnType: "void", + type: "function", + }, + "Memory.alloc": { + func: (memory, os) => { + const [size] = getArgs(memory, 1); + return os.memory.alloc(size); + }, + args: ["int"], + returnType: "Array", + type: "function", + }, + "Memory.deAlloc": { + func: (memory, os) => { + const [address] = getArgs(memory, 1); + os.memory.deAlloc(address); + return 0; + }, + args: ["Array"], + returnType: "void", + type: "function", + }, + "Array.init": { + func: (_, __) => 0, + args: [], + returnType: "void", + type: "function", + }, + "Array.new": { + func: (memory, os) => { + const [size] = getArgs(memory, 1); + if (size <= 0) { + os.sys.error(ERRNO.ARRAY_SIZE_NOT_POSITIVE); + return 0; + } + return os.memory.alloc(size); + }, + args: ["int"], + returnType: "Array", + type: "constructor", + }, + "Array.dispose": { + func: (memory, os) => { + const [pointer] = getArgs(memory, 1); + os.memory.deAlloc(pointer); + return 0; + }, + args: [], + returnType: "void", + type: "method", + }, + "String.init": { + func: (_, __) => 0, + args: [], + returnType: "void", + type: "function", + }, + "String.new": { + func: (memory, os) => { + const [length] = getArgs(memory, 1); + return os.string.new(length); + }, + args: ["int"], + returnType: "String", + type: "constructor", + }, + "String.dispose": { + func: (memory, os) => { + const [pointer] = getArgs(memory, 1); + os.string.dispose(pointer); + return 0; + }, + args: [], + returnType: "void", + type: "method", + }, + "String.length": { + func: (memory, os) => { + const [pointer] = getArgs(memory, 1); + return os.string.length(pointer); + }, + args: [], + returnType: "int", + type: "method", + }, + "String.charAt": { + func: (memory, os) => { + const [pointer, index] = getArgs(memory, 2); + return os.string.charAt(pointer, index); + }, + args: ["int"], + returnType: "char", + type: "method", + }, + "String.setCharAt": { + func: (memory, os) => { + const [pointer, index, value] = getArgs(memory, 3); + os.string.setCharAt(pointer, index, value); + return 0; + }, + args: ["int", "char"], + returnType: "void", + type: "method", + }, + "String.appendChar": { + func: (memory, os) => { + const [pointer, value] = getArgs(memory, 2); + return os.string.appendChar(pointer, value); + }, + args: ["char"], + returnType: "String", + type: "method", + }, + "String.eraseLastChar": { + func: (memory, os) => { + const [pointer] = getArgs(memory, 1); + os.string.eraseLastChar(pointer); + return 0; + }, + args: [], + returnType: "void", + type: "method", + }, + "String.intValue": { + func: (memory, os) => { + const [pointer] = getArgs(memory, 1); + return os.string.intValue(pointer); + }, + args: [], + returnType: "int", + type: "method", + }, + "String.setInt": { + func: (memory, os) => { + const [pointer, value] = getArgs(memory, 2); + os.string.setInt(pointer, value); + return 0; + }, + args: ["int"], + returnType: "void", + type: "method", + }, + "String.backSpace": { + func: (_, __) => { + return BACKSPACE; + }, + args: [], + returnType: "char", + type: "function", + }, + "String.doubleQuote": { + func: (_, __) => { + return DOUBLE_QUOTES; + }, + args: [], + returnType: "char", + type: "function", + }, + "String.newLine": { + func: (_, __) => { + return NEW_LINE; + }, + args: [], + returnType: "char", + type: "function", + }, + "Output.init": { + func: (_, __) => 0, + args: [], + returnType: "void", + type: "function", + }, + "Output.moveCursor": { + func: (memory, os) => { + const [i, j] = getArgs(memory, 2); + os.output.moveCursor(i, j); + return 0; + }, + args: ["int", "int"], + returnType: "void", + type: "function", + }, + "Output.printChar": { + func: (memory, os) => { + const [code] = getArgs(memory, 1); + os.output.printChar(code); + return 0; + }, + args: ["char"], + returnType: "void", + type: "function", + }, + "Output.printString": { + func: (memory, os) => { + const [pointer] = getArgs(memory, 1); + os.output.printString(pointer); + return 0; + }, + args: ["String"], + returnType: "void", + type: "function", + }, + "Output.printInt": { + func: (memory, os) => { + const [value] = getArgs(memory, 1); + os.output.printInt(value); + return 0; + }, + args: ["int"], + returnType: "void", + type: "function", + }, + "Output.println": { + func: (_, os) => { + os.output.println(); + return 0; + }, + args: [], + returnType: "void", + type: "function", + }, + "Output.backSpace": { + func: (_, os) => { + os.output.backspace(); + return 0; + }, + args: [], + returnType: "void", + type: "function", + }, + "Keyboard.init": { + func: (_, __) => 0, + args: [], + returnType: "void", + type: "function", + }, + "Keyboard.keyPressed": { + func: (_, os) => { + return os.keyboard.keyPressed(); + }, + args: [], + returnType: "char", + type: "function", + }, + "Keyboard.readChar": { + func: (_, os) => { + os.keyboard.readChar(); + return 0; + }, + args: [], + returnType: "char", + type: "function", + }, + "Keyboard.readLine": { + func: (memory, os) => { + const [message] = getArgs(memory, 1); + os.keyboard.readLine(message); + return 0; + }, + args: ["String"], + returnType: "String", + type: "function", + }, + "Keyboard.readInt": { + func: (memory, os) => { + const [message] = getArgs(memory, 1); + os.keyboard.readInt(message); + return 0; + }, + args: ["String"], + returnType: "int", + type: "function", + }, + "Sys.halt": { + func: (_, os) => { + os.sys.halt(); + return 0; + }, + args: [], + returnType: "void", + type: "function", + }, + "Sys.error": { + func: (memory, os) => { + const [code] = getArgs(memory, 1); + os.sys.error(code); + return 0; + }, + args: ["int"], + returnType: "void", + type: "function", + }, + "Sys.wait": { + func: (memory, os) => { + const [ms] = getArgs(memory, 1); + os.sys.wait(ms); + return 0; + }, + args: ["int"], + returnType: "void", + type: "function", + }, +}; diff --git a/web-ide-main/simulator/src/vm/memory.ts b/web-ide-main/simulator/src/vm/memory.ts new file mode 100644 index 0000000..e983a04 --- /dev/null +++ b/web-ide-main/simulator/src/vm/memory.ts @@ -0,0 +1,263 @@ +import { + Err, + isErr, + Ok, + Result, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { RAM } from "../cpu/memory.js"; +import { Segment } from "../languages/vm.js"; +import { VmFrame } from "./vm.js"; + +export const SP = 0; +export const LCL = 1; +export const ARG = 2; +export const THIS = 3; +export const THAT = 4; +export const TEMP = 5; +export const STATIC = 16; + +export class VmMemory extends RAM { + strict = true; + get SP(): number { + return this.get(SP); + } + set SP(value: number) { + this.set(SP, value); + } + get LCL(): number { + return this.get(LCL); + } + set LCL(value: number) { + this.set(LCL, value); + } + get ARG(): number { + return this.get(ARG); + } + set ARG(value: number) { + this.set(ARG, value); + } + get THIS(): number { + return this.get(THIS); + } + set THIS(value: number) { + this.set(THIS, value); + } + get THAT(): number { + return this.get(THAT); + } + set THAT(value: number) { + this.set(THAT, value); + } + + get statics() { + const statics = []; + for (let i = 16; i < 256; i++) { + statics.push(this.get(i)); + } + return statics; + } + + constructor() { + super(); + this.set(SP, 256); + } + + baseSegment(segment: Segment, offset: number): Result { + if (this.strict && (offset < 0 || offset > 32767)) + return Err( + new Error( + `Illegal offset value ${offset} (must be between 0 and 32767)`, + ), + ); + switch (segment) { + case "argument": + return Ok(this.ARG + offset); + case "constant": + return Ok(offset); + case "local": + return Ok(this.LCL + offset); + case "pointer": + if (this.strict && offset > 1) + throw new Error( + `pointer out of bounds access (pointer can be 0 for this, 1 for that, but got ${offset}`, + ); + return Ok(offset === 0 ? THIS : THAT); + case "static": + if (this.strict && offset > 255 - 16) + return Err(new Error(`Cannot access statics beyond 239: ${offset}`)); + return Ok(16 + offset); + case "temp": + if (this.strict && offset > 7) + return Err( + new Error( + `Temp out of bounds access (temp can be 0 to 7, but got ${offset}`, + ), + ); + return Ok(5 + offset); + case "that": + return Ok(this.THAT + offset); + case "this": + return Ok(this.THIS + offset); + } + } + + getSegment(segment: Segment, offset: number): number { + if (segment === "constant") { + if (this.strict && (offset < 0 || offset > 32767)) + throw new Error( + `Illegal offset value ${offset} (must be between 0 and 32767)`, + ); + return offset; + } + const base = this.baseSegment(segment, offset); + if (isErr(base)) { + throw Err(base); + } + return this.get(Ok(base)); + } + setSegment(segment: Segment, offset: number, value: number) { + const base = this.baseSegment(segment, offset); + if (isErr(base)) { + throw Err(base); + } + this.set(Ok(base), value); + } + + argument(offset: number): number { + return this.getSegment("argument", offset); + } + local(offset: number): number { + return this.getSegment("local", offset); + } + static(offset: number): number { + return this.getSegment("static", offset); + } + constant(offset: number): number { + return this.getSegment("constant", offset); + } + this(offset: number): number { + return this.getSegment("this", offset); + } + that(offset: number): number { + return this.getSegment("that", offset); + } + pointer(offset: number): number { + return this.getSegment("pointer", offset); + } + temp(offset: number): number { + return this.getSegment("temp", offset); + } + + push(value: number) { + const sp = this.SP; + this.set(sp, value); + this.set(0, sp + 1); + } + pop(): number { + if (this.strict && this.SP === 256) + throw new Error(`Cannot pop the stack below 256 in strict mode`); + this.set(0, this.SP - 1); + const value = this.get(this.SP); + return value; + } + // Stack frame, from figure 8.3, is: + // [ARG] Arg0 Arg1... RET LCL ARG THIS THAT [LCL] Local0 Local1... [SP] + pushFrame(ret: number, nArgs: number, nLocals: number): number { + const base = this.SP; + const arg = base - nArgs; + this.set(base, ret); + this.set(base + 1, this.LCL); + this.set(base + 2, this.ARG); + this.set(base + 3, this.THIS); + this.set(base + 4, this.THAT); + + this.set(ARG, arg); + this.set(LCL, base + 5); + + const sp = base + 5; + // Technically this happens in the function, but the VM will handle it for free + for (let i = 0; i < nLocals; i++) { + this.set(sp + i, 0); + } + this.set(SP, sp + nLocals); + return base; + } + + popFrame(): number { + const frame = this.LCL; + const ret = this.get(frame - 5); + const value = this.pop(); + this.set(this.ARG, value); + this.set(SP, this.ARG + 1); + this.set(THAT, this.get(frame - 1)); + this.set(THIS, this.get(frame - 2)); + this.set(ARG, this.get(frame - 3)); + this.set(LCL, this.get(frame - 4)); + return ret; + } + + getFrame( + base: number, // The address of the frame, the RET address + argN: number, // The number of arguments to this frame + localN: number, // The number of locals in this frame + thisN: number, // The number of items in `this` + thatN: number, // the number of items in `that` + nextFrame: number, + ): VmFrame { + const arg = base - argN; + const lcl = base + 5; + const stk = lcl + localN; + const stackN = nextFrame - stk; + const args = [...this.map((_, v) => v, arg, arg + argN)]; + const locals = [...this.map((_, v) => v, lcl, lcl + localN)]; + const stack = [...this.map((_, v) => v, stk, stk + stackN)]; + const this_ = [...this.map((_, v) => v, this.THIS, this.THIS + thisN)]; + const that = [...this.map((_, v) => v, this.THAT, this.THAT + thatN)]; + return { + args: { base: arg, count: argN, values: args }, + locals: { base: lcl, count: localN, values: locals }, + stack: { base: stk, count: stackN, values: stack }, + this: { base: stk, count: thisN, values: this_ }, + that: { base: stk, count: thatN, values: that }, + frame: { + RET: this.get(base), + LCL: this.LCL, + ARG: this.ARG, + THIS: this.THIS, + THAT: this.THAT, + }, + }; + } + + getVmState(staticN = 240) { + const temps = [...this.map((_, v) => v, 5, 13)]; + const internal = [...this.map((_, v) => v, 13, 16)]; + const statics = [...this.map((_, v) => v, 16, 16 + staticN)]; + return { + ["0: SP"]: this.SP, + ["1: LCL"]: this.LCL, + ["2: ARG"]: this.ARG, + ["3: THIS"]: this.THIS, + ["4: THAT"]: this.THAT, + temps, + internal, + static: statics, + }; + } + + binOp(fn: (a: number, b: number) => number) { + const a = this.get(this.SP - 2); + const b = this.get(this.SP - 1); + const v = fn(a, b) & 0xffff; + this.set(this.SP - 2, v); + this.set(SP, this.SP - 1); + } + unOp(fn: (a: number) => number) { + const a = this.get(this.SP - 1); + const v = fn(a) & 0xffff; + this.set(this.SP - 1, v); + } + comp(fn: (a: number, b: number) => boolean) { + this.binOp((a, b) => (fn(a, b) ? -1 : 0)); + } +} diff --git a/web-ide-main/simulator/src/vm/os/errors.ts b/web-ide-main/simulator/src/vm/os/errors.ts new file mode 100644 index 0000000..9f2aec7 --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/errors.ts @@ -0,0 +1,24 @@ +export enum ERRNO { + SYS_WAIT_DURATION_NOT_POSITIVE = 1, + ARRAY_SIZE_NOT_POSITIVE = 2, + DIVIDE_BY_ZERO = 3, + SQRT_NEG = 4, + ALLOC_SIZE_NOT_POSITIVE = 5, + HEAP_OVERFLOW = 6, + ILLEGAL_PIXEL_COORD = 7, + ILLEGAL_LINE_COORD = 8, + ILLEGAL_RECT_COORD = 9, + ILLEGAL_CENTER_COORD = 12, + ILLEGAL_RADIUS = 13, + STRING_LENGTH_NEG = 14, + GET_CHAR_INDEX_OUT_OF_BOUNDS = 15, + SET_CHAR_INDEX_OUT_OF_BOUNDS = 16, + STRING_FULL = 17, + STRING_EMPTY = 18, + STRING_INSUFFICIENT_CAPACITY = 19, + ILLEGAL_CURSOR_LOCATION = 20, +} + +export function isSysError(errno: number): errno is ERRNO { + return Object.values(ERRNO).includes(errno as ERRNO); +} diff --git a/web-ide-main/simulator/src/vm/os/font.ts b/web-ide-main/simulator/src/vm/os/font.ts new file mode 100644 index 0000000..d50cf52 --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/font.ts @@ -0,0 +1,1251 @@ +export const CHARACTER_NUM = 126; +export const FONT = createFont(); + +/* Character bitmaps are 8x11 boolean pixel values. See Fig 12.9. */ +type Bitmap = boolean[][]; + +function createBitmap(rows: string[]): Bitmap { + return rows.map((row) => row.split("").map((c) => c == "█")); +} + +export function createFont(): Bitmap[] { + const font: Bitmap[] = new Array(CHARACTER_NUM); + + font[32] = createBitmap([ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + ]); // + font[33] = createBitmap([ + " ██ ", + " ████ ", + " ████ ", + " ████ ", + " ██ ", + " ██ ", + " ", + " ██ ", + " ██ ", + " ", + " ", + ]); // ! + font[34] = createBitmap([ + " ██ ██ ", + " ██ ██ ", + " █ █ ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + ]); // " + font[35] = createBitmap([ + " ", + " █ █ ", + " █ █ ", + "██████ ", + " █ █ ", + " █ █ ", + "██████ ", + " █ █ ", + " █ █ ", + " ", + " ", + ]); // # + font[36] = createBitmap([ + " ██ ", + " ████ ", + "██ ██ ", + "██ ", + " ████ ", + " ██ ", + "██ ██ ", + " ████ ", + " ██ ", + " ██ ", + " ", + ]); // $ + font[37] = createBitmap([ + " ", + " ", + "██ █ ", + "██ ██ ", + " ██ ", + " ██ ", + " ██ ", + "██ ██ ", + "█ ██ ", + " ", + " ", + ]); // % + font[38] = createBitmap([ + " ██ ", + " ████ ", + " ████ ", + " ██ ", + " ██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ██ ██ ", + " ", + " ", + ]); // & + font[39] = createBitmap([ + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + ]); // ' + font[40] = createBitmap([ + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + ]); // ( + font[41] = createBitmap([ + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + ]); // ) + font[42] = createBitmap([ + " ", + " ", + " ", + "██ ██ ", + " ████ ", + "██████ ", + " ████ ", + "██ ██ ", + " ", + " ", + " ", + ]); // * + font[43] = createBitmap([ + " ", + " ", + " ", + " ██ ", + " ██ ", + "██████ ", + " ██ ", + " ██ ", + " ", + " ", + " ", + ]); // + + font[44] = createBitmap([ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ██ ", + " ██ ", + " ██ ", + " ", + ]); // , + font[45] = createBitmap([ + " ", + " ", + " ", + " ", + " ", + "██████ ", + " ", + " ", + " ", + " ", + " ", + ]); // - + font[46] = createBitmap([ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ██ ", + " ██ ", + " ", + " ", + ]); // . + font[47] = createBitmap([ + " ", + " ", + " █ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + "██ ", + "█ ", + " ", + " ", + ]); // / + font[48] = createBitmap([ + " ██ ", + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ██ ", + " ", + " ", + ]); // 0 + font[49] = createBitmap([ + " ██ ", + " ███ ", + "████ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + "██████ ", + " ", + " ", + ]); // 1 + font[50] = createBitmap([ + " ████ ", + "██ ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + "██ ", + "██ ██ ", + "██████ ", + " ", + " ", + ]); // 2 + font[51] = createBitmap([ + " ████ ", + "██ ██ ", + " ██ ", + " ██ ", + " ███ ", + " ██ ", + " ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // 3 + font[52] = createBitmap([ + " █ ", + " ██ ", + " ███ ", + " █ ██ ", + "█ ██ ", + "██████ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // 4 + font[53] = createBitmap([ + "██████ ", + "██ ", + "██ ", + "█████ ", + " ██ ", + " ██ ", + " ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // 5 + font[54] = createBitmap([ + " ███ ", + " ██ ", + "██ ", + "██ ", + "█████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // 6 + font[55] = createBitmap([ + "██████ ", + "█ ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + ]); // 7 + font[56] = createBitmap([ + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // 8 + font[57] = createBitmap([ + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " █████ ", + " ██ ", + " ██ ", + " ██ ", + " ███ ", + " ", + " ", + ]); // 9 + font[58] = createBitmap([ + " ", + " ", + " ██ ", + " ██ ", + " ", + " ", + " ██ ", + " ██ ", + " ", + " ", + " ", + ]); // : + font[59] = createBitmap([ + " ", + " ", + " ██ ", + " ██ ", + " ", + " ", + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + ]); // ; + font[60] = createBitmap([ + " ", + " ", + " ██ ", + " ██ ", + " ██ ", + "██ ", + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + ]); // < + font[61] = createBitmap([ + " ", + " ", + " ", + "██████ ", + " ", + " ", + "██████ ", + " ", + " ", + " ", + " ", + ]); // = + font[62] = createBitmap([ + " ", + " ", + "██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + "██ ", + " ", + " ", + ]); // > + font[64] = createBitmap([ + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ███ ", + "██ ███ ", + "██ ███ ", + "██ ██ ", + "██ ", + " ████ ", + " ", + " ", + ]); // @ + font[63] = createBitmap([ + " ████ ", + "██ ██ ", + "██ ██ ", + " ██ ", + " ██ ", + " ██ ", + " ", + " ██ ", + " ██ ", + " ", + " ", + ]); // ? + font[65] = createBitmap([ + " ██ ", + " ████ ", + "██ ██ ", + "██ ██ ", + "██████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // A + font[66] = createBitmap([ + "█████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "█████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "█████ ", + " ", + " ", + ]); // B + font[67] = createBitmap([ + " ███ ", + " ██ ██ ", + "██ █ ", + "██ ", + "██ ", + "██ ", + "██ █ ", + " ██ ██ ", + " ███ ", + " ", + " ", + ]); // C + font[68] = createBitmap([ + "████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "████ ", + " ", + " ", + ]); // D + font[69] = createBitmap([ + "██████ ", + "██ ██ ", + "██ █ ", + "██ █ ", + "████ ", + "██ █ ", + "██ █ ", + "██ ██ ", + "██████ ", + " ", + " ", + ]); // E + font[70] = createBitmap([ + "██████ ", + "██ ██ ", + "██ █ ", + "██ █ ", + "████ ", + "██ █ ", + "██ ", + "██ ", + "██ ", + " ", + " ", + ]); // F + font[71] = createBitmap([ + " ███ ", + " ██ ██ ", + "██ █ ", + "██ ", + "██ ███ ", + "██ ██ ", + "██ ██ ", + " ██ ██ ", + " ██ █ ", + " ", + " ", + ]); // G + font[72] = createBitmap([ + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // H + font[73] = createBitmap([ + " ████ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // I + font[74] = createBitmap([ + " ████ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + "██ ██ ", + "██ ██ ", + " ███ ", + " ", + " ", + ]); // J + font[75] = createBitmap([ + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // K + font[76] = createBitmap([ + "██ ", + "██ ", + "██ ", + "██ ", + "██ ", + "██ ", + "██ █ ", + "██ ██ ", + "██████ ", + " ", + " ", + ]); // L + font[77] = createBitmap([ + "█ █ ", + "██ ██ ", + "██████ ", + "██████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // M + font[78] = createBitmap([ + "██ ██ ", + "██ ██ ", + "███ ██ ", + "███ ██ ", + "██████ ", + "██ ███ ", + "██ ███ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // N + font[79] = createBitmap([ + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // O + font[80] = createBitmap([ + "█████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "█████ ", + "██ ", + "██ ", + "██ ", + "██ ", + " ", + " ", + ]); // P + font[81] = createBitmap([ + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██████ ", + "██ ███ ", + " ████ ", + " ██ ", + " ", + ]); // Q + font[82] = createBitmap([ + "█████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "█████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // R + font[83] = createBitmap([ + " ████ ", + "██ ██ ", + "██ ██ ", + " ██ ", + " ███ ", + " ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // S + font[84] = createBitmap([ + "██████ ", + "██████ ", + "█ ██ █ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // T + font[85] = createBitmap([ + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // U + font[86] = createBitmap([ + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ████ ", + " ██ ", + " ██ ", + " ", + " ", + ]); // V + font[87] = createBitmap([ + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██████ ", + "██████ ", + "██████ ", + " █ █ ", + " ", + " ", + ]); // W + font[88] = createBitmap([ + "██ ██ ", + "██ ██ ", + " ████ ", + " ████ ", + " ██ ", + " ████ ", + " ████ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // X + font[89] = createBitmap([ + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // Y + font[90] = createBitmap([ + "██████ ", + "██ ██ ", + "█ ██ ", + " ██ ", + " ██ ", + " ██ ", + "██ █ ", + "██ ██ ", + "██████ ", + " ", + " ", + ]); // Z + font[91] = createBitmap([ + " ████ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // [ + font[92] = createBitmap([ + " ", + " ", + "█ ", + "██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " █ ", + " ", + " ", + ]); // \ + font[93] = createBitmap([ + " ████ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // ] + font[94] = createBitmap([ + " █ ", + " ███ ", + " ██ ██ ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + ]); // ^ + font[95] = createBitmap([ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "██████ ", + " ", + ]); // _ + font[96] = createBitmap([ + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + ]); // ` + font[97] = createBitmap([ + " ", + " ", + " ", + " ███ ", + " ██ ", + " ████ ", + "██ ██ ", + "██ ██ ", + " ██ ██ ", + " ", + " ", + ]); // a + font[98] = createBitmap([ + "██ ", + "██ ", + "██ ", + "████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // b + font[99] = createBitmap([ + " ", + " ", + " ", + " ████ ", + "██ ██ ", + "██ ", + "██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // c + font[100] = createBitmap([ + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // d + font[101] = createBitmap([ + " ", + " ", + " ", + " ████ ", + "██ ██ ", + "██████ ", + "██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // e + font[102] = createBitmap([ + " ███ ", + " ██ ██ ", + " ██ █ ", + " ██ ", + "████ ", + " ██ ", + " ██ ", + " ██ ", + "████ ", + " ", + " ", + ]); // f + font[103] = createBitmap([ + " ", + " ", + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " █████ ", + " ██ ", + "██ ██ ", + " ████ ", + " ", + ]); // g + font[104] = createBitmap([ + "██ ", + "██ ", + "██ ", + "██ ██ ", + "███ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // h + font[105] = createBitmap([ + " ██ ", + " ██ ", + " ", + " ███ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // i + font[106] = createBitmap([ + " ██ ", + " ██ ", + " ", + " ███ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + "██ ██ ", + " ████ ", + " ", + ]); // j + font[107] = createBitmap([ + "██ ", + "██ ", + "██ ", + "██ ██ ", + "██ ██ ", + "████ ", + "████ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // k + font[108] = createBitmap([ + " ███ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ████ ", + " ", + " ", + ]); // l + font[109] = createBitmap([ + " ", + " ", + " ", + "█ ███ ", + "██████ ", + "██ █ █ ", + "██ █ █ ", + "██ █ █ ", + "██ █ █ ", + " ", + " ", + ]); // m + font[110] = createBitmap([ + " ", + " ", + " ", + "█ ███ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ", + " ", + ]); // n + font[111] = createBitmap([ + " ", + " ", + " ", + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // o + font[112] = createBitmap([ + " ", + " ", + " ", + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "█████ ", + "██ ", + "██ ", + " ", + ]); // p + font[113] = createBitmap([ + " ", + " ", + " ", + " ████ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " █████ ", + " ██ ", + " ██ ", + " ", + ]); // q + font[114] = createBitmap([ + " ", + " ", + " ", + "█ ███ ", + "███ ██ ", + "██ ██ ", + "██ ", + "██ ", + "███ ", + " ", + " ", + ]); // r + font[115] = createBitmap([ + " ", + " ", + " ", + " ████ ", + "██ ██ ", + " ██ ", + " ██ ", + "██ ██ ", + " ████ ", + " ", + " ", + ]); // s + font[116] = createBitmap([ + " █ ", + " ██ ", + " ██ ", + "████ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ██ ", + " ███ ", + " ", + " ", + ]); // t + font[117] = createBitmap([ + " ", + " ", + " ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ██ ██ ", + " ", + " ", + ]); // u + font[118] = createBitmap([ + " ", + " ", + " ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " ████ ", + " ██ ", + " ", + " ", + ]); // v + font[119] = createBitmap([ + " ", + " ", + " ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + "██████ ", + "██████ ", + " █ █ ", + " ", + " ", + ]); // w + font[120] = createBitmap([ + " ", + " ", + " ", + "██ ██ ", + " ████ ", + " ██ ", + " ██ ", + " ████ ", + "██ ██ ", + " ", + " ", + ]); // x + font[121] = createBitmap([ + " ", + " ", + " ", + "██ ██ ", + "██ ██ ", + "██ ██ ", + " █████ ", + " ██ ", + " ██ ", + "████ ", + " ", + ]); // y + font[122] = createBitmap([ + " ", + " ", + " ", + "██████ ", + "██ ██ ", + " ██ ", + " ██ ", + "██ ██ ", + "██████ ", + " ", + " ", + ]); // z + font[123] = createBitmap([ + " ███ ", + " ██ ", + " ██ ", + " ██ ", + "███ ", + " ██ ", + " ██ ", + " ██ ", + " ███ ", + " ", + " ", + ]); // { + font[124] = createBitmap([ + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ██ ", + " ", + " ", + ]); // | + font[125] = createBitmap([ + "███ ", + " ██ ", + " ██ ", + " ██ ", + " ███ ", + " ██ ", + " ██ ", + " ██ ", + "███ ", + " ", + " ", + ]); // } + font[126] = createBitmap([ + " ██ █ ", + "█ ██ █ ", + "█ ██ ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + ]); // ~ + + return font; +} diff --git a/web-ide-main/simulator/src/vm/os/keyboard.ts b/web-ide-main/simulator/src/vm/os/keyboard.ts new file mode 100644 index 0000000..76fcb90 --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/keyboard.ts @@ -0,0 +1,151 @@ +import { KEYBOARD_OFFSET } from "../../cpu/memory.js"; +import { VmMemory } from "../memory.js"; +import { OS } from "./os.js"; +import { BACKSPACE, NEW_LINE } from "./string.js"; + +export class KeyboardLib { + private memory: VmMemory; + private os: OS; + private animationFrameId: number | undefined = undefined; + private cancel = false; + + constructor(memory: VmMemory, os: OS) { + this.memory = memory; + this.os = os; + } + + keyPressed() { + return this.memory.get(KEYBOARD_OFFSET); + } + + private readCharLoop(resolve: (value: number) => void) { + let pressed = false; + let c = 0; + + const loop = () => { + if (this.cancel) { + return; + } + + let exit = false; + + if (!this.os.paused) { + if (!pressed && this.keyPressed() !== 0) { + pressed = true; + c = this.keyPressed(); + } + if (pressed && this.keyPressed() === 0) { + exit = true; + resolve(c); + } + } + + if (!exit) { + this.animationFrameId = requestAnimationFrame(loop); + } + }; + + loop(); + } + + readChar() { + this.os.sys.block(); + this.os.output.drawCursor(); + + new Promise((resolve) => { + this.readCharLoop(resolve); + }).then((c) => { + this.os.output.printChar(c); + this.os.sys.release(c); + }); + } + + private readLineLoop(resolve: (value: number) => void) { + const str = this.os.string.new(100); + if (this.os.sys.halted) { + resolve(0); + } + let pressed = false; + let c = 0; + + const loop = () => { + if (this.cancel) { + return; + } + + let exit = false; + + if (!this.os.paused) { + if (!pressed && this.keyPressed() != 0) { + pressed = true; + c = this.keyPressed(); + } + if (pressed && this.keyPressed() == 0) { + pressed = false; + // key was released + if (c == BACKSPACE) { + if (this.os.string.length(str) > 0) { + this.os.output.backspace(); + } + this.os.string.eraseLastChar(str); + } else if (c == NEW_LINE) { + resolve(str); + exit = true; + } else { + this.os.string.appendChar(str, c); + if (this.os.sys.halted) { + resolve(0); + } + this.os.output.printChar(c); + this.os.output.drawCursor(); + } + } + } + + if (!exit) { + this.animationFrameId = requestAnimationFrame(loop); + } + }; + + loop(); + } + + readLine(messagePointer: number) { + this.os.sys.block(); + this.os.output.printString(messagePointer); + this.os.output.drawCursor(); + + new Promise((resolve) => { + this.readLineLoop(resolve); + }).then((str) => { + if (!this.os.sys.halted) { + this.os.output.clearChar(); + this.os.output.println(); + } + this.os.sys.release(str); + }); + } + + readInt(messagePointer: number) { + this.os.sys.block(); + this.os.output.printString(messagePointer); + this.os.output.drawCursor(); + + new Promise((resolve) => { + this.readLineLoop(resolve); + }).then((str) => { + if (!this.os.sys.halted) { + this.os.output.clearChar(); + this.os.output.println(); + } + this.os.sys.release(this.os.string.intValue(str)); + }); + } + + dispose() { + this.cancel = true; + if (this.animationFrameId) { + cancelAnimationFrame(this.animationFrameId); + } + } +} diff --git a/web-ide-main/simulator/src/vm/os/memory.ts b/web-ide-main/simulator/src/vm/os/memory.ts new file mode 100644 index 0000000..9d81061 --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/memory.ts @@ -0,0 +1,69 @@ +import { VmMemory } from "../memory.js"; +import { ERRNO } from "./errors.js"; +import { OS } from "./os.js"; + +const HEAP_BASE = 2048; +const HEAP_SIZE = 14334; + +export class MemoryLib { + private memory: VmMemory; + private os: OS; + private freeListPtr: number; + + public constructor(memory: VmMemory, os: OS) { + this.memory = memory; + this.os = os; + this.freeListPtr = HEAP_BASE; + this.memory.set(HEAP_BASE, 0); + this.memory.set(HEAP_BASE + 1, HEAP_SIZE); + } + + alloc(size: number): number { + if (size <= 0) { + this.os.sys.error(ERRNO.ARRAY_SIZE_NOT_POSITIVE); + return 0; + } + + let blockPtr = this.freeListPtr; + do { + const nextFreeList = this.memory.get(blockPtr); + const blockSize = this.memory.get(blockPtr + 1); + if (blockSize >= size + 2) { + // We can fit this required size and overhead in this block. + this.memory.set(blockPtr + 1, size); + + const newBlockPtr = blockPtr + 2 + size; + const newBlockSize = blockSize - size - 2; + this.memory.set(newBlockPtr, nextFreeList); + this.memory.set(newBlockPtr + 1, newBlockSize); + if (this.freeListPtr === blockPtr) { + // Move freelist pointer to the new block. + this.freeListPtr = newBlockPtr; + } + return blockPtr + 2; + } else { + // We can't fit this required size and overhead in this block. + blockPtr = nextFreeList; + } + } while (blockPtr !== 0); + + this.os.sys.error(ERRNO.HEAP_OVERFLOW); + return 0; + } + + deAlloc(address: number) { + const deallocBlockPtr = address - 2; + // This will be the last block in the free list. + this.memory.set(deallocBlockPtr, 0); + + let blockPtr = this.freeListPtr; + do { + const nextBlockPtr = this.memory.get(blockPtr); + if (nextBlockPtr === 0) { + this.memory.set(blockPtr, deallocBlockPtr); + return; + } + blockPtr = nextBlockPtr; + } while (blockPtr !== 0); + } +} diff --git a/web-ide-main/simulator/src/vm/os/os.ts b/web-ide-main/simulator/src/vm/os/os.ts new file mode 100644 index 0000000..e6ebaa8 --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/os.ts @@ -0,0 +1,34 @@ +import { VmMemory } from "../memory.js"; +import { KeyboardLib } from "./keyboard.js"; +import { MemoryLib } from "./memory.js"; +import { OutputLib } from "./output.js"; +import { ScreenLib } from "./screen.js"; +import { StringLib } from "./string.js"; +import { SysLib } from "./sys.js"; + +export class OS { + private vmMemory: VmMemory; + screen: ScreenLib; + memory: MemoryLib; + string: StringLib; + output: OutputLib; + keyboard: KeyboardLib; + sys: SysLib; + + paused = false; + + constructor(memory: VmMemory) { + this.vmMemory = memory; + this.screen = new ScreenLib(this.vmMemory, this); + this.memory = new MemoryLib(this.vmMemory, this); + this.string = new StringLib(this.vmMemory, this); + this.output = new OutputLib(this); + this.keyboard = new KeyboardLib(this.vmMemory, this); + this.sys = new SysLib(this); + } + + dispose() { + this.keyboard.dispose(); + this.sys.dispose(); + } +} diff --git a/web-ide-main/simulator/src/vm/os/output.ts b/web-ide-main/simulator/src/vm/os/output.ts new file mode 100644 index 0000000..d3157b1 --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/output.ts @@ -0,0 +1,119 @@ +import { ERRNO } from "./errors.js"; +import { FONT } from "./font.js"; +import { OS } from "./os.js"; +import { BLACK, Color, WHITE } from "./screen.js"; +import { intToCharArray } from "./string.js"; + +const MAX_WIDTH = 64; +const MAX_HEIGHT = 22; + +export class OutputLib { + private os: OS; + + private col = 0; + private row = 0; + private lastColor = false; + + constructor(os: OS) { + this.os = os; + } + + private setColor(color: Color) { + this.lastColor = this.os.screen.color; + this.os.screen.color = color; + } + + private restoreColor() { + this.os.screen.color = this.lastColor; + } + + clearChar() { + this.setColor(WHITE); + this.os.screen.drawRect( + this.col * 8, + this.row * 11, + (this.col + 1) * 8, + (this.row + 1) * 11, + ); + this.restoreColor(); + } + + moveCursor(i: number, j: number) { + if (i < 0 || i > MAX_HEIGHT || j < 0 || j > MAX_WIDTH) { + this.os.sys.error(ERRNO.ILLEGAL_CURSOR_LOCATION); + return; + } + this.row = i; + this.col = j; + this.drawCursor(); + } + + println() { + this.row = this.row == MAX_HEIGHT ? 0 : this.row + 1; + this.col = 0; + } + + drawCursor() { + this.clearChar(); + this.setColor(BLACK); + this.os.screen.drawRect( + this.col * 8 + 2, + this.row * 11 + 2, + (this.col + 1) * 8 - 2, + (this.row + 1) * 11 - 2, + ); + this.restoreColor(); + } + + printChar(code: number) { + const bitmap = FONT[code]; + if (bitmap) { + this.clearChar(); + this.setColor(BLACK); + for (let row = 0; row < bitmap.length; row++) { + for (let col = 0; col < bitmap[row].length; col++) { + if (bitmap[row][col]) { + this.os.screen.drawPixel(this.col * 8 + col, this.row * 11 + row); + } + } + } + this.restoreColor(); + } + + this.col += 1; + if (this.col == MAX_WIDTH) { + this.println(); + } + } + + printString(pointer: number) { + for (let i = 0; i < this.os.string.length(pointer); i++) { + this.printChar(this.os.string.charAt(pointer, i)); + } + } + + printJsString(str: string) { + for (const char of str) { + this.printChar(char.charCodeAt(0)); + } + } + + printInt(value: number) { + for (const c of intToCharArray(value)) { + this.printChar(c); + } + } + + backspace() { + this.clearChar(); + this.col -= 1; + if (this.col < 0) { + this.col = 0; + this.row -= 1; + if (this.row < 0) { + this.row = 0; + } + } + this.drawCursor(); + } +} diff --git a/web-ide-main/simulator/src/vm/os/screen.ts b/web-ide-main/simulator/src/vm/os/screen.ts new file mode 100644 index 0000000..10999ae --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/screen.ts @@ -0,0 +1,127 @@ +import { SCREEN_COLS, SCREEN_ROWS, SCREEN_SIZE } from "../../cpu/memory.js"; +import { VmMemory } from "../memory.js"; +import { ERRNO } from "./errors.js"; +import { OS } from "./os.js"; + +const BLANK_SCREEN = new Array(SCREEN_SIZE).fill(0); +const MAX_R = 181; + +export type Color = boolean; +export const BLACK: Color = true; +export const WHITE: Color = false; + +export class ScreenLib { + private memory: VmMemory; + private os: OS; + + color: Color = BLACK; + + constructor(memory: VmMemory, os: OS) { + this.memory = memory; + this.os = os; + } + + clear() { + this.memory.screen.loadBytes(BLANK_SCREEN); + } + + private outOfBounds(col: number, row: number) { + return col < 0 || col > SCREEN_COLS * 16 || row < 0 || row > SCREEN_ROWS; + } + + drawPixel(col: number, row: number) { + if (this.outOfBounds(col, row)) { + this.os.sys.error(ERRNO.ILLEGAL_PIXEL_COORD); + return; + } + const address = row * 32 + Math.floor(col / 16); + let value = this.memory.screen.get(address); + const rem = col % 16; + if (this.color) { + value |= 1 << rem; + } else { + value &= ~(1 << rem); + } + this.memory.screen.set(address, value); + } + + drawLine(x1: number, y1: number, x2: number, y2: number) { + if (this.outOfBounds(x1, y1) || this.outOfBounds(x2, y2)) { + this.os.sys.error(ERRNO.ILLEGAL_LINE_COORD); + return; + } + if (x1 == x2) { + this.drawVerticalLine(x1, y1, y2); + } else if (y1 == y2) { + this.drawHorizontalLine(y1, x1, x2); + } else { + this.drawGeneralLine(x1, y1, x2, y2); + } + } + + private drawHorizontalLine(y: number, x1: number, x2: number) { + for (let x = Math.min(x1, x2); x <= Math.max(x1, x2); x++) { + this.drawPixel(x, y); + } + } + + private drawVerticalLine(x: number, y1: number, y2: number) { + for (let y = Math.min(y1, y2); y <= Math.max(y1, y2); y++) { + this.drawPixel(x, y); + } + } + + private drawGeneralLine(x1: number, y1: number, x2: number, y2: number) { + const dx = Math.abs(x2 - x1); + const dy = Math.abs(y2 - y1); + + let a = 0; + let b = 0; + let diff = 0; + + const sx = x1 < x2 ? 1 : -1; + const sy = y1 < y2 ? 1 : -1; + + while (a <= dx && b <= dy) { + this.drawPixel(x1 + sx * a, y1 + sy * b); + if (diff < 0) { + a = a + 1; + diff = diff + dy; + } else { + b = b + 1; + diff = diff - dx; + } + } + } + + drawRect(x1: number, y1: number, x2: number, y2: number) { + if (this.outOfBounds(x1, y1) || this.outOfBounds(x2, y2)) { + this.os.sys.error(ERRNO.ILLEGAL_RECT_COORD); + return; + } + for (let x = x1; x <= x2; x++) { + for (let y = y1; y <= y2; y++) { + this.drawPixel(x, y); + } + } + } + + drawCircle(x: number, y: number, r: number) { + if (this.outOfBounds(x, y)) { + this.os.sys.error(ERRNO.ILLEGAL_CENTER_COORD); + return; + } + if (r > MAX_R) { + this.os.sys.error(ERRNO.ILLEGAL_RADIUS); + return; + } + for (let dy = -r; dy <= r; dy++) { + this.drawLine( + x - Math.floor(Math.sqrt(r * r - dy * dy)), + y + dy, + x + Math.floor(Math.sqrt(r * r - dy * dy)), + y + dy, + ); + } + } +} diff --git a/web-ide-main/simulator/src/vm/os/string.ts b/web-ide-main/simulator/src/vm/os/string.ts new file mode 100644 index 0000000..b05d25f --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/string.ts @@ -0,0 +1,137 @@ +import { VmMemory } from "../memory.js"; +import { ERRNO } from "./errors.js"; +import { OS } from "./os.js"; + +export const NEW_LINE = 128; +export const BACKSPACE = 129; +export const DOUBLE_QUOTES = 34; + +function isDigit(char: number) { + return char >= 48 && char <= 57; +} + +function toInt(char: number) { + return char - 48; +} + +export function intToCharArray(value: number) { + return value + .toString() + .split("") + .map((c) => c.charCodeAt(0)); +} + +export class StringLib { + private memory: VmMemory; + private os: OS; + + constructor(memory: VmMemory, os: OS) { + this.memory = memory; + this.os = os; + } + + new(size: number) { + if (size < 0) { + this.os.sys.error(ERRNO.STRING_LENGTH_NEG); + } + const pointer = this.os.memory.alloc(size + 3); // +3 to save length, maxLength, charArray Ptr + if (this.os.sys.halted) { + // alloc returned with an error + return 0; + } + + this.memory.set(pointer, size); // set maxLength = size + this.memory.set(pointer + 1, 0); // set length = 0 + this.memory.set(pointer + 2, this.os.memory.alloc(size)); // set charArrayPtr. + return pointer; + } + + dispose(pointer: number) { + this.os.memory.deAlloc(pointer); + } + + private maxLength(pointer: number) { + return this.memory.get(pointer); + } + + length(pointer: number) { + return this.memory.get(pointer + 1); + } + + private setLength(pointer: number, length: number) { + this.memory.set(pointer + 1, length); + } + + private charArrayPointer(pointer: number) { + return this.memory.get(pointer + 2); + } + + charAt(pointer: number, index: number) { + if (index < 0 || index >= this.length(pointer)) { + this.os.sys.error(ERRNO.GET_CHAR_INDEX_OUT_OF_BOUNDS); + return 0; + } + return this.memory.get(this.charArrayPointer(pointer) + index); + } + + setCharAt(pointer: number, index: number, value: number) { + if (index < 0 || index >= this.length(pointer)) { + this.os.sys.error(ERRNO.SET_CHAR_INDEX_OUT_OF_BOUNDS); + return; + } + this.memory.set(this.charArrayPointer(pointer) + index, value); + } + + // This returns the string pointer to allow compilation of string literals as described in the book, + // i.e. to a series of instructions of the form: + // call string.new 1 + // repeat: + // push constant + // call String.appendChar 2 + appendChar(pointer: number, value: number) { + const length = this.length(pointer); + if (length == this.maxLength(pointer)) { + this.os.sys.error(ERRNO.STRING_FULL); + return 0; + } + this.setLength(pointer, length + 1); + this.setCharAt(pointer, length, value); + return pointer; + } + + eraseLastChar(pointer: number) { + const length = this.length(pointer); + if (length == 0) { + this.os.sys.error(ERRNO.STRING_EMPTY); + return; + } + this.setLength(pointer, length - 1); + } + + intValue(pointer: number) { + const digits = []; + const neg = this.charAt(pointer, 0) == 45; // minus sign + const start = neg ? 1 : 0; + for (let i = start; i < this.length(pointer); i++) { + if (isDigit(this.charAt(pointer, i))) { + digits.push(toInt(this.charAt(pointer, i))); + } else { + break; + } + } + const value = digits.reduce((acc, digit) => acc * 10 + digit, 0); + return neg ? -value : value; + } + + setInt(pointer: number, value: number) { + const chars = intToCharArray(value); + if (chars.length > this.maxLength(pointer)) { + this.os.sys.error(ERRNO.STRING_INSUFFICIENT_CAPACITY); + return; + } + this.setLength(pointer, 0); + for (const c of chars) { + this.appendChar(pointer, c); + } + } +} diff --git a/web-ide-main/simulator/src/vm/os/sys.ts b/web-ide-main/simulator/src/vm/os/sys.ts new file mode 100644 index 0000000..53a17c6 --- /dev/null +++ b/web-ide-main/simulator/src/vm/os/sys.ts @@ -0,0 +1,83 @@ +import { ERRNO } from "./errors.js"; +import { OS } from "./os"; + +export class SysLib { + private os: OS; + + private _blocked = false; + private _released = false; + private _returnValue = 0; + private _halted = false; + private _exitCode = 0; + + private cancelWait = false; + private animationFrameId: number | undefined; + + constructor(os: OS) { + this.os = os; + } + + get blocked() { + return this._blocked; + } + + get released() { + return this._released; + } + + get halted() { + return this._halted; + } + + get exitCode() { + return this._exitCode; + } + + block() { + this._blocked = true; + } + + release(returnValue?: number) { + this._blocked = false; + this._returnValue = returnValue ?? 0; + this._released = true; + } + + readReturnValue() { + this._released = false; + return this._returnValue; + } + + wait(ms: number) { + if (ms <= 0) { + this.error(ERRNO.SYS_WAIT_DURATION_NOT_POSITIVE); + return; + } + + this.block(); + + (async () => { + await new Promise((x) => setTimeout(x, ms)); + this.release(); + })(); + } + + halt() { + this._halted = true; + this._exitCode = 0; + } + + error(code: number) { + this.os.output.printJsString(`ERR${code}`); + this._halted = true; + this._exitCode = code; + } + + dispose() { + this.cancelWait = true; + + if (this.animationFrameId) { + cancelAnimationFrame(this.animationFrameId); + } + } +} diff --git a/web-ide-main/simulator/src/vm/vm.test.ts b/web-ide-main/simulator/src/vm/vm.test.ts new file mode 100644 index 0000000..c52b1a0 --- /dev/null +++ b/web-ide-main/simulator/src/vm/vm.test.ts @@ -0,0 +1,402 @@ +import { unwrap } from "@davidsouther/jiffies/lib/esm/result.js"; +import { vm as SIMPLE_FUNCTION } from "@nand2tetris/projects/project_08/20_simple_function.js"; +import { FIBONACCI } from "@nand2tetris/projects/samples/vm/fibonnaci.js"; +import { + BRANCHING_FUNCTION, + NESTED_FUNCTION, + STATIC, +} from "@nand2tetris/projects/samples/vm/vm.js"; +import { VM } from "../languages/vm.js"; +import { Vm } from "./vm.js"; + +test("Simple Adder VM", () => { + const vm = unwrap( + Vm.build([ + { op: "push", segment: "constant", offset: 7 }, + { op: "push", segment: "constant", offset: 8 }, + { op: "add" }, + ]), + ); + + expect(vm.read([0])).toEqual([256]); + vm.step(); // push 7 + expect(vm.read([0, 256])).toEqual([257, 7]); + vm.step(); // push 8 + expect(vm.read([0, 256, 257])).toEqual([258, 7, 8]); + vm.step(); // add + expect(vm.read([0, 256, 257])).toEqual([257, 15, 8]); + vm.step(); // goto __END + expect(vm.read([0, 256])).toEqual([257, 15]); + vm.step(); // goto __END + expect(vm.read([0, 256])).toEqual([257, 15]); +}); + +const BIT_TEST = ` +push constant 57 +push constant 31 +push constant 53 +add +push constant 112 +sub +neg +and +push constant 82 +or +not +`; + +test("Bit Ops", () => { + const { instructions } = unwrap(VM.parse(BIT_TEST)); + const vm = unwrap(Vm.build(instructions)); + + for (let i = 0; i < 11; i++) { + vm.step(); + } + + const stack = vm.read([0, 256]); + expect(stack).toEqual([257, -91]); +}); + +const STACK_TEST = ` +push constant 17 +push constant 17 +eq +push constant 17 +push constant 16 +eq +push constant 16 +push constant 17 +eq +push constant 892 +push constant 891 +lt +push constant 891 +push constant 892 +lt +push constant 891 +push constant 891 +lt +push constant 32767 +push constant 32766 +gt +push constant 32766 +push constant 32767 +gt +push constant 32766 +push constant 32766 +gt +push constant 57 +push constant 31 +push constant 53 +add +push constant 112 +sub +neg +and +push constant 82 +or +not +`; + +test("07 / Memory Access / Stack Test", () => { + const { instructions } = unwrap(VM.parse(STACK_TEST)); + const vm = unwrap(Vm.build(instructions)); + + for (let i = 0; i < 38; i++) { + vm.step(); + } + + const cells = [0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265]; + const values = [266, -1, 0, 0, 0, -1, 0, -1, 0, 0, -91]; + const stack = vm.read(cells); + const actual = cells.map((a, i) => [a, stack[i]]); + const expected = cells.map((a, i) => [a, values[i]]); + expect(actual).toEqual(expected); +}); + +const BASIC_TEST = ` +push constant 10 +pop local 0 +push constant 21 +push constant 22 +pop argument 2 +pop argument 1 +push constant 36 +pop this 6 +push constant 42 +push constant 45 +pop that 5 +pop that 2 +push constant 510 +pop temp 6 +push local 0 +push that 5 +add +push argument 1 +sub +push this 6 +push this 6 +add +sub +push temp 6 +add +`; + +test("07 / Memory Access / Basic Test", () => { + const { instructions } = unwrap(VM.parse(BASIC_TEST)); + const vm = unwrap(Vm.build(instructions)); + + vm.write([ + [0, 256], + [1, 300], + [2, 400], + [3, 3000], + [4, 3010], + ]); + vm.segmentInitializations["argument"].initialized = true; + vm.segmentInitializations["local"].initialized = true; + vm.invocation.thisInitialized = true; + vm.invocation.thatInitialized = true; + + for (let i = 0; i < 25; i++) { + vm.step(); + } + + const test = vm.read([256, 300, 401, 402, 3006, 3012, 3015, 11]); + expect(test).toEqual([472, 10, 21, 22, 36, 42, 45, 510]); +}); + +const POINTER_TEST = ` +push constant 3030 +pop pointer 0 +push constant 3040 +pop pointer 1 +push constant 32 +pop this 2 +push constant 46 +pop that 6 +push pointer 0 +push pointer 1 +add +push this 2 +sub +push that 6 +add +`; + +test("07 / Memory Access / Pointer Test", () => { + const { instructions } = unwrap(VM.parse(POINTER_TEST)); + const vm = unwrap(Vm.build(instructions)); + + vm.write([ + [0, 256], + [1, 300], + [2, 400], + [3, 3000], + [4, 3010], + ]); + vm.segmentInitializations["argument"].initialized = true; + vm.segmentInitializations["local"].initialized = true; + vm.invocation.thisInitialized = true; + vm.invocation.thatInitialized = true; + + for (let i = 0; i < 16; i++) { + vm.step(); + } + + const test = vm.read([256, 3, 4, 3032, 3046]); + expect(test).toEqual([6084, 3030, 3040, 32, 46]); +}); + +test("08 / Branching Function", () => { + const { instructions } = unwrap(VM.parse(BRANCHING_FUNCTION)); + const vm = unwrap(Vm.build(instructions)); + + vm.write([]); + + for (let i = 0; i < 100; i++) { + vm.step(); + } + + const test = vm.read([0, 256]); + expect(test).toEqual([257, 12]); +}); + +const LOOP_TEST = ` +push constant 0 +pop local 0 // initializes sum = 0 +label LOOP_START +push argument 0 +push local 0 +add +pop local 0 // sum = sum + counter +push argument 0 +push constant 1 +sub +pop argument 0 // counter-- +push argument 0 +if-goto LOOP_START // If counter != 0, goto LOOP_START +push local 0 +`; + +test("08 / Program Flow / Basic Loop", () => { + const { instructions } = unwrap(VM.parse(LOOP_TEST)); + const vm = unwrap(Vm.build(instructions)); + + vm.write([ + [0, 256], + [1, 300], + [2, 400], + [400, 3], + ]); + vm.segmentInitializations["argument"].initialized = true; + vm.segmentInitializations["local"].initialized = true; + + for (let i = 0; i < 33; i++) { + vm.step(); + } + + const test = vm.read([0, 256]); + expect(test).toEqual([257, 6]); +}); + +const FIBONACCI_SERIES = ` +push argument 1 +pop pointer 1 // that = argument[1] + +push constant 0 +pop that 0 // first element in the series = 0 +push constant 1 +pop that 1 // second element in the series = 1 + +push argument 0 +push constant 2 +sub +pop argument 0 // num_of_elements -= 2 (first 2 elements are set) + +label MAIN_LOOP_START + +push argument 0 +if-goto COMPUTE_ELEMENT // if num_of_elements > 0, goto COMPUTE_ELEMENT +goto END_PROGRAM // otherwise, goto END_PROGRAM + +label COMPUTE_ELEMENT + +push that 0 +push that 1 +add +pop that 2 // that[2] = that[0] + that[1] + +push pointer 1 +push constant 1 +add +pop pointer 1 // that += 1 + +push argument 0 +push constant 1 +sub +pop argument 0 // num_of_elements-- + +goto MAIN_LOOP_START + +label END_PROGRAM +`; + +test("08 / Program Flow / Fibonacci Series", () => { + const { instructions } = unwrap(VM.parse(FIBONACCI_SERIES)); + const vm = unwrap(Vm.build(instructions)); + + vm.write([ + [0, 256], + [1, 300], + [2, 400], + [400, 6], + [401, 3000], + ]); + vm.segmentInitializations["argument"].initialized = true; + vm.segmentInitializations["local"].initialized = true; + + for (let i = 0; i < 1000; i++) { + vm.step(); + } + + const test = vm.read([3000, 3001, 3002, 3003, 3004, 3005]); + expect(test).toEqual([0, 1, 1, 2, 3, 5]); +}); + +test("08 / Functions / SimpleFunction", () => { + const { instructions } = unwrap(VM.parse(SIMPLE_FUNCTION)); + const vm = unwrap(Vm.build(instructions)); + + expect(() => vm.vmStack()).not.toThrow("Assertion failed"); +}); + +test("08 / Functions / NestedCall", () => { + const { instructions } = unwrap(VM.parse(NESTED_FUNCTION)); + const vm = unwrap(Vm.build(instructions)); + + const init: [number, number][] = [ + [0, 261], + [1, 261], + [2, 256], + [3, 3000], + [4, 4000], + [5, -1], + [6, -1], + [256, 1234], + [257, -1], + [258, -2], + [259, -3], + [260, -4], + ]; + + for (let i = 261; i < 300; i++) { + init.push([i, -1]); + } + + vm.write(init); + vm.segmentInitializations["argument"].initialized = true; + vm.segmentInitializations["local"].initialized = true; + vm.invocation.thisInitialized = true; + vm.invocation.thatInitialized = true; + + for (let i = 0; i < 1000; i++) { + vm.step(); + } + + const test = vm.read([0, 1, 2, 3, 4, 5, 6]); + expect(test).toEqual([261, 261, 256, 4000, 5000, 135, 246]); +}); + +test("08 / Functions / Fib", () => { + const { instructions } = unwrap(VM.parse(FIBONACCI)); + const vm = unwrap(Vm.build(instructions)); + + for (let i = 0; i < 1000; i++) { + vm.step(); + } + + const test = vm.read([0, 256]); + expect(test).toEqual([257, 3]); +}); + +test("08 / Functions / Static", () => { + const { instructions } = unwrap(VM.parse(STATIC)); + const vm = unwrap(Vm.build(instructions)); + + for (let i = 0; i < 1000; i++) { + vm.step(); + } + + const test = vm.read([0, 256, 257]); + expect(test).toEqual([258, -2, 8]); +}); + +describe("debug frame views", () => { + test("top frame", () => { + const { instructions } = unwrap(VM.parse(FIBONACCI)); + const vm = unwrap(Vm.build(instructions)); + + expect(vm.vmStack().length).toBe(1); + }); +}); diff --git a/web-ide-main/simulator/src/vm/vm.ts b/web-ide-main/simulator/src/vm/vm.ts new file mode 100644 index 0000000..2d67f41 --- /dev/null +++ b/web-ide-main/simulator/src/vm/vm.ts @@ -0,0 +1,967 @@ +import { + Err, + isErr, + Ok, + Result, + unwrap, +} from "@davidsouther/jiffies/lib/esm/result.js"; +import { MemoryAdapter, RAM } from "../cpu/memory.js"; +import { CompilationError, createError, Span } from "../languages/base.js"; +import { + CallInstruction, + FunctionInstruction, + Segment, + StackInstruction, + VmInstruction, +} from "../languages/vm.js"; +import { VM_BUILTINS } from "./builtins.js"; +import { VmMemory } from "./memory.js"; +import { OS } from "./os/os.js"; + +interface VmFrameValues { + base: number; + count: number; + values: number[]; +} + +export interface VmFrame { + fn?: VmFunction; + locals: VmFrameValues; + args: VmFrameValues; + stack: VmFrameValues; + this: VmFrameValues; + that: VmFrameValues; + frame: { + RET: number; + ARG: number; + LCL: number; + THIS: number; + THAT: number; + }; + usedSegments?: Set; +} + +export type VmFunctions = Record; +export interface VmFunction { + name: string; + nVars: number; + labels: Record; + operations: VmInstruction[]; + opBase: number; +} + +interface VmFunctionInvocation { + function: string; + // The current operation offset in the function + opPtr: number; + // Base address of the frame in memory + frameBase: number; + // The number of args the function was called with + nArgs: number; + // Whether the THIS segment was initialized in this invocation + thisInitialized: boolean; + // Whether the THAT segment was initialized in this invocation + thatInitialized: boolean; + // The size of the memory block pointed to by the function's THIS (if exists) + thisN?: number; +} + +export const IMPLICIT = "__implicit"; + +export const SYS_INIT: VmFunction = { + name: "Sys.init", + labels: {}, + nVars: 0, + opBase: 0, + operations: [ + { op: "function", name: "Sys.init", nVars: 0 }, + { op: "call", name: "Math.init", nArgs: 0 }, + { op: "call", name: "String.init", nArgs: 0 }, + { op: "call", name: "Array.init", nArgs: 0 }, + { op: "call", name: "Output.init", nArgs: 0 }, + { op: "call", name: "Screen.init", nArgs: 0 }, + { op: "call", name: "Keyboard.init", nArgs: 0 }, + { op: "call", name: "Memory.init", nArgs: 0 }, + { op: "call", name: "Main.main", nArgs: 0 }, + ], +}; + +export interface ParsedVmFile { + name: string; + instructions: VmInstruction[]; +} + +interface SegmentStatus { + initialized: boolean; + n: number; +} + +export class Vm { + memory = new VmMemory(); + private os = new OS(this.memory); + functionMap: Record = {}; + executionStack: VmFunctionInvocation[] = []; + + entry = ""; + + segmentInitializations: Record<"local" | "argument", SegmentStatus> = { + local: { initialized: false, n: 0 }, + argument: { initialized: false, n: 0 }, + }; + + functions: VmFunction[] = []; + program: VmInstruction[] = []; + addedSysInit = false; + + private staticCount = 0; + protected statics: Record = {}; + + getStaticCount() { + return this.staticCount; + } + + private returnLine: number | undefined = undefined; + + private registerStatic(fnName: string, offset: number): number { + const fileName = fnName.split(".")[0]; + const statics = this.statics[fileName] ?? []; + this.statics[fileName] = statics; + const static_ = statics[offset] ?? this.staticCount++; + statics[offset] = static_; + return static_; + } + + private registerStatics() { + for (const fn of Object.values(this.functionMap)) { + for (const op of fn.operations) { + if ( + (op.op === "push" || op.op === "pop") && + (op as StackInstruction)?.segment === "static" + ) { + (op as StackInstruction).offset = this.registerStatic( + fn.name, + (op as StackInstruction).offset, + ); + } + } + } + } + + private static fileBasenameNoExtension(file: string): string { + // Files that are part of the web-ide are usually passed with folders but without extensions. + // e.g.: /projects/08/FibonacciElement/Sys + if (file.includes("/")) { + file = file.split("/").pop() ?? ""; + } + + // Local files on Windows are usually passed with extension. + // e.g.: Sys.vm + if (file.includes(".")) { + file = file.split(".")[0]; + } + + return file; + + // TODO: Check if this also works for Linux and MacOS + } + + private static validateFile(file: ParsedVmFile) { + for (const inst of file.instructions) { + if (inst.op == "function") { + const parts = inst.name.split("."); + if (parts.length != 2) { + return Err( + createError( + `Illegal subroutine name ${inst.name} (Expected .)`, + inst.span, + ), + ); + } + if (parts[0] != this.fileBasenameNoExtension(file.name)) { + return Err( + createError( + `File name ${file.name} doesn't match class name ${parts[0]} (at ${inst.name})`, + inst.span, + ), + ); + } + } + } + return Ok(); + } + + private static validateFiles(files: ParsedVmFile[]) { + const names: Set = new Set(); + + for (const file of files) { + if (names.has(file.name)) { + return Err(createError(`File ${file.name} already exists`)); + } + const result = this.validateFile(file); + if (isErr(result)) { + return result; + } + names.add(file.name); + } + return Ok(); + } + + private validateStackInstructions() { + for (const fn of Object.values(this.functionMap)) { + for (const inst of fn.operations) { + if (inst.op == "pop" || inst.op == "push") { + const base = this.memory.baseSegment(inst.segment, inst.offset); + if (isErr(base)) { + return Err(createError(Err(base).message, inst.span)); + } + } + } + } + return Ok(); + } + + private static validateFunctions( + instructions: VmInstruction[], + ): Result { + const functions: Set = new Set(); + const calls = []; + + for (const inst of instructions) { + if (inst.op == "function") { + if (inst.nVars < 0 || inst.nVars > 32767) { + return Err( + createError( + `Illegal number of local variables ${inst.nVars} (Expected 0-32767)`, + inst.span, + ), + ); + } + functions.add(inst.name); + } + if (inst.op == "call") { + if (inst.nArgs < 0 || inst.nArgs > 32767) { + return Err( + createError( + `Illegal number of arguments ${inst.nArgs} (Expected 0-32767)`, + inst.span, + ), + ); + } + calls.push(inst as CallInstruction); + } + } + + for (const call of calls) { + if (!functions.has(call.name)) { + const builtin = VM_BUILTINS[call.name]; + if (builtin) { + const expectedNArgs = + builtin.type == "method" + ? builtin.args.length + 1 + : builtin.args.length; + if (expectedNArgs != call.nArgs) { + return Err( + createError( + `OS function ${call.name} expects ${ + expectedNArgs + } arguments, not ${call.nArgs}`, + call.span, + ), + ); + } + } else { + return Err(createError(`Undefined function ${call.name}`, call.span)); + } + } + } + + return Ok(); + } + + static buildFromFiles(files: ParsedVmFile[]): Result { + let result = this.validateFiles(files); + if (isErr(result)) { + return result; + } + const instructions = files + .map((file) => file.instructions) + .reduce((list1, list2) => list1.concat(list2)); + result = this.validateFunctions(instructions); + if (isErr(result)) { + return result; + } + const vm = new Vm(); + const load = vm.load(instructions); + if (isErr(load)) return load; + return vm.bootstrap(); + } + + static build(instructions: VmInstruction[]): Result { + const result = this.validateFunctions(instructions); + if (isErr(result)) { + return result; + } + const vm = new Vm(); + const load = vm.load(instructions); + if (isErr(load)) return load; + return vm.bootstrap(); + } + + private static buildFunction( + instructions: VmInstruction[], + i: number, + ): Result<[VmFunction, number], CompilationError> { + if (instructions[i].op !== "function") + throw new Error( + "Only call buildFunction at the initial Function instruction", + ); + + const { name, nVars } = instructions[i] as FunctionInstruction; + const fn: VmFunction = { + name, + nVars, + labels: {}, + operations: [{ op: "function", name, nVars, span: instructions[i].span }], + opBase: 0, + }; + + const declaredLabels: Set = new Set(); + const usedLabels: Record = {}; + + i += 1; + instructions: while (i < instructions.length) { + switch (instructions[i].op) { + case "function": + break instructions; + case "add": + case "sub": + case "neg": + case "and": + case "or": + case "not": + case "gt": + case "lt": + case "eq": + fn.operations.push({ + op: instructions[i].op as + | "add" + | "sub" + | "neg" + | "lt" + | "gt" + | "eq" + | "and" + | "or" + | "not", + span: instructions[i].span, + }); + break; + case "push": + case "pop": + fn.operations.push({ + op: instructions[i].op as "push" | "pop", + segment: ( + instructions[i] as { + segment: + | "argument" + | "local" + | "static" + | "constant" + | "this" + | "that" + | "pointer" + | "temp"; + } + ).segment, + offset: (instructions[i] as { offset: number }).offset, + span: instructions[i].span, + }); + break; + case "call": + fn.operations.push({ + op: "call", + name: (instructions[i] as { name: string }).name, + nArgs: (instructions[i] as { nArgs: number }).nArgs, + span: instructions[i].span, + }); + break; + case "goto": + case "if-goto": { + const { label } = instructions[i] as { label: string }; + usedLabels[label] = instructions[i].span; + fn.operations.push({ + op: instructions[i].op as "goto" | "if-goto", + label, + span: instructions[i].span, + }); + break; + } + case "label": { + const { label } = instructions[i] as { label: string }; + declaredLabels.add(label); + if (fn.labels[label]) + return Err( + createError( + `Cannot redeclare label ${label} in function ${ + fn.name + } (previously at line ${fn.labels[label] + 1})`, + instructions[i].span, + ), + ); + fn.labels[label] = fn.operations.length; + fn.operations.push({ + op: "label", + label, + span: instructions[i].span, + }); + break; + } + case "return": { + fn.operations.push({ op: "return", span: instructions[i].span }); + break; + } + } + + i += 1; + } + + for (const label of Object.keys(usedLabels)) { + if (!declaredLabels.has(label)) { + return Err(createError(`Undeclared label ${label}`, usedLabels[label])); + } + } + + return Ok([fn, i]); + } + + get RAM(): RAM { + return this.memory; + } + + get Keyboard(): MemoryAdapter { + return this.memory.keyboard; + } + get Screen(): MemoryAdapter { + return this.memory.screen; + } + + get invocation(): VmFunctionInvocation { + const invocation = this.executionStack.at(-1); + if (invocation === undefined) { + return { + frameBase: 256, + function: IMPLICIT, + nArgs: 0, + opPtr: 0, + thisInitialized: false, + thatInitialized: false, + }; + } + return invocation; + } + + get currentFunction() { + return this.functionMap[this.invocation.function]; + } + + get operation() { + if (!this.currentFunction) { + return undefined; + } + if (this.invocation.opPtr > this.currentFunction.operations.length) + throw new Error( + `Current operation step beyond end of function operations (${this.invocation.opPtr} > ${this.currentFunction.operations.length})`, + ); + + return this.currentFunction.operations[this.invocation.opPtr]; + } + + load( + instructions: VmInstruction[], + reset = false, + ): Result { + if (reset) { + this.functionMap = {}; + this.statics = {}; + this.staticCount = 0; + } + + if (instructions[0]?.op !== "function") { + instructions.unshift({ op: "function", name: IMPLICIT, nVars: 0 }); + } + + let i = 0; + while (i < instructions.length) { + const buildFn = Vm.buildFunction(instructions, i); + + if (isErr(buildFn)) return buildFn; + const [fn, i_] = unwrap(buildFn); + if ( + this.functionMap[fn.name] && + this.memory.strict && + fn.name !== IMPLICIT && + fn.name !== SYS_INIT.name + ) { + return Err( + createError( + `VM Already has a function named ${fn.name}`, + instructions[0].span, + ), + ); + } + + this.functionMap[fn.name] = fn; + i = i_; + } + + const result = this.validateStackInstructions(); + if (isErr(result)) { + return result; + } + this.registerStatics(); + + if (reset) { + this.bootstrap(); + } + + return Ok(this); + } + + bootstrap() { + if (!this.functionMap[SYS_INIT.name] && this.functionMap["Main.main"]) { + this.functionMap[SYS_INIT.name] = SYS_INIT; + this.addedSysInit = true; + // TODO should this be an error from the compiler/OS? + } + + if (this.functionMap[SYS_INIT.name]) { + this.entry = SYS_INIT.name; + } else if (this.functionMap[IMPLICIT]) { + this.entry = IMPLICIT; + } else { + const fnNames = Object.keys(this.functionMap); + if (fnNames.length === 1) { + this.entry = fnNames[0]; + } + } + + if (this.functionMap[IMPLICIT] && this.functionMap[SYS_INIT.name]) { + return Err( + createError("Cannot use both bootstrap and an implicit function"), + ); + } + + if (this.entry === "") { + return Err(createError("Could not determine an entry point for VM")); + } + + this.functions = Object.values(this.functionMap); + this.functions.sort((a, b) => { + if (a.name === this.entry) return -1; + if (b.name === this.entry) return 1; + return 0; // Stable sort otherwise + }); + + let offset = 0; + this.program = this.functions.reduce((prog, fn) => { + if (fn.name != SYS_INIT.name) { + fn.opBase = offset; + } + offset += fn.operations.length; + return prog.concat(fn.operations); + }, [] as VmInstruction[]); + + this.reset(); + + return Ok(this); + } + + reset() { + this.executionStack = [ + { + function: this.entry, + opPtr: 1, + frameBase: 256, + nArgs: 0, + thisInitialized: false, + thatInitialized: false, + }, + ]; + this.memory.reset(); + this.memory.SP = 256; + this.segmentInitializations = { + local: { initialized: false, n: 0 }, + argument: { initialized: false, n: 0 }, + }; + + this.os.dispose(); + this.os = new OS(this.memory); + } + + private validateStackOp(op: StackInstruction) { + if (this.currentFunction?.name == this.entry) { + for (const segment of ["local", "argument"] as const) { + if (op.segment == segment) { + if (this.segmentInitializations[segment].initialized) { + // the size of that segment is always 1 + this.segmentInitializations[segment].n = Math.max( + op.offset + 1, + this.segmentInitializations[segment].n, + ); + return; + } else { + throw new Error( + `The ${segment} segment cannot be accessed since it was not initialized`, + ); + } + } + } + if (op.segment == "this" && this.invocation.thisInitialized) { + this.invocation.thisN = Math.max( + op.offset + 1, + this.invocation.thisN ?? 0, + ); + return; + } + } + if (op.segment == "argument" && op.offset >= this.invocation.nArgs) { + throw new Error("Argument offset out of bounds"); + } + if ( + op.segment == "local" && + op.offset >= this.functionMap[this.invocation.function]?.nVars + ) { + throw new Error("Local offset out of bounds"); + } + if (op.segment == "this" && !this.invocation.thisInitialized) { + throw new Error( + `The this segment cannot be accessed since it was not initialized`, + ); + } + if (op.segment == "that" && !this.invocation.thatInitialized) { + throw new Error( + `The that segment cannot be accessed since it was not initialized`, + ); + } + } + + setPaused(paused = true) { + this.os.paused = paused; + } + + step(): number | undefined { + if (this.os.sys.halted) { + return this.os.sys.exitCode; + } + if (this.os.sys.blocked) { + return; + } + if (this.os.sys.released && this.operation?.op == "call") { + const ret = this.os.sys.readReturnValue(); + const sp = this.memory.SP - this.operation.nArgs; + this.memory.set(sp, ret); + this.memory.SP = sp + 1; + this.invocation.opPtr += 1; + return; + } + + if (this.operation == undefined) { + this.os.sys.halt(); + return this.step(); + } + + const operation = this.operation; + + if (operation.op === "label") { + this.invocation.opPtr += 1; + return this.step(); + } + + switch (operation.op) { + case "push": { + this.validateStackOp(operation); + const value = this.memory.getSegment( + operation.segment, + operation.offset, + ); + this.memory.push(value); + break; + } + case "pop": { + this.validateStackOp(operation); + const value = this.memory.pop(); + this.memory.setSegment(operation.segment, operation.offset, value); + + // update THIS/THAT segment status + if (operation.segment == "pointer") { + if (operation.offset == 0) { + this.invocation.thisInitialized = true; + this.invocation.thisN = this.memory.get(this.memory.THIS - 1); + } else if (operation.offset == 1) { + this.invocation.thatInitialized = true; + } + } + break; + } + case "add": { + this.memory.binOp((a, b) => a + b); + break; + } + case "sub": { + this.memory.binOp((a, b) => a - b); + break; + } + case "neg": { + // neg by flipping the sign bit + this.memory.unOp((a) => -a); + break; + } + case "and": { + this.memory.binOp((a, b) => a & b); + break; + } + case "or": { + this.memory.binOp((a, b) => a | b); + break; + } + case "not": { + this.memory.unOp((a) => ~a); + break; + } + case "eq": { + this.memory.comp((a, b) => a === b); + break; + } + case "lt": { + this.memory.comp((a, b) => a < b); + break; + } + case "gt": { + this.memory.comp((a, b) => a > b); + break; + } + case "goto": { + this.goto(operation.label); + break; + } + case "if-goto": { + const check = this.memory.pop(); + if (check != 0) { + this.goto(operation.label); + } + break; + } + case "call": { + const fnName = operation.name; + if (this.functionMap[fnName]) { + const base = this.memory.pushFrame( + this.invocation.opPtr, + operation.nArgs, + this.functionMap[fnName].nVars, + ); + this.executionStack.push({ + function: fnName, + opPtr: 0, + nArgs: operation.nArgs, + frameBase: base, + thisInitialized: false, + thatInitialized: false, + }); + } else if (VM_BUILTINS[fnName]) { + const ret = VM_BUILTINS[fnName].func(this.memory, this.os); + if (this.os.sys.blocked) { + return; // we will handle the return when the OS is released + } + const sp = this.memory.SP - operation.nArgs; + this.memory.set(sp, ret); + this.memory.SP = sp + 1; + } + break; + } + case "return": { + const line = this.derivedLine(); + this.executionStack.pop(); + const ret = this.memory.popFrame(); + this.invocation.opPtr = ret; + if (this.executionStack.length === 0) { + this.returnLine = line; + return 0; + } + break; + } + } + this.invocation.opPtr += 1; + return; + } + + private goto(label: string) { + if (!this.currentFunction) { + return; + } + if (this.currentFunction.labels[label] === undefined) + throw new Error( + `Attempting GOTO to unknown label ${label} in ${this.currentFunction.name}`, + ); + this.invocation.opPtr = this.currentFunction.labels[label]; + } + + write(addresses: [number, number][]) { + addresses.map(([address, value]) => { + this.memory.set(address, value); + }); + } + + read(addresses: number[]): number[] { + return addresses.map((address) => this.memory.get(address)); + } + + vmStack(): VmFrame[] { + return this.executionStack.map((invocation, i) => { + const next = this.executionStack[i + 1]; + const end = next ? next.frameBase - next.nArgs : this.memory.get(0); + return this.makeFrame(invocation, end); + }); + } + + private getUsedSegments(invocation: VmFunctionInvocation) { + const usedSegments = new Set(); + + for (const inst of this.functionMap[invocation.function].operations) { + if (inst.op === "push" || inst.op == "pop") { + usedSegments.add(inst.segment); + } + } + + return usedSegments; + } + + makeFrame(invocation = this.invocation, nextFrame: number): VmFrame { + const fn = this.functionMap[invocation.function]; + if (fn.name === this.entry) { + const stackBase = 256 + fn.nVars; + const nextFrame = this.executionStack[1]; + const frameEnd = nextFrame + ? nextFrame.frameBase - nextFrame.nArgs + : this.memory.get(0); + const { ARG, LCL, THAT, THIS } = this.memory; + const nArg = this.segmentInitializations["argument"].n; + const nLocal = this.segmentInitializations["local"].n; + const nThis = this.invocation.thisN ?? 0; + const stackCount = frameEnd - stackBase; + return { + fn, + args: { + base: ARG, + count: nArg, + values: [...this.memory.map((_, v) => v, ARG, ARG + nArg)], + }, + locals: { + base: LCL, + count: nLocal, + values: [...this.memory.map((_, v) => v, LCL, LCL + nLocal)], + }, + stack: { + base: 256, + count: Math.max(0, stackCount), + values: + stackCount > 0 + ? [...this.memory.map((_, v) => v, stackBase, frameEnd)] + : [], + }, + this: { + base: THIS, + count: nThis, + values: [...this.memory.map((_, v) => v, THIS, THIS + nThis)], + }, + that: { + base: THAT, + count: 1, + values: [this.memory.THAT], + }, + frame: { + ARG, + LCL, + RET: 0xffff, + THAT, + THIS, + }, + usedSegments: this.getUsedSegments(invocation), + }; + } + const frame = this.memory.getFrame( + invocation.frameBase, + invocation.nArgs, + fn.nVars, + this.invocation.thisN ?? 0, + 1, + nextFrame, + ); + frame.fn = fn; + frame.usedSegments = this.getUsedSegments(invocation); + return frame; + } + + derivedLine(): number { + return this.operation?.span?.line ?? this.returnLine ?? 0; + } + + writeDebug(): string { + const line = this.derivedLine(); + const from = Math.max(line - 5, 0); + const to = Math.min(line + 3, this.program.length); + const lines = this.program.slice(from, to); + const prog = lines + .map((op, i) => `${i === line - from ? "->" : " "} ${writeOp(op)}`) + .join("\n"); + const frame = this.vmStack().at(-1); + if (frame) { + return prog + "\n\n" + writeFrame(frame); + } + return prog; + } +} + +export function writeFrame(frame: VmFrame): string { + return [ + `Frame: ${frame.fn?.name ?? "Unknown Fn"} ARG:${frame.frame.ARG} LCL:${ + frame.frame.LCL + }`, + `Args: ${writeFrameValues(frame.args)}`, + `Lcls: ${writeFrameValues(frame.locals)}`, + `Stck: ${writeFrameValues(frame.stack)}`, + ].join("\n"); +} + +function writeFrameValues(fv: VmFrameValues): string { + return `[${fv.base};${fv.count}][${fv.values.join(", ")}]`; +} + +function writeOp(op: VmInstruction): string { + switch (op.op) { + case "add": + case "and": + case "sub": + case "eq": + case "gt": + case "lt": + case "neg": + case "not": + case "or": + case "return": + return ` ${op.op}`; + case "goto": + return ` ${op.op} ${op.label}`; + case "if-goto": + return ` ${op.op} ${op.label}`; + case "label": + return `${op.op} ${op.label}`; + case "call": + return ` ${op.op} ${op.name} ${op.nArgs}`; + case "function": + return `${op.op} ${op.name} ${op.nVars}`; + case "pop": + return ` ${op.op} ${op.segment} ${op.offset}`; + case "push": + return ` ${op.op} ${op.segment} ${op.offset}`; + } +} diff --git a/web-ide-main/simulator/tsconfig.json b/web-ide-main/simulator/tsconfig.json new file mode 100644 index 0000000..1f131e8 --- /dev/null +++ b/web-ide-main/simulator/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "outDir": "build", + "rootDir": "src", + "tsBuildInfoFile": "build/.tsbuildinfo" + }, + "include": ["src"] +} diff --git a/web-ide-main/stamp.sh b/web-ide-main/stamp.sh new file mode 100644 index 0000000..f6d700e --- /dev/null +++ b/web-ide-main/stamp.sh @@ -0,0 +1,36 @@ +#!/usr/bin/bash + +set -e # Exit on errors +set -x # Shell debugging + +# CURRENT and NEXT have the format YYYY.WW.REV, where YYYY is the current year, +# WW is the current week, and REV is the number of releases this week. +# The next revision compares the two, in this way +# - If NEXT is later than CURRENT in any fields, accept NEXT. +# - Otherwise, return CURRENT, with one added to REV. +# +# THIS FUNCTION IS NOT TRANSITIVE! It must be called with +# `compare_versions CURRENT NEXT` +compare_versions() { + if [[ "$1" < "$2" ]]; then + echo "$2" + else + IFS='.' read -r y1 w1 r1 <<<"$1" + r1=$((r1 + 1)) + echo "${y1}.${w1}.${r1}" + fi +} + +# compare_versions 2024.44.4 2024.44.0 # 2024.44.5 +# compare_versions 2024.44.4 2024.45.0 # 2024.45.0 +# compare_versions 2024.44.4 2025.1.0 # 2025.1.0 + +CURRENT=$(grep version package.json | awk -F\" '{print $4}') +NEXT=$(date +%Y.%W.0) +VERSION=$(compare_versions "$CURRENT" "$NEXT") +echo "Releasing $VERSION..." +npm version "$VERSION" --include-workspace-root --no-git-tag-version +sed "/version/ s/$CURRENT/$VERSION/" web/public/index.html > web/public/index.html.out ; mv web/public/index.html.out web/public/index.html +git --no-pager diff +git add . +git commit --message "Release ${VERSION}" diff --git a/web-ide-main/tsconfig.base.json b/web-ide-main/tsconfig.base.json new file mode 100644 index 0000000..9c6ece3 --- /dev/null +++ b/web-ide-main/tsconfig.base.json @@ -0,0 +1,38 @@ +{ + "compilerOptions": { + // Workspace projects + "composite": true, + + // Assume browser environment & esm + "lib": ["es2022", "DOM", "DOM.Iterable"], + "target": "es2022", + "module": "ESNext", + "moduleResolution": "node", + "allowJs": true, + "checkJs": false, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": false, + "jsx": "react-jsx", + "sourceMap": true, + + // Checks and strictness + "strict": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + // "exactOptionalPropertyTypes": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + // "noPropertyAccessFromIndexSignature": true, + // "noUncheckedIndexedAccess": true, + // "noUnusedLocals": true, + // "noUnusedParameters": true, + + "incremental": true, + "declaration": true + } +} diff --git a/web-ide-main/tsconfig.json b/web-ide-main/tsconfig.json new file mode 100644 index 0000000..bf9e623 --- /dev/null +++ b/web-ide-main/tsconfig.json @@ -0,0 +1,12 @@ +{ + "references": [ + { "path": "./projects/tsconfig.json" }, + { "path": "./runner/tsconfig.json" }, + { "path": "./simulator/tsconfig.json" }, + { "path": "./cli/tsconfig.json" }, + { "path": "./components/tsconfig.json" }, + { "path": "./extension/tsconfig.json" }, + { "path": "./web/tsconfig.json" } + ], + "files": [] +} diff --git a/web-ide-main/web/.gitignore b/web-ide-main/web/.gitignore new file mode 100644 index 0000000..4a01248 --- /dev/null +++ b/web-ide-main/web/.gitignore @@ -0,0 +1 @@ +web-ide diff --git a/web-ide-main/web/package.json b/web-ide-main/web/package.json new file mode 100644 index 0000000..80cfe08 --- /dev/null +++ b/web-ide-main/web/package.json @@ -0,0 +1,107 @@ +{ + "name": "@nand2tetris/web", + "version": "0.0.0", + "private": true, + "description": "", + "author": "David Souther ", + "license": "ISC", + "homepage": "https://nand2tetris.github.io/web-ide", + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@davidsouther/jiffies": "^2.2.5", + "@lingui/cli": "^4.11.1", + "@lingui/macro": "^4.11.1", + "@lingui/react": "^4.11.1", + "@monaco-editor/react": "^4.6.0", + "@nand2tetris/components": "file:../components", + "@nand2tetris/projects": "file:../projects", + "@nand2tetris/simulator": "file:../simulator", + "@rollup/plugin-node-resolve": "^15.2.3", + "@testing-library/jest-dom": "^6.4.5", + "@testing-library/react": "^16.0.0", + "@testing-library/user-event": "^14.5.2", + "@types/error-cause": "^1.0.4", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.2", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@types/vscode": "^1.89.0", + "@vscode/vsce": "^2.27.0", + "gh-pages": "^6.1.1", + "immer": "^10.1.1", + "jszip": "^3.10.1", + "make-plural": "^7.4.0", + "ohm-js": "^17.1.0", + "raw-loader": "^4.0.2", + "raw.macro": "^0.5.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-ga4": "^2.1.0", + "react-markdown": "^9.0.1", + "react-router-dom": "^6.23.1", + "react-scripts": "^5.0.1", + "remark-gfm": "^4.0.0", + "rxjs": "^7.8.1", + "sass": "^1.77.4", + "source-map-explorer": "^2.5.3", + "web-vitals": "^2.1.4" + }, + "scripts": { + "analyze": "source-map-explorer 'build/static/js/*.js'", + "preanalyze": "npm run map-build", + "start": "react-scripts start", + "build": "cross-env GENERATE_SOURCEMAP=false react-scripts build", + "map-build": "react-scripts build", + "postbuild": "node ./scripts/predeploy.js", + "preserve-pwa": "npm run build ; ln -s build web-ide", + "serve-pwa": "python3 -m http.server", + "test": "react-scripts test", + "prebuild": "npm run extract && npm run lingui", + "extract": "lingui extract", + "lingui": "lingui compile --namespace es", + "predeploy": "npm run build", + "deploy": "gh-pages -d build" + }, + "browserslist": { + "production": [ + ">1%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "lingui": { + "locales": [ + "en", + "en-PL" + ], + "sourceLocale": "en", + "pseudoLocale": "en-PL", + "fallbackLocales": { + "en-PL": "en" + }, + "catalogs": [ + { + "path": "src/locales/{locale}/messages", + "include": [ + "src", + "public" + ] + } + ], + "format": "po" + }, + "jest": { + "moduleNameMapper": { + "^@nand2tetris/([^/]+)/(.*)": "/../node_modules/@nand2tetris/$1/build/$2", + "\\.css$": "identity-obj-proxy" + }, + "transformIgnorePatterns": [ + "node_modules/(?!@davidsouther)" + ] + } +} diff --git a/web-ide-main/web/public/.gitignore b/web-ide-main/web/public/.gitignore new file mode 100644 index 0000000..1f619d0 --- /dev/null +++ b/web-ide-main/web/public/.gitignore @@ -0,0 +1 @@ +pico.css diff --git a/web-ide-main/web/public/favicon.svg b/web-ide-main/web/public/favicon.svg new file mode 100644 index 0000000..cee1b79 --- /dev/null +++ b/web-ide-main/web/public/favicon.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/web-ide-main/web/public/index.html b/web-ide-main/web/public/index.html new file mode 100644 index 0000000..60f8030 --- /dev/null +++ b/web-ide-main/web/public/index.html @@ -0,0 +1,24 @@ + + + + + NAND2Tetris + + + + + + + + + + + + +
+ + diff --git a/web-ide-main/web/public/jet_brains_mono.ttf b/web-ide-main/web/public/jet_brains_mono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..65e8bfe4850aafa57db6854d5ad7656ad2dd1057 GIT binary patch literal 112176 zcmd442Y6Lg);GTQJ}149-U%U{B!rur+%y8D10fXYgc?X7fsn)$I*6!mX zS)<1du={=MdNpXzfy=CMFtbNSYKCLT@!T6wd~Gzc{1iYhB1$rh1E-%UED+y=%YX%(^$Q*Hut{iCm1shp-iirn_And zhq~XvSne^#2Hf1-QrleTdgFDV_XfS&GyLLpkDE6k%J{{LtQUM{-prq2jcgZlrI^#7 z!31H9^A`?->hYiQe!bb;*o}sn>m){Gn?H=Wcf-tH1>ZBnI7M7OcxT6E=^s6G_NTlH zhs}+~dBk18RsBH+<}PDF%m6B$iN*8k+DM7|w(15>+9k3Or^PUS&p-cxT#4c+Qe(iEGzkE7{s}e^*ib+On+A6VTMTz8{yAIDu7kUdy#e-o8h+e zMR1q%6>wMa)o|DFYvHcrXd8YTzYXpt^jFUR$o~lU9)1tpZTwGgckuh+KFlA1`)B@V zxV!i+xV!n&a9`pt!F`3l3il9y8}4ELKHLxZhj2gUAHzMykHJ08KZW}l{|xRa{teuJ zag>Xn!?@x67yb+5f|`j7SAl*e+=V+_U*QioPz1sa7Qt{I77xRHN<785X*aW(Vdk2{ z;7&B_;4U`T%C`4ro2XBi)PB$NbRFg_iU;VhV7}bcVS^R013GN7G`2;DUC>Hvbl8=p zu*o{?%d%Ol3Zsd=(F3I{@ay1-zUj?8HQo;)#>TQHwvbh0Bn@Y6@Ece?o5LotTKMx= z9dHC~teLg4d^Q08tw?V{YBR8{EFDmfTv0~t=k=_WZk)UV< z^oPt^P_`piHPR;{)*`u3dJMCJmz`zc|56??9b96%ap}x85c!JHqc6>UISsn%b7{U# zsU^_A8RLS=uWE<%wMmF!<55?&D8X-Wh+$)pyNS&Q?He^ zoyTYn@n#;3{WI-gs7{@}C2=VPBQe7^I!=O0zZx^JCttM4k`8+>o~ zy~p=K-=}&Ry?lFx_gdELx?X#FectPAuV4L&{YLst_PfdNUH@MG75=OJf9Jo+|6c!x z{h#)K+5eFL2mUAhzx6*K;1&=N&^sVGpgmx9z*7P51o{O=1||k(1QrAi4ICTT9=I~_ zhQQkc?+<(;@GpS}0^be%IPmMhAA>}YPteeyu|d;=+JjaH-4*nwpofB94muR{LD0#d zv%!JEBZ3zOFA2Uj_~ziv!LJ0r6Cy%ryc$af(ZLp?)-L#Kw`7J7H+17R#IJFGeEzOemaZ-;#tb}GDIcvkq3@H@k|g+CJh zRRoKOiWnR*JL1lWZ4rATUXM5u@kzwj5kE$XNS{bYWMSlp$cd5FkqwcHBiBSe6ZvA~ z!N@P7Vxm%`vZIQkDx(%h-4V4l>Y=FJQTw9ajCwEX)2P$E&ECCwNAynUJ*)Tn-Wz*A z-TSY-5B7e)_m|QB(c#hY(IcX7ihd;endrUIuScJXJ`;Ve59<@qC!$YmpOijB`;6^# zYoFiudA84?KA*=JG2t-3Eb|rkC=${y#Sdq9qac$zQiCYr)C!R}+N*a?iIq9aP zJCgpGbYIf`q=QLEl0HrjNsdlVOfF8YNFJNKFu6T>W%6~&e@cER`N`zxl3z?d-7mRc zR=>i2mHj67tLfL=Z$-cB`)%y^e7}FCq@+}&+>r8m%Fn4$sS{G0QWvM*p8A*6m(z?i zue8*(nQ0r+UP}8Y?X&*={UiDh>A$l7y8gHIzq|hf{de{MYya2!|2@4|dPI6c`h@gl z>CdIVm40qO;();eS_a%d;5nO@t+R3j&t>{%MrD>{&dIzxb8qJHte~u+S!1&1X6?=TSJsaXS4XfT z+L7cK>X_@e*YTm_8^?w0UfF%K)3S52OS3Dpr)1Y=FU($=eRcMo*^gwunEhtYAR_6R6=aHP(bI#`m=H}$q=I+S-YwqW{|IQnbH!yER-n6{Bytcg6 zdAH_m%X>6GJiju3a(-?8mH8|4x8@(rKbn6s|Lj1=z_Nk62JS8JE@&@!Vvra#X3!IZ z#o$Fle1=pESvlmukiQQ(TiB~Gvv5dZO<`N%+QQok?=O6=@WsN{t^XpQqN1Xki#{rj zE}l`mws=?Z*^-cw;*t?1)g=o{+Do>U>?wJ>G^w0g;wIjizdm5*1x zQ29pX(aKYmKa4a-28@gu*?(mI$e|<0kDNWSdE}~*H;&vqa_7k1BVQW%&d5(k{y55g zRQRZ*QG-T}8r^!uuCX7D{b^k4xS8W_7iSs9}n7C!) z?ulvinKh+(%IYaMP1!u<;VB2EoSgFSD$lBfDtlE))!3?Jx9U{YuTz7k_M2KTb?npyQ?H%+$Emxg9-4Y~nlUYCTH>_)X+x(~O`AV$ z*|h7Y-9Bx{w0+Z#P5WlLIla&HwCRJVkC{Gedh_&^)9;wRbNX}B4^RJM`h^)GGg4*@ znlWxh!;CdEHqCf&#@}YVGvo6aKg{%+88I_sX35OSGwWuqoO#pC9W(dLJUH|8EZ13m zW;tdJoi%0Fm9ws$b?2;SXT3e^i|XFh<<(QFTdH4~?LRwh_Fc38HK%mWHFF-A^YolI z=Nz4Ly2hv(QZudQ;hIltzN_`BjjP>J`_tUQxr^rBJoo9jZ_WM3+>7%j%sW>1P(7~? zs?VukQh#gxAM1D5e>UHkpE|#I{=)e;&p)%kXF=wIX$!V2cyGbi4Q>r-4OcYW(6FoF z9}V9vj9r+%Fn{5Ug&P)bUijR?PZ$2X(Z6v(0 zqQXTlEc$fOw~KyS?6$b~;)KPSi>EAZUc74Y?-t*)_>sjgEIzdOizU65&GIL4m zlB<_&TJrFccb5Ef$*)TzmL@IDUOISb`O;BKCoY|_bneo|rHhuXTDo@WhNYX9-o5mt zr5`N)V(AadJeNf->%XjgS;MkBmTg=1{IWyKK3?|Sa?jtKzQ8xT@@`GVG7&JVs|UI@fXOo1W>|{JSFJhVz^cc3pXF70=*T z@tgTZelLHVALO6&ulV=;qKFikB1cRSd&KkN74fS0Nc>y;Xqbk#(aQ)hB8@mB*~m6> zjdo*|vEI1RxW%~Fc))nvc-45z_=o9jMwoGCzFA_9Hm6~~bgTK8`9<_~(RWAx6yp~Y z6cZ5>9TOW9ACnkki^+`1k1365j#(PBEarxohhrYay7kw-fqg^z#`aC``}@A1$Ff)> z)+5$CHXt@QHX=4UHZC?HHaRvmHYc_qc6e-cY;ElIaV~LTaS3s4aTgL+C#*}jJ>i~& zdlMc?cqQSrgf|l2O89%iR|)@0yf-O0>B^)pl738`d~DmXCof#Y>6@V*VzB4UXIpX3 zqk7oNALDQGll)8m9X~I^gk9Fdv#5vtsE7AtJut(yqaG4uJ+z@7u0=g;Fm5&eWISm6 z*?0~0z)fE>(u_9;nx*Cy<_z-|^HK9u^lH?@R@6gaOjt}*OpLAvdrY3Jhc?v1>X?T* z>LFOx!!5ENM67$PS8OlTLzu3IBwY`~VrRwH#IA`Gx*mQ>Umfb!q$Wb6P}Ru za4_L;!sn=mt*D2_q*F=XqaL;%dz|V)Y(dYEHwL&NImi2;Ub_8Vc=N)oplQL0b{>*W zvCoKr+ju%pcKg~4!(C`5F>&IYtnsPpd=$U9zfocb#Mj>jDj zJO1#en~tY`a`uzwKY9N6oKLnLH;=o1^8F`YAK!!Y?Z>w<_KD}QlZu|PW4O&Z_T;fU zjy-kkp<@pmyZ_h@D+T!Hk3D*97{xzo2ef{4)kllrkN;>C+|rKYG zScLS|G99k59EbcEuae^!e5p~9ITn#UP)Ii_MRXUKOAQ85|z?F>^$+%JZRxuRS=Dn2m&CgzDs zF;bL?ePW=PDDuTHQ6L6kB&+FWkX| zVs^^JxXk5+yo^uA?aK_@z0`?O#%nmk9TYo7A#N+46px6fjMt49&EdvNyg|$sZ;469 z%jP)a74e2h7X!>n@xHN7l$hg1f4)%65xE%Cd7>CMM*{Z-p|~pyVPPy9C*MTY5A))1 zR>I0~x{Sr`(R?-wC)LHQPP~M3=51^PyM^7#cCuxBFix6JvA?j_*o*8{_BwkTW8!`G zAv?}4uygEZ_6z$vZjfSm7?0osc#L?N_s3bZoDbu}`7CbdvoSZng4uaD3&!0@6nl&H zVeeozdYARa2{w)$!EM|>SQh)7C9$KJqdsL0jJsrg4p316uIBVf4YzeoqmE6Iu;yG9;vf0%`^|~%rFO-W6TQ7p%cup=14Qkbl^^^ zz#N1%CKGp5gE7Nqn|WrNxrm<<_wg? z{9C?=Z^3+aJ8tJT@jLll{8r5VzvnCXTHF*g@+REuUCG;Uv$vQp;Y;~4-0oeE*>63+ zf&Y%*h_&JtzJcGtH}gN>Hg7A|&u#oZ+~w`$5AX;1L%7d-hCj=n<9qn?{4abj{~P}+ z-_Kv?Z}9uEzWj;5jGMhz_yPVZ--mmN*Z3p+Y5oFl<=b&Xc#z-C-(vUSu5lZ$V%zyN z=FeVYfownXVlQCD+RJ>|-*9uh4>w?c#hv=oSkIqjZn*n!XV2kQ^cmbYonV=`1Ifny zW(xZVH*WvLUDYw%xO~D=*~hqVxyXjGUs*lx%NFoBHit*DTHc$@<&=KmVpZ7<{r ztcfSFW}eKhr^PAprT7}F>hsuX{8gO5eazp* z)8dGDQG6nHi+_kW#b2=hcuu@7UK5{+&%|EwH}Ow#%y`FmTbwnH8h^*_%zMWB#&yO_ z%&-l{?~Gck!gGyvn6+;(=3q@8XN<%wevNU3F~XRR)%js#hp_{>%8fnPGn5$G!=JL8;ojWzPNxLi3|2;h9L}&8!a~@&AmFt6&J>X zr%62jGp@%4;`7^XkFt`b4$77KbnOFHsV`rO&YJn3(0H69&i^-Et6aZbBGs3Eo91$< zm-a(EJv~d~?*9eX8_zAFp>#dIrjhmAE>WVS|5scOdB*u~xyMkaM?L;i?qRAE4<}dG z&p{gF9+$cYs7^ES<9z)0)FS4I^N`zK&WhV^yXjiRA zhLSh<|(JHoPDR9vz1F2cD)Q2%G6ltR!aOy%FBM19Ilr5fs%5d4EK|+O}ZJ< zy;@SnO1BVpBCw+%dUmhG)JfMSIlw-LQY9ushBFWrxK$u)4tm}@4L(_OR7q=&Hry;+ zhZ8wjbF7xu94||2j@P9%$4And)*O5^S#$6)WX-|Hk~Ie(Pu3jB0c#FkMb;dADp_;zX=KfT{IKT0i5}J*c+L!K z4nBvhIe0BubMSd&&B5!)nuFJqH3y`@nu9lxH3v?au;#!y6V@C!XTq8TC(UE{Uq;p( z&;ZsPd?i_PKo3}RKnqxNKnqxN@EgdQgRduR4*ol`=HNGyH3z?mtU36tWX-`hk~Igv zjjTEN?WjwJdjJIjb$Z?@ZsB|OVI2cuXD$K8z62kF6M&C(*uq`j=g8BYU#D(8>(D8y zXTF^K%HC5U-8AJwBYv?>_C;UmR!BDuu3)CLZ(+DgC}%Fxz9mT7wz8BsDklt1~e#@T#I%gZE(x|1?f*NO_1?0pPd#3h4!F(~FB-}fZDJFdIT$B^$?0OhB8rn#%p38>80-06+517Pv6+RB=jtU1|gFRDM1 zZ>qI7pu-Ky)o7<-sA+2 zBYX`2zN}-)L;Oh>@<~6Me@I3tfN)m3QoULFl1v)Eq$|}W=|XfCE%757YJbwj($Vs* zdLo~A5T3#$mt+z@D^5Q34NEVgC*6qF((_h?{{XlXunw>ha09@?Z_+p`{$J6N%xDb} z@ZSf}cqjis0M*kc8m@;=V~Emr0jN$1C{BHU1nz;u0ZR~m7C>t|m4V<*0O>~g$*1sMlYAMHoCR|AIg8 zC4lF|0#N;j012d*N-wUj?A{_-<)2n56;{RGOp z5&+tcHlliyfZZ+mG^VJ|QUTUngZwg$>W}J_<{PW+sPA3`P+uUN)!&MAoNxq`mvGcZ z)P6MplG76qods5ZCLRSENKcYWECKPe z!c;zr!xtGG=S(a6I`wy* z*V(5$6z`JPDQ=~8_{7HoYELUnKH?X@RzP?wOuj{D;hfW*!;S8K61>Dw zzwDN$dww|w6Akf5=$Zb%;$i90-6x)evwSOE&c`HAr}sz`uF^a7()7;y%e3F%Vae;s z?_Rf3hi-Lc<&)*Vj2ve^-F558PrA=QUHkw)2tex}jVBt5H2y~FIN@kaQJ=wFE9U{4 zM+j&RvBo`(Q)}E`fv_HnmONRO?}2yKbTrP<2Y>xLfadWR)tq?YeuUpa7<0IUPcbKM z7n6Ucxf=fYBfvY;V9vV`gFMjZ*Q4;aDzN5l=kE#&U-O~7R+!ea3qw2Ozo34k zOz;tSPcRs7(l{-B31mAC`xefX@K9<%X3Fg9QuYe}NBs zC<(Z^g$)j45ZhBeM3((1_{Z^b;y zZh<{c0_>4~g{4LftaE~31@r|E<{_{Es)c1#7(2kjag!OzqhPo38Z7You-ADE?+c5g zI9M^I@OXBPC%`%{3HBSQydUg&(%2ig_a%F)pJ8qD7VMGIaVKhH{dopU=XN$gT3b0_ z>2nsxW%0Zo1b@iF)!hzu+1vxL#16)1s}m~ zg?-3l>~Ywid;{wx2Oo)h)zK^))*>g^FZ>GJsg8r4P!6Af_i`q2oPOA0K85|A)xp-~ z2yRxV;Z~OHyk_AxbvEu&YjBe~7q&t9xJ#|W9qN483l*@hU`g~GZc!I1TOBrtU&&7L z7T7-3!-|INb`~ki9oV;!?am6^qppJ0(N%0dZgj8aYw&*7LRfuXBQ3oypvjtWyLugL zroMy)5XTs3CVL;)LEQkGAF}wl3ARxi_|33|xkcIv-G&?0;jDt+!G6*fM8Aji73_iV z#@Ih#&$NXtVvBJ|At=uXEqKNVdL2ZX;1VL zEWBREcsUQ7qgP;`bpY00ufoa*_D8VHTgBhRo%z-LAS}DylK0T>@ON<&{dazZ|AW7W z8|kC4-m8+g(jVas!>PD?|C;}k?ZM6TC-P?c1Z>4VW1sVr?2oYa`W!dZ%I4~8vbrLh zE7(_^<^P5a?f3i#{v+BVt5f5i8=Vbr7G^xGVJ3=6*zZljJ7ZH}&oo_-Mbj+UHq91uL=D~}n+qGsI#Dm?iv^-VEEJ8R zNi>TqMT=+^ZK7Q)5{tzWu@pPqWn#HlAy$f2;wrIPTrJj!Ys9tUIK1%}|6M;L74$i^~C+#+rj8^vwnc5#Q;B<>Vd2aCWTU^UhYwuI5_Az0=73D%6;V5xXL?8jWicGx}+5%-B5uqgA! zQ_2X&w0Ic|4fW?^$R`f?;ANrVh zT>M!)0SnAsc*3w7mRrw=XT=`aYdsIUtruX?MfO_zV9oWCco`O>ufS&XRakPpF5ZA; z*Fo569ujYhcf`BmFzmjLz~1XU@xC}JJ`f+m;{0Q>^nxAOaaewx5TA*YupB!D+p#aj zSImIb*f+2r`xmO%4#L9pzRwk^o9I(d9fsIxkY_bNz{%a8I#D>5EtOzz@B}OTG z7M5Yu~ovRZ4@ld#=xp=EG*o{!{TfrEXyXt+N=szVbfsgHUk!MvtS!G z8&+^Nu!@@ti?KRbyv>L8TLUc98e#3$4C}TQSg^IhmTeKN*OtKAjBL$Tz}9RPY}Z!9 z(rgWE=dOi)-CEe1t%FV7df3?A2rIM=u!Xw?_H-Lz19v;@=r+Ml?k?EEZH8ss7TCev z4coS@u#4LUd%EqgvD*QgxSg=6dk}VZ55vOkQP{ve4x6_pU^ll5_IJBsdG`!#-uA#A z?s?-c#tX(@jlIU-jD5z7#!JS_#(v`!;{e_-cny}mZy0YH2l1xCA>(aW0={b;mUe*u zkd}Z)jSq|ujgO3vjei=)@aE=m<5S~=@fqxCJ@Bk>E#4DdkA2QH#!2II*e9Q2Ym8HD zpYet9rSX;VwegK{+W41o#`xAaYy8{z&iLN=!T8ZQXZ&RRZ2V%JH-0rP7#CsW#!X=w zrfIsEuBMymZhDxWrWf9O@PWmDFVoNTHv`N-Sa}D-&N~#A-r=zIjx?jp-e$Df$BZ%i znz498BHm0e6U`*NTiVY|F;mSnv%i@RTUQ$_UhS}KB|Fz_GY8M7@?hyYP+GhWHiwvn zW|3Kpw<}7`GPB$qY7WDDsTJl3vl6zkqwvnf7+A`VHOJvy)d_g2HOZW8PBE*@sdyJ- zI^IHjJaE zTxd3$O=h!srP*S(!qT?gT!d$3OU$L_GIP1P!dz*tGOsdMn^&7_%xlbR&Fjpy=Jn<} z^9FOh`8)GQ^CokHc{ARCxYgWf-e%rz-eGPs?=Xk*`F@b-top9WTl#IvNPsjYg>oZ7}V*U~xFpoZ7dRNdxUCUtc!lSsw7 zSgTy3MVDw%C0gZ@EYGqIb~=mJuDHmpOlwo7wUM<@EK6g{D9>^oDkXUh?Np9f*fQ*P z&!HV$&0({vTfByK(zp(Hs?!o(2PL^~!?m>GN}B8Nw)%#eTCa-EoQiv9wri!V71zp+ zlG-vdi_J>NbRDIVMmZ&AIgGN#d9I_K#FpxMDAk26)%8)To2=BTFWqz{WiF%ZnpzrF z6_skG%dA|Qs#Mo@nayW(U3=ra>X!C}4b|;!ZliV4WbKp{d5vyusBW!OnvT_;lfsT{ z*Krc-HLhFX?HO9(JSobSky~z#NBz2vcgmhE)w0<$id-i+mAOoptt{JRLT6dZG{bUT zBV|_EbeYP^d?s`$%LHAP396Y~CbZO}awo{fa-F2qp46$f$E2G2+LqeZ`c~IT^IEDG z)p||oOjOm0o-{=!>8PxGn>|z4Zh5Y2m1OH#)zPV3tDOo~RIV}>=V(7e`2RGVC3?;4)K1la zJ=1eu2Y0iM24-C+jcdKs*Q1_3Ez>Z5>io?E?^U$2K~y=-;K+n$-@HNTUW zl9!p|y#XtzqBM{c_ux$SD?E>_Ae?o`%eamUDAtVZtA z&P3HU(AAbYk6c;f7`eJm%kx~9Nw%KLI(nV#7+D!|wy|YpNZsM9DJv^ORX~FruCyVlFD^{{Kb>~eMmKdq0=;;-e~wSIQ3m(8NH^tQ@t$V5Mt4GPPa~3$OLb z)cRy%ay71&eVEmY5lUaoGe|AEK5I4pQZK6(t2fSJ+ic3 zSz4bgt&hXvujOZH{j#)PdM?d!SbAIKwd81h9h$#G%X4Ts4$UXa(of5CSnZ(WWqB?| z4b64cW^rv>wad`zg$t|Y0LjeDaw}_Yt;alJRw2nKL-P1Kgv{aC{ke>&Zf>r|HfZ7O znrbn!U5siMlk2g~sHfed7*lVIt!r`_S3hrIwK2ZB-ED$mWsIq-H%b6wTI-dVqC8J2 zzpbgUsnuIclo5AGlmQPCsM0lm712Cp#B=n*+IgCY$gPQ^mnO2}N+>4cYFX&nD38lL zDzr;YZ9`kNTdgkgG9(z3*d~iyPeooJi`*cKtoRg{h{krYq~5JbmD^~kYtj<314UK*^1S0uobIrX)D(Jax}jj%`Zpu%hCLDG{2lYUmQ~~w_}CJ*XwFqBAaVl>YHll zaDq)=joe6-6pc@xQ{7q{(sLS>*q);_vgc&W0fV?IX->8pC^ofMv)eLk0d-5UIcS`z zy!3|pdDY=vP|hh4T~n|ZsfJ=QQ!kx_HCV<2b=;XIvMX+;bDEz{Yp88)l?;NN5HmZl zAsSnaZGhS?N#cOn*fZ2N)Xr_2X(#-q|H)HdnXM7@n*8lXD7nBH2-8o=B%WPMuCkc1m+9niJNk62qL( zUCJEcl+YQJ0unmoPTkolD5-4!6;<~P!A==E>)Bb4_D0NYt#g`MYNdpDrwpA*-Rdw< zR&+-r$&7vq*C`~#3E|Xl0u0j@shbifp1}ED@KNmCH%nZYwS~YjDsp%i3Gy!VHYuH`#4! zA8N-@NV2!9^MKv1_Se8W+#q5hmJu&hR{f&thT6tC_-xOTdUXEAw)*M@l~3*G>~>p; zr_zeDcp%u?KD)KHO%dffJR6$k)z7J>Q>cdyHnmWq%~q_IIJ?@xV`-E-J}8po-BL^U zZHkkx6~W}z!5F8F*7}9@4b?5)%{a0mMM`yVZJ$%uR#)BTYhhI;4+vZYA}C+o($ciJ zy;8^`|zQielsC>(l2;mFN#(W%W&RM@Q2BJRjl z?e54`i?}1V)U9Ez6J4&{6@yOIu>;$YmNuvKJf)>0Pig7M(^}@K?S>;y^%h5-&Y!3G z<;h(%w+M3x-OH{dw)Mmv|r1er4NOp&A1&1Cy4s~J&Uen>k-quoIJx_N82QHRn zT(_b_-PYP2dRyjD7hH(za^mtx(zmoJzhSP@2RB8kgt|V9b^8?SdQ`Wl#s)Qg%nSF1b48*c}ed&!M)Zj%?j74y~6uHGxjoOSY~_b-e+8Rz9ttIz@qA zZ9g6ARBCsqTLHU6ovQ5)o9!VKbpx6B=+tS~Xuj?U8 z(`RXZIl3OzX&Cxw{nRNQ`sniM?XW{lg}__#b$&gkIBZ&;Ixc*Rh@D{ul2QSyq?t^>h=ZoV)4`UpQGv2?FG`cUi!G<(6g6A-FAS#uD=|s zT$+!%^+EmVxVr5?`89uaOM`SvU)`V8EeYs!T-`n(uG>}JUZB2oJE>a+)R!Jd>NW%Y z)=JmqQ@0;z56xHILP5UOe>Gm+N?R(42SE&`bIpTa&4`h z)6`faXPpc^N-{FCJ?K=h5GO8`l4;9yscUL)t(A0{T6(5#z07h|ip+A=O2xW#ndM5m z%yO-b8bvmHx$Kqja{{W{y6;-Tsu$9tiv@pXM@a5;VmqRp37sKH64Xi3xl`*!yC!v( zlSHAN@h*ptK@ybPwn7krFDvlvQXW8$n*_HAg1WE%b(5aymuTC{2FI51E z?8vSNyWNsSNt#Y%mul(LJ+YHcN>SC;c?4F)RU_NE93h?goO^YE6S`Vmi-bC%oH;}| z;X8v;iP+9Kt^%wpz%J!b^3|g?r&*E~Nt<4J;ma+6&91F4?6A(DbUPl(N?+gPX6gq) znYJ7c`Cx8N)56&v@);b36i-{Rm*j0LNw02b(>S@cvt{ZBWtsW`Q>LxRLp~pL%AMs? z*VMG2dUn$yEczWh<(9&hsUPHJW)yqlT6lJCL(}3;BK?#sQ$HQc)KAMY^;5D;wGXpp zX6AY;1#{)av5w@(h;K)+RJ5aP&ZNc85xaAw#5t1f94V3!-;UBcr)9}VK$mhmr%xiF?yP}b6;PGdu8QtsJ!O!Yd^?_^%BZKT3Kf*qAcOwS&wM4OSLb6} zMJ%5GJDjR($!zpZY3g zWwv6CFV=YVWCi$4W89b$hHr-8b1ryS($wFsTcW>RH-otsRh7lCMm#OSuUC|eh1)oy zs0!}L(Umc*c(fzn(3CT|E6lN;~Y(SFlxVHQtxF7IwpAH+eI@eR?~)6E?D2*gdc*-hnTn zK8Ro4cntQ!yJ1nxW_h{|`xNW(!b1vkZ$Z5-|%BjpgkiC1z zmh7l(Pe-$3c1~s1*{l;emGB$0#%GDlQ<YkAX1fKy zcTi_D2Yfl;t^w-@tQg>({&QJG`ug-GWfA>9?*B&ry8cyV5o!CX?)ZDPO0oOIeoEkP?*Q+V5Pyb^R#Z&@UwUeDaOSjY$`hzD{XKs!A#(trMS5 zd=T#B#BzLldS69F!kC2Yii-Gm;`hc+i?4_~9JjxsBCaK_X2=%&7R4dd(3aR$vCXlw z`(Eh#b>Gc>SNBct8x`|X%9etBY=qo>3Oj`*iOQ zhnT$^dRGlGqh5>JT^12#kBTXah5n@f#q=Ls~*+4Kahy1b+;-F?dYSv7mkUosq1-mjZVL#s>O@ zo(p(5U}HdRfP3gU|K0xE{m1$j`knSW?6<;iHh%TwaIZDJ>UxFvp7*`cx6wDsSNJ^c zv&kpX$K89k_ZIx>ip^`U*EX*)UfG@}JYVx%;yJ_9+vBXqW{=e#=^jDukGpSjFLh6G zd(Z6!w+6SduE$+pa&2*)>~cGPU51&@!)|vL?4-BBF1r90A zGDRNjZgpCe-tB3ENM6L^~tgiH(ChFu-$D4EFZ5&A;LE`S@$F!X zf0&^+c!R8XUS>|H64ksR~B*jWeu|iTTmlV(**4X*5rN-}oS>@x)SkmR~ ztp6L<)a~6Zr*-{D>H3dHed0^uBoW_GrWJrHB7(Gg*W72mEDdvov$+2 z;_ZeG{qV+5KlURx|HC>8wCxZ0rx_f5L4Hd~pmvIx8!XeySpclk$FX48isP4|U@N`~ z?_5y7GO>Cr!W&$^vIkKa3U%4$q9i8bPl9J7-kW+7?8YQ10469iXXeLG9Y{ z1*c+s!HJ~$NvVNSYP6KvN7Wd<=Pl5avt^x;BmpaWY!zTbk6$;_G_gokwMyJY2lqk@ zK#UvuIyvPBP`~!XNNP7XPzv56x4YI!m~RT3 z3!4#!tfI3Dr0nkH!Y@doT*JhHo@5R7W<2wx`z+R>^s!l!Z1Pv_Z=v49Pmd#Gn;}R%ls=fgzA5 z8%asBxDhdd_d|QE#VhrYlv|MF@bkPd#vSwYrr3E3$`Uvi*&?k zp0h9{Zw3>#A8go%5XHbz3T!78m6NO>UCaA=uH}K4y9S0x&PBv&@IJ)VZWNtNmo1Em z{ImIIwJh|)fq?wuU1X_R4%W4dl3lKr^IrqE?Ka3oF@{K)&^{ltmJKbeabj@(;Cx_$ zlnhCSr2Gxc$gi_ubF6g9UjZC;s`(QKT(Wwa8;ozjPvDK+9&0%dZ7=}s3$}wui$Mnv z-=^ge1_^m@Ffrhk0kkgE%rXg<4x`ZKF zPcV@;D{mIU&?XPPP(s&PSJiTWu4R<$a6_CxYhBPk@=S1h-R|H#`eGl|(nJ0t5qpR#eD~(&6_<1m08K(31?eov5{+rHo7|1G8rODJ_FA zBm<|g^do2iSt_?SU;yd+on_!_3##~8Qy z+ksi7_;bQR3)jueaNV3XKW#o@$mzOHf^c1zHu(}wHi%}a$;1v#y6ye?W3_Otlrqz# z9yY}DwM4=|Vt<@vU6WJktf1oa5f5_>lX2d^3KRfWJ!gU!+S7$j#T(2xS$QO&w^iW%I+St`ATbpU%R@T zHrbf1GV@awNy!PMO)gqJGZC^e!Xc7y0ylT)^C_dWHiSb`_9AB3FQnwBP^%(mc8vsK z|2if4Qf<&?q2OrHFVS62o2*6Hb3B|KFD1tj&m4?S`(5CR@c@y86FDbyPNEggYi$UJ zq^x{s)9g6qIHk17!Z-s6`wRz-UE~I!|LEP?2GbRBYN^X=lX;4Xln))7q~yL*n+DXv z0mxp{ffG6S$xL7xl?+aFkd*l_Gg7uXsvK2_p&Xf;C5V&_j$w)t9H33qA?nS>xt{w< z#ul{B+|0RBS~T&={t|q~Du5We9T4~})+4|S)*28Uk}_s7BQu5ml?EADodF^;?7$ zB`FDWPrn#YrKz|*3UTxx__8(d6Wo{@5cj6M60DvPi+)OTtU+sX$K2NKmLlUI)|KX@ zLa9@z)Cp~Zm4+v!b>M_!uwyVVy0$sdL0ZN}X7H>ed^kbrlCc`N)!-MKNINr28;-BP z@9m7?n@8%5?TV)y-RcM5JK_=;egO^jleHi5Ly8x^ydu}Vks6@LI9tYfJVqNq;#kE6 zyipUqad&|)c_=+DIcdh<%|!g&i7`?SFVe&QIJjU0CVER8-Hi+T7W)=xL+dZ;OE`G( zvzZY;JK;pa2`zsNaAUx4Ou{?P8ic zg*3=`7_utBYpuj#HDw~>t_-X%aV?53Cmd-o11oK8+zj}Pa>i9k5NUo0IcX5KS8DKM z&l;qD2%W>?!lX3JDbOGVd`tykL(f`8Mo0#FXe_lpX-ahPQnxZA_Cxwt8l-Lj4&x^F zwb<9XXfRl6@V(Tahy76MWF}H4$IAYXudzV~8+vDIDI~5YdHB6Y=wRDu+XxKxeG5lA zV0KT9ik%!gS?k~l9QL89p0VW$)Bk6zi080Qo{P=Wc~$Q`&2Zz3FUMHpWCg3ktS}hg zf7AQ4wDnja_onRaOLGsy?@f|s=$k1Ig4=_APfF~0(rv&G1AYJ=CFqM$plQW`V*`!> zvqwv%{LnZpiY75@yq;6FMFi)iJ(^?P?TBJV8jD9ClAB8V0r@hP^1!V`qv}$Jc11Vc;d_S9~Q4wUho{`g_0>YQBUc4Y0$GjY-AN%p-=J zsTgGd5$g-rNrR-XW$*c^XASyc45zGuOB(!JYA_#l0O*Ht4BT0%!Nl~5j3Q%i<6JRml`Bv3>)iFP2JsM`^Iu9v zx{31RqeH+F#djUh$zQKpVi`CId_}Ft+kVXXJUL6s`bKiP7V%gui!k7qFpP<0zhplp zD*>}QK{BE;AN6|9XTxfN%5uqkjIRm`JnOHNwDrj0I1nJmm%xes-u=5F^ea7!@@}yx>=I6vM?JmT# zH6OxId9ZpU#YfLVSj92#Bn2e}$vB5qg#@{SA>C!!u`hX3a#gX(_;yLlTpj?(r5rg?vT(9StZvCfkG~;n78#o>(NvT->Fz>6@ zA`C(?KVyDwi)%v|6fqd<1aUQpcgT?E?hRr+FhUgd+<#)Q=Se{CL%w5D7D}0LTyr4| z$wD0_97;HZFv&t45+v+JyhD~7MyOb)%j1Iivdhzy81$Y9RiclHN6N>DTO}e4Nl9iR zqAfw4;3zwkGLh3_cnB|x~7Mg>x1!2fSeyn>9Y`jUi0}t zN$-QXyU&AgrL;bqL7~7&TJJTm@ge>_tW~||V_!2LE=hTxr1bll@!ptS2!MMJIMMH9 zKdcVDixDT>Ka}j=xW(w5PXE9mXK&0}0MR=NuEZpb0tS1W-k!ZZBiHHNvbRQ^#;Qa* zxda~QTIW&k;fMo3+TW!<&@F1e&U;u%j@pHD+%C9MO4N2xC~zuuQaLP|RH-l7zbB<* z1Okx%9Vx>VanhMEZz~x|7~4sn)|nykTI}OcGXRna%ET|RWBd}X)FJUGFbX<#!1G_s z4_{uccO~v*JkBO%zC~IjuSPtYcmoJSQgHVY=N;!QrBJ*LE6VwZTp8zyHNXI3zb0A< zSmOfIA@!5XO0_c{xkOUGDW!TMK3C@_3`y~2B655a)(Pr^7)*orbFOWbR~iKInIi+~Bz{0RrG5|%I{ zVM)RgS|%uG!dwYP!rZ>6`<~XcQkQ@<)WFG(8t8VGOu)%C!4?4t$a6sIfc8&7?~Rx( zaj%dLiDz*-|qLhSE#-j&>{vdJtfD?)CiI|~6t=W@sBp>58-ZS)I=s~4HYz5nuoAmUDj()`m=a=9vgu6u%Y59W$BY<}1MXxvU_#O;jR8H&9C^6w>{2`j*JBcyB$ zRrAkZNyCJ>)YfrG3oVqiF92)6It>57rD*Adg&uKZm>D-FZcJ!UDD@!Hv_OIpR}fb~ zKMvQatBE}Z?qXJ|xv0BsM9^JK1l`q#`ZU8=QmGw2WIPCSK_9dSaL)lJ;t#|h0LB_a zgoA{jY0Lm=4i=%VYT+qxLI8gkX{?P=l`w;ypDmZTYBNa8eT>leI1%A+{;W8p9}m2n=3QV@jc zGZ=EB4+h4w!k$|q5HnJsFIB5rWpU|>!nPIONyO#(2-2fRc7 zz(L!9y%I#gUW62-l+NbDCWrE=7`{(0b?G*Cv07RCsXr4poDDnoQ;#c&EatcNQ({o3 zlmNRxIV_n0@oY%XH6DPH6MzyY9Y`I|xc_;r{Ub`MKUO6FFQbkDD_g+-DB?%q%2NA7 zPYs=A7XFiE|6kKnN&Po79$h76K14G69z%SXmPr`!@yGpfbapiDW1Sk3yJiGFZGB( zj|T`p6KJ3V^#;YQSQ^ zG2(8`cPnrdU(bw)^%3j+_amk-ScfB)(7(j+DC}V(U?CSV7p~G0y%RfL5i!2&zBeMD z_wTudBI1z)fc$rpetp^y4?v7Cf7EgrI5PhNDFZ3txWfxS16RrnKL(5fl}q+LSF9yy zp&z7Fci5ya!zxt8Dp)>hCq(fL--*^ZAtn8RWJjMvoaPFWO&Em2u@Cdx>$ewS6~{iz z@A2?98RtUvh!P`6!6 zxWH)M50~hFFZIOQ=Z`iFJ1uc{0VkphqG?v8F;8@aLnv%NGyKw4)%it0;Jp~^(aStr{=R!N%Y%< z7TN??$y*Bw1ku(qw~QB0`;dsU3-*^HZ72X%m)<5qQ!E zI}qgm9cdH!JbLy!xQNFLr*R^3XCy|L&l)X*=pZc=H;v&B`ZW49B8HryUrG?+cllU) zt5Jcq6ko))ZZ$7?`W%XW9QeHO06)H2z;5_x{05L8O6z_HWWIC#sp84vepux zi0$Cx4GoGV?mCIXED@Zpxk^mPN$lKCG7)kzI7-TgMj<%!h8zy|4EF3IpL%YH?k#w} zD@REW&qhMf4nc27nb$~}QHbx+oCre_TCgkK371Mt@!7QN#okxeKnV6H1VQUM((w!+ zXi2E^&Q11Sm~M!E=Er z1Qm@soJU^zPS!E9puYggm!1;ojn|>W_Qg4h+D3wx&}3g=AgmXfI_~)kAxEPR7m# zZG^llr96~0&}wJ!~^y$csm9Ez$2#zS{5KY z*1>g_-iSL`n%6JWLp;#m2tct|YJm3lDAXKa1A#gj4@|lQDarph!qF0Rt$5(X;Nk13 zR$$0>#~p_I1^ zRbm1#H&F|?uaUCA-{U*y9ussoFei{sJq8@ysr0B__%iPC65;^&VigZOhxjhUomWnJ zwoGgHd_5CfGEaJ7hwQQ1?Sj;_MQVx>;(`9!gUO0}N(8j~F*=|0vfuw`=)+$*E%$K*xo^2(sAexd*zV2fB@S zLkojpyqa7|LvvB9V(w=~jE(;?)J9_SWE|G-gQq6Y$mo2wi3H==abWC3E( zRxnA3w}h zbdTnqIdkUB%-LqHw!SS|`4a~rX$kx(#Huj|LPD}WRPhjmYQ)N)^?KIp_>K~p6@V;9 zsprLgVj}KwWfAAJ+F1hil^$NjL9uQa7f|XNul-H7WHi^i%7&t1kDtS#?2~RepBP&N-z`PAGDf^vl$VV1# zwQ^Ly7aHZeneQ4z{}Tl9FS0hH_GU%_UpLgaL z>5tdDnbS834(|uf{rDvQoWm*X&F%%9e!~Um44`s$GyMV9t5QxFKxg`uI(=rd_`^L~ zoxYo2a%M68silRK!1_Wz8Tq`;bIi_`HJV!kYDMuZ17Z!S`<%Bfl3W>%+5wl8hSqEC4Clu zc8XI2xlF+vE-M;L%F4*X3?RRw)82a$$%$uPVMy=TOqW09cbaLuj^e1Xh zeGz3|)Jdr?;xonzmihy>n%8c`uH$XkvDORy%Nn(JQ;*^)TzFy~uiuLM8`bB>)tX>! zrCyr+ZC(#Br|!i4PJHrKClhTG{Nnd|KfYr&z{T%V-S{ppJj*dBs{VjwnntnY9*9&u z%6IW+)(~wOB;U;(gARE{ybn^)`?^y6@w!reg}%cTjmJr-cR`JXYK>8OSfs1W|uW!{YM~scAVOVMD zGhZ!z1xg=a2Y6|gv=`6gVq17wDv!~f6v6x8V(lPnqga))Xs@5)=Sr&9NlDeLm_OG~ zZApCqm~w$TiNpE;lTzpF^Zmh1O%U%WSRp=A1M)T_M4CunU zBilHxc!^9>CDQk461nU!YPwo?IsT|!Axix z7{evWA3-A`Dg-4=epTmLdM20QH^iH?p5kQ#RC_Y|MaGDu3(xzh_T=NqkS{r^_xVKa zGW>>k`xpMy+R;+^An+Z;XMF9G5^*|83;8V*aCb&5Uhcs2xbT~YQ!;}4N)?k^tuq(+ zbB*5slyg9ao`rX@5kAl^q5bL=t3TQg7XdT%gNS%6nn9(<@T-`!k@F0hrv8Y|*#rST z=??U1DgH!VG^gRx=Ij8zt8Gm9jphYiG$$oI0WIPQd{WsqUeiu!5g0{u0p~EjN4{`p&oUNi{a{8uucF z@N41%tPwD2+2k^;N(PcBD%SuQz8PQ<8V=AO?m(+yhF_9l2H#?|Nbs|hg>(a_U`f5f zP>UzU6Lo|M)*;iAg-Ep#glfas)xU~Qstfn}k8%HV{m=P5)7=cn+qixx?)Bfq_ut_9 zrh1Q&qNj`eON3RM3#2>L`L!FX4e`i`i0LjwB!}WP8$H^uC%Mw;YB+_1xQ~t}f)GU= zplFLGd8&Ns;U&PE-YQT+ltS;}&2WBx&u0`pdJi)T=b?;Mi7tI9?xS=v>0-PYG>J4zt;j7ih{Ur~P;_qcFAPONr@^$~B%2IP$O8M=wkP>9kp zUS}FGs25`E0=p<3r&w0^H9$4{xy2|y>1`7h{z{8Nq}t{4@< z8~LU>o>r+g=As!+u7)I3a0&`I1rqLszNEv-E##2a5B`-(XzR!Oi|c|6?g1uA8d|z8 z=_h#lF<#el!lXybwG$Eu0@@|WGTzRruGP|)0ii28*J<+v>e|oi3adIpA|iS>>n=q$ zU^qUiMLmR5mx#l;yv}lbk76ST>SPaL%{r)YxL1YJO14RZKA=Lc1awe?cB@d>4OoFP zI7gVI=8iB#m35`~6MfW+ns8~Qp5|1=w+M4RS|47Td!#+m=mWMK)XHS6e%gp52=)A1 z@lt^^q!?XGNW~kfR1BY`t{gns#p}wVx}9^G!nhvOpcN^mm_fegdpwt4PvkI-1_Yqn{yGcoBC9RdpFrE#;KqGx0 z!Y4s#j9&>!qfxzt*M{xHJh7Ahc==RdWb7Nb)}VjZ;FGX`54fY5l`+4#08Iu|#(TH% z2Uv7PNCFh~vK*XcmLvXfPgn_xZy=5%{D z7SKg&E-2G|j6bHkpX$YxASl2XlX20X;MnE(^>UOZi$atXwQs@tP0xwDajf6Ot3|U9 zmoXt{dZGgo5R)@8!n?^a9i06fLSQpfri*j^D<$FE8Gt?nN+H_2jPT*UDZkbMJ&n(Ndlw~qj7Gd`( z_p(~$aa=D-C+4ipk_+y47w}>%;SJm;z-i#KXWO&QHnTC?ZnIi#2?@sL$1ZwwedF&M zgWqe*$dcfpqKBV&f~CFYUz3`;#z!aQaSZY!k`;8Icl7Iumx6BKr|F5Zr*&4G`UGW_ zo*)eKHIh|+1W=UH@C1`$c<71CiSv9`RSmNn|Vkfmc<8*kBY zOrw8faNB{mrJq25FV~epEh)D;T3T^-eL{jMC)aK_Sr!WcJLT-OHVh<}7Z>Nd=l-%- zB%XCt7Il;@E37l+7P_BZBp@0UuWM9HYMi#pu~tukHVJzNbg=nO;JxSBB#mVzv&n8U zXWC6=4wA}DbMZ~=`bWO{)kl;MZ>VhjT$^-a`g;^4u(#0!prOXG52gfyC| z%_LV@z?+2}7otRnI++WGkS^XN9ccN)kXNP-W$m_snM@aPe{6|uP^d?U5BHmgZ znJulYs4mxJ2Kw>@Qzp2Ky6mW)H3m02926S>q7?eV0P7DJwW=xL%Pi^gbPv|;G#VhN2mJ3oWE=R>(G zoXzHTQ$d?G*t%>kO+4DOwY`07&*sg+fq~#==|t=0>e8G(QNuYc#xxGD(Yot`$(C zgwK_WX#jm%+3}BJcwf|@8{=xDnNnbwhRP+Og$^kd+|SSzE;UcabqM=W+!U#-jdjoB z$x(FH678EpjSO$JheKBSt-5-v{XNAVP>wOT@|5)3kq<_cAI8lwnA|>Xj&Wc%qiJrb zdFIx?FFDb4b$KHr-&{P`kX{m9*<<5aK*h?w7>ZGWRxXA@QaCh&<|S}jVA!IMm8HHF z(6y+O(agw;}RQB=U}QLOIUb=BzBNkmW>Ua0q2-yz|k{czN+elGLT7 zi>Fct2IfA9e-(>7f-3?_5-%_aJwQN-D*_6xfZFZzHAI&N#cu>9YU5}S+JS(Q#0v}? zvtngQ;staXR7=3?;O#w&#K*CK+2bYtZNZR*(jH}xMp>+FwAwRW-TX(qwoEa)>|$Xg zE@Q4|Y13=e?W0^P{cDwxipB#@dy8l&jc?@&I9)n9rbRz=<%&w1v}#(>QT% zT^4drEGwW_4OzJbhB%sd!;!xlRCJnlU&shu08l_I0 z%uGE%6A#rZ(;VP*SWG0tWu_dqSNR(#cq@D|tdt5m&|Y|1q!g6K`~)iVa&z-qTb)i4 z_!h6^l+ALnY|0!wFqoXBH)JIB9vDwZO4c8ky3ml6m>`{ax73%J=_~sy2GFwF-4~o& zsocWOvu)kCw@LXIaWiU9pnrfpyIyjD7T}ajnURBkkPPzLgTI&bGN}1de&4DJcE_Am z+OxcGl||VCZt$l$kJbqual2qKRLm2R`3$mLz#~z%i}yifevsQU1ySvVSB(Lvl0pi> z`vHgdG>BL$2(nLjXGc6O(k4L$Nc(Mm-$(^pIp=VVH)>RoB#N3y5=m3~2>QmGy38}R zHc~rm(AP-m5ZW874NlqZQ$g|R^7&jHe!r%(HBSbV?*yirS9N+>Kk04CBi>Gu16~K` z2h|xro9g1AvDq{p8l5*klEgYJFo<<{9IGG7!WKd)v`hRZW(2BJtiu8-)?tE*byz^J z(&lO%Uxx)$tiyt8;+KGmS&7%lXK(=(*2&@)iup%CY5oyqG5>nFI|HFU(U(M9%yeov_v;Zmjtpi2EsKhbC*PQ(Iq=X?T;+Z`JJLa__(B& zfi6%hps|+4mmU92v`4dKYMCf2bP3Ti;+TL=alM0}8FBrLaiGZr&BB5=)2cK&xHMLf z-Y)F3R%dy+c`;v%n$0FJ6wphYovHa*vQgGJRAVbDD}ed-RaIOuQ>T?xWG>*5D^jpr zSaB?Cf$+*Y^ZailhlH3g^l|7MdCblhS`TOTl9@fWS_ytfqW}X&t-DgrJ^fDcf~uDq zFT769u?x-^FEM!}zDc@DaM#Cet~yW`&!;>)t=VKn;(`^KCM_JyPd0`umQbU)zCbpx zW#9Ub|M-^jFN0iApH$u0SdA;GeoY74>l&*ss>%tEyfvbXgtM!Q!Y(`8Yj?Tq%8hpN zqR_fSUX+wLdxd5vb0+K!VOLK4wQI)doawshCRb07>n7=hV>%ev=ulo{hx$C;UTOto zf@4XAe}`sV6Sq}hshLe0nn>jK;KtSin{U6pBiPw~yL946bHu&=yji9XINSV$B|JYU zrGXcDq{|v?dF2Ub3QpcaCb0X@P12_(!gy-k+}X9MwZn12>qI54*>5E<$HoBj2d5pN zSb4m2CjZAL`#sF>?d$U@k9+#5PHKM{+MkA6iE^^BauSSu?bS%1cs;PGb!G7O9fvQt zwymqH?OO0)($~Ku2Y#tmvNqO4dsdTF#t zf6`S8{n)0e7A;mA99wXAkU^fO+T%I7d004wn%uj!jYS4JeLW4en+H}orUTRa87%XT zKx5rZU%2g@q{fKX>GwKogQ+EXJNsN~o6cR=>S=4P3#OIk?do?&xW&b5=k#A5NB?3d z=m+O|VPg=bS%{*a#YX=(ssF_Sb3N^|nzG1p|ICJg*Na;qR;6C_09t?^5UmwGK)qE6 zi6|#|AcosbM$Oq0bFw&`d{Lcfnex5yaQm8u*6BcJyE_ze*WGueGa#jSH`vGjf$3(_ z@88%u((7@DhF%MH%za3s1=^zmIWHiO4!43FW#qxZB5jVkT%yyG!|a4}i`51u?X2J9 z>hMOICxe|ExPztRUq)9F>OcMkZ)cYmCGeB-h;OQ8AQZSF@r!{FG$ALK@87~piq;4# zVE#CJ=eTqo41f!%AEPB?tZ1sIL6qCYF8wPNWj1&eUJ(y~m%Kcek!!h(2x)La8p>e* zWuaAZ(vYWmY;0=XAB(PTOyQoHAwsWqXMtIGVxCngqnh{#`7QcK)YSDmuG?|$oq)!} zR~RUEs`ia939NR@&WOw7c1O-l+Otv0n)^F-3H`fiH!yO}bJ}l+lkde)p~)TlY_|9wQ zy?jqxFE54)DHc#_u_!B~cyU?uJz7+W7LjF|hZ!VWj+tt(Pt{n9vGVz!ZQHXfJHe2> zY~SXeJ-_wPvTOssU&i*bZNJI1B`4c5f1`X&x%TZ$8wk$)3$Q{LgI-4KF6O0p_GZq% zy5XjjG)YQNxpBj*cr(w_%8U8t#6)vGLO@RCJ+zcR%Uk+iaV=d86)hD|YN;qIT55)_ zjM_D*(3KZs5V9|zB>Mt`kbMCqc^1%VF8hmX6OuHBw!+rrzA*Eo_qCwrf9cHX)4z#01=hyWKIgb-`(xXU~&$D|a{A+>@rNyqurm(5j z6qkPdl&uaB(=l(~XsEx`TxcHabK6>0$a=Y;$sUBoY0d|z*qK*a*;`U> z{_b^_vXY9VLBHGE*I!#%UgTR@V9Ct16s+mLX}hI9cE7UTvfW(lE-GizfVHm9O0yWX zfcNFIV%$&w5LUrQe6Gk z>}d}M+ns?xQlHNRr{U2hBi<0r>tm=X0URuf>Y!2M!pb#K z!7!(t`{2pE3Qp~pBXXe46$-i90{FV0JV!?m?AtQ#Xz%oX#oN`wRa5iNK|AYFEdVWToCEg%$~)R{d$4nkQ7{+%tiLXQbaFBAAI>*TWEBO zw%GX`ix#ren9;RfBH4qS+3Ys%Y1U>}q196_rHq_2Gm4(dks^_-tPyLQ-`|FwO4>Df z&(yAduj$ayIqPPwAj`qIL{e;(}JR(tD?p;|}B){uXt*;nITxiYD3OK0b1XI4Q< zlEbooFxI+$i_dPm5=l~y z46a)@=pP2c4|!U_78QskGebg2WlfdljT8#xyAwD^sYWfxQiyq+L4kePPGKiSeU z>EGxGbXzRlt5~Nc5DEo~qEaUFvGJSeT%gKcJhVfT$arY`lF*p+iuFw373#x= zdfUd=Tk)H)S!nEv^-Ms;dPY#Oo(ZT}&j>2>^-Ms;dM2PWVgwYPK&>q?D8>H61BAS~QAXzE-t%C!P0Gp)caCk^G}al;%v`sA zm4(lLKHuz!wK6mVjq?1-{gb;w?)2?*PxY^1mXLQl4ae>NE|L>oHy1){-RKR0*B=KZSrt(G9IclV_#j&~mpEq!yVM1lLRNgmM6515d#HPKQ^eQW z7LZQNZZ`#bwu~z`vTd$F$gkW>)ZstEA|f7db=#J9JKtI*U zM8m&$i|q&uW6dTgV2H5UMMx8rj6Hdb>Aye1t{72jH5;Oab4xtysH2(%M$#Pxv?F~f zXj>dKR(tc3P|!qpF`L9Fwd#q|1br~>iCCR2{~N25MzWy9o25bdNET2J@W@<00Cr?D z6vVs)@i|`_8)Tun^7JScjF0jDlr!l4GOM)=m(WO~SzjvKr0dFyip}QYqH>K>G)4s_ zZnd3*>^SuZgW`e~+QCrLq6XQ+D47}^6KW9HJob5S_gl<=@SNGvP7nLe$lNCz_i}Cx zvXj&|DwZ}F-6DIU4ziWPWh>L}r0B2BY?_MfIJ))wKiq!wTsRuGzoDE|{`k*-0?QOU zV<-njEoz^|3<;&CX-WjKIZfdRvZ;={y6 zks(La$k6q8d>9>u95aok8Mb#yqe?`J<7q>CusUETMiXst)!FvymiE!2!WAXGC545Bk~O%zzO~ESiq9dxGRgk4+-fOTCfI+PE%Yz(PmK6R zH8S#<10L#|Hr{<*>UifkcziW1yb8IP%u1zs@w^l@5#HTA5baixgCPMYT8TJC=nztZs77qGv z_6PX~AOD1(b1Dz*OVB%b)ScHF2aW1L3(K~ty1>W6dS?Q|8QKn-VO4(<9v{NawH+0D zsfLGZJ1R7)?NFUZH4IU0hoCeoh&rR%4(T=Z8Z=g0d<&y`4Pn4+sA7O#!{@z^5rw$? ztWoAq)36u(GtX1)4 zTX=+7V4zlsvS^itmn2I--8{lfWi#UX7&@C;R;Kkp<;z0NE-u3Ctd^jH#H;5B;4KI+ z$5auv-`Sa8&SY8A!n^e~%egXlBo<)KZ75N#M2PBFyz2{cR7EZ`2ooA2ix2dXdH!|y zAcpX5VQl$R`o_$@yI$#iP^%oVWwLW{6-ztkZq13SmPSao=ZF`1ZAU!a#1UQ}=TqGo zBZPP=B+$*}C+Z)mga+)3`A3%UiI5RP{L_3Q+91}vBD0-CL!FiO0;ZSp?UkKFzpp4M zu;|B<2HPs_`FN8>fxWn-qN1eKYW@Co)>1e`*7lw3Ula9&9GS7!l@@sW#Qn-T>q+u} z;DhN_(l^X46Nvnht;Hk1d2#a>X}us0UXVPKbAeJh0V{g6Yjktnsk<9NS^tXn(3hU;;v6^ra*latr*8Ge?vkt0hxT8{ncPe(u1 z*CKRhnyZDsU}?2^kyqzl_;W_OMmKI6;k7;=)t96GoT>Au&N=JH@%{pa6K%vAXWkt*8~2v(26ht%JKJ)G#*g5XOe1Lb#vRIJTLsXd7)ZL=qge z)sB{i`u7+$3iDrLoQF%>;xyqQ5))(qu)$c1Pv0BSZ zaXZ*MxR&VU6!2DHZJ^bpaw%v#DJv9(;?!pGk#a`1xs3+LzuSVB7r3M{|DEP6^iMtc z8I4<_ZEbwN2{O^B73d4m;;w(HIt=_rZ&FW)Xtqdjh}%C97t&TUJ}6lXac#eU+EFu1 z+XxWb4z{^N-JaU&HlN?=3`)5OZ`X{vn}=$}UINdgW2C2}BRCXtbodeGeuwJ*IzGr^ zLR^{ZR_)BpuWuN9=pl2hA=ieI`cy9?Dl``$&0uBb# zLOv4*+aHO{OlVl7op;?eck5z2T#Bd-7D)XWQbcpi;&v@tAS_85{)H0p?1GBW{}dMo zx6spmF56w|n4_!$>sjLBHB);derH=CvLA7AHmTg}?e6x{zZ>^(iK2K4StZ?Kw1|vH ziX_EBh3+MyrLnR?_YzRjg9HYl2Z^{iLX|31_;(g#5PFb+lExq~kRC)c3HknRrK|#H zTo{~|0!k1!leeMV8sTjVLG7t&*grM3_js&@s=D*W#yxw)3;=w*O)D3)w1#Ry-2xh% zU#hG|ComA5qO8ztIGq%wP@!0b1z%OoMzl$2HoT==vk_3zY@)Gnp2x37Ww>6mDEJ>! zY+|a+rrjbCUaM*{uyCQl?A}C7AZ>*+LsMc@y3n(Tw5YsxMX3dp+92p6O(L2>V&%4J ze4zHd?@e4x*|}Ls7q0)FWL0h~^JHdv%Gh3nqoeU%D_M^5(eqds-7I5P#YR2(lJT%p zHcHYm*|Ww2O&VX?2PZbW^huJGXz&8_#kqE5qvf)zW8daZuuBWuGBVl1?i=jeN1(YOJlogV?xGee_t-x=vaIK#f`)+>nyF1P^rt0NXxM^%*$hSjxV=>gO|;8&mZ9l!SvD zmH(Z6NzyCd%xuWWXvk!%kzT;ZKAz?BOR?psmBcZ|K}Aailv*mvik3Q|#iMo=YSagH zM|tlr#v!C#KuOvK4k7Iv$|YDpA;B7LBtHTwMNIIzG#*6*`N+1-fJq|#n6hMAt+suXuTBUo44;`6o8Ra8+?go{1e(GYIv z;2)J0MPUNt1Kbp{2Tvg+hU%Ea2kit@GZkq^6{=XY2XK-dQGRk!i1IZ<7hU8Hg}fJG zpVh0#2MkPOh4y$uz`Q|V0_Fl>W;h!}_=F9#P6Kb|F81HFg=}Q*AWHLJxkqRZN{fAo z>N9e?$SW(uTue``9;3&mzBPx_d35>n`*|izI<2eFvMK$g45~dPmroRE-Tm%KcS z8QFnQSh?7B>L~*&J^V^e*O~_Q(A>UP4j+C+@+e1F@?8@%ppkY;CD7^$s`x$ko8lf+ zVV4zJl7do$;1OxR$W_6>%5OM2s$e zeO0-Rt-+QhT)^hQ+LHrWQX_9%2jog@Y_DZ3Wsm#kqj`d?ylb0BA4v#%x`xA@k#(N_ zKCh=g(soYQ_Dh9IMh2a2p6)j9gnfEl^Dt>t4QpM#jTppO74Shi zl-S8YS%G{vDJ3R4<;YrDFa7@DTI3D=0S>|~6|4I4r9IdbaffA9-}1RHflp$TkU#Gt z&L{LepcCK|?HoykEo{5h=&;p9ObLLO6lc+mg^=(rB5ffpO0=Y0|aIfvXPz-yrZ~cLy+ybNr~4_Cn#_$M1P&J+klHYVuM65JCG+KZJyV-EMELm~qa_t$c%R>u!{X6*}R*&p@4 zyy*+68IqKiyl<28$)i${a%Z_GJ>65z&Y7dgJb#i){8dq&K|5@n|FcvsOIQoaDDU6k z(0mS%ej13}RyEl&%aKfh_#g!cc@)HIW|C*Z-aO%5?VV`0ulKIDv=$Y$USxF?6*;W= zp_UE4cLGz6P{=VAc*nP)C3G|USDB~gohnypsjKRp8c!K$LfljBvHN-J2EegTz%j&e z$})wGObQW?NDrM+n2=WkOtkxn_WkCQ6mv`@6JqBtncrsG z5fxZnwSN1yiK;3`d%L5G)vqS9wv5}y&lz^LG&?$!dr0Vsw)s<17ci2%>5ODg@cC1$ zD#*|0+PDkx$GR_yK_AMZWBgqnyT}Q>(!dz9sDLU$dtF@GWn+t<}|5H<3;UGpz18 z*t42#R=zq=V>xK8rqQV8v12q|&gGT#V?E|l=vh3LzIboBiS{{YIXblObGoHvnszEh zeArw5+H2Tl?u*!`wB1S+?(FLHUOe(S@{nQMCrQw1p8FQ7Ma`b4-K47jV?ly7s|-xr zBmNG7zr!D~PX{_F+M8sb@)O$6ja(d`S`C*RwQW19qCJcW6p@JD(^`aci1=E>q3Rw% zlp5k3zz3HQcFM|UAqu4${1YRGZv|%b~O&ZKBO0Er-1t&9whjt;LI3a?)uuBof5 z!IiXS{7zb~m7iX-?i>nJj&B+2Xk~j_J33mG8(TZ5CR&1MmJ#D4Tit;G@*#b6r~%I% zY&#MhY~2+2V`TsJ7hQd|v%8D=b9VImCLLIaXm`ZbOyA?`=%xPALGz_iQW~|8qb&zQ zs0HRIN672P^dX0rvmv6fB^tTN7tDz9=LNAxj%)F}XDBO^XO3X?e3R2pb&?G(G&5RB ziAfHUIyovGtaj7x-J3S;hH$yO|M2<#;dQyZNqaW2K7uRX4NTdGyZl#Og(Q)6`~97r ze)PVYZ;5`Uyv1mC{|S*J!+S?lI1!c+37A}2P)9C>-qA(18~0p!$>GDRR;Q)0q0Y4% zk;~uV^>*M&+Bb9Z$}dHxB7q!NaQCKg=X6Ur6bJ`G-9dbym82P_Lc>lM=VFNQi;2g< zW1&kN5Hb1pHIqaB(AZ4m_S+jBj>g-MR5vx&9FeRmyW6`HL$3bO;cBa`dZ@CZq6)os zg^J%ml1uvG73_NDmy#9nX0)IG%60a8(SBGYQ2V3Ld?{W(yn?lk(PP{HN1>Ugn6E%q z^bNE%=!Z~f7U+lY;1}0rT37z*Fo1PXX&2u4H# zxX(i`SP?Ux5A#h364Y9on9;RrZ6$!D%tb@DPPCEweo7e0<7@27uY(0k+ zu$1@lpYku|jg$BfSOW8(Ko70MiGd_dac)6PC*(d&Zg8mTxzWV6bTi9Zdw%ki(No{h z>`0hO+BMwlT3zSw=<)AdZ|wKwm)2V<>xXJ9^2@U-3cO)US3{Fe zuQvp}eRS@T(3ZHThi2@BI^pCRB$WSt-x@hV`aNvt7mNJuIqW6a%e6&*SGH0G{_y8{ zj~(MZhOAp)-3b05daTBvW31U2nG`YTDarbV8iFP+^YR?aH$}e}6PEn>Pq2nt=}aE< zsaUfxxQ%I&IX|nOdh>$F69&oL=Q6JD-N0Hv*o$wi-HDEh?g{4SX`o$kdx9O&J;9R6 zG8IsBWQ`TF=;l!(JX9R;mbtu%;<)54$;fujNB?DAzv+rED}ZveD_XP_Qy7yA(XNqVLOvvL9|jn^~p$Ou$y*%RsZRJ)QR$Mr^b&iZ4= z>@Mh;Y1|Ja^i1og=$Tffn!Th{$LX28^iq1JRVik#(*@L^&Cm5rn)g0k&$KF5c0ycn zdM2-BNj=l5)Up@nPH;VQli&wVXaEPe>@1p8H%0EwQ;o-w?9V7$?4-$fd?4@uVhNxa?<@IyT;Yh$dRq(Z%sPWqvV3 zcu(k*m&mLyz}Bfc<(RjH%^V-=uI?UVuPA?6zjL^@q8chCYVqSE$Yn<8lr-MrD~Z!7 z{iE0Qc}Qcu`nu;m6;)Lg9?5$A`0=q&WoQg95%}9cZAE1Ttuksv333UY1br{`$wtzR zF%R>RK*|)4Dbb3msgo4mjB1lpdy%&6YjXvjd@|r_^WkRi!W`z3aHYs%Mh!xjjMfk} z{$r}-g3LTt$#MIg0=LsoxTl0Jxn;biqsv?1Yz3fUfKW*-qN$U6W&XGTLNXnS;*M^po(V4xU_46Aifg4*vTocF5pV*ausRvD*V^2jJp6%^J7SDZ*^6{^b>-K)n(N5_#kABpr^ zYig{P>guG)!O;&S>t6>}ZrHH$t-;BVqv5Rv2me4Fq$1ENA@&P9xn5}}t(eZr;z{{A zx$YZ$-RExjTjZiEw%u||b4SOE>1+I}Cgx83;uoyw`%SeqP3R-&lROU_W+#_sP3I+j zQVk)+W$Ho3Pg=a)JQrqiGIIa@A|FQ0(MpXnL9j+7^ZbQpZMmVhB4r5D_aRsw)hip} zl_}6Hnlq#Rq*~fyswHd`m=z)k*ya1s@Bfg_Ux29*xDDx>EgO(kFx3L}(q{8_ePs4^ zb@{aUm~0Jd?IPbD?zwl4G+svDx!9?ADYOFfQ}LpHc2cnUsd$&9W*PL^sTY^AtI5=4 z@3pMY&5g7u8R0P1z&&eRhZdeTl2Ytm0tF96DTw)UzzfxvgKu17vN6^XLF0-xjYx51 z6-i7~8gp`g@z_*+285b;!NMaW%KgZI;3tSJdH4a*x7hlc0DYP-3tSQ_7|(hW?XQ=b z8Y$2q8lRk*n3$1rv1oZ?e@#t)gOWjb7yGQZ=Zv>|9q)5^%E$wWb{c6l;|b?J z-&1;VZDE(fHvqTk$O!8j;U4V;o-WiPG!g2r&vR}P^_o`;)RVSAyN}b*dk#j(%WMXd z!3m!!^D0lkKlAHemZki;m$i9<0^yXB~qFi%ly>;jm(FDur-b z(H%TlP%lM)*kFUfACD2~ptD%iEe!l%G$T#bjs@ZYciK(MTP>}8N5939fAb5K&9tSz zxiV~!&D{>RTx2#WZ#%lMVug40wX-6=ssD}kzFpLpNh(*Z{Jj%K{RQ)=9oe=w08UZM)4Hr>6zrINrsgNeTVCKJOpY% z$7oJ&wzH_NZOzn#@`847(Co0YzNcq=0+}%jP7nf4ibS4VFxLy~7_%0ijiZ|cV{?7V z=+yKGwp3ulQC60=qaq0#jMRh_WZz)_MqE;gpqz3LOe6z&TJIxEOATMdof5&@C8|?X z5WG%L2yVNpE{RV-n3bLp83>*=85vW(NI#fm32_MskUMqGCc7`sfmlGX+|($x;F{*2 zoH&@6oG9y!DaH%dKRG)KL+O^~RV7(jB~{DWd2=Ul;yB-VlL3C`6V*<2bClCYBQlR4 zLr8&Vt26586}xT{LiTm-%c~Og@3Q^MTd(Cdnq6BvJGXUAn7x%%-iiuuRi)Sbif>a} z@-q32H3Ki@1jZeKEgc8h2S7yC94x=;!I#1h zLm4()+X*$S-x&yX`0G}?n#1QMO(nEfH5XUqHr5}w$nJ19H8i-5Q%SpxYx=xFgI@1z zYUr|ry#*Cn<@pu0L-m!G`qF$Ko$uNOi7NsJN~rx_*-1NBjcGC&7@)yuG&@_7zhmvn zsUJEpqCCd#{_p0l>MUo&b^W1)lt_xf@x}EskCX@dHyj)ui9BErceWQbI6FdDUfDPe z?2u>ZF8{CDwR0z=LcUI8ctzJ9ijI_M>#!zYQ5R2a-I39EOP+x=#8Q7)` zi3C;VrvSS0xIf7H$rR%AGimggpUe0vr{yoRyOF(ooRwQkuc5r<_7UX*HK%$bMn5cT z%)4YM$5tqcOk~^aObdlKzuZ5~jGOi+r(^qb>J?JaqgbBLF}u^#-DZVOf!_e0okH#K zFe6JY{!jptMVlGRZC>7nh{xIHjqI4H_g7#ed7_ae)6l<*vT)gqa@XXp{ECbfmJEKz zmuj7YwsB5daDE7V{ubp6LFQG>j8<{&%n>z>XOR#DyMrCROSbi#$&a1l;Zb7l`v|-dk*a=fhf|-43w4$d5)| zN8u)3MqvLuve_T-Q$~;mis1}n%4Ulr4%Bs&>KRpV0VgC0!c0f&onJi z<=5iDGLA!2{nM?Ht~NR}bt=l9shR!HeHo%xKjxynlwbDwIa}~1DXw2-0Xxr)6!^)w zu{C27Qkz1vP}Js!PCkyT(zo`Rva2d`#bICM;^v2a9jEP@*bkRuZY=x?Bpk{X$v4kw zjY@Z-Cfz(aAG$x!!TNm9@GSfFlkP)28%ZQ!q0dAv3(0mjf+5WEh{cA>!lC)>PAEE zR)2y&Y0c0xqvt108C^Bc+G=ZU&x+5QR?NIRMxPm4)8p~K1sx!#Qsbfp)4Tc>X&;JzNK?)o`jCS+2kkj{(pd^jB!PgHC z{a8RT$oZHD#pK(8O}to3TIeZdL#nFuL7dAprYtStI|Y8#DuB;P_=6}Wf|=MXlc8h5 zTps!SM@(+|{6~_+(u2zDK^PjpDpzCX+B6)6|xr7dlWIBXy__aaV0ZD*4@PL7!LDZRw}57W znVrT`bcDf;F7ylvUeNT$%CM~){zVGM4SWX&2Y=zonFG$5Bpkry>F(`l@peTX8i_ob zymz_ap1r=@;_y=JCsLQ*(T-X_ajGdVE=q^!a>VTSscdz%Ex_mJ169eCsyvO_~_0Y3TCy zc)O~~*{vfV6g0H5^EdZw+ylw!LVxFgE|cc7!aRfA6dZhs;luNIsK*6w5fG}w_Un?8 z@6P;EpB=1nk2iK~?ePx{`Eez=c7&WenwU+Ql?#j8wuC}ET;Z`$XpAnw0Ul*bM1SF= z5i8iS(q=s=Z)pNYj3QC(rB3q zuG=2=Ich?t23y3}Hd0$V(&k%N)sWL&-RdWffk?`~;T(ge#FuTM0}F;3@ovr-$Nq43Hb{Kh+TF9=<=Wl@)+w*BNsVEcOKzIKmi>%%OGXKL&)gg!ch29; ze$HHgU{&CduK*&-)T@wd@zg`ijWUP^@iI4~%r`ltQH5NGG7ob+hz{^FqAtRWSzW8^ zQC`NbLXON|hCDVZ(*no`pocIY=M*}q47h{yU-hU_Otao&@m#)gXx=LK^`r**6 z-NVD(w}ys&^_900_|{5#yT_gEHuiJbOZIbiY(}{A3m0#k+Qx44v+A|OJ<3=7DESqX zq}pMNX2;J7!u3cSaO|f0@6FAxHk+$Ma@gNBRBgHZ1iNkRMHzLu$^yg^BxZpvFCH8E_KhKS+r)#*9V*hB{ddHO-9;3 z{P!BlZN1*$N*ZUPr@UA(L=B{1fS_nFSVZgN#{HVytaAqsm0J=W<<7upudS}mX05Mh z*AE3sdJ6CTaZY|wuO~3%t+jApYb{zp{q`tYfDxaajRQky#J})gcXYFI`enQCb72LJ z2uXJYEqwyLmal`Pp{<+}Z9-pqz|-2UZKz_k-K$#bhfK>W%gd}Qa{KEYtGX>U`MG@! z&Xs}S%GQRJrsXy4dY_}hpH-4rp0lE)bVYXAvZ5@%)#3A&7v@$hE6MSdHMh4nmwR$b zmzi^m%0UKV(;-jN9ASivNATa-0J zfuc~+eJ^MX0*9jOwoG%PokiF=KIKlHX(RL9t@Q4OLY%sYv0b*bJewfeNMM2s3(iD! zt(1X^xel7m70BguOWmz)-E~zPlB;vin|t$sJ}cQ98awwjUX{N)rz*F|Y%Xf?dYen! zc`Zp&LNmLq`CX$asWs$L{?@Euk1rB`pcxdStH=kKihhC?gOM0lWp+%OVa(cDv0Bf@ z2Oqqw``m7Ld*jJ>qbJ#e~cbcC2lD$X|kcys@#)^k}$ z$ZaVpwpfaaSKamUxz4W8MZ9LUD)!}$hJ3ttBfq%a*X$h4>S$=_PyytQmw^SUvIOJY=3=znq8>-3izVS!*coc@D*1aWlrU3l4p(wntL)? z0YaXIxXKH#TI%a9gjxNU-BDFuUPYHO5&cHkj-jT{1Dgz;jMtSdun3gqW2m{Zth%N& zr?jTJjME@>RF{?3)RdN0Q@>GOPND7?pON7+qL!&m!vHEVYu|hdd z{qkSxze&aUA>!g$K8WhqkfnJcq{ToQsYNFDyKw>CEXB0L)KE}fUQk?AQeN;fyZ+!o z<$_ns3ku513JSQ^{2KfU7h>(>IPx4gua129M7-Mef0_IyALSG$l^L_Qs@xd01d(%Fqw6e@BweqxxfXR6COt!4*at@;WNy0!ubti$qb>>0G)YAi!kDZ%)C4! z6~duZ#_#mDrdC+eK(|GZ?sjfQRU`RYr(4V^&R%Cq zUUq^pAv-U1vUw=mQkG(r49UjQ(NbgniWGfzlOu0xD$miBtxs8z&%wzCDKVwYk~P#k zlvQ7!MHlrQ2?6=7SI`P&rzMwPSfgm2GMV{hc2acCX&$wVZLHX|%M!92#TEPBbhP5= z@c{ntpZJF@J5H9GI@*z~3x0w_1M@dasaUOOL}LaUV4J6uukMn+d3yDtUkx<9KA?Pc zif!gU!;_xR^z%Pr$LL%E1*!ue2XT@@u?o4HaJTHE zP~D_|!_|FXJGd@=^s<$+!F;AbChCl(Rp$>Z;RMUB%92=PS1;w-64L_^BvS z#!IlGYp(gmHP>iGAY56bz z`44=sUsFL|7c)bd3O6V zPvaT-r}BT_d;fj9&@A*_C3}k3qt?PUJoC(!pZ}60UiiC{<2v&5Uv7WqnM$ga>O8_8 z;C;{OWH^`2WGv&K?7WnX$;w~x!5(-%5_z63;QI*W*9s{UrJ2Nw9KnCUr?hBN1Fn*je}J93UuQ<{<{pYCVAYio zQfVds2PT{!?)dZD+aJR)JXvUXQ;&&zkMfH0%6k~9Vcda3%EbKtVe4?VJs*8|2!5#f zxed~PM#k8MVRq^1M|BLA;%DGD%BK&=U(_dR_!ISELlW>yr@pQ|3w_ZRqs&HoYv>kK z()Znu;lTb={rX3MKY z`5aANO=!|sK`4I)Z($U3I!P8?Q<%9w{sty^wk^WmiKvsfnCuA|UGwwGjlg#|@jwdC z{TQ=bg7oxVcweaE#meXaoU{xZ=^51HqSu$wGhk|QDn>2J=hzJu$}oF$Nu6UZ46@Ep zJm!8ZmKf0U0<4V&SQ|E}W9}rUr{f{aZKuBk_zD3(^$6hf`+tky@1oy#%hITEHIwjVU}M-J=`O=^PG=7`+yUfg5}=MSr2%uWe&LyBg10 zv&#~fm1iQ0?17U{Yvxgo_KkhvEQ)?$?SCvwm88^Vw?|%{QGQ>oT2k!3=(n?50(xac zH^W}ywpzN-T4jvlvsr+7_$@41Pyd{@!^BEfqC26_#37TVtW$Ej4e^ zYOZ`9T)!J!w@SxVo_+(-A_2cp^u`<@;P%t=`*|EX9Pk9p_9YZ+!z(PY)|o8moPR^k4(BY_OO=#nb^7JA2-Ghs zl5$hR?}x+hpT&fnpFedctg}??;XD)MTX$!^VJEOU8)?cVBb`F`8^qi@^GBlb>?LK-6ae$ zPM5Hyh%Qk2nRI>HdYeG|FjO08F}Xig8YFNIy=LJ~o5nvBQr&Q&|=rnu9 z8HDOUALfVaK_B^`8puEG%!WEhzAUJkJmCmVVasRG_Iz93j=W8gf)xfsReo_%KK?0~ zvwRA9i@jlnGfCsUc8bSp9lCa1&zW*ar|oG$JR=lH)%ivF(TEkLgN2EE>JKT+ZPbVw(9MYsxI;1(UqGTG73W*r7XR=K{^I(54FwpCB2o3XvJ+e$z`NJapph&DqBHt$ylk4C zWt`UNzvQdR!=g$wNB=$b;{~*{G?jSmOMEMof2hBzUwC_1T7~it)<{i@eU0`8Zwx+E zFPM6(Hj?giiJ!Eq?WFdN>elMkV-Ngh-PX@;>%Y_HPiuRW2cK+T$b;ok9-Q%I0W;o? zGGoyf!Ik9|%G<1ib7iToi#Wm=vye#yienVrlGI|>!pIX@*JiRB$fCxMb)-ZuT%+P8 zfqGue$v*YLg2u*LL}ark!gwoXSnIEt*Akk*v*fu!%|*I0^2qRUu%urUdMAyF=h_y! zL)D3}S~_`p4eFX zsaf!(ywSzrsa2klOXnJ;U!Asbhwd@xVd3!H$HK~#p`)Jl$)@+l)iV=Bv1ij8U?+`sRLr2ARV0J)I3q zw{gq2_Y}kz+NIzh^sH;K;GQl=Z(l7uHjrVms!gZMrK=*+RWk#!@$@GHun69ac??m; zH20>y4K71GtvfV-1N_cM zAeOU_6)SIVIemH``z3opIqzcSTxjZAoFhT%B-XE_ylu;)WY; zxHV(4x6)gal-xYf5Z;z{)8WIvi@lVd{G$6o&$mGhjY4qDM)^WC5a6uQc6;&kA)foZ z++A^&*FYSWy{DhJLOoz}!7D2;#b8z3gMFWuAa(`)*CJ9)Y(|?%fJGc9k1EVV#D=%r zm}j9K5o*pi#TD3lYjd5&CCm6NcwTFFlnTS-a#@-e^JZM9N4`b5in!GjEW3!*eNq!$^G z2u^R-%gYq61f=*E0vkv;wVA|gAdDuMR-mpy!qFh0E{|nTo-0LMtt$prZC>pjoneut zy2`%r_VK3HhT0T&ZIj=9_zQ{K*ED&JEFlr^2MljZyz&c)+eR8(#*b6+e!!8P%f9ep zqPr2V57hUwRAXyROV2Wl9pryLq`sSh-U)&18H$fl;1B____tvgA<7iQ=e{+*ZHy-J z#cyc%h~4+1`jQ40t8LyjSrvUr!zMb^6VB~lg}lXdFnlq#;Qs)_g6Xm;>WX<9IXFBb zh*&nZkl|8wGEGRZLYU}Mg(Xd5ex%W@!hcYpyp!$5NJ6*M9r`-{>-IRi6C%d;NlK=x z49o;7p=LF#^|X3=ef-wfi|=buCBw)OXBrghbSAF&@vUd%QQ=WZs**C%&D$N`qeoZu z-E&WA>1(e=4>G78`AM)ZTwMI*i1HGhzRZ2)I%F`OKxPdjUbF z`44!rX6we_Rd2m@ReNV=`&D;_$HJ^1m3TJT$HI5AFL$-KcL6u15$J$#;v{thtnC!r zYN^K?4}|iny;c&hUZxNwx(8h}u)NuvQ&f~ghjC1|u&JQ4!%z2S`*OV5xrJ?;$#%5o z*Z5i*+pX=Rb#-IzW_P=zq@lLCv$3Ynkrrl6xx z>kw0-a`O?&bikY%0i2)rFSTM$rRZ=7(UUKdrv@WMoylNd^FxF1FU=)(aDJJ0yU(}X z%bJv5+WZ#wsM2Zi+gMYmeY5w=-p%b{0E@%LfPuHjCDrYMmSn}Z1$)zI9gFTwgX4t# zF%(j6428ZQqO5i56g5v0(TPlWi|8*CazjpHBum~m!laScM?_9aVE!j~Z+Hr7DC4K3 zVpSx;u{RgPYmQ;fcOsS7%M^%5y4Kl#ImoJf%F73OJ1i}Dqf$=Z^06M5_?nwPwj|Uo z_n!V9yF29SDX`fJ3Ri?e9lh$ee=Y@tl$$|o2d5Pteu^+-(+)q2iCRc=HvXlg1d?*I zpy*cCROz!Qop3SxDwSWdCf_z6{^yln5yxzm{WMO`s0Fcvv-YQ`Wn}426}2qYv+=di zo)5HTQ7shIhPP;0Z z=MbNq&*aVRtckD@R|I~6RYljjDOelW4B^Jv7`iFUE)E_SAYPe&bE{n{I5m;o6oPZnWQUQ_D>^ zwA=`)XAsx?Q0l@r{@!z1N*3n4EOcYfurEKaS`?j?&oqBRz+nHsVt^e?G@@Qp#gLqntR}2eb6t6IgN< znO}0M0M3x^7g83xo3aluTY@{7YOiBI|HTzyiV26=YHod^r?L^A)i!E{A71^fRl5^Y zWqsPReQY(IOvgVDCIT_Gtk6gfUCyGKUEs*Jj5FA`~ns5sBT z7&^C%(W^J3JE^b3M(VfOq1h3(pB)$pE01nfen`1Alz-WW=OC?RGITE-T5GghTfrZh zrF`!E2RA1suw~4+?C9zjF{+hI%I(R?EoD+Wt(39zpNc56QfQ@>`iK!?hJ3*9dza7w{9BoX0K=+ z+Uh$#vyaY!3U>3upg?zo@2LEY-GPxvyVutd*)i1+u*B~UbO!=%+8sE(GrBtvZMhR& zMzI_|4@RTFY;#2UJ=bq|Hm5tucRT1ba2o|S0E60E%v>%46jR{vl@DR0beiw=ne)tI|D%$j)A&51D$2% zf$}n4!u-deYh0zPhI?)?lbJyoj5jgLc&&LFJ>1BPZt#K)xbTewJ03?OyTPsO zV;Kd7g$4O5R+ySPI-35!^1cPWt>Vi2&b@lrj$g7QKV`?VBFoR%mS3@B<2X*7CqYR_ z;uw;UAOd+1AOVuLKxu$xp=lRdYF=ANAuQlNXla(+EstfP6a(QaP1Dc(nx4-XmBI!yqbLPyMGiT1soH?hiN>yuW$<(>FT2-qrFQz}A zPrnbr84>Y*&MbtXp+9O=Lz!=|v=nc?vX>nZ#; z+vn>g0C+?19}rFA-_%7ki;~4VuhePwwMCED9?v}U85UFAaOlYjuNo2(}R z)@MIj%)ASBwf-*t$BdaXXW*sZWIPD}q+iagpE0AJUiz)(lldt&n@`{|(&szXd%-=> zMR(&Lt(t%3Ub0A5E-i_j|mil1nQrB~q@3_BW_)6i!DWe?gufEzBU zs{y0cB0aUqdr}(AP~vL}_`pA*rW=@A$L*g&y(JmA2UKLt80KX9rP6NCB+6kYg;%oD z7m0P2AT{YvkDT$jEI0gzXMOg}N1qbexT5T888ky_iytjrN)&=+kh+ZT0AXE)dlLb& zy${;G6nZ)U9o{uz6B!xx|1JW;|HJ$edj@o!wEX(4oY3uC{_C$>Zg=|}S@rpJ%ucYD zLaW$LtH$<_z~M7(^I!#vc?6L0#W{br*qB|GE~eELJt6Lh*kGMon!WTC5zQ`gI)!bS zzVWG|#w<0X0tev~89RX9yNKbDITWn)<nc4){l>i2hM6sKoZxv-jA?5fIg7G>SJ z<*hdZ&t(-k(}fn%)O1I2&SA2QlK3r&<40!G1!Q0)+6A;c+K0jtbpI1Yb<;$8S+;&h zw>Uey)ag_mktNGC;8~m{qCNVp+5Ty2RzuNK`bLI`k-iM_8~kMtwvtCRL=Bao zgyI#o`fq-i@3UnH+n}ZrAv5AcqXA-2l3>* zv8&EBU$!{AOTQy)x+LQgaR+FYtxof2i_P8oKV=mIX>C~w{eon|1weGkf>y(oA==U^ z5V>!?xs_>Hor`tpgSpjA!vI-xF%eZ5!wDv097FEkAdaX*v{#4C7wj+q9_h+Lb?M*8 z_N5Wk#2u2B)3e0JC1P`SMF!JN+_B6ioX(Hw%FsI zH<7;Cg7bNaUYG3vFWfvuD=eH~Fo)SJ;@gSU>N4$WI{mQr;#8vny(0UyPXD#hug3VO z5EaJwko`QI=;uo(kC*Grj(3n2#6H91-U3;O6+=#Ak3++v-)(%7awXcE3j!hM{>XE; z9f_3PhQ;(8z3&g3-nrzyd&NrqJ7U_xh584Hr=?59%Afu0>tB!asaQ=~I9g~AGGC&T zOTmpFjc$=+&GuC});L%k@iG#+Mi$~ zX_gb`C8eo1#s1IY5c!*ms(TQy*j!-3+aZ9jkf;>g4kx2rHZ8vL~ z1PPq_47FN9GI?a2JPCHCPS z@jr^MiJQc2xcqRJxJP_T+>d+i|0?;Gc$cnP;5>|9)@SoK%40sKex5AN%==05P~QKa z@|~=$Q>9t^g~sH)JR%P9yMELd9{QQaLzi{XnwdGxDEP^r6N5hv-KdW$r$IXAu?*06 z;~4ORI4}9T{3c$R>R0)jI&k7Nq^LLk_f0+t=2N#gl{#_a(JID}K;77hn6E5SPF0p; zcYiG+0&P^z!5zBum5Y>15MSkTVi^m0nad=mc;qQ{^0oBwxyu|h@_U0v~kN?)e<8~p|Sc*yuC>dc3O zf763moW?0@_&Nq*0HvvYx62TWbNOEfJFd~36$O1>8!kv_d$Qo*g zLl0+0MxzaXjTxc3KzGsN>gvTs-GQ$L>*|78xfOYNepgnO%b%B5k(-6z?nee>>kiaa zFFs2a%Mj-!vIZ|i;ks(Em$Thxz>fXGs6s75xuR};9oO`10&Y;T#ao&Kow}Cn(o-pz z$_;dyX6{NS@4=?@Uz{J>7AzyCe>l1>D1F7-Te!wRICEcsxf z7oq?d?XA48iH$I)7rS-u9y)ZzcfZ?bbC%?6+LTk`v^jk_XP=#0BIYd+^Yw=o=nr>g zx0OCL{o&HKY&<+X{h>1QfTbv195WO6wqoUj$xj_1Gfvf#0!%3_h{Y8WU!(&*&V?g8 zKp4WF_v1Jr0EBkr8WMF!Xx#`1i4;JfG?J1?9~~LtEMdO!Z(^`On-RZveX`nZ`gpu{ zYd%;y8dyps~>TIh*IVut<@#eO<`KTavA#lMk*5&a5PFwR{X*# zP3RGZ78C;2-mY$Hg0|hp++)^+)h_A^`ZcaD_NMspYg}ho{0Fz!tQGlCuRRz9LeGoG z^f`>cYp=Z)=S9K+xd;olfr$RhYkDUj=s5(9N1eoo^9jvmmuQ6nj#|sr%hn!IH-Q(p zwRUwAx_Jm^8GvvEx88MSf!3JR$7XKE(r#k;6@4caT)ldAa@laatig3^8r9V9b`K2= z9l=Wc89Fy1t~-pnzNoeQ2%~2X{;|dCkTSx2xS7AEyX+XvL%`#`2OcmRKyYNelFFLj*&aaS zsD0la5p6Fr91{!9Q?EK(o#Jtl990h-;VL1@C;k9^Y&-CwJL;H0!Ns&+P3PJ!-cemI zvWNAf!y;RMPrZ`zMq>!99gW?nJ|B&u7g1h3Zj`6eWXB~-ugA5)W3uQ`WF9}v#khTz zIu$qH4<LA5ym3Yd$;+T<@7=v?4yv&@06Xz7iB+%!RVXE7a6LW@% z!N|+%l`orhoAq9gJQ$g>-jSEZLCz3sjHjb#;&>6|kS9AD=3FHEIj1s0-%Ut_*N8Ys zRS`yjB-2eu1cmd2!TOww0Lh$jZZIil=A~L??(I=CyGiF`vXvN%UcYOU2kv{QymMp( zq0SBZt{2B-J88rs4_KCRjO#}F^(Jm(yc5;9?$`c-WnKI$z@_6jU1WwFh+)i01MRes_joef(XJ@Iy@<7^}lGH(7fp@dD zUtwXD2Cn*$1(n%qNGk3r=J#s@z0c&nmJf|112@`4=i9xik1vw#@V9ks} z<1DnFGg~9B!QTzy4t=A#PJBZ@+u#X7 z+y{MuM%4)M(DPuYlwO5oCVnz_H>pprH+zDlx52yIrDji<=?RXM9YuAZCDfCso#ZQI zD>Z<*MPx(LBvQmqOA434n4&WD53-VIgdE{04&QA`5#aW4Y3eJI$_ACpU1jl7H1=W? zxxvmv75YQDk%?|l?H;BYmvf^Wo%fk9nR8@Beg1_P#?OD@1<@p5)PIS#kX!;p$m z8Rjv$ooaw+!HA=_qYjo~RKo~Wzyr+!AI&|~lz${BJ-Vn=)i1W6|GsOQngc`bM_ zo|MnX#b;%43CFk+9)QJ=aKw^2=Ce$BOZhk_%T!CfVXHJm|CwW$cuq<$IWmDJXHC!= zIl-HtmE=wmn#`V%CHE4CrnH=70_T;IfpeR!XOV2=H*ui7COIB4RmjOCY)UkvCkR*C zS^`}32GLVwhe>9?IFeesnae_VmhK6iGOMIN2!DW(DP(t! z8p!V4HQKplVIZ)1XeE@A%W&a0dipKr>Q~d)L2GH|k|o%v0_%APO02x;oIqf~)=nyM z?k%TBaZ{K|fUD<-_23+o(CGF_JWPuxuy9Lfbmh=yF^4jX^Yoihj_SaOARa{t*mN0w z)AM1zp)NY-rj^motqTHT4iKUegd6t~yi;x0E+h%!BumO>Si^dS@CG!^L!lEQ@4g$+ z|01&Rd7w(XB3`M|*NFS7^m4tt3bDl3SYcpn*a1O!RbTA+h}w8Sd#h@^u!`DZ)PfwS z1r>PI#z^e>167=Zbk~01p2t!eoNdZ7vGai5asbW5AM%V&oB@hl&T@mJB#^`yMcUos zDZK*{|4Dr|3KOj%S>qCaloTPW#5c4R@TBB&%xN@jvaZDKG0O8;H)pe*oP*|#cwfqN zf+1&TsfKXRabH_xKAOOgsZS+lJR3lQ##7`xLE~D^p)}`WihzuT5XX!`GJg(aKDF!P zWj@o4>1G4nxc29XpMQF~xmN5)3$GGZyz!k4j!c9dQh&mi#A> ze9=WIh`gT;7J44tQ|Cv`BG+H>)eC92EEMO7};T(Sfo~MOfJR@03I-) z8#pk04=)%E{<88Itx$Q+l)MTJgmNY_l7G=5113?HpfSWDWE++Y7l&tUnK@tad~M>I z#8(DX9t9F6Ye$wbV2mZMSHiQbOBfa@LB?ny9gIf{!6H4%7%U&RDj{9U;7@2%l6uCd zlG+pvZ49bOJtz5w=I;2~EJwwhS*mx4(!b8n+Nyx!FR>CnW~2 z&1k&y3RL!`o1yTiGRBmqCPtLhmL(+0X-E!3Wi3fSrW@mEMD89OM*C-+ZCMiN+o_s6_Xzhe z_c8S!OM2=+?rr(Oa*3AL%q6^bW|}cRCjJJWu!QEa=oeWg88gn$Gm5Os;1{aHUd1fK zdxn3f*h_SJq+ri|6SzGG{(jkxzO@D3g1nwUh`oKny^AyE-K{(=5SZJ~Z4&Pom<*IXs4=Bu-4 z*0SDN{M@YXeZTYj-{bdlEYINUdX8Z9J9tt!1sX7G-sWK`hE)Ke_F$%LUNE7n^U}Kj zf+Ui1?oPV0BId8UVt(&uPG7oX_5z=~v$1#n{NBdS?81!7MQwx8ZR`5&)uB*zRaMoY z1y>D-(+BtV&)%_AU(xQVY&dP{o~5TXguMOsj%8IBpQnF2x@(E33AbF(P*>lur=cF0 z(*2M&*xZN67lLs+23OSR)Qv7OaV#)8XJpp`1@OiLvtPQ-L?-lfZ{dv<>+s`rU;Xm7 z&Q&u93+twrROfr$-(Il(qD#*1S-hd5C;w~Hr#EB_oO*fdqMVGHg)J88Xe>cnPs8d}mt(LIUgp=O+n(uHLlgUS}QBX*SO>6~2!pkZhO zJTz0-gMgPq{RQ0ld?Jl9velxrZEZ)|hV)Zv$~wB5!)MMveQ|q9XVsSVWv3zFp0guV z*4)uNb8x|mMO~#mwL3QDl+_p21s3DIw&K>%{F(mhhR}?L40rb0&W;s!XGu@%;x&=p z(iwG?<@hycb$4gPDaz+GFFQl5boe^3a&+c6O4{HHizYDG;_tvs0g4?IpxfAdVjAxq zI(z3cQ-g!JPx9&1)HpV^geC(e5XVZ?E!{O|&aS1W?wm7c=c!$T;qYJ=zxU3XKY!M& zdA z*m{|#u>6_=V{!^i>(?Z#LmW2@{SbgH7k66#CoL9iv*&d8ecpm`cxPJ=BGI%Jmz5Q_ zr69ZimRkms@f{TFI~p51_CH!$TwDr%$q_r*54sa~J9xIEc^fQ7Hz(+L7MngqW`w6e z^g}wTC8yxKqPSzVFH&JoS5>FozpP!g2}ib8*6i1^9k?Kj#aUZ8jH93PHfPsnFXKwd}5!_fHMJ)Hf!1653i*s z$agIH?N%)*Jg3Q(+Qi`CAX;&mel<=e@eT+P$kQ}HfTS!S{Q)aK(j6x5zkl%l`**09 zM&5WM61$GHrhdG=kM@K1xBP7!((C7j7B-3d`d6L4U{&At;xm`8&7D)bDu8_$eNC|1IJ5ZE3h4fLvY^f_;qBI#v$D`quWVz>k*a<;1oB!`NO3K zm?og%vL~*3y0FV)jyyDl`qJo3h?%ktmpF1=4%KE;`#0>gyIf8%j4HlV)!trJ-PTr} z?e%77<>%vW)NJp(#ijXeoh@$hZ-@%{Rxey))^#Gdb|=5J=jD&)<>%*( z=F^@fN2CCLGmIH0AtRtRAZ!isl+z`RMVdj)x&`NVb)COp(Y7wcGVXR}E}YfAC^K_W z`|M4gaPGV_GI}pP^^Ikh^!8qS+GoOPuY2q2ys_iny6&c#{UNFiqlfMiJ1}421kKc9pFkQc`iO|)01+i~(FmEjabhlxd-Dh}L!>&Vo z00m6T5$Y8@ds*6(Xn`Drv~fXa_QG$zB?gKSdr0O7KPDn!dXd+OGU7!~VWG!e*w@_@ z?(WtvYU=K8au*i5J^01ZcY#>f)ZItl3O(`UFn&RaLbq7Aqfe~F7f(TfC*0K)4tMK! zb%(=UeFYv_0_F9)YWw~ZG0!rt1Zrh$w5^8Nn&g7Wf=#x*so+b#-m*?A+L8#f<7E4C!;j>}Yp)bhdo&4-_3DeDD^hnZ)K}aXD%2 zOpg=RO48;7__;h=J(qS7pphg|-N4)qV!hAA$^>=-H<|xS-K?%5?H2a{G5yd4L_LR3 zL=dTrHZ+LF#!zjUedf%Dz1Mc;hZ--r?2=Utcxw#hcU-r3X2VQ-S#7AXQ8bX`?o!_1 zajMY>qca-29IfQZp~D!li8;N8u z&5P7|G?F0U(MLPWDvJwUS+3r26+dO?_BI{y`n;~ZvaB_0|iB-_K#Ur0u>5iOGJ=bfJlyms*d;+(#MlDpi zM!Ej)L77iU$l<98WUfobwtN~w{$HZ@C+`*V)hHv3mcVwjLrNPOrO;_;#7Z}4ZtNIn z@N_^fou^vf3Eckn>W{5hw{AsFc1>MFEok%*uF;m>TDkQB{i#WdJh7@&yhJOzc`N#> zLs+}jSBcXi`rGpsXNdbJuk>Kq!`{L4dl1Xwpy3%2Gb-(4==Th&cg5DN()#qPBl@+F zJYz?2AD5zKTn?N)R8GHhfDBz|` zMo6G&c^v!9N$U!%>pm`84(&j-%YY2=h&j7rI>@Xwd=$}Vi1PabGWzZZ}o>O8p zII(*}yL41T7d&tMQhXtHX(G4+v~BpVd<}YdDR8dTp7{}u$FyhIi@Z915Omwgbc23P z{t=0C1W8{psQx(C8T)Y1B%s!Zh#fw*Wn?6xJV_+>}YpfX`L;#KqzxZ8KsMw(;K4)czkWZc*v-yO%XP+^A1+ z1*!kq>I$-aX;6h%0}*nUr=?@aWmUEoeXL{1t8IlI{TcGEnt}KY8R;U;<55rICQ|6- z$_DWYJcD6{737N^(pHC7S9F4-{{}vw#8=@YY(U?^e!|F8*b`4+#805)eJBZC!&(yO z544Kp(gb1rQ3=5Wl7J&20hWqr1oiOke=b&{g$ZZ`CCMX}{_LOsJn-i~i(ac&tojck zAK;QHF(>MwR?N*bWeuz&94ZBAuC-GH-$3cE?q>AlvP(%t`kNxOo)gSwf zie1JOm+F7QZ_>{gT#X?<1tLmRKBBf&cr=-Y8Tp#vAE<&F|8gZ;6St$oPG6Np%+&cCRTd=2R>?K=tD~CJ! zt{L`dAH0G__EE$mOXQ=m{UFNwCyq9PxFWGl>XCEDpVH1pv=Q~2vD$Ot;qvo59?Ll%$+d{#@_CGU`n?4r*`an} zuSV5>GVvg0n};z6!qtJ403=vBBo5r`!QJ88uIWzabeEn_hXd-Sp}~7`i3bjH9p4&w zHLCXvzB&kS@itMkRwanYSO|y4Iti@86B9?l*bm-$XX{qm0b}ymu=PIMopBD?&=U}q zqH59%LNRD+lsV!BbtT21IZ9ruN3dR+FzTgVNTZoW){7qS0|B=-{u@*_qP;hs{j|Of zj~E^VADuuS(%+24oFHVeTxQI@ene(V2D8-`89Uz7W6K-6f2$RkY;bV&pP!-G{8_Pc zBKE+<1XT+iQPxMACRXW;tJ$XoT-~$w&ChbN(c7M3RMAhE`_V64l1Fa5WIKjyAmlen z+P?YpmN(zrIx==vyyT1eFL0k?0xGV_sZU!t)&5Z*q`Zc+50db1a2e(plYT@zlBUof zz3>T+?XhG(n4>jB9Cv}uR^B+O0k|^+gL8yJzQr>L@_^Pm-If{?4kBpz*%;Jh(FY)Iou)Z68e1XjJ`X z=-~5BeYF6q0qlsn$i)*l?VZ?n)RlvSdY@bitPd-KhBp~zJuOzI1bYI|&`#dKn(A@*Z_UJ* zf=^M{92!fXR%q!!*=w|0P@Ol3M?ACy^5}i)%JJQVzuxDroHnh}Egso1xO$t&&BQt= zKU3tNOG^9=;sQ`-8{$mn+wI6G8hhRJ z|LV^ZPu8t#FIl`I)y;cjt?A}nEiO22c!A*qLu}&_?Yk`EO?(4TlAZs z(YkESA00SJ7!o;yV6KO%|7$Z+N>VJ6<5;;=nk$!fV+F-47c1xdiWe^Wxye$)T)J3C zJ;o^{UOgn9Tnz;w@lFIaS(M!?>)4cBN3vv^s>W0~ldOH2t? zmX=oL5^uBq^=kB0se(ZR)1Uh7z;B@iK`$`ocGBXwhm0wn;(9uHw%%qN8yp<7ZyUCE zjy~DV)ZVu*_5fDu2Tn8RdZ`B)5TF2&IxA=FZT7vRr*xlU|Ig7Yw#l-Q)0Ri}DJnQb z?nX)diR(5rzk(3L+xnf%1lt_C)cHPAw+%Zl@16VMRVEI`e!*$WPm?X-y{!{MGurac zh6Xu^_5^$9j=pq?(V|pnh899=ZpO{jLqZ7G8>h^Hty|uDYwOmrjoXH82e6XZ5XTK# z2`Cha05@nORfyfU9lIDfgCOtEcCX!ZB5nAgMks*8;;=qTEb~CyD0J!H(*HFNVPK2% zs@{#h`)>4x;fze$Eco8H5t2n@rbFLZp!A~eIKF1=J!puC6Z$jKs7+l@YPQCxbIZ`r zF3HShyq`iR67Yg*E5pN@S;VobMANVCPx!bNl~m1wQO#Dt>Bl5c$T(>N9h zu#fy~_{k?<`PrIN>b~!&)4XNAif}O4GNW|5$2+}rMsqM2t|%!peB_7yC1qak^s*Vv zmBD6Y@#d8l`vQdzGQ#>Vz0;?A$t%A3DlMt1>Re=gqtD#J;(W&&JnnnJ87r|TJQoqD zV2MG9Bu;QnjPgkooJ%CC(uaQ&u=aXOOZ;ffq!!@kCjF_CNsreFTOaV39{pXxK2BB?nZ=M|Kp)q_X%8fZHdxd~q23)+Q6SB2lF zs@m8Kq(iuTPN&Z$o)f+e`Zso5B)l9#3F9_1{SEb9vilHY9{|n|00$bAJq1p3Xr|a- zCPVF3XD6m{To3uLNtN8CznYk)-;K>R;x)f7<28q@+)4+IU{`b=gtfyFt)5jqBUCay zv?|m;v!titry?p|yV{78tGN^p16E0< zrAFKUFWWA;AbEt?RaGTE>n|jv=zN2{-QrTv8wjTG1M(K0)T_xOHDzRO z_*8=C4N19^ixT4LA%kk0Ks9$L8)TExdGaS1WGWI`ND6QMM9t%Q2E|xf$e}JJ$4LoX z87ARwC9qY%Ds@ZCf77L^`RI3rMKrLXmQGWD&g#lc|4&$uI0y+avBjN=cni-ZFl z0be8-Ok~*7|iUVkt0s;A89Ec3kjE)Ma? z=ImCnTm30^g%dVsw~~((?2FuuxX8Peo3Q%^>p#wWV*9jqaSQuL(a2gF7-@d;yuUcI zcdz~pyop-~rU7@qdOI|e->VMWN(1f*aDd&z^RlrEtWbOXa%Kc}rh*0Te%aU^tZUjK14Cj0aS(Yth9QWfw z@?k*1o)*y!!N*AKvgPQ)fd!3K)lCZq)GH&sFfj@BLXg61x_Xv4sLh*9>ttKTwz+fL z=tZ`oc&TUgG&lFqtJUxGRaE$Veqgv?y$-c!(ixEWboM6db#XhB_ybYJ;2P#su=svl zG`U^I*gFDxU9WY}o~mevnUuV<34cjW7=mP%N48WpxT@4^dfZu_-cX=CzXfewh%!&c z`w9Nb?0AX1HM`Cfe!Ou%QLO~~4&0(7EvEM)1USHo%ujZ2c;=+=Gd?LK^=tQpg;>0%zdt#DDH*DGR?hQ9k%5xK~;#PQt zhWvnsQs53-RpgMC)6ezim$Zii9p2(um2=ykZ7;}j6>sR)JTr)F<-(oTQ6uil&QBhO>8>qLc8CfGMIohikxQ*RU% z9NB8m#E--)9G8b9CdpVl9E69w!9Do&_xK32%}V(Wn+xPO$Bx6+$=}V9;jlpxa=PShhYii*?<~<^ZPm@+P3k&q^ZC0; zF^3I@WhB+KCP=mKPabI}m14~oCK++)j+CIsVSuz;{Bak#CaZq8w6kC32)lE@Uw! zmllNVc<`i>OA97TE*+BVx0C5P<(P>}E`3VLr8S`T@Ba;wOKXS=toQ@be80935Whw= zC(AuZE^VP9xwLZeCGF^xlB+(ud`YCC6E?}^J)TTYZ*_&Qh$R;&_+-2;u(wN61z%s-Ag(e)mwVqxh%Q>=ab8>|7P+A zE>u~*arCfQP7M=fWx+yzngsTu;JJc`Q!X;J0s=$nf!gf z!MP6GI{to0m3-;2tvAvoZ#irmjPH^&9JaGq6Efu%aSDWLT(1zyt7<3oG}ad=<<(j1 z=ct_r4uGemY`hvzIn1+2B^x_aH%gKy+Oo*NiWFT*6IWfe#}p{$CuG!K=nu!V&teo} zmo8a@2%!$#=vd!R6HfoS{kzWEqh7hN6M?O!cP`wsckjoPCb^R+y=Bi?yQVIEC+aSn zTsO~Ev^zkTeK5x-KwVa!o}Ja+TicwT7O;Tq&di#Y)fFnwDw>ArLxps|2IKJnpySp; zO3NneDu!un-NJ!h+|_999dJw!7UsKP8rxD+9xT9iXK#yo4O(ASh1TEWE^_DO6nUx| z@lZyeRO23Kg%@emN3h-{eb2Do6}Rq+?$JMg-RWOCC$e1qaR2^YEGCT-{&)#c%q;Qv z-st7}niG_$)b7Nr4C@2dgDOo$h*kyCTv*&wpYF;Dx6f=#OAqK@G{JOdXJlq|RRyMb zv%(Su#u>8w0CWVpaB(8Km~eMYCW`)w1h3UiqRBnnOjX&ZWs0BThNXrxQs#I%2_;R{ zP*nqe+;Y~A);UZ2E6bbwmHkV5wX65++0)-e(bKvxl_nt2DQmnh&C)P5L>OI5@s{XW z8?;QbJU}Hum`*rY^hZaInu3nr;LKRGvA8rXt-Q?wR=aRkT3T9HQ9+h(T2<5pp9H&h zGIs5gX=<#TlW=aGUQ<>=HrY+p<<+Id#CQ!_W>;6a&xg&C{n_s9+-#?_vK|kvEP5dB z(K6L@nXW1PcJr3aJ4}9KTE_VeC4BJ`7JhqVPjr`lrqPo`eQSwIl*l1_#3a4j!fpo} z({kpnDz8jSn_+UBc40%>wA{`LUsgd{MbrWf`rkMtSjCjwW>Cgtx6e#L6#dx6S6+P1 zY0I^nC(~sAjvb3|@P$ZkaPBprJp-JJ(c2WA2#3b4t%3FeI2r)r&|}$s#b90VhN99P z!^1nO%5N+3!J6tlae3X^lI?l*?&0C#L%}75yWB0M`d8G?s_SE8fV^d5uJ{w=Wg*Ed zoIWA~T|sl0u0+wjA}r21^bxtnX!hQ{?hBb-dxl6$TXN==nFWpv`?P(LUp*?`)?e~1 zC}`|05pD!Y58}CGdAa^abs17NF2OQG2_trMrM3;&SDQCI=?+Lda?k+p|&e^?p@7*7; zGt<-k^i)mvbXQlsRXt$}a^fh61c(3tph!xHDuH?DzXT5p-j!CZ;Q#ntf=4rC-O9#31-MgJMzAp1;Q5om=NCrB< zxiPAE8X~X+c`@VESS&%}h~DigoFNoy&(N*=_3IK}kQPS0kfA7i%)Z(CH!AtV4M%Ev zM@Oz=#Edi(;d5WeFxvR|J3oQww@+V_tBVOtLx0TlevS(jd;CUXY#c(Xk;F&i9S+kP zc8?$z57Q^Ztllk^W=Jx?DC)rBBzJ&S2oJd!&Zp#hjdex!s;K;NJX&Q|3Zo`Tc@#r_ zA577wB`_nogVi1+Hjm*I_G$UpGn`%<_M`sAhGz% zkXsEx7z*je3SuFO2_q zMSdHqe@hR7IvwFT);sSUBv3Abf>&*x3tjx@5Reh!bAB|%Ft zjBXNWn59u~HT}FQOsT1?C091#y@t3q@1hpC8b9s(Fah2GiI|Xn$G1Mp=uQ#_h+O>_+Xr z>^kj+?7Cqg_C;=sNajh<5z@INASIY3$V;hEX;IZ<%3I_sB`VcSf68ANhBi?)DYz8g z^WJmZGaBYh2vLFmVEW-BcJwe};)ld{AMRAYs1%pnmTZ-LEg@7vE7DaZR_G~CE`BJz zm_?kuEz(gq%Fik4SHVe?){$P5ZWBFG9wN$Q>wX^b#42-(c!JJ3DnfwQGfA!C|>R_nafPaJeu% zx%_)B=SGFF%qE{--7D-??nHW7gy)clghxA_B0ZNU#@RrJeobO6zuC)~*G2sL`Udhw z)N|#A;Q;0D%(c(;%+1L4!~q(C0!k|~G^`1%8H(;S`+WHD z6D~_*TP&m6{-UXaV&O;JspL$O+1?$gw7 z>uL6)HZ53@*&0nrzOxzRkVz#<^-LwvO0g+AAy~m#S*VdQr5a!6D>a&T<27rMX=!tf zIhi{SJXu(5Sn6=8bll`o;a+vf-I;ty^rv;aY3(63qBLSL zzsqEDu9tnNZuv$)Bpst`v9obI*x|}W>#ytZNli;c%j`?hQzi)q2|fuNAFOHW#Gi?E z-j;=#!T6n~73EX0JE_aZCFxU}gRzV93*S?t|t^g-`MGtuRk<^N_A+q)EKQ*wJsGVT*2-MSB#nI=QMy(-oxU{* z9#LaF`Z})N?gdjz;UV@UwUY=#|D*;}UZNwbonH00!0u`#wa}_Z*ic_4RH3i>`3x;U za2EFib~w^m#g#_Gk@$7YH`11Q-tvw1S1*i;1I;QO2ak&dlvR`k-|DyG?ZT=kI>Hty zZ7EmVZd**-=7uFNC!1nR3tx+~pOv4+Os=bQs_(RLZQ3+XRoblx9a61RTPbRDTv~>1 zWmh`X3RKt2F3T)`&zI@yy*R+x4V0w|@DjTIJ^8SHvuD;df#wQ#YFo}+O1BZX7GJa9 zx4zg$+`;5qyi(X!;l9!E(*1I|Jh&X;Qtsjc=Zuyx+jCR>*cEt%w$8WfR#ewjVBkhs zR&~$B^^y1aQeryJOI#$np45oQip$oswK;5AWfqxzpB=3suWnH5oo0(Xbf&r8mAMs< zg_q+SU5~PAA-mkKH1Z5OE>>5Lx8p(Xsiy3!;(f0b+&aN_bib|fz9!rjhVRkLRBBa6XosCY~Fk&fmpH=UH-D`<#4Qld|#A z&nls1Q2y@z##tc7^R@BU%G06S(3##7qOO8&!X4rD0ty#$8UZq1>x1L^NV|HDdalTK zzoJ*gm*wr73qhaPW1?u%Q!h$i)?3#e-ZHnR4c<08(l9)aTk@lxgMl1*%}h%{RslEf zu%~Ik=3V+zt3J*VJDUxWc0v3R0>XC=y=h^pz<1iTACR3ZFMt9jkVU}@?XbS9%TGSJ z+t3Le@YWmOau?JHO!_BX+=RNI`uBvUltBtD!TDdz(JsSvMn@y2F9*=v-Z*qo=rN$2 zb{d)W)+D=ZX0kMmyyc(yX=V*Ray~Ieh#+$#XEyGExRuOELP-_?JgEV|KL`LG!7Bd) z0B~UffJ1!%;7I}iT>G?UMLzHWtf92HDDd|0%xWu)2Wt@QCB8ZV01nl^1R<&P{v51? zbC#49gFApGhQMU#okaNq0LXftDjLp825w~bj&`ON)+S`m9`+_=|G~)`-^-FM%6E8B zzrT55w?U&M&@za>3s`@HeTlvU(J|)jU~M5TA={An|zl zLfh(<26vg>kC&01N4J;(jeMLjc0q;_r}l!<;pFlo2cyBA<8R%c;|0o{>|$`0)cPE^ z*ab6xh&M6q+w>1ay)1t%X`g6$PVw{87537TI3E>J35y}tOyVN9Eb-Kvxc)(FF6Qea z#kR+td9nP(suWGJpxxG*sH$XPA8Dsf!HeO#F^v($vE^{%{d9-4W`~658t3&@Kib)| zKnmGgSj+Ga%MQC|>ASa=`!~iQi^89Rs**PkM)L)dnvyXig=5>6E-Jq+q?YdpTd0?| zNw03NH#4tLDr%Jka4Ei12|}Iv=vrdMT`+eX8SgwaDU?yG9xGE|S5c5&-K$9rks@J? z$vu0Qs8uQcyl0kw?!bSt$yO4l)6>mzhmI((D*^sBvZ8f^}FPJk*gH>H;GbYRSVt5ozNH7`Z_>5uR3d)@XD zwRUU!Nu_DrIXT_8auPwDl$=aDNKBQqbNnT@Pw|Y5m8>v_tYo|e2Yam1!d%;=w5qeb z52|68hi5NGTJ#HerOC5^qFH2r)^kM}@nc^2ruzsp&d z*hu1EN$Qj!Z$65l@uQqVh=5}DwZw-C+ZOnK#dE~G$WtS08o)h13~+ma*=gL=dOUZ{*@*g z2bbnM2hy>FG>W1Dva^8SFzD&9MsAT8bZ-i1_O9X?3nup^F(FZ7yy5+n8dxO9lvZq7 z(0~rhy+EGsABT1Sh&mp475S0vp(;rujdOo&$)k&xISD_c55efWsH)^pl?@WYx%B2c zkIqi3!e?p|C66lRC0B|5zA!Lk1z7E*^f~Q&+Vdw$jB;WR6IPgTw(1N85}^W!5s2h~1_lHGaf?}`mHAHfy*b?V{0A48d zTM3LEu6Uj2tG%l1?p`*&gwlm>8NUi~@A~^K^`bS>p=hJSaX=V>=2v3uBpU;|K>z_N zHl?8ugozout)V&bD5E(+O9|)w6q#?jwJdrX0YQD=Rt_=$!!#14j-zi7vcyir!H2LqlymfqktHox zazp>|xZ2$w{;GYP=P|M&Ig)@MPP;1-3Y3bR?J63}xg`!OD=M!FpxotN z(`_=e;;%ogD#IjXT#pTuQWIxmtNVOhE|yADRY<~H@VBIMDmv)P@#4Ft3a-mgD1JC3 z)c5$M1A#(8LTTS?qPeOj(pcq?TY)k$97cY0Qw;e5v0GN1oiD9Xvh|Xy(6j3}#BT2E zQ}i9lcUx0#@|+2VUYLv+f1rtzwzi}i5dmx3v0GxR@pO0k{5*v2M5P_GyM+0i%3Ek# zs>%;0@d;*9OK2L8iJ~|!XEM{`Kj!3J^SgWUS&CLoSke&3yH)O-le~x{*UlM5J{I31 z1rbXwSeU6x%S{#H8=d~YT(V@zv z``%X(+3%s!U46&r+LN1-t>Te0y~@qVCsS{{%@)YyQ8;tKQY1l!a2mE`)mr_Ip#5DU z#-Zw-&@Ke2j5L-SOS62AGbLIg;?xW+9+u*uYp+>@2>cZccJM|$gYi8CiWI&!mI8y- z%x=#i{c$B)z!$`MjJeN?ircgrvca(f(?4~0pTFT6&Y;%pZ)K?R@RGwP`V6lHRGtf2 zUdr2-j81)z#mx9&a&I^$&GAvc=P>NMcv+re=g;jUEKfko2x2k7(>_QOo(K!G1|6D; z&H|+f%0|5_25VloQiGdFH)Y3UkYcoQa&z+#68@KzMOpgz&{l9QtQ56kpEM<8Duc!e zQJ)ZgZd~*<;}-f2>ThLLgfN=j(tWUhj2c$7e;`C!G#S%iB-NlGg$hY#7PT#;wf2o@fq*xIuDqLRARWH5@gq$&~85C+VKORV^2$#_4P*mtSY-B^;>=77#I zs4OVtFSDE#H6#yM|yhp~)omgp9hDD4yzIkyrf_wKh&Ts#D0e>cL4)Nx0J2Bbe3&x#TP# z1KL0-I%8}LImmil9|gZOJTsariwk_YR6Gf?Y*H=&`R#Rl|uv8AYL5GO+w2T28^ zZh~{K$*xFC>2?4>Tdd|}HA_TOYNmJ-X+DKVCCI;n7 zYC4@C98COO*e?`8?oOA#D(<;r zy}O!uJ9;AtUtKt#@%F=S^J`7_BN7x?dQ0(!U*VJ`|8)2FC6qEL=jGvX|6)h$O*wP_ zf#dOJzxUUX-gd{QO9!7e>hd>;BVDCa%tX>k0D#c=Ke`(3HueBO8~0sV(lLk$x%CL! z<6E5Z5MPM?)6Wv3tLNHLbUaf82H45@k;Ut)8(C5Zi)0Bk#%lMf!=Vxr^;E9DhO&8W z3Yx?vYUQK;pC(J&esk%`?}&}ipCf;2*Z%31>}$@Ai^t=X+%dJV*up}>!t0U!Ia-qE z+O_ecE4$H<>Z|{fkM=5&*eYz0(=W+C8mp2&m>?rJno+uxz56vLZ@bw63LpC>7Nt5F z25R_Gk!56D0=#v^O(ZBnIcO0)2hM}m)=5bf~D7b zkgonz6Zl4a!N0qll*v%!=)zD(=8YbYg58AJM#JCq>%Cd;Bc0*SOBjHIvV=>`VO4}S ztNVo-W!w`R{GciXEO&2*V}wD)w!o?Ao|o1(61Rm1bD}y2u2~9k%4d6P@k89#p}kCq zm}+^@!-KGMlv9D2$Z<;n00IX|(a$RG%O`6d3JGQzaOY<;oNG3eke|fiDj~QLogKzL zq`>#~QhttVS~X6SOfsN$NE^&!t0A;9MP_Ahe#fq*Pu1`8F5TENU5T?l)f{Wg6TrOC z6oTCib>#TPv3C1#N{Uh*2WtVn9(;FKd}vwvSod_tHqo%L&rj-)E(}i|gii53@(dD| zo`M1r0|Nsd38`nb$q6h$6wZXz*0QxrQ|5;D_U!cmwQCctKZcAIidD|9u0+huY5$BS z&t#;ft=4%zIC{Um+_^vO{bIJ7|LE-MszfW1$)^Ja4Yi0yhUFhW(albP!bX77A4M2a zS;?fRrKMFhXZd2g)&2d?^71lNMcb|BK#o{MitkOS-e-!qPHPUMm3kZRpE9kng%Fbv zw9x3?Zd<3cScv!c_d*|WIQ#nhU1_nxMJy~VHV&PecUBtgI0yRrvWtrm;82M+TU2y= zdwYfQm9lGVvE0tqiRUMjXt6?LV#L+eam)2O#@%L~*ph&>Gv8ZJ#P5&+0Rhx?nm$T} zGd5by&VPqy3guI`x3~4HG%5{xVB4jMm?b48(ZfW+Pd^0fFR0@!Gz8^~RSX}m{}Suy z=zIZ(>c#loi;Ii77446Qkbp*;Cp!xZ%l)fvh^&$lrs-%>z{Ax(oT#YiaomtG z<*m<%F$)6)h2g~W!xhxOr+Inr+dHClgN;!-dktx!>d+;7%L`(F!Zp;wF~pFYH&Q5D zHY0ch1dI8<&RTlD4|_4CrKPFw-o2ZeoMbAPhrN5bgwyWu^|A8td68B_YcI?uiyuPA z#H{9|rZyE57Z2%LnTHm^1XLB6ex5!d9>${Eub!U~8R}OOoOMo5AvkH#pVrr9KU|vB zCjRPCcLg`d!i%pq1?MKlu&H;y=L5w6V&CO%8M*2jl?1dwgp`jsq z*VEM|w~s-csXTsYb|?XbaJ6gzOH1ZiT+9sFMWNt#?H#1?ztCK^qNHgv?5CI`dkXgt z2kI8^&iewo33VmP)V0?S}!W_*etVw!Z|xT zd;W5Fk;Lih3xHF}lq_?hR;pSt^Y_w*BUQ3=E~lz0ZlO7t8X!Qy^t)vp^zqS2{~^B? zpl`@Ln@v7BmV&aD#vMDjchIVcl3F}+;%8-Nr(WOCAc##$s<*bfs+|%W>u;9ngHtG< z`KN)OBs456K$~G82;m)MTk+MMI~jE0sA-L4?o?J?U1CFusJ9kLzu4{NP?TYt2c_@453s=ZHrF_h{>r*=>ueGQ0$!3S0 z{wV)II5bl+QBi1UIJli2G{M~#XBK2Weqv9VO)gZBe8%quHBX94uEGb6BliMsWYL;K zyUEeyv%S6jDNUyLkL1iu!B(1ya~bM*2iKOip})?{aMgT9G8C9$-+~_^!wqN#0iYZ` z^gZVL*N^Y010lo+IlFCN4M@)p54*o3;bv?!I_&tlxVR8|p0(Ze?;=SP|-Ro9-Ky=7vzzV43Kg%WT&;6U`=k^9wRtR?9&La$Nh&wQDd zfOrgv&ci6{g!#+MOI&8=hE*~+Vq8S1SU5No^z=v$4i2$H#^4ni5h0?chJ%QNv}MmV zxxPN`R^z2uI%nFZ`&PAPTLEp4)HxQyXFIfaIo#OTs23a*beuS3?9FK~2~7-Sd2!{b z87vPc!uvj7=vMHi%Yj0{$mM;1&baXVYhYz%rB{W`dMiG!>#>lnEkmy%v!Rhu;PcCi zi(`}a0NxC9zcX0aKRc_4h>AkNjOZI28|xcS=dJR%GHp*q?Yub>blC2FHzD};90rcD zW9OSZxMbSe*3jR*t1)B?5juwev^(BMf>wHdK zFT1i5ot>RsLR$I?0TosE`SGa2Zg_N*ug-3x{abT$^ObAMOY54gpq{$Ao9{-u4@`1$ za-pu@%Z+STS69T$^t897rKN&~M(A3L+tu>zsotASrr&E*Q*p6H=UYWy9<*91HZd`A zFsOgAK@P88!}W@Uo1{wDK!G5;-uJ6EcH%w;1{DjSU}VO`$PX0Arpn2t^I(ts{G^P7 zg*Cd->~fTeM#6W03QB*{DM(j@4S{4cxjzTV5@lgEr0KB_O7GcaqsI@Dc9YA;I(F|PLm^*JGcPeJnzr98b^LH3NFmeu@_BLt(+8< zlw4X^TYI}4&KCRn-S?0>;u(3YPX6Xkh4|P7%%9>!^!Z-y4h6(`txCws_AS+z8PqJf zw@G&EPoW<`$b9@JRoWMoE3W_d;J(YswC1ZWIJ~8;t=^Xk+R9cnOOvasL@xW|=`c-A zP3kcu{F?Y!Sl2~8kU#VF5B48aU+wna@^M^f@^>(}V;Bx(-}KP-_IY z;pFHx(1QLuT;|<9OjBcfUL2_?CMG6KsbfB`esL;@q<(%yBEngy2mvu2f}%s zaftZbnKth_-h9;5)zyVGH1N&{`=P4rw}e-lU6ADYE`m5HD7Ifp)hqriTGt0ezqP@l z1d#MP#Fos3KJBY3rvHLl0sQ`A?+j2{pK8mbGynl%2nv=okbumXta+0s%G|)Eg4;Iq zsX(O~gf@Aj_rv8k5I?P+tTdS6U}JlnDDFQ$d*>AtY^S@efA;e7>OAwkYl#7u_$AZVl$BX9Y=eNO83pW}0xwTkjlaGf(*=8Tlb`5-p}mk}1UEHUde zOibuk`x6_yR`b6}LDN8q2B_=kj9IPF0zUeNup5%`osV42#dv}wtm|4&Z|Q#ip2AF5 zZFLHfq#H*!1qIZ5pt$e<)@nc{KD&E4qOY%S@X0m zjt)MRw_(BROD+a=JY8E&4Qo+jV^YIyAt*Y_byoV3%jn|j zn)CZNvZ|^o<-8hsp>JvXt-^PDb0e)O8k2Vw*~#0- z2LlHOHlpuab#=9YO>S)e)9EBZ79(<{vvaq_kxyIc-mOiob{p(1JlqvNlxDeZVBeVH z?D@Is7 zAmRny)MJ2}!t(?I(jQ!9Mrvw5U+NZg34gjGxU`<3!epUELb$CgKc=~5o%Vu@=8-LF z@CsnU5Lx>>Q^f0#vtVUeMCZttInB=TQWCifCUrsk~_ima1R!pr#EC*v;{=2?lNw@(VqzTY z=rlSUFh!fT1`I?)-xj z*Jb=(U^^MC{n|3$r%xxP$H&L%rT z+1r=B0H|0iw!7$ao{u;hwi~W34TT{f_Ma_QzRJnXRW~s+OWocf^(F4^nRNHlrv=dT zDPVi%N*f(^B`Ov`MP_JdsGz7gweQj;ms+;a#QzdEvZqmN9=BE2us%%3$jAx0bi`*J zZ?BYf2DB6V$>5Bfo}Zs%Z+KtHrgn66EToTI6@jm{*R(0(b4EAiY=Hs6W|Up~!=L(& z*PDu}7)PxHk`IZ9%7t=cUPomOjv2m>fBB+!I!U$;meF-9km@vTJfANH+=}N8W5AWX zi}yG*MQp#;{e59YS{ZaEdMQAO{&wW$dYAI`2QzHc7pD)P+j?>}At=ZoAh5neXmk@R z@g5!xjk7R6-v>ltZ6&R(tDO$3l=66-7Srzmea|-E*Ls^3SoZZZ1CCS^@o1uCIDL}f zS4dY3ZO$`I$Si}9gR1T2abj~9r`IUWGL9qXW*bl!HVC|2&y<0&gbD2i z+ciIIEUebAs;W0C%F6N6=ErXwyr7`Jqmg41`zLMOPJinE&G*vMQb9%=U5w>e3OgRB z?P~8?`;)CSCxZz46r7C!3y`>EQQytR1rE*hy5^h1hK7_w@B`Zvy>|PQBO5Ur_1k>8Xy6 zj_>~k0orP~db+zSo&PEso0u&5`1lasc=BIfU4fAz=Jzc;PfU+zvaG_;q(DEObw7jl z^8qFJp^ZL1pq=%gqodOU-KRacj(HHwz;33H?KE_}d>*CXlSdYsTZXS7Gx=0i~bQKC_GgVRoSvsQK43vJ@dEzbh(b+?(OwOquO|g zOd!mi_47Z{mcDPLnXfd69KYRG9$L`e_S^2aBS-}=dfzp=Ur=nA#2b(`0!&r#97ed| z95%h*(Kzo?Na{j#D>y%D*3uS&PQ{Wji^o`+uCY17zV+nkOdRhA`U}C1r%&M=w#PMB z;$OZH{D_ZN|4&SVnHdB0k2YI8S!AHAVD$|#j;UEouA+0!C*FdCk#HZiIr#Wi&p~xj zz6jdWb|cEa;*H)gO;j3%jF8yiHB#jNhDXBn79KDNaq}JX4kZjf63i8GHBm} zV`F2z(mU$vutBl(Zs=8pN~esJ=PwjK7Z`h9L=goCpFLTS4&pY1(ioA73XyZrik z=XA#Iq#+NKW+MPlc<%zj{4sQDTrvfE@H)A< zG@`yZvvcI^4Vxsq*x;r}NlkuLp0OMFC6zyUbQ8S0yNk{1cDmZ)xF?m6kP!LjYK?gF z0lH?&SORjhmRJ9G1sni|g(_U|@qW9VcABzn+nUkv*s5gLG!xi>xH%y)r!?C@NSP4C z4l>CsRCZH2V%$~>h6=<^*XvyLvQa}sM^B!|38?*))uS4>_N?ab7yQb-KaAj%{An-WX`EY@m z0o!SXT5Zlo0A8VehN9x)5i-=uRYS&)4D9T4tJBkt`b*U~1&4Udlg;^D!~!paH; zw_YSi9nx^tJ7ToW-CKm#X8`xH&p)%W$Ye73@L7_P!LI}{nw`9y+-XTgg}AcvyTil7 ze{o7MjJxi)&+^It1rXk96PNrRynwXZX4w4L6&f1anI{|n-+(GgB>sA7oQN=UMo&>1bhT6fWqA9k*iZE3?H2g zLu52*VO>55!rq<;*%gim4U2pEX#X9kvBs~&jG4X}Z;PiqdvYS1kK*wkobcQ>Ujap6vW@;56j$`sav&5%w9_0H?9qN5 zLpu^#ko>>q|8GjdsZ`S^@57PHJ*@GK&^<2LawD58iLGv~hGu|J2=kUqaY7n@1-Ck0 zF4QQsh21gTWxrEdwiA2hP4kM(g=Ri&0lZG%MxGxHa*`{g4G=i23)V-5{jIhnDtMi z<8v;6Zr7LGD4Th2l$i8tT0Se}=XfLv` zLo+r2oWIuEo9m?xAH?S2bHnE23ObrcGp+=((8`NUYY3DOD=l=;e{JdfXJ6<4aEr8g zgZn9a*1%fi!wc?2xtnN6n##%oAHXs^00V&uK>gdF0#5*f0D$>V833dp2>(}E34->& zX&?b0!~%f+ZyHT7|98ZK3FQ9o95M^?e^NmBXF>fx<$t6@R!v@DM&&G~;cRT+Y{FyY zXaZ&c3lj_5CnmN}EZizgOgzl2JgltrV1bE=YLvA0e`Bz*Gqy1G`2RAn@G!Ie7X#na zO&`cW`@dRnwy-gAay9^WGymU>F!L~T@vw3H7mqL6H$spH^B<3iyM-x_7}pXTfTMuUsOYy3ZZ2L8v% zV`OLV;b>uI?hJ_h&k`9JYX*Pyl(aQs_(=AzyC@3;#UKyvzqbGJ7@Ig5Ia=5||7%v% x!pYv+zyp^su@NNsPv@O2Oig*@9W6|3oelm&!`x8%{BP0$NijLma$)^%{{!(Jz9Rqt literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/logo_512.png b/web-ide-main/web/public/logo_512.png new file mode 100644 index 0000000000000000000000000000000000000000..b7288cfc18bd0504282326914f585a38e1d2fd2a GIT binary patch literal 23307 zcma%iWmHsOxcAV~A)O)$0@Bi{h)9QYBZ72yDaFpcMZ(l{6D?x zy{2gU3ky<2dQ8O;9oEzM*w}?@{7L7DgJRmo<$9{fZ*%xt zdFN-?#`=(>Pk7R)Sddxd;|ZsR!uPa}1f8yLeo1_@XYVx7)}9p!)FrHw`1tlwgFr$r%xd- zv=T*_yu;91La#6tW6`?hximXvQ$N!7a=dlmb5h(U&VPhF6DFeSdPaQu{9fh5%aI7R zNm;_`#1BJ+O4ISCe_p^Xyz8F&`RX_?5N|#DxFuitjDh8oP;l;1xM_6Q{dK3r@=g;{ z*lhJPza-5Ljnw!&DGX+_E&0n)GVXjQ*)@{Z<163$2`;WM_vlGY6}dQy%x_zt(OKXz zsV};2g-I|3e(`;t3je2MTf&?sf-$CD9Y)B!85X9Jt=jl|+fP$}g>` zWX4>c=#-xP>L9)OBxej^3?@j=;r@ozaRi?O9sOLb#qyjGL`3QPj~{8N7ii0Y|^i8UEVlFl-F{W$#}#eEU_i+s~Tt_7i5f#~^T93kC5ArA~NkAjdQ zv%g2tmcaSxZ)(K*0=3)d@eCHrZ}tj|$*+mQN#y{2Ic|JOq2>7eJjs5*=e}zy9M#}GMBlMv_$rW>Vq*N@9;L}xPcLqJA=?;ulvnvsA znl|jgRn4PESQ+nMP!15727JuWDzI03%7XU%U8w{~=70)s0lFGh5sC}db7|a6vFu87 zmgI=K*IpR`f4R)rJ-Iy5JW-m6^uul68NOY9cbO3~w#-HRoxO*0J;K;zjjJ&6dEy&+ zK{L8MOeahyvWbvu|L%_#T23Xbe2-H66?)mbZ95J+_&$yrH&?dK5K`mi2UYiYtaUn2 zrxI&^n~xCwCLG=zwAz>N!~B#^WTa z_&Yq>Kdhz9qPJpAH-2o~Z8&X&Y`76)b$?%zl*xI|OvUUHhaLAhPDxhnx$g5iA|;Dl z)p*tFakkv)0aViurg~PZ`!sn%u=~pQKFw0Kouple_Q16!m7_lapg- zV;fea7JQaVP*D*x+$Jw)VHfGMvvcJ0x1RIo?Ay3I6K6hW6X%0xqucnD%D62!sOYBXpK%SwdAH>~ z8C$>lMvGY&Sdo8v!Lwj9V=7?z$(Goprl(+RyO3)v(Kz*^p4oz}i1kM!BD1QYoTZIu z=HGF~$!1N%HC<=fNsZd6vqIIR)ksbXPIVq_98R!>%shvHhz%ysJ+wRSamF`DJg%dZY4Ctcd~@yVx9r+B8&>L%M1>{HH@&QDj% zn>`8oQWIQo$PqvnD08-U@m~M5|Ho}^ z=d2?MM*Xj4q;c^&CA>I%Cil1LU+5p+{@S^7G08N--!mNzYrzhuF1kCe1N+s@;mwnG z1-I$6e6$p_7$WFqDWm^JmxP$10MG`+IMTQz|J z_O4eykMars5r#7;j&zUwNYv%Ml*;khsOpP&VL6#qfTBW|<&!O!Mc1qKr|;vONxaEc z?^L(%_tS9JAF;ioVTQDRqOXNtNBvFyCih)oAwht9)Ng6Z!{;<@i)^I5zQg*3;jc<@lb1Z~)m+%=@o_G13K)k742Gsg zM}`kbwZpNbPPz}m>)B~ZL%vY3`n_=Rckpa#dT_K04a7h26z52;((^>{SaTMe|bB7FtDw91=l zURNvG=@vt(`npnyawGNEhxlK_C&^ey!mtm^PqpfIrOzV2(lt*Bmo2y5dl8mz>s0DH zcpOjTF5pi4Rv`-4@+*HZQ#H%#$-3Hh+7j6|)z5l4*%Vq@_*xwPtY8~9J* y3{4J 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 literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/manifest.json b/web-ide-main/web/public/manifest.json new file mode 100644 index 0000000..fd79e9f --- /dev/null +++ b/web-ide-main/web/public/manifest.json @@ -0,0 +1,42 @@ +{ + "short_name": "NAND2Tetris", + "name": "NAND2Tetris", + "icons": [ + { + "src": "favicon.svg", + "sizes": "32x32", + "type": "image/svg+xml" + }, + { + "src": "logo_192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo_512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "screenshots": [ + { + "src": "user_guide/01_chip_empty.png", + "sizes": "2660x2076", + "type": "image/png", + "form_factor": "wide", + "label": "Empty Chip" + }, + { + "src": "user_guide/01_chip_empty_mobile.png", + "sizes": "782x1692", + "type": "image/png", + "form_factor": "narrow", + "label": "Empty Chip (Mobile)" + } + ], + "start_url": ".", + "id": "/web-ide/", + "display": "standalone", + "theme_color": "rgb(16, 149, 193)", + "background_color": "#ffffff" +} diff --git a/web-ide-main/web/public/pico.min.css b/web-ide-main/web/public/pico.min.css new file mode 100644 index 0000000..b7bbabb --- /dev/null +++ b/web-ide-main/web/public/pico.min.css @@ -0,0 +1,5 @@ +@charset "UTF-8";/*! + * Pico CSS v1.5.13 (https://picocss.com) + * Copyright 2019-2024 - Licensed under MIT + */:root{--font-family:system-ui,-apple-system,"Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--line-height:1.5;--font-weight:400;--font-size:16px;--border-radius:0.25rem;--border-width:1px;--outline-width:3px;--spacing:1rem;--typography-spacing-vertical:1.5rem;--block-spacing-vertical:calc(var(--spacing) * 2);--block-spacing-horizontal:var(--spacing);--grid-spacing-vertical:0;--grid-spacing-horizontal:var(--spacing);--form-element-spacing-vertical:0.75rem;--form-element-spacing-horizontal:1rem;--nav-element-spacing-vertical:1rem;--nav-element-spacing-horizontal:0.5rem;--nav-link-spacing-vertical:0.5rem;--nav-link-spacing-horizontal:0.5rem;--form-label-font-weight:var(--font-weight);--transition:0.2s ease-in-out;--modal-overlay-backdrop-filter:blur(0.25rem)}@media (min-width:576px){:root{--font-size:17px}}@media (min-width:768px){:root{--font-size:18px}}@media (min-width:992px){:root{--font-size:19px}}@media (min-width:1200px){:root{--font-size:20px}}@media (min-width:576px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 2.5)}}@media (min-width:768px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 3)}}@media (min-width:992px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 3.5)}}@media (min-width:1200px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 4)}}@media (min-width:576px){article{--block-spacing-horizontal:calc(var(--spacing) * 1.25)}}@media (min-width:768px){article{--block-spacing-horizontal:calc(var(--spacing) * 1.5)}}@media (min-width:992px){article{--block-spacing-horizontal:calc(var(--spacing) * 1.75)}}@media (min-width:1200px){article{--block-spacing-horizontal:calc(var(--spacing) * 2)}}dialog>article{--block-spacing-vertical:calc(var(--spacing) * 2);--block-spacing-horizontal:var(--spacing)}@media (min-width:576px){dialog>article{--block-spacing-vertical:calc(var(--spacing) * 2.5);--block-spacing-horizontal:calc(var(--spacing) * 1.25)}}@media (min-width:768px){dialog>article{--block-spacing-vertical:calc(var(--spacing) * 3);--block-spacing-horizontal:calc(var(--spacing) * 1.5)}}a{--text-decoration:none}a.contrast,a.secondary{--text-decoration:underline}small{--font-size:0.875em}h1,h2,h3,h4,h5,h6{--font-weight:700}h1{--font-size:2rem;--typography-spacing-vertical:3rem}h2{--font-size:1.75rem;--typography-spacing-vertical:2.625rem}h3{--font-size:1.5rem;--typography-spacing-vertical:2.25rem}h4{--font-size:1.25rem;--typography-spacing-vertical:1.874rem}h5{--font-size:1.125rem;--typography-spacing-vertical:1.6875rem}[type=checkbox],[type=radio]{--border-width:2px}[type=checkbox][role=switch]{--border-width:3px}tfoot td,tfoot th,thead td,thead th{--border-width:3px}:not(thead,tfoot)>*>td{--font-size:0.875em}code,kbd,pre,samp{--font-family:"Menlo","Consolas","Roboto Mono","Ubuntu Monospace","Noto Mono","Oxygen Mono","Liberation Mono",monospace,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}kbd{--font-weight:bolder}:root:not([data-theme=dark]),[data-theme=light]{--background-color:#fff;--color:hsl(205, 20%, 32%);--h1-color:hsl(205, 30%, 15%);--h2-color:#24333e;--h3-color:hsl(205, 25%, 23%);--h4-color:#374956;--h5-color:hsl(205, 20%, 32%);--h6-color:#4d606d;--muted-color:hsl(205, 10%, 50%);--muted-border-color:hsl(205, 20%, 94%);--primary:hsl(195, 85%, 41%);--primary-hover:hsl(195, 90%, 32%);--primary-focus:rgba(16, 149, 193, 0.125);--primary-inverse:#fff;--secondary:hsl(205, 15%, 41%);--secondary-hover:hsl(205, 20%, 32%);--secondary-focus:rgba(89, 107, 120, 0.125);--secondary-inverse:#fff;--contrast:hsl(205, 30%, 15%);--contrast-hover:#000;--contrast-focus:rgba(89, 107, 120, 0.125);--contrast-inverse:#fff;--mark-background-color:#fff2ca;--mark-color:#543a26;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--form-element-background-color:transparent;--form-element-border-color:hsl(205, 14%, 68%);--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:transparent;--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:hsl(205, 18%, 86%);--form-element-disabled-border-color:hsl(205, 14%, 68%);--form-element-disabled-opacity:0.5;--form-element-invalid-border-color:#c62828;--form-element-invalid-active-border-color:#d32f2f;--form-element-invalid-focus-color:rgba(211, 47, 47, 0.125);--form-element-valid-border-color:#388e3c;--form-element-valid-active-border-color:#43a047;--form-element-valid-focus-color:rgba(67, 160, 71, 0.125);--switch-background-color:hsl(205, 16%, 77%);--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:hsl(205, 18%, 86%);--range-active-border-color:hsl(205, 16%, 77%);--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:#f6f8f9;--code-background-color:hsl(205, 20%, 94%);--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:hsl(330, 40%, 50%);--code-property-color:hsl(185, 40%, 40%);--code-value-color:hsl(40, 20%, 50%);--code-comment-color:hsl(205, 14%, 68%);--accordion-border-color:var(--muted-border-color);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:var(--background-color);--card-border-color:var(--muted-border-color);--card-box-shadow:0.0145rem 0.029rem 0.174rem rgba(27, 40, 50, 0.01698),0.0335rem 0.067rem 0.402rem rgba(27, 40, 50, 0.024),0.0625rem 0.125rem 0.75rem rgba(27, 40, 50, 0.03),0.1125rem 0.225rem 1.35rem rgba(27, 40, 50, 0.036),0.2085rem 0.417rem 2.502rem rgba(27, 40, 50, 0.04302),0.5rem 1rem 6rem rgba(27, 40, 50, 0.06),0 0 0 0.0625rem rgba(27, 40, 50, 0.015);--card-sectionning-background-color:#fbfbfc;--dropdown-background-color:#fbfbfc;--dropdown-border-color:#e1e6eb;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:hsl(205, 20%, 94%);--modal-overlay-background-color:rgba(213, 220, 226, 0.7);--progress-background-color:hsl(205, 18%, 86%);--progress-color:var(--primary);--loading-spinner-opacity:0.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button-inverse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(198, 40, 40)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");--icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(56, 142, 60)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");color-scheme:light}@media only screen and (prefers-color-scheme:dark){:root:not([data-theme]){--background-color:#11191f;--color:hsl(205, 16%, 77%);--h1-color:hsl(205, 20%, 94%);--h2-color:#e1e6eb;--h3-color:hsl(205, 18%, 86%);--h4-color:#c8d1d8;--h5-color:hsl(205, 16%, 77%);--h6-color:#afbbc4;--muted-color:hsl(205, 10%, 50%);--muted-border-color:#1f2d38;--primary:hsl(195, 85%, 41%);--primary-hover:hsl(195, 80%, 50%);--primary-focus:rgba(16, 149, 193, 0.25);--primary-inverse:#fff;--secondary:hsl(205, 15%, 41%);--secondary-hover:hsl(205, 10%, 50%);--secondary-focus:rgba(115, 130, 140, 0.25);--secondary-inverse:#fff;--contrast:hsl(205, 20%, 94%);--contrast-hover:#fff;--contrast-focus:rgba(115, 130, 140, 0.25);--contrast-inverse:#000;--mark-background-color:#d1c284;--mark-color:#11191f;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--form-element-background-color:#11191f;--form-element-border-color:#374956;--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:var(--form-element-background-color);--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:hsl(205, 25%, 23%);--form-element-disabled-border-color:hsl(205, 20%, 32%);--form-element-disabled-opacity:0.5;--form-element-invalid-border-color:#b71c1c;--form-element-invalid-active-border-color:#c62828;--form-element-invalid-focus-color:rgba(198, 40, 40, 0.25);--form-element-valid-border-color:#2e7d32;--form-element-valid-active-border-color:#388e3c;--form-element-valid-focus-color:rgba(56, 142, 60, 0.25);--switch-background-color:#374956;--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:#24333e;--range-active-border-color:hsl(205, 25%, 23%);--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:rgba(115, 130, 140, 0.05);--code-background-color:#18232c;--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:hsl(330, 30%, 50%);--code-property-color:hsl(185, 30%, 50%);--code-value-color:hsl(40, 10%, 50%);--code-comment-color:#4d606d;--accordion-border-color:var(--muted-border-color);--accordion-active-summary-color:var(--primary);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:#141e26;--card-border-color:var(--card-background-color);--card-box-shadow:0.0145rem 0.029rem 0.174rem rgba(0, 0, 0, 0.01698),0.0335rem 0.067rem 0.402rem rgba(0, 0, 0, 0.024),0.0625rem 0.125rem 0.75rem rgba(0, 0, 0, 0.03),0.1125rem 0.225rem 1.35rem rgba(0, 0, 0, 0.036),0.2085rem 0.417rem 2.502rem rgba(0, 0, 0, 0.04302),0.5rem 1rem 6rem rgba(0, 0, 0, 0.06),0 0 0 0.0625rem rgba(0, 0, 0, 0.015);--card-sectionning-background-color:#18232c;--dropdown-background-color:hsl(205, 30%, 15%);--dropdown-border-color:#24333e;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:rgba(36, 51, 62, 0.75);--modal-overlay-background-color:rgba(36, 51, 62, 0.8);--progress-background-color:#24333e;--progress-color:var(--primary);--loading-spinner-opacity:0.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button-inverse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");--icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");color-scheme:dark}}[data-theme=dark]{--background-color:#11191f;--color:hsl(205, 16%, 77%);--h1-color:hsl(205, 20%, 94%);--h2-color:#e1e6eb;--h3-color:hsl(205, 18%, 86%);--h4-color:#c8d1d8;--h5-color:hsl(205, 16%, 77%);--h6-color:#afbbc4;--muted-color:hsl(205, 10%, 50%);--muted-border-color:#1f2d38;--primary:hsl(195, 85%, 41%);--primary-hover:hsl(195, 80%, 50%);--primary-focus:rgba(16, 149, 193, 0.25);--primary-inverse:#fff;--secondary:hsl(205, 15%, 41%);--secondary-hover:hsl(205, 10%, 50%);--secondary-focus:rgba(115, 130, 140, 0.25);--secondary-inverse:#fff;--contrast:hsl(205, 20%, 94%);--contrast-hover:#fff;--contrast-focus:rgba(115, 130, 140, 0.25);--contrast-inverse:#000;--mark-background-color:#d1c284;--mark-color:#11191f;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--form-element-background-color:#11191f;--form-element-border-color:#374956;--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:var(--form-element-background-color);--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:hsl(205, 25%, 23%);--form-element-disabled-border-color:hsl(205, 20%, 32%);--form-element-disabled-opacity:0.5;--form-element-invalid-border-color:#b71c1c;--form-element-invalid-active-border-color:#c62828;--form-element-invalid-focus-color:rgba(198, 40, 40, 0.25);--form-element-valid-border-color:#2e7d32;--form-element-valid-active-border-color:#388e3c;--form-element-valid-focus-color:rgba(56, 142, 60, 0.25);--switch-background-color:#374956;--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:#24333e;--range-active-border-color:hsl(205, 25%, 23%);--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:rgba(115, 130, 140, 0.05);--code-background-color:#18232c;--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:hsl(330, 30%, 50%);--code-property-color:hsl(185, 30%, 50%);--code-value-color:hsl(40, 10%, 50%);--code-comment-color:#4d606d;--accordion-border-color:var(--muted-border-color);--accordion-active-summary-color:var(--primary);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:#141e26;--card-border-color:var(--card-background-color);--card-box-shadow:0.0145rem 0.029rem 0.174rem rgba(0, 0, 0, 0.01698),0.0335rem 0.067rem 0.402rem rgba(0, 0, 0, 0.024),0.0625rem 0.125rem 0.75rem rgba(0, 0, 0, 0.03),0.1125rem 0.225rem 1.35rem rgba(0, 0, 0, 0.036),0.2085rem 0.417rem 2.502rem rgba(0, 0, 0, 0.04302),0.5rem 1rem 6rem rgba(0, 0, 0, 0.06),0 0 0 0.0625rem rgba(0, 0, 0, 0.015);--card-sectionning-background-color:#18232c;--dropdown-background-color:hsl(205, 30%, 15%);--dropdown-border-color:#24333e;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:rgba(36, 51, 62, 0.75);--modal-overlay-background-color:rgba(36, 51, 62, 0.8);--progress-background-color:#24333e;--progress-color:var(--primary);--loading-spinner-opacity:0.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button-inverse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");--icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");color-scheme:dark}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--primary)}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--background-color);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);line-height:var(--line-height);font-family:var(--font-family);text-rendering:optimizeLegibility;overflow-wrap:break-word;cursor:default;-moz-tab-size:4;-o-tab-size:4;tab-size:4}main{display:block}body{width:100%;margin:0}body>footer,body>header,body>main{width:100%;margin-right:auto;margin-left:auto;padding:var(--block-spacing-vertical) 0}.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--spacing);padding-left:var(--spacing)}@media (min-width:576px){.container{max-width:510px;padding-right:0;padding-left:0}}@media (min-width:768px){.container{max-width:700px}}@media (min-width:992px){.container{max-width:920px}}@media (min-width:1200px){.container{max-width:1130px}}section{margin-bottom:var(--block-spacing-vertical)}.grid{grid-column-gap:var(--grid-spacing-horizontal);grid-row-gap:var(--grid-spacing-vertical);display:grid;grid-template-columns:1fr;margin:0}@media (min-width:992px){.grid{grid-template-columns:repeat(auto-fit,minmax(0%,1fr))}}.grid>*{min-width:0}figure{display:block;margin:0;padding:0;overflow-x:auto}figure figcaption{padding:calc(var(--spacing) * .5) 0;color:var(--muted-color)}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,figure,form,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--typography-spacing-vertical);color:var(--color);font-style:normal;font-weight:var(--font-weight);font-size:var(--font-size)}[role=link],a{--color:var(--primary);--background-color:transparent;outline:0;background-color:var(--background-color);color:var(--color);-webkit-text-decoration:var(--text-decoration);text-decoration:var(--text-decoration);transition:background-color var(--transition),color var(--transition),box-shadow var(--transition),-webkit-text-decoration var(--transition);transition:background-color var(--transition),color var(--transition),text-decoration var(--transition),box-shadow var(--transition);transition:background-color var(--transition),color var(--transition),text-decoration var(--transition),box-shadow var(--transition),-webkit-text-decoration var(--transition)}[role=link]:is([aria-current],:hover,:active,:focus),a:is([aria-current],:hover,:active,:focus){--color:var(--primary-hover);--text-decoration:underline}[role=link]:focus,a:focus{--background-color:var(--primary-focus)}[role=link].secondary,a.secondary{--color:var(--secondary)}[role=link].secondary:is([aria-current],:hover,:active,:focus),a.secondary:is([aria-current],:hover,:active,:focus){--color:var(--secondary-hover)}[role=link].secondary:focus,a.secondary:focus{--background-color:var(--secondary-focus)}[role=link].contrast,a.contrast{--color:var(--contrast)}[role=link].contrast:is([aria-current],:hover,:active,:focus),a.contrast:is([aria-current],:hover,:active,:focus){--color:var(--contrast-hover)}[role=link].contrast:focus,a.contrast:focus{--background-color:var(--contrast-focus)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--typography-spacing-vertical);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);font-family:var(--font-family)}h1{--color:var(--h1-color)}h2{--color:var(--h2-color)}h3{--color:var(--h3-color)}h4{--color:var(--h4-color)}h5{--color:var(--h5-color)}h6{--color:var(--h6-color)}:where(address,blockquote,dl,figure,form,ol,p,pre,table,ul)~:is(h1,h2,h3,h4,h5,h6){margin-top:var(--typography-spacing-vertical)}.headings,hgroup{margin-bottom:var(--typography-spacing-vertical)}.headings>*,hgroup>*{margin-bottom:0}.headings>:last-child,hgroup>:last-child{--color:var(--muted-color);--font-weight:unset;font-size:1rem;font-family:unset}p{margin-bottom:var(--typography-spacing-vertical)}small{font-size:var(--font-size)}:where(dl,ol,ul){padding-right:0;padding-left:var(--spacing);padding-inline-start:var(--spacing);padding-inline-end:0}:where(dl,ol,ul) li{margin-bottom:calc(var(--typography-spacing-vertical) * .25)}:where(dl,ol,ul) :is(dl,ol,ul){margin:0;margin-top:calc(var(--typography-spacing-vertical) * .25)}ul li{list-style:square}mark{padding:.125rem .25rem;background-color:var(--mark-background-color);color:var(--mark-color);vertical-align:baseline}blockquote{display:block;margin:var(--typography-spacing-vertical) 0;padding:var(--spacing);border-right:none;border-left:.25rem solid var(--blockquote-border-color);border-inline-start:0.25rem solid var(--blockquote-border-color);border-inline-end:none}blockquote footer{margin-top:calc(var(--typography-spacing-vertical) * .5);color:var(--blockquote-footer-color)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--ins-color);text-decoration:none}del{color:var(--del-color)}::-moz-selection{background-color:var(--primary-focus)}::selection{background-color:var(--primary-focus)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}:where(iframe){border-style:none}img{max-width:100%;height:auto;border-style:none}:where(svg:not([fill])){fill:currentColor}svg:not(:root){overflow:hidden}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}button{display:block;width:100%;margin-bottom:var(--spacing)}[role=button]{display:inline-block;text-decoration:none}[role=button],button,input[type=button],input[type=reset],input[type=submit]{--background-color:var(--primary);--border-color:var(--primary);--color:var(--primary-inverse);--box-shadow:var(--button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[role=button]:is([aria-current],:hover,:active,:focus),button:is([aria-current],:hover,:active,:focus),input[type=button]:is([aria-current],:hover,:active,:focus),input[type=reset]:is([aria-current],:hover,:active,:focus),input[type=submit]:is([aria-current],:hover,:active,:focus){--background-color:var(--primary-hover);--border-color:var(--primary-hover);--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));--color:var(--primary-inverse)}[role=button]:focus,button:focus,input[type=button]:focus,input[type=reset]:focus,input[type=submit]:focus{--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--outline-width) var(--primary-focus)}:is(button,input[type=submit],input[type=button],[role=button]).secondary,input[type=reset]{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);cursor:pointer}:is(button,input[type=submit],input[type=button],[role=button]).secondary:is([aria-current],:hover,:active,:focus),input[type=reset]:is([aria-current],:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover);--color:var(--secondary-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).secondary:focus,input[type=reset]:focus{--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--outline-width) var(--secondary-focus)}:is(button,input[type=submit],input[type=button],[role=button]).contrast{--background-color:var(--contrast);--border-color:var(--contrast);--color:var(--contrast-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).contrast:is([aria-current],:hover,:active,:focus){--background-color:var(--contrast-hover);--border-color:var(--contrast-hover);--color:var(--contrast-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).contrast:focus{--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--outline-width) var(--contrast-focus)}:is(button,input[type=submit],input[type=button],[role=button]).outline,input[type=reset].outline{--background-color:transparent;--color:var(--primary)}:is(button,input[type=submit],input[type=button],[role=button]).outline:is([aria-current],:hover,:active,:focus),input[type=reset].outline:is([aria-current],:hover,:active,:focus){--background-color:transparent;--color:var(--primary-hover)}:is(button,input[type=submit],input[type=button],[role=button]).outline.secondary,input[type=reset].outline{--color:var(--secondary)}:is(button,input[type=submit],input[type=button],[role=button]).outline.secondary:is([aria-current],:hover,:active,:focus),input[type=reset].outline:is([aria-current],:hover,:active,:focus){--color:var(--secondary-hover)}:is(button,input[type=submit],input[type=button],[role=button]).outline.contrast{--color:var(--contrast)}:is(button,input[type=submit],input[type=button],[role=button]).outline.contrast:is([aria-current],:hover,:active,:focus){--color:var(--contrast-hover)}:where(button,[type=submit],[type=button],[type=reset],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]),a[role=button]:not([href]){opacity:.5;pointer-events:none}input,optgroup,select,textarea{margin:0;font-size:1rem;line-height:var(--line-height);font-family:inherit;letter-spacing:inherit}input{overflow:visible}select{text-transform:none}legend{max-width:100%;padding:0;color:inherit;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{padding:0;border-style:none}:-moz-focusring{outline:0}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{padding:0;border-width:0}input:not([type=checkbox],[type=radio],[type=range]){height:calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2)}fieldset{margin:0;margin-bottom:var(--spacing);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:calc(var(--spacing) * .25);font-weight:var(--form-label-font-weight,var(--font-weight))}input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal)}input,select,textarea{--background-color:var(--form-element-background-color);--border-color:var(--form-element-border-color);--color:var(--form-element-color);--box-shadow:none;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}:where(select,textarea):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--background-color:var(--form-element-active-background-color)}:where(select,textarea):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--border-color:var(--form-element-active-border-color)}input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus,select:focus,textarea:focus{--box-shadow:0 0 0 var(--outline-width) var(--form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],select[disabled],textarea[disabled]{--background-color:var(--form-element-disabled-background-color);--border-color:var(--form-element-disabled-border-color);opacity:var(--form-element-disabled-opacity);pointer-events:none}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid]{padding-right:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important;padding-left:var(--form-element-spacing-horizontal);padding-inline-start:var(--form-element-spacing-horizontal)!important;padding-inline-end:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important;background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid=false]{background-image:var(--icon-valid)}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid=true]{background-image:var(--icon-invalid)}:where(input,select,textarea)[aria-invalid=false]{--border-color:var(--form-element-valid-border-color)}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus){--border-color:var(--form-element-valid-active-border-color)!important;--box-shadow:0 0 0 var(--outline-width) var(--form-element-valid-focus-color)!important}:where(input,select,textarea)[aria-invalid=true]{--border-color:var(--form-element-invalid-border-color)}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus){--border-color:var(--form-element-invalid-active-border-color)!important;--box-shadow:0 0 0 var(--outline-width) var(--form-element-invalid-focus-color)!important}[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]){background-position:center left .75rem}input::-webkit-input-placeholder,input::placeholder,select:invalid,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--spacing)}select::-ms-expand{border:0;background-color:transparent}select:not([multiple],[size]){padding-right:calc(var(--form-element-spacing-horizontal) + 1.5rem);padding-left:var(--form-element-spacing-horizontal);padding-inline-start:var(--form-element-spacing-horizontal);padding-inline-end:calc(var(--form-element-spacing-horizontal) + 1.5rem);background-image:var(--icon-chevron);background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}[dir=rtl] select:not([multiple],[size]){background-position:center left .75rem}:where(input,select,textarea,.grid)+small{display:block;width:100%;margin-top:calc(var(--spacing) * -.75);margin-bottom:var(--spacing);color:var(--muted-color)}label>:where(input,select,textarea){margin-top:calc(var(--spacing) * .25)}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;margin-top:-.125em;margin-right:.375em;margin-left:0;margin-inline-start:0;margin-inline-end:.375em;border-width:var(--border-width);font-size:inherit;vertical-align:middle;cursor:pointer}[type=checkbox]::-ms-check,[type=radio]::-ms-check{display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--background-color:var(--primary);--border-color:var(--primary);background-image:var(--icon-checkbox);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=checkbox]~label,[type=radio]~label{display:inline-block;margin-right:.375em;margin-bottom:0;cursor:pointer}[type=checkbox]:indeterminate{--background-color:var(--primary);--border-color:var(--primary);background-image:var(--icon-minus);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--background-color:var(--primary-inverse);border-width:.35em;background-image:none}[type=checkbox][role=switch]{--background-color:var(--switch-background-color);--border-color:var(--switch-background-color);--color:var(--switch-color);width:2.25em;height:1.25em;border:var(--border-width) solid var(--border-color);border-radius:1.25em;background-color:var(--background-color);line-height:1.25em}[type=checkbox][role=switch]:focus{--background-color:var(--switch-background-color);--border-color:var(--switch-background-color)}[type=checkbox][role=switch]:checked{--background-color:var(--switch-checked-background-color);--border-color:var(--switch-checked-background-color)}[type=checkbox][role=switch]:before{display:block;width:calc(1.25em - (var(--border-width) * 2));height:100%;border-radius:50%;background-color:var(--color);content:"";transition:margin .1s ease-in-out}[type=checkbox][role=switch]:checked{background-image:none}[type=checkbox][role=switch]:checked::before{margin-left:calc(1.125em - var(--border-width));margin-inline-start:calc(1.125em - var(--border-width))}[type=checkbox]:checked[aria-invalid=false],[type=checkbox][aria-invalid=false],[type=checkbox][role=switch]:checked[aria-invalid=false],[type=checkbox][role=switch][aria-invalid=false],[type=radio]:checked[aria-invalid=false],[type=radio][aria-invalid=false]{--border-color:var(--form-element-valid-border-color)}[type=checkbox]:checked[aria-invalid=true],[type=checkbox][aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=checkbox][role=switch][aria-invalid=true],[type=radio]:checked[aria-invalid=true],[type=radio][aria-invalid=true]{--border-color:var(--form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--border-radius) * .5)}[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--border-radius) * .5)}input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){--icon-position:0.75rem;--icon-width:1rem;padding-right:calc(var(--icon-width) + var(--icon-position));background-image:var(--icon-date);background-position:center right var(--icon-position);background-size:var(--icon-width) auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--icon-time)}[type=date]::-webkit-calendar-picker-indicator,[type=datetime-local]::-webkit-calendar-picker-indicator,[type=month]::-webkit-calendar-picker-indicator,[type=time]::-webkit-calendar-picker-indicator,[type=week]::-webkit-calendar-picker-indicator{width:var(--icon-width);margin-right:calc(var(--icon-width) * -1);margin-left:var(--icon-position);opacity:0}[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){text-align:right}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--form-element-spacing-horizontal)!important;background-image:none!important}}[type=file]{--color:var(--muted-color);padding:calc(var(--form-element-spacing-vertical) * .5) 0;border:0;border-radius:0;background:0 0}[type=file]::file-selector-button{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/ 2);margin-left:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)/ 2);padding:calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[type=file]::file-selector-button:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=file]::-webkit-file-upload-button{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/ 2);margin-left:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)/ 2);padding:calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;-webkit-transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[type=file]::-webkit-file-upload-button:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=file]::-ms-browse{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/ 2);margin-left:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)/ 2);padding:calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;-ms-transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[type=file]::-ms-browse:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:0 0}[type=range]::-webkit-slider-runnable-track{width:100%;height:.25rem;border-radius:var(--border-radius);background-color:var(--range-border-color);-webkit-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition)}[type=range]::-moz-range-track{width:100%;height:.25rem;border-radius:var(--border-radius);background-color:var(--range-border-color);-moz-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition)}[type=range]::-ms-track{width:100%;height:.25rem;border-radius:var(--border-radius);background-color:var(--range-border-color);-ms-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition)}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.5rem;border:2px solid var(--range-thumb-border-color);border-radius:50%;background-color:var(--range-thumb-color);cursor:pointer;-webkit-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition)}[type=range]::-moz-range-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.5rem;border:2px solid var(--range-thumb-border-color);border-radius:50%;background-color:var(--range-thumb-color);cursor:pointer;-moz-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition)}[type=range]::-ms-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.5rem;border:2px solid var(--range-thumb-border-color);border-radius:50%;background-color:var(--range-thumb-color);cursor:pointer;-ms-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition)}[type=range]:focus,[type=range]:hover{--range-border-color:var(--range-active-border-color);--range-thumb-color:var(--range-thumb-hover-color)}[type=range]:active{--range-thumb-color:var(--range-thumb-active-color)}[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{padding-inline-start:calc(var(--form-element-spacing-horizontal) + 1.75rem);border-radius:5rem;background-image:var(--icon-search);background-position:center left 1.125rem;background-size:1rem auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{padding-inline-start:calc(var(--form-element-spacing-horizontal) + 1.75rem)!important;background-position:center left 1.125rem,center right .75rem}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false]{background-image:var(--icon-search),var(--icon-valid)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true]{background-image:var(--icon-search),var(--icon-invalid)}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:center right 1.125rem}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:center right 1.125rem,center left .75rem}:where(table){width:100%;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{padding:calc(var(--spacing)/ 2) var(--spacing);border-bottom:var(--border-width) solid var(--table-border-color);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);text-align:left;text-align:start}tfoot td,tfoot th{border-top:var(--border-width) solid var(--table-border-color);border-bottom:0}table[role=grid] tbody tr:nth-child(odd){background-color:var(--table-row-stripped-background-color)}code,kbd,pre,samp{font-size:.875em;font-family:var(--font-family)}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre{border-radius:var(--border-radius);background:var(--code-background-color);color:var(--code-color);font-weight:var(--font-weight);line-height:initial}code,kbd{display:inline-block;padding:.375rem .5rem}pre{display:block;margin-bottom:var(--spacing);overflow-x:auto}pre>code{display:block;padding:var(--spacing);background:0 0;font-size:14px;line-height:var(--line-height)}code b{color:var(--code-tag-color);font-weight:var(--font-weight)}code i{color:var(--code-property-color);font-style:normal}code u{color:var(--code-value-color);text-decoration:none}code em{color:var(--code-comment-color);font-style:normal}kbd{background-color:var(--code-kbd-background-color);color:var(--code-kbd-color);vertical-align:baseline}hr{height:0;border:0;border-top:1px solid var(--muted-border-color);color:inherit}[hidden],template{display:none!important}canvas{display:inline-block}details{display:block;margin-bottom:var(--spacing);padding-bottom:var(--spacing);border-bottom:var(--border-width) solid var(--accordion-border-color)}details summary{line-height:1rem;list-style-type:none;cursor:pointer;transition:color var(--transition)}details summary:not([role]){color:var(--accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary::after{display:block;width:1rem;height:1rem;margin-inline-start:calc(var(--spacing,1rem) * .5);float:right;transform:rotate(-90deg);background-image:var(--icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:"";transition:transform var(--transition)}details summary:focus{outline:0}details summary:focus:not([role=button]){color:var(--accordion-active-summary-color)}details summary[role=button]{width:100%;text-align:left}details summary[role=button]::after{height:calc(1rem * var(--line-height,1.5));background-image:var(--icon-chevron-button)}details summary[role=button]:not(.outline).contrast::after{background-image:var(--icon-chevron-button-inverse)}details[open]>summary{margin-bottom:calc(var(--spacing))}details[open]>summary:not([role]):not(:focus){color:var(--accordion-open-summary-color)}details[open]>summary::after{transform:rotate(0)}[dir=rtl] details summary{text-align:right}[dir=rtl] details summary::after{float:left;background-position:left center}article{margin:var(--block-spacing-vertical) 0;padding:var(--block-spacing-vertical) var(--block-spacing-horizontal);border-radius:var(--border-radius);background:var(--card-background-color);box-shadow:var(--card-box-shadow)}article>footer,article>header{margin-right:calc(var(--block-spacing-horizontal) * -1);margin-left:calc(var(--block-spacing-horizontal) * -1);padding:calc(var(--block-spacing-vertical) * .66) var(--block-spacing-horizontal);background-color:var(--card-sectionning-background-color)}article>header{margin-top:calc(var(--block-spacing-vertical) * -1);margin-bottom:var(--block-spacing-vertical);border-bottom:var(--border-width) solid var(--card-border-color);border-top-right-radius:var(--border-radius);border-top-left-radius:var(--border-radius)}article>footer{margin-top:var(--block-spacing-vertical);margin-bottom:calc(var(--block-spacing-vertical) * -1);border-top:var(--border-width) solid var(--card-border-color);border-bottom-right-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}:root{--scrollbar-width:0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;padding:var(--spacing);border:0;-webkit-backdrop-filter:var(--modal-overlay-backdrop-filter);backdrop-filter:var(--modal-overlay-backdrop-filter);background-color:var(--modal-overlay-background-color);color:var(--color)}dialog article{max-height:calc(100vh - var(--spacing) * 2);overflow:auto}@media (min-width:576px){dialog article{max-width:510px}}@media (min-width:768px){dialog article{max-width:700px}}dialog article>footer,dialog article>header{padding:calc(var(--block-spacing-vertical) * .5) var(--block-spacing-horizontal)}dialog article>header .close{margin:0;margin-left:var(--spacing);float:right}dialog article>footer{text-align:right}dialog article>footer [role=button]{margin-bottom:0}dialog article>footer [role=button]:not(:first-of-type){margin-left:calc(var(--spacing) * .5)}dialog article p:last-of-type{margin:0}dialog article .close{display:block;width:1rem;height:1rem;margin-top:calc(var(--block-spacing-vertical) * -.5);margin-bottom:var(--typography-spacing-vertical);margin-left:auto;background-image:var(--icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;opacity:.5;transition:opacity var(--transition)}dialog article .close:is([aria-current],:hover,:active,:focus){opacity:1}dialog:not([open]),dialog[open=false]{display:none}.modal-is-open{padding-right:var(--scrollbar-width,0);overflow:hidden;pointer-events:none;touch-action:none}.modal-is-open dialog{pointer-events:auto}:where(.modal-is-opening,.modal-is-closing) dialog,:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-duration:.2s;animation-timing-function:ease-in-out;animation-fill-mode:both}:where(.modal-is-opening,.modal-is-closing) dialog{animation-duration:.8s;animation-name:modal-overlay}:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-delay:.2s;animation-name:modal}.modal-is-closing dialog,.modal-is-closing dialog>article{animation-delay:0s;animation-direction:reverse}@keyframes modal-overlay{from{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}}@keyframes modal{from{transform:translateY(-100%);opacity:0}}:where(nav li)::before{float:left;content:"​"}nav,nav ul{display:flex}nav{justify-content:space-between}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--nav-element-spacing-vertical) var(--nav-element-spacing-horizontal)}nav li>*{--spacing:0}nav :where(a,[role=link]){display:inline-block;margin:calc(var(--nav-link-spacing-vertical) * -1) calc(var(--nav-link-spacing-horizontal) * -1);padding:var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal);border-radius:var(--border-radius);text-decoration:none}nav :where(a,[role=link]):is([aria-current],:hover,:active,:focus){text-decoration:none}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){margin-inline-start:var(--nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{position:absolute;width:calc(var(--nav-link-spacing-horizontal) * 2);margin-inline-start:calc(var(--nav-link-spacing-horizontal)/ 2);content:"/";color:var(--muted-color);text-align:center}nav[aria-label=breadcrumb] a[aria-current]{background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}nav [role=button]{margin-right:inherit;margin-left:inherit;padding:var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal)}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--nav-element-spacing-vertical) * .5) var(--nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--spacing) * .5);overflow:hidden;border:0;border-radius:var(--border-radius);background-color:var(--progress-background-color);color:var(--progress-color)}progress::-webkit-progress-bar{border-radius:var(--border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--progress-color)}progress::-moz-progress-bar{background-color:var(--progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--progress-background-color) linear-gradient(to right,var(--progress-color) 30%,var(--progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}details[role=list],li[role=list]{position:relative}details[role=list] summary+ul,li[role=list]>ul{display:flex;z-index:99;position:absolute;top:auto;right:0;left:0;flex-direction:column;margin:0;padding:0;border:var(--border-width) solid var(--dropdown-border-color);border-radius:var(--border-radius);border-top-right-radius:0;border-top-left-radius:0;background-color:var(--dropdown-background-color);box-shadow:var(--card-box-shadow);color:var(--dropdown-color);white-space:nowrap}details[role=list] summary+ul li,li[role=list]>ul li{width:100%;margin-bottom:0;padding:calc(var(--form-element-spacing-vertical) * .5) var(--form-element-spacing-horizontal);list-style:none}details[role=list] summary+ul li:first-of-type,li[role=list]>ul li:first-of-type{margin-top:calc(var(--form-element-spacing-vertical) * .5)}details[role=list] summary+ul li:last-of-type,li[role=list]>ul li:last-of-type{margin-bottom:calc(var(--form-element-spacing-vertical) * .5)}details[role=list] summary+ul li a,li[role=list]>ul li a{display:block;margin:calc(var(--form-element-spacing-vertical) * -.5) calc(var(--form-element-spacing-horizontal) * -1);padding:calc(var(--form-element-spacing-vertical) * .5) var(--form-element-spacing-horizontal);overflow:hidden;color:var(--dropdown-color);text-decoration:none;text-overflow:ellipsis}details[role=list] summary+ul li a:hover,li[role=list]>ul li a:hover{background-color:var(--dropdown-hover-background-color)}details[role=list] summary::after,li[role=list]>a::after{display:block;width:1rem;height:calc(1rem * var(--line-height,1.5));margin-inline-start:.5rem;float:right;transform:rotate(0);background-image:var(--icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:""}details[role=list]{padding:0;border-bottom:none}details[role=list] summary{margin-bottom:0}details[role=list] summary:not([role]){height:calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2);padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);border:var(--border-width) solid var(--form-element-border-color);border-radius:var(--border-radius);background-color:var(--form-element-background-color);color:var(--form-element-placeholder-color);line-height:inherit;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}details[role=list] summary:not([role]):active,details[role=list] summary:not([role]):focus{border-color:var(--form-element-active-border-color);background-color:var(--form-element-active-background-color)}details[role=list] summary:not([role]):focus{box-shadow:0 0 0 var(--outline-width) var(--form-element-focus-color)}details[role=list][open] summary{border-bottom-right-radius:0;border-bottom-left-radius:0}details[role=list][open] summary::before{display:block;z-index:1;position:fixed;top:0;right:0;bottom:0;left:0;background:0 0;content:"";cursor:default}nav details[role=list] summary,nav li[role=list] a{display:flex;direction:ltr}nav details[role=list] summary+ul,nav li[role=list]>ul{min-width:-moz-fit-content;min-width:fit-content;border-radius:var(--border-radius)}nav details[role=list] summary+ul li a,nav li[role=list]>ul li a{border-radius:0}nav details[role=list] summary,nav details[role=list] summary:not([role]){height:auto;padding:var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal)}nav details[role=list][open] summary{border-radius:var(--border-radius)}nav details[role=list] summary+ul{margin-top:var(--outline-width);margin-inline-start:0}nav details[role=list] summary[role=link]{margin-bottom:calc(var(--nav-link-spacing-vertical) * -1);line-height:var(--line-height)}nav details[role=list] summary[role=link]+ul{margin-top:calc(var(--nav-link-spacing-vertical) + var(--outline-width));margin-inline-start:calc(var(--nav-link-spacing-horizontal) * -1)}li[role=list] a:active~ul,li[role=list] a:focus~ul,li[role=list]:hover>ul{display:flex}li[role=list]>ul{display:none;margin-top:calc(var(--nav-link-spacing-vertical) + var(--outline-width));margin-inline-start:calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal))}li[role=list]>a::after{background-image:var(--icon-chevron)}label>details[role=list]{margin-top:calc(var(--spacing) * .25);margin-bottom:var(--spacing)}[aria-busy=true]{cursor:progress}[aria-busy=true]:not(input,select,textarea,html)::before{display:inline-block;width:1em;height:1em;border:.1875em solid currentColor;border-radius:1em;border-right-color:transparent;content:"";vertical-align:text-bottom;vertical-align:-.125em;animation:spinner .75s linear infinite;opacity:var(--loading-spinner-opacity)}[aria-busy=true]:not(input,select,textarea,html):not(:empty)::before{margin-right:calc(var(--spacing) * .5);margin-left:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html):empty{text-align:center}a[aria-busy=true],button[aria-busy=true],input[type=button][aria-busy=true],input[type=reset][aria-busy=true],input[type=submit][aria-busy=true]{pointer-events:none}@keyframes spinner{to{transform:rotate(360deg)}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--border-radius);background:var(--tooltip-background-color);content:attr(data-tooltip);color:var(--tooltip-color);font-style:normal;font-weight:var(--font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:hover::after,[data-tooltip]:hover::before,[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::after,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::before{animation-duration:.2s;animation-name:tooltip-slide-top}[data-tooltip]:hover::after,[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::after{animation-name:tooltip-caret-slide-top}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{animation-duration:.2s;animation-name:tooltip-slide-bottom}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover::after{animation-name:tooltip-caret-slide-bottom}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{animation-duration:.2s;animation-name:tooltip-slide-left}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:hover::after{animation-name:tooltip-caret-slide-left}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{animation-duration:.2s;animation-name:tooltip-slide-right}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:hover::after{animation-name:tooltip-caret-slide-right}}@keyframes tooltip-slide-top{from{transform:translate(-50%,.75rem);opacity:0}to{transform:translate(-50%,-.25rem);opacity:1}}@keyframes tooltip-caret-slide-top{from{opacity:0}50%{transform:translate(-50%,-.25rem);opacity:0}to{transform:translate(-50%,0);opacity:1}}@keyframes tooltip-slide-bottom{from{transform:translate(-50%,-.75rem);opacity:0}to{transform:translate(-50%,.25rem);opacity:1}}@keyframes tooltip-caret-slide-bottom{from{opacity:0}50%{transform:translate(-50%,-.5rem);opacity:0}to{transform:translate(-50%,-.3rem);opacity:1}}@keyframes tooltip-slide-left{from{transform:translate(.75rem,-50%);opacity:0}to{transform:translate(-.25rem,-50%);opacity:1}}@keyframes tooltip-caret-slide-left{from{opacity:0}50%{transform:translate(.05rem,-50%);opacity:0}to{transform:translate(.3rem,-50%);opacity:1}}@keyframes tooltip-slide-right{from{transform:translate(-.75rem,-50%);opacity:0}to{transform:translate(.25rem,-50%);opacity:1}}@keyframes tooltip-caret-slide-right{from{opacity:0}50%{transform:translate(-.05rem,-50%);opacity:0}to{transform:translate(-.3rem,-50%);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true])::after,:not([aria-busy=true])::before{background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}} +/*# sourceMappingURL=pico.min.css.map */ \ No newline at end of file diff --git a/web-ide-main/web/public/poppins_400.ttf b/web-ide-main/web/public/poppins_400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e48144efaf4f3e8d2b3899c0127f26640bcc8e9b GIT binary patch literal 154628 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%0A&K;XT3w60_10CnVP$@8smz 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 literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/poppins_700.ttf b/web-ide-main/web/public/poppins_700.ttf new file mode 100644 index 0000000000000000000000000000000000000000..89b46e7b8d40b8eedb4363aede515c64929c8f2d GIT binary patch literal 150292 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

dtXmc5a9{XIxg4 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 TVIOuZ&Q*fE@DJH4yej_>eOgBL literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/robots.txt b/web-ide-main/web/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/web-ide-main/web/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/web-ide-main/web/public/root.css b/web-ide-main/web/public/root.css new file mode 100644 index 0000000..d3e6237 --- /dev/null +++ b/web-ide-main/web/public/root.css @@ -0,0 +1,28 @@ +@import "./pico.min.css" layer(pico); +/* @import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono&family=Poppins:wght@400;700&display=swap"); */ +@font-face { + font-family: "JetBrains Mono"; + font-style: normal; + font-weight: 400; + font-display: swap; + /* src: url(https://fonts.gstatic.com/s/jetbrainsmono/v18/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxjPQ.ttf) format('truetype'); */ + src: url(./jet_brains_mono.ttf) format("truetype"); +} +@font-face { + font-family: "Poppins"; + font-style: normal; + font-weight: 400; + font-display: swap; + /* src: url(https://fonts.gstatic.com/s/poppins/v21/pxiEyp8kv8JHgFVrFJA.ttf) format('truetype'); */ + src: url(./poppins_400.ttf) format("truetype"); +} +@font-face { + font-family: "Poppins"; + font-style: normal; + font-weight: 700; + font-display: swap; + /* src: url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLCz7V1s.ttf) format('truetype'); */ + src: url(./poppins_700.ttf) format("truetype"); +} + +@layer pico component user; diff --git a/web-ide-main/web/public/user_guide/01_chip_empty.png b/web-ide-main/web/public/user_guide/01_chip_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..2cd7f7fb03e62b1f3be1bcdfd556bf0406754d76 GIT binary patch literal 876099 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 StsopbFx%6W^1tB`S3K)qNe#d6QT#cy^`_n0Z4 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%0D(ZaY&)xn9jDm+k%%oJtyo48x z7${f~m}+zE)H|lRP>N&zYHYIO<1RB`e%%1fwm$+yiT=n{!HQDomGgNtsZ(FP*?Vgx0Bb%ET+cs~)q~Z)2193Pu z-Trr=hdxoA&&XUyg zTsOZ%>>F_+MX?4R`;@)Q8v2WI1-8?3#pR%~$jcG3Y%ywV=8A#=s6SZr$ zqDEZ=LRcp?VkAlyPStn&OacK9gTx|y3n|O=5+3qm1EjF+^ZRq9RvF)p+I)YO z1Bbpz9Yj;^8w}t8Zndih>CVazgp9aLn;Ql60?ajG!l5(SUi@{h@I%yMuyd6Ji>ZBu z_3?>biw%w#LDhr0AEjZtQ*%fUA73I`#O7j;ixe08*aCbSI9$!h=KWi@^Uk*!#ILFd z1}N$i=0*G`SQ;*k!TIvD)vrkdMU~cxtd!KOg!`s+OWR zPXxqGEQNKfU%o0?@5s7be8CnsS=zkRvC3*CwYnIDU&`=a#RQ{28dHQ>%;5gA%2b-K z$_3Sgc#?Ani6C=dzo)HxUPF-|mD;%c5>i>N$rbZN6Jm1lQF8v%FDCK9xr~(k4?e%0 zdoMYnnhr}090$~Stnx|wY|F;tD~<}@=q6~2qR#t%HIEaZie^6_E1bO?l)U+!rsEsY-}!6D41r?!XWo22+E@`Q*%1ww@-7 zJ?^ITG7N<5NS0W#@3wP~x9zy}gtqC&9Dm9kSqckMqc!b90dlzc@$MeC?#sLnUvNc; z*gr+%>Tc}xsvDzvQ3Ww34l(PS(KUy%sZ7l=)j$$=MvF=;p-8{)?&6ij&eI>?xh4fK z>q)bM>2Zd!+`kwbvONiXjKyNeh=sLogE*cHEkOFcpD|{5Vr=*hn}I&~OThb!K8Nu$ zVeg~OQYUv*`$|pWRe$e@3%txC#M|P&F;S^@P+CkIC7CV+AI~)U-ECd`xy(|ZHxHhv zP{%4gm=J8uHclm({3{Ewrb7f zLL!{BC^Kh`@qlB3&rS`36a8@H=~Z}s(8%%A>;PJDy>I=Kco5enPg~_%7=n>AYsVL- zSl>dza)OUZSFu0(DTCw1(OHq2raqTS(3X!|cCY4QiqgsK%#}s7C5yf+Oq$--`5s*5 zSpg82aex|`7g%GwE%i&xr6??dqon6av}4`?5HB+b9e_|5}X z$^zfkZI5-Gfg_1y=x7se+u#L}zvpJGZbn`{67VUu* z*8$_WtsMibT$MnW?O;zl-qi-YuGgLhrrdk? z=H6#X%3e|xI*HW|d$k85JKIcf-WO@8TU`XD@XRLw|K{cKkJ_V;Zr@$b8s;^ppm6DJ zj)>{w$-!RS_xc=AtDRfYp6;7SZbTbL-;hHon$%quK2>V)6iA{3pU9N<#eZVfroLRr z_I(6E($O#i1BPByRaP@uUX~O;OMRp-wTH|TGjFVH~DYHYqXg6HucvI2lX59L&Op?;bnCW z#ZjrXh*R0=*XJCVOYV>LNsnJkv)%y*`&>2H{1tKOYI?4;;M$?xL~a+f<5+))LKpA; z1Wj#wZ$%;-ey`B_t#+HOTD1hZ`V${2BA;f)GZ*gUXiv@Auj58pk+MG-2!oGnoX>W9 z==SH=3b|8`q{KP-+d*F}s_lsBl(u zZt%}aWXZkvr~ZF+VZWIF=1T>ph7%BI$1}YW0DQsWfG-$3 z=AlpGI5H$g#mhAqZNx^}j4k&G+7-i_NfMSSU(?DzqPpHnO((b3${#wun2pcqJ7%E) zliQ>W@iY7)p6l>RUPACRv!vUP?!pRwlIh*@mP>79>E5N--Mv6hht=*-lc&dKYd+L?{x=Wyc;>dirmV08%1Gp#Xs<^H-!errJnh& z^R7y=E_~}swnt=T0B4ZEPLpI-e(;QH17d;zRP)s#`&`fkv_D9#rYv#9Cazh zB3Wn9030Jl^iUr-Pd_ydWy5rAL31y*lL5mTm6>DB^HIcCJ`_D=d{jbD|#h*lN}NjimaWxF)a-0W!lg0R8@CkTFzo%=(qEC zrY%|y2T^Rx%fwd)lxMUw1mziGkD{H*CPRB*Mbks9{p4gTs;MWnQgTWx7mfM_C_VQx zqq}FyF#eU5n_x0RmE;f1DV%G^II|1TB1Pf7isR@RUbg(SpNB1ypE&7{y4h$%;*PqG zX(RKJ@oT_rY9vhAdv>t?$&QV|%DpG<+VnUUilDuLeglJXb_R9r=irM=ra4iJ)VM3^ zk==Mb9pla2pMFdWZU+`1#}tW+%Zw5jo2j0->~X#06Za=6SoilF7lWcKeB$?A-XCvs zZMZ2LEQqt1N}pp*%rAZx!^g=sjSMj_{0#B@Fm|tIdH(|L1J^!S;Z}C1sF$txp?OM6 zu!s&+bET|2sm%R1y>3Qmp45XDpHP+5W*&=8-3gcQ(bMEg=a`4fW z%OJ61bJ6VH<&>@nxqwB+6!OsOW;W0Y2K!2=$ z-9)|bSzqu0l7t|Uw=am#Q$yWmEjUZHT@A9=ohynu`;p)=W}&oSEGNuBEWPZ=W-2HC zWUI%a>B^{8zUh%dQq$F*1$_Xgz0iYAd%I-8yz(R#78TX<#nE!?s0VC%Skm&IOPO_1 zI1{hP^tIX3UwFF2330J3I}NN^M0{dCcT&eTts!Azk5=@u zFg5!tNc@$mC;@F&649}1wt^=XVDrm2 zxF?U<^!09qyfit$bFZq3fgNjI~a3sbxA-Rv>U_}PWlJZ7<2nxLiO<_Hq~qb;fu%kIjv&C`E7t7eqIfWid-H*F>e*Mk~Z@jZdTcr*_si zccnK-uCg!By{NAuWWXw3RPHJWGPY4XwMo>%GoKwu@u@l(PIxl3iDP=SnFU5Am zs!H&vnv4Yjg+dtpy= znlyv4ZO#o8``(n4I+UUQNRvz7yw@UQGhpr_4jeA-Bt^bF$^Ny#w|Nnn!AekrG zgd#FBGtVhoIFh}yv$xD6A$yC=Q^c|Np2^LL zH_^*$JlEs?ps=j8GvP;^+3P+Sd+q3Nrz-cnqx#bc-_G&Eg8TREU>%mzK??ZYWmD!E zFV}mCV9+MQx&Et*W#gN+!}GDNGC8Sa(lI=tRt`{XfGmd?(^%S1_no#Kr!v}k%C+=n zzF}1_F(&OrE$f1@IJ=i)qdvn`&tpdN6k=2tR$YkR0y$QARjTK??dhPDfzS0e+~|&X zI0?xw+GI^yJ5h=$mTwx}EqOU_i!t5*Ve6et-4K7PLv<}C23s(Ulm(x@^vj{Qc}I$l zc%L(}<6_fGQ^4NgP@o@e(%)TyE2S4+1$+LAQ z5lmbCX0z-KWJ7y|cWaz}rmO|WP+b`ua@2MadJ<7?26kmTa5t(7_e_bSy0a!+Z&SZ6 zHM99;rk}-_bDiOVv4ewI%&~$|a3@5*M@N6I>ipKu$?cbBve66PvV~Nk%7!5^rQggG zd6r>xieG!t2`P%FA?pSP>&jwFT=P7skG7)Z;HPk}^UZeqzSSZkzNmDYtr+@8!t^|1 zFBiyQ;M?N{k=6q?wT5Rvl<4OLgWh58_dZp*A7->wV{nKGA<4D{&IYn~xnDn}E(dm$ z5wkfq*(zXCX}zdwJ(8JAR{c)50sPl#)fXQwn;@(M1vOeG4~$dKkl6f7xvQ#UuV^1x zS34L9JH|WjejHH#`;^$9Z`O@V{Y>gJ9(s{eenx5@0TYoPbkW`R&?vrdIE}Yc0%><8 z`;(~y9eDb~%@pd^GSW{~>GWw)%z$o{IF}EWw=*CjpAOvtL@*N+#Aq>**n+yMBS%9 zx>^`FuGhB39n6#!(o}Y@X4n*pFdIixmrNADp(VF-V>V;Q(bB1|Ke_3l-L6{Mxytz9 z`W*Hgxv98*4OmZ>!%Nmk0dRyfe8BuN-1X4M)xuKtqo+t1dwzZcEeTM*X=>T_F{*gm|9(wl?X$eXz);}`g5qJc( zccwV&d4Bp}PBH>c;eC^*KQ1FK%VhoL?jgUWONr={HKhj#U$es>mVYf3UiJn;mQFt9 z`SqBAk48BtRqY&~D~KaoHphxmMqjH9O&-AhHPo@Va@j7h73&6uQDQ!~@c1H_W+`=e z_E#xs2-B3nD=oIoQq-2$Q&X;cU#CK&nq_Vm+l`a&jA%KwrmN>!6vsiQ8$PiPug?5r&_YJJLTT>!8-~###gh$xN~H$wmuZy z3C10&GH|#m0PCX5Od!8Pii3%kLnl0H1jgXq=0~p8@Isx*gXFHZs|zONHh6Z%G<2*? z`~j7C20$g;P2|_R8o#+wdgiiM$l&SKitpm?sLGC%6UxVXqpzE2+hpexm^@pKx8 zgw!UzR2AF>obSnl$}DT%Hh9eC)&q$n@eC-Ci<5pa8wH3@JoxNfeSiDzq?zoeo0k z%ePt2 zyhcT1jj-0Go}>?n+>UlM(|b2Bt0q#*pucXyoLfM_NsV++RU47#Cts5rG!}Q_j8Z*m z*tPg;ed_m1?{w-C$13`5wh^~~diyE#UHi>OdC%&{Veg>RyuF$sh?@yY47E}MuaV*( z(-C*m_p`&3b2w?W6GH^kU_Tm_==4#9Lm&0eg6INug+|nGiyAB{K@2DzpL2%B21FfC z9HA8J4srzf4YNMizj{>qLWC}wU&aWB^X>lNfB+vl?HQZ#BF4Z-0*MIAQ5*%R9Vp+_ zYAF0Z=g|Oj4ZC7+G@n$O9J9TvK&f`vtZ+cBLefS@V9dKZMK z3&p86i3n~SlM5)81R7UxZj2+!92{CTF! zk5TE#&r>u;mGuHG1yp1ol8cceS~TE+!+Xb9&k_KrO?=kjlkH>m$4ugwPR z_-ecg$S=5)H3WXva&Gv_ZjG1Hg+Fw93Hrfhp5PSNlBt zJFfj;4*-)FKH*@|4!&3!0_T0_youa9(|_5IHx!o|>9$>QZS#lq&A4#_=KJ14sOFVR z6t_Z0-pUDNjOue8#M=>d%yW9Qu)eDA2S@3*4OPOAekdjJuTO)jVnW zOJ&6;M+~?pRsEetMp*~}ubb59RfLh+=1EuXzdXy^w!g)!9&mD6=-k`DdoY^oTv09G zxdOZoEM0%Z2R#nb)8SvT8zgedGf@w9g@s}Q@vtw#1l^@tqdD^<=&DshsB`)Q6{45! z5w7z#t}Oz>E!Y1cFAZ!*;G67Hksv{re=A%307(tIlLsACMmt&CvpVU8pi6-l68sM}I_J z4}Hl-(fgf^;@k{m1ea_S*7nolF-YiG>VUF1Z7X8oj{ zO)m5v%QH1G8xagx8)0(dK-Rd?>9~s8RKd$)vrM( z^9YLh*ue+ZJroc0Ew8V>0%AjcXt&kqCx21Eh-?Sh$%*iyRD9#tQLa-j)jHZ$`B^}W z$(e(~UQM8Ptxra$&gkpn=;p4q(UHGoN6+j@o&NF!x?k5K@*QzOqZ*ezdcqcE4adz=-uqqqXWl@{ z7z&bclr?w2cRL`d_3ClvI?b!UIn}qm8TCkYc+-A0j>51n*UU?4gEm;<#m#2U#@RVYQo>uG%eC^dL=&MCz87H_y@(x2Lg?e^?4z& zk%Fgz%+?u9xu!3_Na#Tc8p~GK;!8EWYCu-K%Vo;#h{sqkuS63fc10mpNQl?A?p&c=m z_+kbXVMrOhF?q}Lfq|r?0t;EMIcQRZ6DzHa)R%y0pCJQAMD&0~08_;DB;6sq!PA!| zhK$K7r#;@)FSVmHkbuh3@FR%XfI}=}VMnQ9m`>lJ2qJYo#gjCGV+M3w2Gh7pvgr@v z))oT5nfxfNjh)7%jeu%MK+NX35o5ogh@N!nBPD@5{Vrgmz}^#dsz{JmZr!qS4bNbYk!;WH3sdu{7AhpMjA0VmAhh#@B z_k0~q{f5hXtJhm{%O#6?RzE((#uskUJ3l?jnpY8kz7wy|uogDb{qT~6e$Ur-wiwt{ z%oW#m*6O68;d^Uh9bXaz_sjwgdzac)bvu9x0AImsTuYkd)|>>6AHFMaJ%{zZ*-=qX&Ryu*J<+Rez6r5+*~qU_mgjQd!;CKH zeW>PcD8WrotUHN3n-gblX~3K>oz&f5b?z-V7k4r|pFqACN4- ze=jh5GC7mx)m)J@$#?cszEbsdpV>4GC#h%Z<}A#1eY!!LUN|HgCjszD2FUkL-wyTL ztDUmEVRz_CgH5cd3Q3kxN70I>-O7!uhCq?rB{r9bo(H~lG00H*3Er5|%h(vJ z(gpX&@cf+)q8bFqa&t*Gb8=Pn#F%JCufNQU;mZA4kNohTy853jcFYq-08@0N{Ph}# zru)l3Fh!{EtE~vQp)^peomA5; zE}rppib#fi$f(=zyqKsrvW-|JBxKe)$o?7>$0BGvq*_tdeb`uDGRdJj8yi_VvL-w( zDS8Wv=_Y_#PHPA+RLm;XcXnxylX}^7yRekNc81J0TWW7XFOaeM07QSf*Bdwx*#$ZKL8IeyO`y> zmzV>@vswbGJ1d{h4C{NRtSx;#W}RLh z59u8@;*BVQ45|7c(a~~r7G$e=py@fa zhsIKxoiY1n1^SwLLPfuy3eU6C8>+CYKbmE?q~0D0_L*4&b<=3QX)`I8jbTk?tMTq9 zlH4vQqg2`v;nFqZ`%6gmr*{3-fW*BJ0Qt2M4J!Q+`K;`;e~wUxcc)9jPa@z`JE16} zyMRRx@kX|y%6m?8C@PMQ@u)>#ncYwoPDwH{BIEg-=!KpkuR7H5yKGq-lpu9Oz_ zMI6UPw}Y8)rdA3oLtx4IC^)~=?=2>lCfM{XUo%o%G*C8f&w|wuwm!7Q39-*prgEH* zUHS~$+%CJt{2Q)9;s$bO3{nz8OHRsDW>J@{3xMYBL~T;UD9p}y`@VP-y8;&;x zp4T(|sCRW6F4!wpS+z-@_hyG)RtW50KE(RGRJ4gry4zWfS?q^|<|fdy$_QB7w%``F zS@vh-2HQXL>-nRDd*773VVtBb=#%QR4rKkO7;$y{F;elk#pf8SBjYY?m+deQ>38JD z5dje%TvHE-R{2YT#&i4Ossi?$r6oV7CqBz2mwcqJafW#N2|Cc0e05 z&05=F!qmmA$`F$XO_ak72 zI&Kkc(1i zs6dC57e-=#weDQc5w80gCk^w6g7-7BJO{xr(R;>wX_ul1K>4Y%ACT>B0!uB^$xYu0f`|-rFMdJRE zqLf_L*-JjDI(j~O-Z2cNH*F9)_c%GN73BB&$$7v$c31T?+X4JSV==>0vzDoQ+|)Ym z4TCAE;a0}KJaBf`vCP>{>v`>(*zB6zZ-}({2h8aV>xUl^!UXK|(4Tyj)wbamH(W+B zvfBz{UFiZS!xpCVRGE(}tp>_xpMpiRz~I2q(CpU=v`a`IGepCk{;cEi72*^rlv!%J>6WHcNC;U(o#L zKQL-zw~Q9jd#~-G&b$5-BdgG=pdxB&xd`pa14s;urv$0f3V+z>f+rmA#QIZ!Bs%@#z$1e zMh@AJSX)^M&^RvF4CC9}vtu0!+u4^{W7n?qnSt1;KuL58U_c%|ZsTDu z(>83qsOKWKT*|YalL(9}2*QrlN6*%v{*x@>k+}AbgM=WwqY{kME_On0>Qv=~KqQ;i z-JJr7^ zGa)Iv1{*XCKjwu~iFV#y-vhEK{(}&*%~7(#;txrAriCy;q39R6fYGJ+>Z&!-evR{r zIaL72MDVlS^c(%jB6S;r`?VK-xy#FDIMKih`-M}+95MIC={{cZQp+TCeZ!_V-jej( z5!LVNb(U^BXE|i*6*6&;M0d(o<9@xA|u_Gww z)@6on_F8vbZO+s5oi=`0U=0E0Nfr+Y&R>n1_&!VEC`fT|0 zF(6^UkVsI#;0<}x;i(C05`d`DA;R=PPrjKz%DuYa2HYCBI7jXmz;qXQIi%SW8c*-j5HFQGd;a~ep&Kc}-cb68 zlbc{mpq#?;WzYYw(_I;tK(mZz*-J;rkVwrvm!C9$6>9uNt90qUNDon5}nIwDXP?`*>L2Qffru%vT81t%Ft#;gc3{09xJY`&Yk9OL2=%2CfA=}^~nRvEv=sm&DSW_yAb^mJFO{T z^`A)8ZFyY5i^@Y27qff%YxjFLVu=c&Tkc8%>;-Za+2iO~IwlHZnNFa5^}@n1*l?GN zBQR1n3_Rw{Qg#TGg_BjXb7i|HFNal%!X|Ch9)^OD_kKJb*NuEyQzJ+uP&F!`Eik|R zm8xbUehAENyr2S!YI~eqKK9CEBjqI2awRHJqT|b45Ko)t-1x z6X=b6R$z=}0>~RHJ1k#(H^3O&?f4jvZkXWk+z7qBQ*b%Dd6l(H`h zoyeJQFPF`Pxa*iD<<~g7xaz3iJZIf+8{@>@IJPi1dqYL7NZI=^=XJEL*b*`Uls`o} z^&$JDB>DZOU(evPq=-Yvhh0EQ4ff)H-TzKJ6{Qx%TYX?eJg9&jMH@*L>K-mN4H( z3g-u$QM|Zt0s=}x1{jT{s|8N_1`7pfHo*{;TQ0R51aG4TQ=#XpKC7QS4of>`>j;W) zNKbEYb?A~~_x#>XMw3RJnA=e0nB8cRQO|;~$cF6Z5~84Ez$~NEWyDI#Y39llD$>>Z z(C#(2hj@vZ?=x=H0G^hP$nmf`5W9W7#p_Ny!4>wbJyC07XXTy~LknU<81*2odLcnB z{s3`2IL}OT-W5UnS?xCjq+pHvJiwMUfOg!LK|VXj>?zhdBQ5zC!Xm8OlHs>Ztg7U7 zr<~LIHoww5!5@=d&tOHqG{-9tUfLIfDg~=s2Y}cg?ZW3Gn;Xu5hKzHnD;G|9&OBeQ zFAFNg6|}5;ZL2Qo=yN%*=-@7*;~Ofk~&$y2^HASYm*tKRM#mJ642Cv>P6`Jx5oL$%baR4wd(vc{eq z&E0w}Jw006M#4P-BFCq24ieovH`?)&-i(3VdloM2RBN;l^foD_+~NZX_v&KhoOih; zyndY4)u`%O^aneV#Q|Zs)n!lRpw23ZmDzX@8zDY>yik5HQAs!1vej-`aFtbn9*5}!*6(9vrW&@AEorn>c{(a!mvL8B27FFoeD0K4N? z0$(ejI3CBktf3{w)U^CQH;C@!#KN#+N*zt3wSnsnv^!_25#6S)Xf(A&1Q zhTE6_dInI9hap0-l&>td48OkrV#xv?A^P^teKHq=Jz7(upxI$V8 zd&dg$rBkedY;-Ax7Cnvl)Jy<*fo`3^%XzJ?h{<%^$m?cbW$H@uYn!-|b~B+Am;XL- zNZ5O{;fnu*fVZu1kzkYSF97$7C_Y&02-&Bm2gmcd=Yh)uAwGpmyLdUF5Epd520Hz? z#b5|eqJM>Gg1nq=q+L-kRyeHr(lDT@P|fwUYxjy+1F9c#Q6kF&1JoYLRLW1xi^|Gh z4}ZO@Ezc>}@F*^s(2xr8n4YxW;$*RNt35Zav;1X@sx^jKkvqSFdwrR%S=LWq+M$Wn zC$!UC9u?J{D#A?iK2X#%U@^ZxF5m-mZzHQIw2Hv(^icl>_gvvlj%A={GOxy69|;k@ z$h*up#BkK%G3jO3%Swhd#~X-f>C+YPm}BhOH-fv%1Cgu#Gh}Etd?vpkk!mTg*0&I5 z8iz19XJVXMedx*kWVRZK`-N(LY}m5IB@1s#8}XSN%5leh3N<#&qg1QC15F~|cpsaD z^W|06@nz4INr>&ebN3}b22MunmUPF*WQWS48ynTP5)LQe-e<&(W9m4}-fBp6PkSms zO|kaUm#=`Pps2ZmE;gbpwVC*#-_r(QNCK1#xGMrn|2mAS<%I(a zAq#$>jB{c<^pDUBWiwBTE#JRFPm8kAghYmx(&rekyyI~;Q?dvOSnJe}cyz1VBYH*gnldkx zhy^Tk);H?ROEE>iAgzp?IME?3fqF-mDtv*GxG#=QE!!*pVgV7S#zws&BbEik!kq7< z&{Qf)?SX}-6gx`zN4W$p6UbbR)*JDzCT`tNJE(uE$6aerW6^2y_<=vOu%u=)*!P}h zN22;k7mI8P=j!X^x-!>$2s>xX^bD$aVSNQ$`NH5CR}}k37r1gHcC=pcw^p@}1H<<2 za{tsPgMgNmeD%2jK;!ZyIYFf7e-yQL!@hoFGVa6JyEIfHkN!2g{`Hp~cvxYS!sG^ve?jF^i?S=7F(kowt&`EN>c z?{tf|=dvOmtJ97sIxfVtEyP#@a%Nil%`5 zXLG5pxU1ymIGua2G*;L$lRsDEYhBZ&hMHXkV&DlN*8?q9bH6Dh@O0rkb~xP@-^}Pw z4WSaPoqDxi_LDZ`Jku-S*Zw>0Cazjo-PMh;!piw2i293(tX{)=FMS5qBAf&h6DQCE`^9_be87+RQ4SFW#j zfI^*sRbFR^f|yPs-9=f$#;y`IdO)^c3*C7&fRM`ZD68RsRNkJht67HDaDHgKz^=Ap zPKlRb*ZkB@MsJ_+2#N9_vx4)%nl1$e)C(`ERzLHNkn*)hh*J$^_@nOsz;Pq5`CRHk z;+wR`f!>mVv*k!BGnCx2JU%a`c}Vs5B?=+I@_N5v16Mq2(c)~3p7BBswGEte{9^%u zcAqGb#<*WkcZf5iaI0T&ex8m;0_ykXCZU4F^QDsc`19s~ z(S@m?s)s-I>>?OyM}g+{CEZm6pu0M8T+&_3-Ji_b*1v})R5^l(V za6y;THGhQlJ>yv*9)9Z=!U!xS8N_S!eWQb8nboihkFe{Mk6@h+>bJ4fqAdEy)}xj4 zgfG1{XEN5b&V=yqmTw-x{;^Cxlwm+Q+;YErx%a>1&*4uWFucH`j~TkxO7HumE#{U8 z53Q?3Han_3!yd`N?8(>L%-dF?mb@$W_6{OkWTo^*ibbHDH0^E>8A4#>9=6*Ep34Ne z=3XQ=WVa}jz;Q%&&xrBvfQT@Z?|V%AStmA?J?btAN_qHZl-39TBS z0k~XbiL4BXma5GmWgUU(Yk1;Shq>~! zPg~>j3A(DSSg2WENsdu(ryGgWHlVWynRHpkI6)vH0znl zf<6dhwyq>*;#za3ET&P8o2Qb&dl^f(+QVhyZRD$OJOr2Eu^mPF3c8@*K?vXGG&qII zBqE+F6NwW{@RInZDhY)>BXxG)S-Am0BWl+NWa%=CIY$h`UP;F$%@XfV*G_j8vSAba zO^y4HEpplT$ilsx`DChlKAZmUFYXTZ zxOC|kxKyix7dx4EqGY-0j{mXU_~3Dlbm)>m44$lIpm>0uOKazQutzuqwsDn1m;WM? zvL#FHqp3SE0i6>lmOqIzOaKo-TWd0!Tp65sf3P8_3KUrxtw6Mmv!)v{$m z$vi1YMBcwkceOuD3xMu$<$S=eFnlN1BN^%$>l;-U=)gr1q9B@4{aw5xHbtp=B>v#j z^aPmxej8BAoL20(PV&F5#Lvr>sA&|Nh5y%;V7rVyw!SxGwtEN(TcqvhezXKNw*`J> z7cYZ)6`AA5hv_Vou^>D(VtkeMc$u1Vr$Ip-VSY+jT z)@bO;{T7mR>Rol3Q3e5$bdePmc=fSL0dMNG2=ZmhBfmp&0V!=`iOAa@|I>!;?{_fYwM*T0=vZg%Unl7Q>^cMbZl4_K%X#?Q zBkcjeOvTqrqT}OlG()SgJ@eT+KLWmTDu-6RUdZKIcx0eJAaxX2+on~=Z}_F1?wm#l z&{{I=>_5K^PUHdXQM2A3WD4b(;0=8Y(Qw+JGbosqIJp0d=*Z|1{aOL=1C*+_ov|GPQhjcB3NSJU{yja?2`1S_(M2%7^4rAKC!skZ?|WX z1(#njYmw4LW$;H&e&1QqayWiEOy{_HgC=^^m?JH74dJ0;iv)uExcRQ#+OyxT-@jfB ze@g~_Es@GE+nh~(2HXEie7;NaD<61m@Z5FD4;xG&!o4&2k#UfV%#9>1O~4!@{?a%s zg*au@9Nc={u_xEloEn($3-Q*13)bc12WY(9=ppJJ^ba{*0jC_gOp4Fg66s6Z ztH^$8Vap|CEC*VdU{m#Xj>i`@2#Au02fLCmXgFjk1` z2#A=3u9Z7p^Z|dGI?c!!UN|I;3>?<3e)b6gcHS{jVMC87t|7)>^MVU3_?(gMp8v~D^NR`a%HUVv z<4@Zb5CHnc=rfYw{l;~|C$f-Z0HO!cQo^#sr~~&g!Ikd`gmw6WFm~e~V?YLBfLE7j z^wJBOeM~n~Jq9+e;tPAQ(voh(VUu#)u|$`~%zPB9d;*kyn>bO62IA8AOMw=5^13jp zvR&kA9Vyfz7QydtkPBVELUi=H@1ggVR~&ZNAA)-ZEK8A#l7EBqiT)1f8x2;v$lFo! zS{*P*_eL4TLeRuV9dtB;SpkIZslZr{6rGeGWeXcAZ2=n{Fl&AJaQ}bWId5LiuWvv7 zJBhAWlLsKt<+XM*h6^$hzT>RUkd9v>G62zCZ%AANC5@8Jh3WL55Yr1iTshzqC48q~ zBjjfeaA;mOye+_liOd-pQRogb%^Pyl_#H&&Rm4#lnU$8Nfb%rJ9QP7L#~Y!0yrJ;$ zZmnlCZ>ig=a?zc1@I3*N5SjMCPs@@oAy}%6)gKr8sT3Lpvtf@-^w{cG01%xP0}W$w z3D20&C5Y}YIPBx({0=bMf%8A3y1y^a3!Y1XTd!+Mo!nn1aR0hQ9^2G{7)|3#Q=OIjuEr`^Iwp*{fD|v5Btd;Z~|#b$7d1V-sH9~ zW(8z-QkDQnTRt`AC8VttXW}I%tKcB{Y4KGC_cgp%R$a{7*DLlzNtU|UY0}p~AwL)) zhGk|W3YHJ0(2~g5hz;Ze^+^EI)~Mz>i2-z@H~!bxhxqdKk*brQ{qo}&x$g^@ zj_cCJ%zJ3iojC#mifNvG5&`E`U%gXc;fArWxTp@&%YxOK6!>ixV<|HAJXUtT%?Ls3gBD+y#X zFw{&abQR%TBWN{QBol&MXnnSi)yd=yWFh<`W?|pS&>b-cd3D1Qih0L>;-}DAzu~9) z|HM!2)fmi*0Qbqkqi&zp|INE4NBFWT@Ut-T@X%K5M`7bR_jzgmzkbpu_j{3&9m(W1 ziDa~{#yXo}f$dDG)ck%?0gcF=S7z*bl#Zw%rP%%$Fg#+A0IS z5{V-qMeEaRT5f(dZsreUP|2UjAacp*mNv$s5o~*8le$+Hhb1kFUJp%*NL~Y=K^f5k z6D21v70_R50B*n}A)|U+=MPYq@Qwf@EXXfPKuczvFI7`;-rC^8l^H9)y0u`-*$-n7wrP5VXb8!*Tc=oPJ-w zzyHlLU4k=5CNM9XQNOpdUFRv6wDDN-^rdHd5#X6__cG(Us7sJT=_s|ZBf3wg!bzpT z3DU$TPC1fvhXmnAKJP<7hsq;cVn6efe`WvAn$kc1&pwH7FB76~xkyotE*u>pq?*TC zHJ4;X)xs?WtBzJP%@m>J8~<*hQ}p<9&L5C~|CKXg*WSV-7vwv>BOX8_JJ#h3?)BI6 zEZaxQdJ=6U=7K#1mvR(Ez+I0TQY=cKdmT@*jBf9UAe+_E-+0@&7?7`QMY?D*6Mm5< zX#Xc^LgoJ}X~JxE+s@=j7X|>SzWwX@`AcM%BYJu04mhKpRN*i_o=@s@>99wT)rvzq zrwi8$S||U3i~jvme^LEQ{`Gkf1AHYxta$nR&!p^^zWB=EHp*LWw8$`v3P~Il0T<;p zW`zdiD|RI|7XY+T0DDQdgn9g&E>o$D2~r$*stQ*^Qxsd?XF}c0Y-ozjW`Xmn32vuD zHhF5n2M$4r9O~P1&&&zQTpy~)wz|0gTJ zNyefq5^l5JRHLEH{=oiy3Z8r$0h6N6-7qWvwy=dNWc0Dwyu}5Hn{UWttp0l5QI4vG z_l9q(dY6*MS=#qGM}OY@w+GLs>(V0vXaM_NzWqFHACL?6Tx45p@{IkrZ4#?2d)$7& z=_y+c!~+WVcNG?6f!ddVH>O!Ty#Zrwkl5)(qQWE3!ywAvDxN97H!n{+GOQ(JxTIvCZp|%zqVA~ij(Ns8x7?H_Gqt9~g{{&w_vzJ>?IBJFn?qzeVR>5^ z;V?&>`CcmyTqDan&*rS%H=!(ziDSXon)yVEmQcvvx+iq?-pe%p2)!gz74K|a za2NfRomNFbic-m=J9ys%7sv;$vZgyA_6I3D}= zO30}PaTTB{IA~VnVYpH+L~9kcUigCjD>-@~=Ah|`ZMz--PLj5qGhMV8h=1~T;O-Bc zQz{~jJ2(kMcWuetBf>oAO-|5H2>c(`muVDd!RFe>Y zDvrv$8LwuOi-+eXrKKD-U3zYdDao}BsII*{$k);cldZ<7DCV>NhSY6^sL?nr z2ie-=cRYCtxl58(1;4*tfB!A(($|7XJx&p){}dQW0KB)GbqFo(r^z)LL;vQzy|>{y z3V3e|{qo*c`ptV=Yq6b@4ybhf?!8T{#M#nZ-Q7o68SWn1m2rM2cRCN1&Xv{0c|SYr z^)+*jB@rum_tSBWTYmh3_y+6)ra@%)u0$=F_Qs4x(bQ|yuV}<5qnmk^6@LK!aDL=| z0!!{42r_&c$F?$l$6Z-P{N3%RH4-0zAQW;GV15TM9D}Wut9`5lVrIOzyM?A^;Kv=Q zu!|_1)=u5Na#4P^3tMi;@o2rvY&xPvCuMZg(Ckg^Fultkkn}FUuPqddR&$TugmOJ% zo9dwzaw%g!pgVtEYKQ7?JTDXFoSMw+J?7^J*jiDeIZ9LhQ?crA{`l)7djJ&?mm~N5jGW=1-y$b*;Oe(sF$|W@2Ny@T#{~!P^b(k zY{>o|1ShhI5G*USt{FJKu$nacBOm-*@~j&E%lrHLl}4bYcayaLc50%lrCslLgr$>6 zpw!VPP$NE-eIBu^3&|<5)o?r^BUj5e1EUso%U;q5z2cl!Eg}1pcR4ROFTKByvF}JZ zM9WFYd%7Wgb<;%hGTIfUGQ9}fiSmAjW$jWl>VbSRvdLJ4Yfwl)FsPH%U77Nw-< z@qt%VQP--~iOt~Hs8xdv-&&tG5VQDrGHiEfACB|TiI^&^Jt_BkvT13Vry;6H)480Q zYgDi{bSv~Hs0__ zl<)Ag>Cvcl>c}?%la^MEx%7^x6+0>lj;@WMxWBB?LpyrTgxH?@$-7|2^t~rqWR~Bh z?Ro$ zB+sJ*-v1`!M(&7Gr(Gyl2Zo--@lze}TKDM9eRhf_I3E zx>DXX=^zxN<4-XmY!sRPYm2#H6J_09#!!*LTt%lIRX8y{b3@%{4B72pq_0)UX7v;L z_tI_@#0UM`SXae`sE!y9w1NIDb-T4a^+}?E$C);CYIUW0{ z3QPP47T*~IG7*1K=dP;!NhkbTqpwB@&Id@KkB?(q&|W&?KibVc)4{Ll79u8eiGun1 zP5RaJK4(7Ag*Brz2M8Th?&IkR<%&5suR=d>0FVtpQ}zyI^pgscS8g?&snQBbJ#A1p zh3T|aj_g`v1;OfjYSLnOenR+3Tsj>AfqGu|`;)t}f?H#5{Kqk7+{ZW3ait3C6Rf3B z=DKBY(yo$>&SCdaM81k(6Jc%duv>U0gLZLio`Vi7_@%6?*d03z~9nP4fH z*gKq9l#gP*kxRNiOJg?!y`$_s9*BBIUMveV(SZnjQITB&y`!Yqm8&-asn6nId;H%u1bK$W7-*`s#C0y^9x4Y=%rMLUzU*7J{fVaCP;O)-6tb{*e z_T|#sJ^w%6?#zI<`mOYn6t+I- z-?PqsaJN!BeAPUkl2aY`Ll=BEGU))9S*rmA(iwU4T412Ws5<6P(ck&o{D@1yp!QFl z4E(x16xHUM83$XwN847k-jngWn-$%8AxWV}R%80QoHk81IzjrC56G5zsq`BXOnUoSp<~M0BmdmcYUBPe_i^tx7w|Yz z%HJ0> z^es9La`VulMz*Dw9FHNolFb29A^KVd(M*Wt;l!5+V2C|5_{$^bjSJfI!Z6ompA~O~ zMqz6}o@HuCSZBcL`$Idr&S7-SQo3np$iY?mOJN8LDhs+)qi~YeXO1zeX<7yT|+z5rP zH(<;-EcJRlN6Nh9kNa-tEG95SHvt7K40A-E10`>lzG_a@iC{}Cjsas)G zCQkd$`>Ty(@W)Dl#f5)uhGbssAnK2PVjqn7*8k=TcOsgUUsmaXAr{P z2Jww&E3DgrLao+^3#_T~YE6Th^aE<@_^XZc?JUfFP1dD{hPN6j3)>V!_iE`V4SvMR zg$rcGv(IhAy*X`4JjJ!0Gx)1@9M@bUir_jgE1{cjJ0T}WtIKW!Z@Pxf`S$`e)w~lj z7+p5S>Q&V&QXWYX>zeB`V|5Qso$AAiD`!tSGGR|n4OeA;Sf&{`w|l zIN!It_7ipz&jc)8JiYmJ3Vir%CtDJM{$=jnku|@GlCAHI|46(q+e{CCfzv72K;QP{ zTrvI1Rpuf%7vo>`Q#G4Sj3nBVxpYBE;8pz^dalgqdZzHk9>fkt`I;9{^hFcz<5(K* zEGsoU4r9=!LAr=DIqqrhZ4Dn@b{Jb0$Yl4B{sE7iGt`c2+`cIK5AudqiK2 zvFEjqQmH&o*=15t^tPJ(R4wY%gO}hf&u$5YzMoz!$+tS*Fz0GNyC$u<_ddTXF|+3! z7(qW}+_3zbFS-c`t8TosW*4?wXUv~dyCAA4p#s#g{0t2)*DVOJ0Nj-a2DU{kyH*~T zXN~Q@bqLm`RdeKjA&)R>q&8}wwtrgYGLu!C0;o$`UDXKDtA}((j2B>YOsr^MoE)^vzNqS`asSl5o?x?{U;_7Y`ZXL#0G43!5a@K6fw~rwQ|I7#&idTz1}l zZKtQe$@?7alZ)+*hTWW{cF-N*yYj?6{d<-BDGO0nkYCSGf8(^CM=eJGU_NL0nuiOI zOt?avZR}B{AdZE8c+%@9gtc?vG*Q-_%4DHoDI| zX18duKU9K0e`qJD*0zV}et-Rj5Y<`NdUmzS-m?I@*C`b<42vE;=F1c9aIXYSL=3iV zZPz{La3J@n-RV1FsOBiQoGt6z9d#a~2|Ek=%Azgg^3yHr>_GeA0^|?6t;JtS#d)T` zrezG<%x~VDXHI2LleTYK^~L(^nE%@2G=XfRiz;Ag|B-C<;wa6gA0r`0XGY}aA>_PB zx0ddu4C01g+d7Bf)cGketZJ|#Dy7(X-Zp=B)t1$c3$*_dbS+3S#N@6FArMgVYk*Rqs|(A5#%?{OpA1Pn$rLrM`1C1>Q zzKlx)mbGAm1qg-1P9nxZsR9kdQhZ7hi2vz(M$({ZF`kHL>?8R_k+9BGJe9DV82o!j zo$O6en$2f!1Ksa!6PZ0Ygxy?=avKg<>(@%92EBm6v;CY1JvU4|9<+mc34l)BXO&HL zUk3?q%|>yZB<3ehmR~!-ZTy@cpBEh*$F*4w1X7>9;jeKAw!d$NvlzYio>u;*sG52O zfQAxIE@i#czcCB&`YPm8OfDwAVwnQ^3`?}HcS^?d^8g6c)WdRmoMFPW?`*cu^G8)y z;d9Sm-i2Gh#iMZ#i)bw_zf=bUD=d9Fm-r(R237}r>fCQVz(feZ@-8V68XxB{$EfWI zp$<%_WFkjxnzPLudunW_5ZtdPw$9bLQP?WIB1tJN5DBQS#d`rY}fYT#|DuS5s?-I0RaW+7#gG-X(c6wt|10dknVD*Q4xk78ipFB8|enA zp}Pl|`EH*5?)UfXckS;_)?zJY4flOr=XqrQfqL};H@eRhdb#EB#kKfky*}$`XG&b= zUY}L_)iUdkb7 zl+{+E1qt7*;D4iQhAnTF5x^*#O)_Hc>TWk>w}yzR5@*eaEw# zW1$q#&~?hfuCpYTvj>3))i@fuw1LmRnF^PYm4BHR&F)$h6W@4&kj;?{vg%O~gPy)n z&|%)n`>FL-J7ZYi&7mbu=KO6Dc6`YDP36SPeE7D^%PyKGbJ~sJHe;b|NUoWvSkZN+ z1MVwKk3%Y_Kh@r!hsN4%<ldQMUm+_H*mZe!fbv4sK-lYCU;D>jjae(2w{K+z#(IFChPgUE+*~1J0R4zD)D6k z{_O+=!$3UVC#QSWfLn;U(Xp-=jmRinX>D!%oc;!~w`gNs{A>=e)PBOtU1g0mg?+u# zR^vy`+pdo9sx_No$NU{T;oWo4id)gaLgvaeY0jm(_eG=>OZ`ZMkb@#8}`;eo*C-c!0%Z(M%- z+GJGgs$ZFBD;sfXSc+F3HyJZ~jQpD1{9U$VvtlM0_-%`dO0B5gw4%5A>ArSMDi2Pb z0AMo7cTt`=qM_E*+cL(;vG!Yr#A>L6hw(~8?8Gx;Iv}DcB_AgJ1yt#fec#reUL>tTv}~TM)XB`KedDZ7dehb))mm+AicQQ#0L^{ZYLA6 zcV2k2A$124N&c%ZRr8}0km%gXPQ@&+cOu&)%R`a|NCP*ej`pM~tX1Uf_g}D)iisX& zd&`fs%g3y~;!t0YA(l$Pey1Rf5$e?jEjQ~wF|Ob~$d$GtQMoSb_roCYvqA4Sg`1HV zm73uAmz9Kv4=mkVI_1S%a~s#cwd;G_gjNMOhwwlm!w3%S1yx^qp~S z+5Y#t4KH)t%)N87v0XeSFIuscO&x@==8RZEma`NJCrC>hRDg+f8?CIcQQ0eh#-sHs z5(#}d8QpO3^-H$@28qDZ&$_M*m%e&~s*R^<6F|!4WA#Meg`lyA-tm^G2&-EnOngLS zW`BQEvB8q6Pb}%ZWdzTK$T;Hcu`{+;>8$pG_~-qQQx@NgjPquGcja+%QQVl1gQw)H z=*#`qdJ0}7H6%_dQ&uSIEEXISePC>+C5@3t+jJtWmv|m8A2YeevQc^VD_9zMjQ;{S zd7=g`zyE~#G_GF8t&hcV`59nkVd%al&!H5kB}-=a^@f6#0Xp{U z_wTf?f=aB5b8O$#zKCjiENMApoYwT3=e8R-Rk+bd)1aX7ueKE7Ao+%{9|=gT6i=F| z!>FR+oiy`G!K2jmBvKllT-UGamzCB!GsB=E?ea5&%gS=S~E$L@J;2a zl;r|~VDda1s-uAX7k#5*)2xNbjyfoi0P|S?HnT5ycxaN}Xh=RlWRTwXywRCsI>`BB z`h-%Her1&2WKXT*FmvX8{Zv+=Uq>)f`sx(4_bhAw1*uezeH{Ma=EH$=TuAachNop^E!4yj&$5-a663oSAM??^5fy1GCg=w|o{Z)w-zk3=ng5l=bT zi58cqsb0F2%}8KG&i&Tg=lM^8N-uPL(WnF0#=st9#XrlM;7ED}ixeX$R6|Gc@?L!}}q)%~v`wa@4L+lJe6i`IS30`Z|8%F7n zpj%Z!H@fX`wDIcA+jt{+Gw@t*X00STV{~Fh;C*@L^-JeJ74vLOC(HI`4VG6E3mSjs zyJD(E0ElMGDxHRy_-!zL=*`Ao5-^YA&Iq`K{Z*2ypOZ@3Wzi*hqdv{3(QK-q zgKZkJwg_A|+Lw(3x&-ydz6NL{2mjJXrji2Ny)eg~vN>MdOc=%1d+`*CD}sBJ+PubA@z z{D-ulfh9opIY$WCE1f@AAHwFp^2Bl<=H9L>`1u4+CE$hIJe@W1Z>=l>997`8$?gYW z-jL4?r91uT%V!r3_{n6m+R~z`1;bIN?&iglVF-{g8-oM++FWDv7-`r$(2pyTE72gY zThwiF)YNg1m6L1HdvNUr(G7~{n?G6Z-BT$s^DnI{=T-qu(A&}V z5p7X46TK-%{Ka?Gtvo4s*PhPVWA|(+iRwUK zOK7y22B%)5p*;&68rOSe_R9-21&E07^>Pj3WqAevBSigh)13xjCFuHwT9=V$lsFm_ z*-{nORlbZf^MB@5D<6^@)05wUSAse$VLr*ExT8GQGX^xM6o8 zmu(@@>|ok^(|mv|#N>NDpqHi+bz2+6>6nRJ{Ae~i8(>~i+MqySPx%xC&Afpc^H{)D z68r3%pXeFY25m71eE`j0F4%M zjB?yb{plkOeA^zP=Z%@iBR_b`Yo`f+{Ny{X>CiLw8!^^4uHHc#uuMz6z@m5OESx~G zNA_d{exIVDESY3P?Aq6vc2i|;%YFRnjIqy;bT-ogay^<+--8A)T znW!7U0vcI8Rj3@5)7T4;W#3)0tA0HB4)?&b)j1TI@!I$+EkFW# z6dRX+*yfwnyuIa+L}@r#PyBd%)nyS3)C?aVRR<$^=jwZJ&nq2e>9R)0gn*n<9-ba} z+6o=H_UhW;3f~`&^K7jq^jD$rm@!T(s}s+uiGh$!Grcv=e{Qh<1Lgr$x-#*Ir7-0cS3*VC`Cf0f|q-~_@%bY#8V1D6H zDg>8G*0b9I>kIA1d+YpB`k-H2H2=p*X`^wp#$VJ)3(9n-Pc{HyMjqZD)p?&z%xD)Y zoc31c{wM*>?}%?y$+SN2c9~+#sjnqI4!5w3GW&+T{;Eb6g;!ega+`Y7 z8eCznEI^2OE2WS)o}SIg^*WR91F6`PDLMsl2i3=Y7gETNvK==W6!S%k8;rz8VumhR zVujaW2{*Ex$`>$kDy(q#LavKDF}1>(!?4i>_b#`SMlszHtk_dom%**v58X~fh?WGd z6yq8>#*SzrL}Vjn*z_wtv*xp{Oh@&{NH2-kgs}Ac-ZnMc)Mf-zWNhu1FWOA$_&Cx? z?>|M_d`sXJ4m*k8MP*am6Z)1gL=V9yYyfR40k0$2yiBPTVd?U36qR0g_?>hM-au6= zAB)$G@@`D!&)<|#E2cY`u{j=G=?`Jp#Z#(BiGfduh#iOsclH(?MW1DchLJAKQ>G!! zBktTkI6?bSsGXhv#GOXqmrK7I4Q}7_=KAf8;Q{|119C`vm@K4KWKScVC___vAHJtQ z=C6(-VSD77nt${A>d)rS2F8iMC-08;2OT0gum__|gc$^jmukV~kAyA^X zSW2n(p?HH; zZMF@{-1Ryvt8Uomi1sJxqmX_VV57qmy-|zVe(_c`O+@?v^%JfT+M^td76jVY89?0+ zZOh&>CONIMS>Aoc@Xv(fTsDGXHfaplYsTr*HkYqbJhq0>ic`$iaiv-aipi076vPBqVUlhX8M51Xmu&37oG zOE3}qToj_LWT#kDpQ5O9J89~Mhkm4@r&!#mdt7jK>QgpL>xkgj@Q6F(x%zV|x)WzV zIs2<0Ds#t~=zD2V4l?V29;r0>Jnl1(#h6?D>>vXF#yf`3hk*U->1sz@T5~u!iid+# z6r}?2%?#gQ*HMVEKg{3FJu_m@)>k#-a^)z}UqJS7V=2t(;`GHXm{%{bA%(|3!|+_* zmzzB^BM!;;d6~?>Xbksg){Mb?%ShWqODvsw9l|Kt+iL(iHkn-D2(Ls?s2zXO_`F#@ zATN7W;JLpBl3x_ zNuvkLh2*whtrx4;tDaM>v{SeHs}lMSMi~FG>gEs59+1zg>BpLB2Z^zrm29C=Wx=P!zI}@7~JX12Y@C;Jam4jnf9NndkdV;7Tskk*V)1Q?VK~; z@r;!9I^L5!St+zVb%U!v?wMhP*IL#d9)$E0bc|AkpgA8ZW2r%V5vTNLPmIN*A7C%q z+t|BBsHt5A;CX8{)NB+dw0<>!$^Wkil}$FwkLmvb$9OPYja&6g`DvSBEAq>?D%%H4 z3b#hnmMe90Hod*Q(uCF!^^VPs)NhG;;AbHP*b5w|w}*PtLyTU@8t@nU8h> zd&~NsI!KAz!Y|>pW0eV8lb&gXwt9f-i0dJ1c|t5oUWj^s5MZ;R45`Ph7Xxf?J~aU@ z7C}?bOs+BWyh2nWz(v(E*cv&;<8!ikZu~mlrMDS33rM;Y=8BShPDkI-evvMB9d$U3 z)3-OUo_;&SU$k-U{7pe}cjCbLe`&A^6eb1$CWz$t6xIB^nd*KN<@8HvSdXBV*y^Cu z_tK3xdXTxSU%V;mBm3Pe+qpFHh`Fkm{TU~NKoG6sx`ID6P&M)}U(T$Dzbl&OV-yPe zGn$7~1gNz_!tL@UaPjVH60#x-6)Ep?x2eEiYhCitlH`9GA|!f-toPn=F_toiTP@v^ zYT@`z6g$w@gLniu+IbY$3xt_piuru|P2T^hqb(JZKW5DAdDNB*1q_?K3!DM+emXL^ z{7)tVXB>Jizn+>JG^zlp-dB?QEDZ0vh5o(#{k-}7bO0)3^ zA~ZOa>lGSYIU3H-V`%vq*w4pFYFK6B=dlC6b>h015dD$YL@0|fTw2?P{%FIq9((B3Jb@rQJo`8F zIjn##s+O`4pNsx|a#^p^qg2)b~ zUpvua&?lA{%zW*}9W!)+F|P5NVDSxkt?M>AK|GaFpdY#&GR6?%Z^%n5S?v)ylH1Np zg-}zctHIDRtb-h}8Sw@l|~P^eFBeT219mmii>-=B=NVCcUerVT`0V#0mZ;=sdST^PyGNhz|hHfImM zv9HW^PQM4#CXVWdjn^*1ycnwZw#AvS;L>%^z-L}2vyar8M^=W{m4P%a#3bgZ8xgd6 z-V>?)47JcWQ|r6rRuEqdJo3J#jm()UD)T0zQ=;+Voc2KbNcgMsX$AH1PMPTNZ(|H1 z!=nbCpM;RWfgmu4XD2+J&&=u~W8|E&Vc$Z*LBYj}0scM8ai_{#)BRpY&2vmfCnlnq zsog8j0#XXe)ZBY1)zZaRYmW^oDR|2@PX8m2TqH`;A1DrV{j`~^9xb{lIpq;jbO7TR z*_t?ebMDdQ1iAb?2PxvW8-Fp0VF4;&e0GMQ?e)INu0Nx^#$}k{17$rmE8L>vad+H= z6yJEzwxL^_Og9KZa78oo3PkpaqVHAyQK&nAk1x0ncH!rsM64TwB%^abOvLuwFj!{ zVLb`^=eGE7kmY8eSda?z!(R-|U2}KE%-+kz=~Du(oP`gKzv?w@w+mn2YI-v;%reBLX^T-^HXBm~KC# zHJ5y8R`JW+obtw0P}}f5`)jIDfk3)CUa$y&ixhyH<;KHyjNZ=Zv%ZlVs$Ps3aJ~lDw7_cKKX8x<=CJH zB)2f%H8U_`EqVA*Kf2~;%@b;2zch-%?&S7|CdKk^6Y7zqf1Rj&Z57&QPO;g zN1S#C<2fjbBgCD{n>pROCpQ2)x%O$}rLA=R?K9NS9H-)U|EI=llUv7qrC!C0+m#0s z6aK?(K&cbZ{U)BIE^)e^p}5dIYTe4!RQcydH_D|9QOpeYEr#sh7p1IFMyoD_eToIa zg|}uTgSgL2foXWM8`thAbjTe%0YD{!p&yOY{I{4sm1C6|M8~$FYgIMS%^xX?{3`|) zUxsxrhUo1@)Co0FHOrW7Z(Spr^UD>@%NBOzN`rt90A{-Dii1w)_UriU5!jyz+3fMH*gS0uAEprgNGw$OJdrC`h#8$c)0@PxBm&65|fioVcS_!#RR^|i1GHf?ew3N2l6Jw5j z^5hZc$?>rhXV{soEaY6oR0DVVvj#^>wL~>S7+K*t(6B1@u6*Vx_{o}24DoS!f|s}; zrtn|yuSZ-gVcT01#j5Q(z4~xk>3u##gZB1L^9~f(b}IUpf&W@1_^r@DWh|}xR`GGC zAcK54!0UWl^7-dpzy9$05um+aY7E&*W;(+MxW{--O=*T~>Vuux@Q39dtEqS!9wM$6 z=o!ALW}6`q?eLrc-sn7?pq|z={z}ne6ib@m+)_GJe~O3)o!S2Y`Fv%4 zU#GYZoI7)}+o7ZDEa4@j^R8D{zp6+844!gmEai7hWa6c|=ltovy|#Z{kwEMfqO4+T z=+&T@oDio6D0P^HKC}q93qS50QSa50_Ji$~#PEU6hQx(W%b~ z>&P;G#rmSN`?F;hL{bug@=KE0_!A%XlnoadPCQg-QaTtX^AYX3t{ST5b}j!=(Fh-8 ziRbrTT&}=g&xo0!J}NH{s8-1R@*>K=RL_4ok->i5%}O|^2TN%9{Mm3F8oOl2+*q=9$5lPyg=`H%9LQg)QOq8Qt_%{lZ z6M>C>k}{(tg{OU!)lzz4ax;BobI19KEdUm_CJ-GQg++5lp^|AP{F1<1@y?YHu#yr` zN}(f4pbzHhN++mZSSXmxPyiWcRcYN9I=;*4Uvf9jdo^?)toHNyq}(nQ97E1sFC$X<-IrIkjB`|K`k?iC!QwTm9Dya?(C`S z>Im3(D|EEvQur{@A4q)GFr{WHubRUHFP*`}>mPTFXZj@Y+XW&}-4cWYh2HQz6bE3sXp_)YC4JN!dwOqnu| zt)R)QVBL;%!nYHU`HefI-S*oRUcRF5=Vr>Qw8(jxv`xo$HXUaD5^!VpD#-imWBU_R zV$V+I0)W&Y(uuFW40k~aBS@|N&ncSRmELZmM?uUSVy`PyKJfgvJv$57vsG}EtEamv zgh0u19L1S6A$@9SVvkjGjKX*Rmt9QwVRg^em+{)^{C<1yu2dN)pjbJ4bp6`Xm(H_~ z28JRwBU^SEPnXIU6-bVeD8CVl7giRq#gJSxdD%)!^^I<}MT1_Xl5uZ|>-N$&;SU-I zcFE+vceQG-wJsoN-=+2@&>$YStjTGSobf9CMaRo5p*Tru-}(aK<@)6Gr9Q35NK1?` zq?3o?f)de?3!S8JE25Mk*^j5tq(A#+5lx3aYby8qpNJJ%V#^ECgre@{PtBEI0_5+r zTB<0*P+Ix~F!p)7X1%oW51*X+!IfPbooLlE6D-&v0C!}=@<@t%z9Qd%iydNjls#6O z+-s;i*;Hj;0Z6E4YqdbaJ&w|>hz&4wd%ZMc`Jug)_+&=jXjfE1j!H%O=Zr^3Mf&4C z#bT?Yt`gZgKocU7sHw?rxOuVu?Doea^R@i@ykYY``*Zj&hQ(Gu;mv+~sU|!oRvRe5 zF=<27zTnsR0Vh3oaMuXl;Zysz^hzm+vkhe@rVn(#=|kMIy_is2XB!SpOM3&;;1KPi z*D|=&F2!(snQBUPU7a|SHp*o>#-gw}X-dKW-&3r$lJ$nyPhx?cXIRVwRHtt(mF;|D>)M^A^ah@Cy3xtXboJ73;3mVLZjg!!8E=VU>(niX$gpEhs5o%N z0;bCEfD+t_DHy*`#AD*%yEpm1I7WVOqdr3Q4TrQf_ROT}H=%U%0j5&;~{OZqF9(Cr&+Q_N1*(6!Z|9*%~Fna+Q{M-$Ok?-6vj zbH%gC_N>$SpkEL^13i)x!240+Z`2w8yhBnu_E}>0eX&Tfpi_BZ#=zogVbPP13&r5- z(#2ZOE-WTZ$KB*GOUCKm+}ygtJYUwyzwoj%_~P^04rzhI&)wD{7?`f?Vcq3=1UL*6 zu^g6~=d)FGQs^~zfoHV;bL{v(KAfIjK1pkdYQ#WG7VeRIg z^VH%^y5shVM(L=@@{;Rf-}TSdd)0 zdWVhcu0Ll-T~0g=PQpzQ=ZI8aTJZIn0JpY3^>&w zOp@z&2$!VboU1xA#v=Q%>h(gcdAEf-3QSA7+d5K1#7^Tv_&vT9sHHN{l!jtZF8P6( z^_%Jvuw>(%9{zsCbG&=W z>{frwfx%_A$WorUZ-Fw z96bHhv^%q(4Zc0(Y;qVlKl$Dgmcs>LX zs#9s@ha3j-W}&fXfa~MYSj?ySD*H`Kf6;p-zp@;wI2DY^7I`+kRT(RHG+6b)X#CJg z2?g&?1^zi4k6#?53f9gQj(SWzvXXF$Q{0mHPZw9N$rXW}K!FvZo9Tw0x@ehdcsf;Q z(D^H3+)wIBgu4jmpiU-raO;4efJd3?YT`J8DWCGFvYZ$RI`E7SJjDc&plXD4vN;j~ zNU5})ne4R7i*Drd;WKM~rgEp9?W%bn`{gaUu5$+ers4*x&}6H&DkCRr@#yXNk*zX3 zxxghUR9{<5g@@KTnpLn_0Hr0(pgL%+<(NcqjU3svSbdUI=a!kI`{C|rlI=Xu`_`Q79 z$5Y{MC7k}U#^yrfnj`GgZnx`C;+`t+Mfuu%pwnj)fr&7n0WFfi=d$Fw=o5Gk$HCvp zO~{Mi+Hi?n_^2jSUiRhb?jLorGnP{z<3nJ17*~Q2dPd6poi;xvlQ#Ta^jCd#AY-m0 z$D^_hKws~wq}!&lR&=^Yr`f$lKz@!zJTua;l1k*B`Qmy*QbNPkKA&x^vs0#U9f;Mq zp7DlIz_lYs(?@>o)%|W`|9Dc+);Fmy8*+&fx#nj1t&e|2KNDS2k3Pvd)HnpYf;KO6?-OS3Ie zX4F3p9AQ$|Wd>7^)yj4R^;Bvs%5@#;zb`fI9`&4+(0{<2B5S4uTo_sm!X;S^=gU15 zHy-!!A-Trie{*e6!-37~n;th8vRIDtUvyv7z5%oj@%_VE~ z_>cJEpRoQEx7=SA)odAZvTzxHS+Y$HD*Q0X;xDQzB?3U!(d>v*Xk0&kI8fevRhCz-% zI0#03kc7|{*CX?DmZXI>y?fyx=#NplQA0HXMA?_IhtDg+2*=2-n}lY591i@M-+JK7A%!7U$vY0zQv<1WbDY0 zhVN3h)xjm(#eT&Kt~M7`x?t!Xh0i;Ho65l^MbEpJ|$hj>NhLjWt|U8CoYQ8fGalTy|Ka8^43FPR>X+K)693z=g`|LXP~i@x1N z)Iw!hjo-9KRQ2~nM7Cd zD@kKK)J^QFaVM$ci}}h$w&zuA4o1bb{;-XL%D_Z2F-~B6Ar6?=3?CqbQ9rmk+VAti zMK2p3$4zhCVB+(KtKz`%F15?!JD}s)#t%7NJxvNd>H=ifE zqlN_66rvV`%7_Kpt~k)0(*yr_ngat~UO$S86?WNIA6@InoM%w9X*BEdUrT-ENQ)$y z^NfgcQ=K@9Nno97z2R6UICsfd(4FC&?VjR1Fd5$8%5K{?{I+3t|g zTg&VO{D=&weJ0y6y|YUZ1$E1I$@(m?nS9NPAPXfyNq%`MaR7kmrTls(?1ImW8T|K! z>n^ZU`;!`(Zmxp%<-ckT&P%Ukn0^uhb!u$qx1W>t{?a-gn}g1&i6hYf5iJeOugIET znb7%cSKKph5VE?cu`3(`*45N==MvhBxLLN{tAEJlmgJpU{e8Bk&382_W#S_M{S)V{ zdZd~FR_!xze#6mh$OQcmq5cf=x9fzC6_uf=>M18 zDGi1zrErEc+M@Zu*PGF_iTRVvZ6`Ha0pN%i|L(D#(Du`cIYkKE#m+Fg1VpJt5w1J< z@6G%s=LwKsKM0jUTr6Sv#PVb4KtY;5BPr3Ddvb}&rKjJ!d!x9`B99S|;0QhqlkLob?8$dZVf3?DCf)~5BZ%Z;dYc~ zY%7L>bYzRXdwg!C8tK{rq{l$^;uK>*F2kA*sYK#2`+3Fk4ol`UFT|i$kiWj=0MBDV zs=X($0N;Q3guvBe%-5mFYP7(vd-;OfcT=oxBikqom%HUN`76yvjhu5ui0A=u&{IzJ zU2XS@|aZX0*B)$-6UahrXqjjHm>SXS@>GG8KY@5L5sZAus9iq;wbKUBKXkI%~ z;;H5K2==cH0FApfl{AecZNa#Pv5&KJbBJO+gWUzOH42`632=rYtL4x>bCJzXdXLLf_)dNIQ_)*C7Y7I zY=@=OxmiO(6mDC4>V@%M;|BJ89CqRvW7Mb6QMh#ypu~}>UHm-Y?0{IKV&O*IXSU))EaA(c{}MJ6h`sWSPlFC61jLL<{~Ei; zP2EJ`bua$Aw^JlQ#qV}MXg0QwI#t?bW?+uF$ZLKa{h0aXxXx8>pm`FHAibIS?m)UG zZnZP(aaYkla|5HJAGyXQ2#YLh`^)&LBr~Di{|OEp`~M9Nj2o~trM)O!3pVHa zNnNU`56O%AA>b}{u@sD3yP+A-Q%U8nXqbQsO$GcWnhkNE;H=Lnfc!T=yK$Svj**Jg zx6Aa>(m0zMhdp;XpI>1gaPlPM1;KU$>D)~)?#ShbMoj7Ng})DG5(zt}jul@vg;~$L zSD-MdQ}mlSGyAGP3&GR&CT4W|I;Fi=fP(*y^Zf1OgW=AqUB8IQMYd&ppiAj_!E56@ z0@!Ah_>}{Dx~R zyT?b5jFyq>CBm{j{>Z#s`|tK?{XAvZhAZwbspEWoHrc0upE zj?S}(2`>$_rdi>xIfl%5mT?KfAm!3>vglWx(nQ>EIV%nOa#Z1t@F;4V*gcMTx@M0R zHjJ?sZaP=LXvYc`@W9}i=Q5z!6XZ_yS-%9aRy6ML9P3;Ypv5I)|-dzsjk zQ&76ixT-Zi@Rd+XQT3?ZXyuT^vfo|yeCZCI=Lk7&v;)yOz;*3S9!axRcj1>7Ny?{( zj5vKVtf`n1pfT$sZ1G=4d_|;h&LS?OtBk$j%*Oh2%oniq-K~>6qja~_jZa=W7qic( zmj1)F_HWG}!Bvi>#rw65-HZG5r=r+CrEI9zIZlmV^camjk!R@Sljyodat0m3f63o6>2h)>9r8XlHKtNRjEJ3?= zSY22rO;bGB)|KfMK zDWh2TEon@~6}sMY9rj|+W(pv_EV3tn$!+Pz#2sOg^!E@AVzmmtR**DE#PU*mi0=i@eZzv()!#HH zWhd=ux|to(c>^Q6xQ7rKCU%KS+~Po+ZEC%IC3`lYd9d1xrmBuEselNc(qX3Tz3Va_`-vS3d{CI(k31f+Qra?`*n-K z8y1a2Ug+PR2FT4LXO0#){?~kq#?5^W7PK+srSaL!WuHuz&n3VQ@Q2*%@(8nsvRChX zpnJju!+)cPbZt~gX5Bi#Ds|>1Da=r%HdDBdM_F@S%EgY=3^4p5DJ?4wDMu1M8_(qhcKaiDl^524%A#_SOiWUHVTb3NZY|@ISK!qeRS?RZKnFV zm4$k*?~~_Tfy@Gk@xz0e(q5)GMHA`|Yb*T{G<23^QADq;*jNr$zy$}RWq=Dq6vzDe zPA$mhY_=S&nr2>SQYCjWovo)!2xAX(`~5Oz@@}s__i+BkKjnDNH|?$kVih}X-X?HX zxYP6qaX(p0WNT)YWYX*8Bm3O>sRw@sMrbT#M}~Rx^VCj0i-?89@o%+J zXgj#95xCIH)JD>s^D$8=nKbG*RAmsVX^wOxqTjT5Z60d_S!L1~L{|IcOE&$jm9Vtx ziJyI|ac2|ux^{XYu?9(g`v!Ts%60n}L*Q-H8D+D|)m@wsq@pIayfhSU+1Z-b8n7e^ zZ4$gSGiqe-QMcNYd27q@f9alM?tx6Zco_{-pS1(-!(Z$U;C|%y03| z&OLIb1pfa?VvWBc6+%~>ChI5U(4+f_A8LD95_y%xdJjlq6&GG3O|$zk*YZ8i8$uuWW1*U3r(KZJz;?vG5SkCCii_XP|pf5U;~m7%3|3J^Uc*?hAK{!o~p7!cA2IPk88888BJq0X@6y2B}>W!l%x@^NR?J3&^?gyQw0S+W<<5{LR&!dju?UKaR--y(+5P8y-&OZreHo z#8KT*z+w8My5;<-satf&XheZrYa~ysy3d@4aq_g=uSWfe(E^)dC$&o@VIJUW&Gc-v zv^d`z+hNu`$|?4m0@NGY#kw8u)ALW7*kC7&B!DQ~AnjC!esZO2YjXVluc`}g3={uJ32dF*QJAf9la&nzW6mP2GeY=vvEhKc6D^$UF@d} zXe2BC1I=yEwTpwId@{!0c3`!a)AYn?_IVkY4 zdvADh+DuxOQ9Z|@YqgS2+eP?2J5d_wkV<#?wS2r!v!i2prOYvRS)4pB;1S`=%z;fg zn>@7~TzPF{X71E*^3Jh)#L&!7kH^TXcO;*3vF|@W;@>|FQ(h&$B7P68{%;)cHG(YzHN^)shM4Rs3By2om}FzuR;jYP8oMcbl~F^680k&+@NK^h?uor&M+d0 z0HR9Q7n(a#v9^A1tli>_aHsi#@7hE%LadS(5sjhR45w6FEctowDXweSgFjvj=F#_B zq)2#Cgtv0fy@+}Xbfw%`$sJ$`FRs^5o6fhUs??FB%W$fXAWd!xuNO(`HHEfL6i~!dwxmpG7o5L!m zBWGSyv4O%p>0`xy&8MORh2uH-GMV{>Z9~@z@c#QM!qq!aETA&KMCY10mg-em*Jz3A z3z%6MP1#k_xsF(k*5>Fb6;op#pp56;>odk?$|HT&5A)^^>$#6dBMWqeOTlH`XnoQ>$z(*IWd$q6XW2}N^URTZ{7YlE8OnQ{{~VZTg9r$iUL*laDlp`O z&gVm&*N;@5pNg`dTwYQ9o1x%ZL=h$f5rA3#?YVXAd2E_uXW*;?3INV*mDi{TGv3); zi#8Kl5zj3sSfi@jXQ4lLZ5x`bU0M+NK|Nk=4UP);Hosh2y})-^0VHoCvz0&w+CVHR zefs}IA7lfI0tK(s{206TW_*ET6_uH9!Fvr192s^bR2u=Ftlc~j3BHe`Ra+Lr{wOby zyE)@^;u$D*>RCT3Vm1q$0e)t8eMJwxa~=dI4d{jdjMZMq6y?~QwRXVDiK1@8%oNy0 z!DALF-Ly_kW%`Z>jq@D2e;Wy?)0$Jc%VNd%rgQ6GQj+rqoVvt&5L=GS<*4=2a9RP6 zsj+%r zimn3wiaUxATb_7&rDvQQPVc#6Fxs40Eayl`PR2uP@fQkhRK*}(`HTofb=s4N3mjCEFDcyI& zE~%J7xe)WlXONer;Y=a>zhAjMPRK-=YPhFv+!{0#e#Mcpc|C%>?CIWk?5o>!0+O=o z{?{T^&u(V^OwQD7GDc-v==htH`znI8Hsz5*c=Sl$i{b zW_{87`08lM`~;L@@~Kg5*7YY4}5aHKshr%w}oH* zxO@tZJhe-c-ZQBZ8zq^;1OcwKklYqqOVUQuy%AMo8$SS;O6tDFj%fc{Jh5TbE!?Bw ztTpE`Z@BW5%2Bf;+Y*~73wbA0nXut?K*;tJ>?QTNqZZK3d``H@z`fG;I?lv#oYPmg zgcd{60#f`LFX4M!4U}ZJn=%||>GT4n^1*gQcs%s*N5-oqMKDivx>mcbN4b`kv<^a* zlqdjoVetv)rTy!ncMPV^$LJcnZ~<`dxk}eB9o$$qy(X{`)XFa7k~6iU#Cv+r>}raoTxGZ;|rsYPEDrIBmh%gQ>6@3g&QTL_+oFxeF`viEn*Pj$QW~R&Z|Z9xxN+~c=We6#IN;YU7zTNKxftsAR1?ZLXdvao zzu>OScI)s?=a}%^=-uqdw3%4tX;kT*fXD@@q%%IB<+c1GCHyxfx63RHmiY?uMV z@&{7T*>o}Skp$M=ebzfMo5ixq(2=^Xcy0oS<)+#M?1YtQ+#r&2KgH~Q;MrE8Y5Qbq zK~ee~)B6oxri2_+H1u~vGkBbtc`F8F4edAi|CoF4s3y0qd)N*hq=`!J0wT@OK}bXd zRGJ7#5r`D&MVe9qk)m`0BE1AfdJ`!Uq=7qzW3aF&ei+g-*0^1 zAKw@mLlexvv7f#7T5GN~=X|2v*qvvteEofsbCvd9@*z_t5B%fb7509D;`a>b0T`Sj zm;)QE*1$$&z3gSlV|Hye6}`bKux&HXkkAuC--uKLKk04BH8D@A1POffa@cO=WL>WS z%e6$4tAyIPLJ#VK} z1SkU>DRr8RXPtwkq@{V*%#&2PFQtF(ksoD~c4C4Co7BpNnsE&i#3oi6b9Rg9ci(b& z_h!T=rp$%uLkiwhKWZa3zii;Z8$?UKlwD?i#RtA!g0LvF8@r54qzT5o@qaA$zP}zP zdXq@o0JB*Z8&$}ts(Lj2Vmd5=nwb1?j`|0jq$R!k3DNBHmkRoM zPn{UV^V>;x>BOPz5^ZDbTdE2q(T_;rLMC(Rnv&2eo7>l$mJ{Q#!HR4JPK zE_&D5yZ|T_cN$`%y)-FaP@J&3Dip$?LQ9>?;r4hB^zmuROt6MeJ~demUj{%~%cL@~ z<}Hfc3^VU;r%63DU*GcJPx74UPT6EQ)GXv7vSGkKRhn-ggzeMFeZb)SNubc6hQZ}* zeyjUbz2A>IRlHyJIC=E1)$EIV`#+wB#qhh1hCYlET z1-ZR?J^8D1x?-e59Jj5$3RgOf@8f&2=Ife!2eU5a+;pHphvAWEm#^1<%-0xUPsEir zwLX_oa8LHz#(#R#<@&hgd9dCsO7y|x;13o;pLYGu`){+fhwcqG*Y%g)J4GYls;gp` z=PS3c-=BO?Iwq=mmG|4lHlxs(R>9Ufo3tw(^BHMtMv;0iV(yG>aB93SId?eXbGW|M zyCUKxl*iqa?yKippaSj75u@L0sYSw6SZ?!A0LmAAICQhs~81o8@#`u;}{X`y;e1)v-Eb8MRJR)fS%o!xX4f-lf|0<%Sq{ojN~dySMxG zhvOHSab|-Q^#b*lGn6vL!yVNJCs$O0Cmp#*C^2fMWqP=!^yjYf# zT&J@|B}6}Myc)0$@@yLWSboH=i|k~0scW~pSXjNgL27!5QrZipyWzT8 zq(Bb#BDv;PjQp~?6zR;pQ4c-8X3&~${Nt0{?!XMp$@A{--&r-cX$cpeJ5v(z-K{C3 zr&xbI-f;zl(7!abX?*K>+&7FS8*8g^)T|Smb`xPlkMf~=;EnraV(wXK@KTvh5bmIw zrl#b!(*$kU;@~)3x<$KO`TordgAwipd?(I2emnPSU_rf@z4TKC`+l|*x3BAqEkpy% zg^nXt?0vP;ZP6DV4eR%OSNmoy3f^F&-zRiD$a6EMG@2Ihr}y34LpDqy)k|1sJ#ZEP z&N%l2QfY0DXcw+A`Q}oFy30&)U}A|_87@DyS9D?$qWI!`;Ex~yFz2-T@WV2cR&BY% z=H2au7}tnm14k35`ooB2!KmrF#{3p?!%b6qFtlOY+=DAb^wI%aWyMSCs|TkoP3OPv z{TjA40?lVA1zx2cX4mdof7I<1$4jW(qJLGvXuTP25@xi8XP z-^iifn|C}z{nKEwlb?Pxaqz$Vp~5=!Dncg0cY;w{ioU)SDY-MdBCqj*Uz5eCT!m4p zrNGn3OXRC3?vR$<^QQF(&zsXLs1;Duhh}pg2y`O*bo`cu+ODGx8)UmoX5Tnjiru^dL-(;uwKIDUaJo*JVNoDj| zH6Mf!3#SsV7)$Vk_uW@2r1z5HF{pp&FN zB+VqR!WYRsj76vRS^^;d7GTktuwOC)${0b5y2wo(czrM}yIxO-EuRW=LUS@|bxv2v z967-xxzpV~n;f5hPiA(hW=U&|d8>vU^xjf|@6?xpzPfSg+d-n)%Fh{2Yk%6SPI}T8 z|FPfg#(WJ3QnU@vIxCDRHgAxIe1)ORoV%$4=?7cj2i;qTJ=-cB37C z894aIY{_x8Ob(u(2;ee;s>@|EAP#d9an6|;Cb^0;RDVAmLUa99Nj!yL3RRt~^L%UE zHrJ4pfuH}`E+GHMs(F*teehQ4#8{VmSf(lOmXOkg7j}`Bw^|y3(R>62fOOD%R);|?3 zWX~-?{bTiJdUoi=Ac2Zk+0t3{Yb2I2Pi z9gm};8T?ZV;OHlhv~B^O58pXAWq@9&QS@g%hC4AjX>#*i_rHksv0MlB-a*jlfS1rb z+n?{miOCtNUx-LoLzNXG`$Ocwk-dO^d~vI`Fb^DWqvxl(#1eJ~^&;Qp+GB?{fhc_% z@|^Y_t{72wMW;{YbQk4a_dJl(P0jL`!AT!%!x)%w@d9`uPW3f<-bmfr05h2u0 zA;&Gj1qx|%ur#X}R7He;diV@QUEC4=@IqZ*sX)}nNtbUIr&GnMgO^dEMy>dnY9&)@qw|YiKYI)2#o=bF1QUswlK=BcuJ7t$sHccrfaxtk^XG1&1lK z3xI%LNUGXza_MUVM+btN1f%DmOn!nnphS4N;F_;f^|eR@rM~3M;@GwcRdpTeo)l6% z!1c+_U=b9ZoZyv#JTd==N!IHVAu$wy17=qJyBM*jQ}^rBEP5i~Nh3W%oV+CFZ0*66 zc1X2~PM2`6H^#W56xCYD%rP1tq~k9Aj{4eyiUr~LqvH%YIs`FAIZ4K{SVmnj8tGe7 z`p8&Aj=F6-1y{o7oD}nvi}PiI9O92tXl>T=at3OdqIS0eM>3BbREek^vJ{R}WI(KXKa4wkO=2Gb|MZ0Dm} zB2WFul1j9WC40H~Y;yA?FugSOWc|utNksqXClGJ_#3|o5luhpNDLiTCx@CU>3RoUg zTdnlctu7>G*+e0#-P)Q`LejS9&-OWX_6tM_Ku6R84~_mr`%sx&DPGrYZXEqUIG^eP zYIVCMXQ+a9IYO2g`DASflBQ@u4=~!S0j|!jeH7|W;YEceBQ8R;qw1>@p<2g6U*~mX z4dyW8q4tRgH_98ZRb4HNi4M5=gydUURgdRwdEe|hGCKzziE>62w5O=ubW)saxkF9r zNZXyilM-&Q|0w#P-rWG*V*y8i(V)VxSYR1x!O3Y{I(-_Zwdc0lWHU1N z1Kiy|t{t`ASR_Y5SCv|$Y%^Dz#!4~Q!(G_K* zS-X&(Mb_tpa?A*5k$UJ0rTmLldlWRXv{u7){Dzt7NjDYJK7AuUSp;Bvz(*DeMeJ;^|m``*4(mp8jHElRiWfa=@2HZUVH3#sHBWTMn&|}T=RkoHYE*kO&j(( zab%*6=0bx8mBDqkb4e08mC141KK3yo6uo>$<51hJ5J24J0U)_vO5IeO4K>O*-q!F- zg!-EuMD&f(BNHpnL#eA(%14Wm_P;Gk3%8X&^JYu@j0t^osLdH|&048y>$yHDd5&9I zux`MhDoS>MQsMg914`+I_K;X6i^=z(slrNPxLT@Nbla0~ zo}K~9v2#!N$U1_Nla}4P;sJavOvtzb^_C&{M#|f>0m59BI;v8FnM~ONW*~Ex#>E-=7U)Wh--*X~o@B)T1WFg5;WEasoPbz!w~)ws@_> zZKs=xcg7r-2=xvfG?T)ro|EzlzZ9N$v-gbMx#LXp*;%gk3o1c|S8@tJpDm!wJjV0D zZ;JO({Poj8C@th=v7J>$BXN!P{z1|N;bvY|O)qHeb}6_AWZuvv$Wa~fKfV`Gzk3)IlPi>0{c(?qyJp5%>T>NmHy=b^I|r4 z-g)bfUSjgw9E+)>mI6 zQ?!+C%M>z($Ubj`BBTr1(A<&eH)`)}(us{2mQS~naNc^#B<6esJVk90Fr_vo=+exu z%(QkWXYK+is6Mnntl^uK+Qp@mVg|wp~(hGdZzvE-S3`pKcS2;Reo7wrUmPeV$ z&HobhwrKbEcoh1+@P6STOP(4_+O~f(49q}uCY6L~a!y^2VbX0iWuQQcL}8IEQz#(Q zCWh`>X$l`Gv@z!BSgB7-VwF4z*elof9;HvwCG=?dk-hX%>0>kGRzp3EZ7QU;?|uQM zJMN37^zm1Co1MB9C3J?JYfk0vJ{Q;B`%hNPHJw!f*m&oRuC$oOkRC#8l~OS_j-DOR zlDa0K^~EIkZu4{&EFS_mhruH$<#(=fnAQkv0DWI!-VrJRD^Vb_iw|x8M!(^oyX5Do zx^{G`n#8oIAAVXNn>S!SP3f9X?p4Hbog{;9DeAOXyWH?#*`vu+F!HOU|^Oi z^!FKnKSQ3vsWm$B++fo$eCpca!4YT1g)a{G#a(R{tem(;7jiOP@YBsiD3|cJ?KGL*2mV$)k?FLVi2H z)ZfGLnz7DtJIC8?_Cs6<#is>_(%wR_!{t!{dAwTb?p(Z@fECRe;LdsVZve|L+Xrx9 zpQQ%|@YCU8wMxGU_&*mRNt2R5Cysp~o%8aiI<%MN{|j|!nct~HKYpO%&v!>qWx`IE zpo+Dw;P#+&*l`efZdfQoPI72Eh7*hxq%&t;r$=ytarF4xzHNr$()c@mz_RfFUrM{O-O}pE@O$Dw^H6oaTFQpyZ05c z7A$q0quSzjEtR`hTNu;5ywG+TyMmnc=cm@^AD4RQy}8RS^n`9T*7`KdcY7Mew;gRz zRy;qmZt4wfB~`UF$9~<&g+dM=n10Ca?GlK5^F)?ns7JmmzS)3OCJ0PmZQYKR6kU!p z99WP^XJ}Fu!5jF`2MP|%`X|l+8PLSda2J;g#477=cHI_N@XzUvb_r zw=N%Cwh$&)_90)!jf-&44|tG}FUEdls)z>r*^&FvNLW9WUpMXQ938B8SI1~n3=n0y zLP5=4lw4@Xk|3&)_5KXqu;gIQlir9%lT_>IQZv1Q0pmZc{8 zXjyiJ2>ZV&Equ^T1t{z26J>(1fJX()_Ms2NH8Gz9N^$2ydE!mv{bX^HY62@r-*#|A9 z;Mdnpvy}VQtn~>77sbRCSXDV@EH21OCV%1{c5mcLUORT?`K53*eMULJJv^iyT(8y0l!CaWXb_Eo#i*xMK>i^n46YIeRHEk+t3 zC-GnRh&i@V$9B%@9|PXUrz##x>~IA z#HoC9ODzRnp5DjS@jEG)D~y&bV)bmRfXRA@#Y!%PJ;&AV{gwSm!CcMI`l~%^;99CCV1i! z+%f#|seATwDpr3{6ZFz?OWIT!K~V}rk|DV{Y=8k5=Zso_*og*eiz}$t6p� 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

tT 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

*eW9*2Yr$xvZJx}vW#dqdfJ%m{THrWsB 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

5&&4!6}qPO_SiO+HPq-7VpnF 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

}l+@tN|vKQCDdsVOo|J~u~3jA?fxg(n?TgnQk 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
  • on>^0c{O#sII|<%j9SYjV(JbHlrE)mRZ1eJK+P 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 literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/user_guide/01_chip_empty_mobile.png b/web-ide-main/web/public/user_guide/01_chip_empty_mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..94c61c8498d2fd94e6942f8a389bec18f8b9c645 GIT binary patch literal 225644 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

    U0iIzMDABEcou6EyFrm1M3#XriU~* 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 z zCeYKRDv$-W)3J-WO;br6I;m|~jm|*S@ip4t?&KCq{h&tN?#F>g!J+aogCq`FBD>Xk`U+};GD6R{^zYj z#1)p|sQQc?u?*lzcym&Y6pEhrlct!1&TTIpY4^>vs8L-b-&4W?K1=(DsurzPw-up)cAribXGrw61>;;34bNUjax;bL`Cusc z*fdz~W5VpxpM?P=*7DmAP?~i;OEOX=pIYJ+1{xL6+6qE{bj5^gZ=c88 zY{qF1YS2aP(RLK#w~?bG3nQ5A`m^MKS%BT^wY?IYW%kbI0r)x}=FBYq#-jKFSTx-C z%gWtSlQa^e{29ZqsB^q_y?<-=Ea`y&TVK7X%Fl2#7;XEY&H*YFOhzuZjJZEn(63gV zPxGBO8p}reB@#rnCbubkSp*}aqCclwjx9`Ek_>EVV;QBA$Vo@AQN`@FRwjhIcl>dE zU%~~|)yq+saLiY|4ZNFKwVXgsjihfc)fjN8&xT*any;+EOsSu|KGG;F;R%iF|K=^m zfV1^YY{4RT2uM#OIRzNxeho%%p8_85DkbsYvpzod zoQU7c!Ix-~s`cR&Gv~T|Ta3axh6X5(O<+HGp`0)>%zKjcq@aDByvF%`scvhSY*KBq zp9oR=Y3UNB%0Gna+I(k2LG(J9k$NwKjT>R;J^fUq=3mQgv3H8*B8#0gVA{LH?XCa_+LhS)F6BX(hKE(Ru0Zj}r4|yr1s!Aa}qJ+cH zd7V2@j&Z>9D-fs{oA04O1v)x8E=RPvwHKK^te7(22{!BN$@6KjwGUI8iaF-UxXkC6mS-rD*0W%B z(qg-?(w(X$X`;PvSu`4+Gq?{&elM+wXma#3O2mG_6X`yJ z3TZ!h&L?5FGxJboX4-sDcEO1L$q0Hfmo>_d%pUp*SeArn5x8$iOvzf2*7hsEwH3Wb z0^2up_WUa=s<9mTw9y)k_Z3zTMVL2@J;|R(M?V``2?EUmZ2b= zJ@$*CnVlhnu7XcG#lsT@ZMG=;h9u<=Hm^mqPBP;Ce}xKnvM=4(rL6u@aCxb(&_o-ZNcIvKxG>cP57FNBzVkL z%4X}{!zG~TQV#NF778QYK!wVJeBssgYM+d0+|R&|NNF^gcEY)O;Q%ghO6Vov7m<~} zctkl?mzGeSbiFK1bQDu{kf|As&Tw;~{GAp^Vj#`~V83*gYZ~NZp_32_x=k?e!}k|S zbudIeYA@=4vYhnl{HFkV3nk92c4bF5vCn?km-V{28 z#6y&0^wW$+(?w{WRch9KWG$rY4nUs`h3CSf-@4H~(jQ)*uFj?n7FVlOg4N%3S_q3( z9o%olfm+xhH&hTA27PU>QOBfA2MAbWH)1P-Oe0O`fF}BIzA^8^GDI}?c;Y5OEtoK< zr$7jU<0do#mj9uzU)XP;zb6pAfWdQb6vdj?wAf+v2gL}K6!dVQzDO`{DP|xbN)8`T zK6PrZN$j94c?)jzYblX#F{85$mIFgyibl_i z=*D;*Wwltd(XltK6jfUUSP0xqHbaoWSCz-7SwW2hAXJ7*_AC(gAWo&WQmC=^HPQ~U z6a)EUhAIsjKpD=F-abOSV`yw6YkOPXle01fgvaU6W5cChbSDnUfv&K*uVQ~wcOqX0 zXk3O?T>;ALM0%czMvTg>5$Zd>{ZQAFoTDVr@NThtd7Dn60k7Em_@g>4>sIL6^`Jd! zFvI>-^DW?KFL^8ys`MPLKn-Bhn0Sb@`a4T=$iRIw7*{?1`FraDMR~%#*Wc7JRIgvy zyOWDyIhz3Mn^_s0dA||R8>uuH{td$aE8NZ>V#ka72aO>IQ+Bo9Ht5M2cspeOE=;fE z+Vr1lT}|umLthWfwX`0$M_!f6|6V0|6WRK+HAi{fU(0BB9FzV-fkq|y0C@^R@f-Th>L;!-b{>Rl8R-Um`hW( zU!vPTv;>Kio4}&!aPhfp{}0zNXX|!#Q@>!wYD@iz4MWDDk3F#wTI3 zQKGVr1^z{66}y0j5mqWF$A7GO{PAxu`#lGFNe+ut$HCpMZ)KZf?T~k|W{H0lV0bi8 z+DLfL%btop2V5s1wqZNxjJibbH*dK+x3KqRw^$9dFayZ55LE=8~JUqrBjqiHThGbW!n7O+w#wvG#c}FX#oBL8V11B zzZVW&2GpqMg)$Pq^t}gaXA5W*54%UMuQY2j3oZ=@p$VW?w3enl8NwRTz!3h2<0stF zYRL90*G1X1EFSh#m@*8gtV2%#Jz&o=aOdd?tlk1Z$bri62+|&yWfvhk5~r^A2hOgL zE)raW-#{#4`g$iV9|I1Ci52PHdbe|lOPT$1N=>nhgk7&Lb_J|MykxV+&Z|%-B0Q8D z*@GXSq_O2~-gJO55`ke*tOS_RU;q^e-RJJQ9jfh0rd6$5cj=6GQzX!|L^{ua3cP%&t`ku;kB>+jlxnO=`oT^{Yv}o}*6$ zXyzRxP_Ta`@LHlygvAMTt$m*BH*UWBH`9X~la9FAG; znP){CkE6@E<7;ULg$l$zk79>(jfjqN=wY=DmzLMB#hFL~j5j~uF3PGq00%NG)8p&x z-g!i-vxuYYPM$}vbiIER!oQsNK5AVXv68FY42s8)z}81Ql$=4ycL|W2lTUT8cBepM zl=DqN>&xJvxhxNcI2D{y+G6ynAnCp^i|Gsx_Uq{Hkn|*ri}EY6DJ1Yit394^jcxow zgx1-0`6~fvjXg#iYc^3WqC){ML<=7GAqNthOMpPfetS+^ogO$nTVG_&??*g+0N7q! z+%_o4D~o`NL0DgS$$w!Z?3Yy*`B|*XLa4`2K9@l^w>dp@n9G)4N=>kB1fk`$$RP8u;y$Z_!>BFPh&;9dFb;p}=e<APTtXXV!{a2IP&gcL!O-B4`1mrFHYAic$xY(;zEl84*?O zBi?q=dhZFyx>Th?0ukm3IOolpe@B|69Plg83Jk8E~-l=w|m;)oYjm&*n`%wZ0QJ zG|qMkCoD=br{0HKRo~;ytiB&sR4T9s_m#qLcFj1|Mb1NlaYYU|%@v=*vRn=U*BRBc z@eoZ9cTRnSbO#rDHAs?_Uq#-mL@sHUR4Z|;44ghsTjaxbf9B~zofKzG(Q(rY;Psz{ zTPE`g)$Ro=c$8)jZHq;oYuK^;d+|yu5gF3vl;imnB#5O*?oE?i^kZqH_PMbT zNN(PV34bD+#xpeSJ3!%QLSiC}=zU#Sx70FfnLp~EB(gf*=5r|s*Wwct{b}RR`|%4S zIV=m>r2RNiVZppu1uhEG5-F`y{esRmz`8vs3fW?>Y0q0 z=;-+vMK=UOxRMlurdQb$siwV|3@MmcMcuHZzfF{!o36A8$L4hR){3i${TM(3>4a8n zVMn|kwSsI+rohxD2C<#9Mf8JJjr;*(fKnpK$aie?)8sPGkz^@ect}L3E)6Z#E(|8^YB@oy4BMrY%c7fh@Fu+P%CE70^p>oZlQReX9`?uqS z97qL?j1L@td4F(wszPEgSI^K3wpei(VY5XpnM&?g>2~8Duu1?Rwd-!cPJ%uTjRgA% z^mlyMZ*r+ZB3%m=Vfq?aR`S$%BIyUulfeBUjCON?{iNu};*fqHG(|ooy8W`qvJ@=Z zDG6$3j5|{aln<|z2$6)iHjne3DLyRvxn9l>6ZzC40lnVz%jDu{h~J6T~}_!-$zTtC~5S!m_a zu|5B=NMJw~-Ip*d^ z*(4fIG$j2@DeU}AkI$Vw;GOlfaaAw{>=O-IIC-H=6N#N?e?b{6+?SN(#6f`%-xd?#S6;AV((ugY00{GL5UPF*2D z6(f0e_L?lWt{{B!dPC8}nC#|L{Y<1XN||)Af02wGGlIry*z1fr%=J61(zms@Hfog? z1qhhMvt5OM_4|G^80iz%E*=R1{*B5=arG0?r_palQtg^Tx6O|~EHs{bor5Hb6Z>I2 zoEfxr^b6kcN#mstU9ysQ!5*%775QcLSkYSr3U{juBuQ`G-0qXzxq)+aSz-7pGn6)} zeJ&+cCmFye|L%;`&ftmc8h6aw?FHq@@AwuShG!DttR9F7+@mNsI>;3XuuWf9REU)} zWm=}V)lG-XnKRnAw9{21ey3N zD7Se5W^@;zx%%J&ZeaJm#&z{bmGYr|$Hsf7ZKIJ|79Ffiz?spn)C|0TlA>jYo8=mS z&aN*%ck3cP{Lm(=^_+NyQc(JRs^0bfQtL6bYH)cR%yI4Gdk&4vSqcA&UNDO<;6A%J z?|+o{s+JXTjAP7-4wYIBpdlQ8dv17}iW&2uk92>v>^N0ASxPJpQ9g}cqgXmni(*Xm zk?FYZB3VYu1|L0NpXQ2^gP#5k%HRG685DX-oG&)P4bFQ&**9^X4{nwtl1;VtS~qHQ$@bOnG3 z^&Y%VWMd&qub1?U@*ug&S6nzcX6ZT&nP=MdUNDa{nCDxM`gDy<$Fv2~ei)UQz}fUK zT#NCcF$}=k`5Tt}If~|?2gbXoNqbN>StEq_@{59DF7p>LgdK`r8d--5D1m@mNvC)Cv4(QWiQ|$ z(2Odk+k#_IM@OH)suV!;i5howXRmQPNOBuOtpc2Z+~>@N>rz4pWqy1QGk+I?){!V` zF_sHD9Zw<65K_D9riL8L4#lyV7@}Qki{3F$Cp|orVDY8flGTk~e<;#5nmkDLAT1n} zgH<3dzq+hL-&j?Z#vh5^d?JbP<}Pw91haJ_VTAh1Ii}BVFk3#So$9{q2APG!LqVvL ztfYs7RRXW}12gkz-II*mj%-}ZlBI{WQH3G0BPkOtS%8W%^cE@=~ zOEtT4+l>J!s494^n2&w>8A+mAo2emFw|S3e^~fKuyah()iJh-oeGY50k`?OiiF3pQ zO@8wB{y=sF9Rhn((-3Dv<`}omONMo*L!%flfoFXG{LVm>r)U z>Ca?C#6i+JHr5V7cgb|HGx(n+tIb*2ix!28s4nX_04$|A;=6+e)bHYXUtjq_eFprz zf!(2y1RDQ4_eDcc5y6bKAp;DUplDIu%5`#}r^jMt)uHP={%u0@xG7mGP4Ye&u991; zw#>s!;ItU@=15(i0ckLr6@Bz;-SS~ywvGP^Wnw`#iN>-` zuAEeqj*~wPGkCc78j5pD2!#1Brfh=o)_=LgZO z`3SpLPEc4lNFA)--qBOmW3yW^j1Let@=#+nur+%U<(PH+UK}6a?2w|*N1=2fWdu)r z{|qNY;m)+l%pd0DhMK*fcKYDm8Ps1a5b9*IsS)nI3smtGpQZd2djf#))+t|QXT6`E z5(&Ya#qDOo-_SDn8C)hXvh){34-yf;RtouL$c_B#{;W@LuAhQwq3=G}N#JCQ>%M0; zztO!%Bxtekb)l*VU49FIzG%|2SVCcG?!+uH4#y_OKHmO|Sk@E3@A+kd?d<%Mfpx$e zfLsn(W8dNa13w8S0D$ni#^2ceA7Wg?S74=KW0*VQKOmppnLy*Nn|L?0jgS?Q?a|))_IEnt zS329r@Hgl%0uUpk|0KqZd4-k6Y|x*x{S)x||K2Px#dnAgFZnQ0M4J5Ci8EI6L%ndc zNxQy(nuLMlRoTI(iWxUj?KY43^I7|Hh4`V}L9-@aY{Ng$ug*ZT9A5)JZnA6|+j9PadBAZlvpn`llzo8b3DN zZ;G#PVg)8@FT&r(RCXRZW~=y?`OjO0p#bUGwv_Hip8)#S>8DRoRAM=|mlxPq?&c9C z|7=$MSB0^nU|Wv0G^M@jk>26!w@uGV=_*qUERx?FJiHHaWQW>nL@*{HyK9> zY4SChNh|`F0$dx@Dd7)~BUXBKUTUZAeou`1FUjU4BIol(UVd+9oKCE2p9YE;%lbmk z-m)<$MpJKlag2DrLOcIpMqYl^fIt{^{TARwEE1pJs4le17Z?7VBbwb~!jN+PxQTBy z&A}%1op2Z8Pm70p69R4MDoVP}?vA&PX>hOmO0(8>m*ki2o`20i zR0NGed4mD~AN?oy^!i&sMEOJraX*R-+~)+=JI+t4%+`98aP7dYsWy-NC5rJBapwDux79>;xs$u)ia{&ewD4m>4NnLnXJ=H1<<9 z&DQXrRM)34uR+7d47Op>ps%9V5`?k-5%R`gZT3f+?!7BxTm7@ zizoy%ZvkdW#^6qq061@-2H^b$$WwTN}$ z{?$FaH@#(<9PfFZUp*&5xjHw^=$^? z?k|~PP3oyk7mzlbloi$50o_XZde`FaKijo`O=QdM^}_Z0*Q-{je$e4v`vw2=R}c~( zrSuPyy8x_q*Q>8!Amb$ZDAP{8PedcK?Z(?BO0{2=YI+i{8$hSYfe0@kUW%|!xtPNS zYQ={Y!r9&(CEpGwvdIt$ABjGHP%g%Jx<9m4RlZG@fkhzTR^kOv!*i}z2UHmXF{faL z=qk$yK#M>k15vB1XBA|k^KZCr#%{WjgsJqQ9F-ZyT5Y2z$R0&5x}sC$SMzboQCE{9 z6P3&PK+x<^f?SbO)2DOXRMv3W%|2)y2%-TX6xetL+*ImY%RbJ+0^n2hU)g z5_n_RjO7vdVnQC=@2T3z%+ICod^jZFplEsbA<$vuCaODV(P18#wz0^NUbDurw%-}d z;0&*+GwI@r*W)D>+dJMkS?zZEic+~Y+e@KfQ3c-($mz1>B*{mh>6z26i$qHrNo z1rfptG#_(qw{t!taI}}Kv`jv z-DFkzs2X+sF0{W2HPAi&KKa3s)_^Dogyyg?)C^y0=uRA zN09(K`mu}k4ZEQXI%*F!M(R3Cg7lnEs^j?A4~cZ+dxa8_?MXCv3DiokOHOt6pw$;E z5bt{4k4463!nP0K;H1H@p{$r65J=E2Z=tVcLTYi+JU=Koz$tII?7Z{v(v0Ph^Ns)PP;dJaazD%1j9Pi9fqnre z80z_W$w_{sHJk5BiRR}KcZ+yNCXlcuGPK_+WCA#wh~k&|fycWGqk|b!@P>tiMcj}wIFL5{^K}H*JRizNzF)PM>UQX$p`+)^XA2)Z*@f_)c0K{0 z4X!Vco?uspH>F1_spsI|InUU%=^JQib=$ROQ|B+K;+sC_e&nBIeB-gwe8u123GX88 zd{osx6nOqkc7`7TI{gHkSoHjYv*#t#Nr@?vK+@7sKNtbmv2d?T+oIJqEr z7aFHxw~*s8mtL7p8x~g7b4{t?mCmm2M;z&wFCoe$^Y5N+MlO+S5T*efUKyn(ehqoQ z{&)v2Ta*S25@b0rU5L*u2TKasO2OWUH02xxksB+0*U$a2&~+?z!tcUA*1S2s%kVmwvYm%_pBuQ_1$8 zxzmk)?db@pXD+)P`_-=NmW9VOt_!~T>N^21qj>K9k(3Lc{9d0LtAe0oJge5pU)4r- z^85E|l*>abtBIccyw=8+8xydRgXbbRq3E=Ha|l(IiJte)MfQp!d7s8z)LsZ{fTux?0MUYJ;} z*akZH*V-F)phg=Lxj|^CO-Pyn^qgN-JU~o`RXhEq-^yj!PCq{%a1hqT#;qK_3Fy&3 zl!gx?@|4e^aWZS8{gJUPQx~b>wCXY9+d1ked%(pz-mof3BRQtBG12bfW>KqS-32w* zcC-48&1!YISfj2uibS(Qr|m~us%!?YKAXj_nce4nsigXYnIeM(2Hn-67_uO{a*aB( zgQuEt7ON^!{QK+U!}!7HNsEarACsmLC)$RUwc#yc`ceog2k&l@NLQ|A*_6Xe_L2J& z>~AmGJ#$gtIMhKN4>ebrnW~zpfb)?F;D2QcvI!7)_q+xGS`~t@9>3QqA|CRboLe48 z##?jRkSgIu>WdSF|~~umA8Qj{}@Fir{M7BiukHRv%xZQ5=S;lWVO|$j55=G z>i%X;gkO5%Z6=SCCFQZp#m;@&cxm%&hnLrG2IFJL-Ojhnha9L5l`;+4G#*gv^locP zg*aRgI%VVoBh1UeYzdFcLhIc)>+Z3M;ZFazrLung<;JRv?Q_YXevgiuEg`~Eh(W9X zku=z#%(<8S;6N;c)v8ss+J)j3o}Wg8j@sQO^Hg@FexD*g9>YLFf31owTnV!!tjA)w z#zeeMvL4S+RPo6v+$@@NeRp!rb-|+0-6cJ}`jNq#&f4+BzN3R+{$&~iX%~y@3jyE3 zvo8S`^X!88ZFGxZXuS35IN7zp6RR>O?<{vEUi{KkiVJOScNd)%pIaa$zP;RnY1PAF z#fbyfjbExlCcnfz10M%Z@A%N81@O{4QX|6-RdAc!a>WiS*K>1P1`-v>s!P|j&nOkrJ1*UuBhMfXrB}!{V25I%mq1!aZoxV9u9jaT(EtA#pkv8Ccomg$Jy`hDU1tWmT6xmP4_R^&JlDb_-HCs#R@v-RMTGki%Kb~yc z(Xd1sQEYghQ96RK`NOoFdtLAM$-f=UpwGopQ1WR{whkE+A#XqE>7pNxhc{E}t58(% zzFb6oAHTLo7G(ABDa?HCZz6KVXgv?ujC(I*{~HO1d4Y{S00OZ?&>?tNO<*kWUm9mm z=ON=WRjMHdA}QH?8oBEZc{m;t0PjPLm#y3tW{UrSub|VcuFd%f@}exeZy=JoL1vMJ z(v(ACpn-$gDzs=(n&(m!)x)cy)|Xs6+l7a zab`VdV_lNEffRWy2XBC%$RJ<}3;}Q@P9X9UQBz$KA12i2`Nrd*a}Vnle%$^K_#g0d zK94&iYPZ$$lg`bhxGT`*VdeMwyFQ!+Q~hG43g?|Oahd)DHnMn+ii@yJdOr<^ z1%6}C@6T5r571*g8ZF1RefRcR>Q((+?({qCDs)~qD>K}ICa3*G`{V7R8z?JGNSR*k z12_%d3Av*tdmViG-OiLJ6WI(+eQih8!)csq5Iq8jZbX~BM^*T0%1iu&dn{AaRnX1Y z<1R0b(TIzcuUX7rO()+)H&_VSt<}i-utgIX)yB)pBbD z=TZ!dq{-uH+MCP$X|2sKS4NsBdK;V#_SOhB%!_AzQAE2qno!SVd<^>S=+q*{_; z=C3~_*T8GPAIq&bE2XvG3_~c5`A*mCI3v;Po?~934H&0Z?=Cx#9(KU3eW0Pp80xcp zvX2ty1YYvWue=GdD!LkIRPqXxAF!NIe`oT$Umrj8IIX=rrYsXN5??Jw;_cG43lHW} zee~1j!VP;FO?MN1d3v;4Z=PVaEoG;aB8@hVF zW_i0~*Xa$Wk}sK%))9iPJ8b>EYdOhgEKTUswINZ&zZ+^cF@20PsM(`mU7&fS6f&vc zjL2g*7#iV6{k+S-QK&KQ*(jlaaZ}T~2%NZIBHmQ0ad9iUZ@$jfA?n_yP`)o@UKsl!{hOAZVk#1 zD>CSU*Aqu>RxapomYuZt z@3-Rly*y(e_ow-Sl!{_ykO*tH4lCk}y5r+W3rnUi=j{eJqudIORt-;<70>l@H^;I| zDu&)GmrGh-SA9Onfy80`P&m$XWPj`^+!wBRqns_Vd31hqq&QV1gVc0fZ?5n|-nUdI zowny=M!Za_!aEGQMB)zmQ925#`+^E|`IkgGsl>x?6d`#SiiBp#+PJHk+M(ET(GG{P zS8bjzWE5q?!xRIdx)Vs*P2qQa!PC-llYvq|Bjgz~I{N81{^U(9nXJ5tCC9@yw1#bZ}v-j9f@ z_HdKbspz0jrBzSUM01a;vf8*vQNBecV^HNxQug5eH0mk|uLM9Xc2H3&mGu?BL>aTCaO!(5i`NDjsqUoNsqD^@VM9T^-I# zrE@!MS9Cm24eGdTCrmZkkX=1fm8=TzY}brq4d#f2T{iIoi%P97cC!z=j^nh;ZXl0p z>kVO#cD1T6Q#B^YSIPWN>QrRA9t4c5O)hrB$#aPLS|K@Ln_~Cm2xX~<6oX>~RDp?_ z_gv>8?&m_57UnJK4N=GPrZeB7$q(a+;V?8lbe#sGA!YjqA`>LJz{_eL(qrp<=1MJn zq$>-sd>aI1XFC`sA~z&Abn67)6i@QFnbeeTHrp9^7mP}oulj->>1-_p|MB?Kg{?%L zna?zHg?2Nmy4epCn}Z)NGfr+N4^3M>Fuv$o?W)G+pn2W6{1bxy?Mx4!%;T{#m#uDi z#j;C0Gjf-6S%y!#o{5?Vb64994kZ-GG^kCNCO0Nu3sP>hVlbsH28@#Oclvoj9qG!q zYt9CU>eYrJUe~_AUe1RZFlw4*mrH5!qX!Z3*nd2(QZLn8*qtAB#4zacrwDjuxV|j! zcnz5l34FggEOWD z@H&#_HCUOo-u}A0m7I_(7>XBs97@)Ntl7ZEY3A|bq32~A=cS-f&1SuBL-TT1R8Gpx z$9CE%yiMkcQj8<8V9_Wpli|MHou!Jv>3IHQS*6lL4D+T6vY-UbePu&9Ks}FK)l7Zk z+V&y6zqF$LZF`!U`Eelbkc9*j^F{1MYmZ85y@XJU{#_E$I5+?|F zo`^!vr+Z-TqnpW`GJkJHNkO0p%G@pWg@V7&ONfrn>c`OgY4-BXcQGhzW@|966qn6R zO)M1SOajjZ(Xq~AgxE+R>U?|Htyu>ujX*wu&eJW^w|IUFDy38=)bZg~ogwmGw6pNXg67TNHj!gv(G%CW3ZR}lw0gge zV*kF@kH}t^4aU>DNstIh!~SML^)x^PmX~0c;W!2oAMRX2>~7|+%VN7okkRRg*u8rb zn%H*4Sd?quHr#*y_OCy$1pHxv{L3w{0E7aL0;#i6R*^UuKkhkGxU{0KNZ8g?tg1vv z`CnCEzXSn}??>v$;fskhm`D*3G#ah#MHG*}STmT`PM1HyPuI*llz z!_LarU)TbJ2Xrl$h|PS~Veuc1PKqz5@9C!O4!{XOi8Ksx*n}-C7tBB7CH`AwZ^+-F zK-IMP#ySJ`Z+806*Jkk?@?z*fNoGm9__yF06n|IFXBu#~vDo6un{|Dc+k8`7YA*Fq zY-(Z_Hv#%ZG_o4Uqt z_dBHK-_#;sE#hJh4@^*=oCOc|{9O(5by@H3u5>9a0uSSR;XD1~%w}l@KF@|_r6O~! zgs1=@M*L3?cc8zgjNgW@l6-EW6!meF7OBPuL?KfW+iQGWKSE8`*=aIRE!;6`D>{) z3gRavi;?|Z4cb>V#Mt5U9-h9-OgZ&^;-;KWXi@uE*DL_P6{`MUeSt5*uf4tMcE)$a zuA&IuaPXdv`}#r#6wR%g0Dms|@$X`Z!E}Lp+j)N*Tg|Tp=o6b80P? zhQnFA&i=5P-tdRuPk>;XTcwr`Cf&rRcIBi}-Q4@BEVBSkT8c2yzq^DCaN}eiL4e!w zvX>ws0l&yh@>ecOE6bGmiu|py6tcHYJ9Pi+?tt&70KU&Fpq&`;pAhg@#~>92;g<0OqX05seGHlZa8H!+ zSI@ZHuQva)m;{i43O;D~ca_D7Gk}=VdogXa_-C;&AcGV#cJP0L)a!u63k;9JyM@Em ze-2;%uOS1LJnrwF|F^;V50~+QeKi$|_I4? z;b8Tj^?MH#50F<%C;nl;-yz;)_`v!#irn@W^*@@)8+AZ_R_o>*Q1&i z`;TJLXu!CT`pi^+T2b}Yxc7$Y^nVr;zZ$pOP~lH2R=gVbYOq@C&tjohEQWoR zK`j0L&y3~lHDl4qq#gdV81*${5lTLbotbgskG9}(+W%c^H7OdJq06Zg+GqQB)A&me z8*WrO^y^k%RIJ=PCM7m;e$74a%=R)mzDK-oCJlfeG%}KUFucozfH7JjN_CH1I>9i#eW=iQBmhIaxXl&axSu+g?GI7WcIUb9m+O7_)o3g&5W?n3xQJ_e5ce&TI zmFUtyxZ0o6h4&LeT9?p2U8)BMqC&X2^loj4qpDqwA~SD9G&tBsEjtymdhBJ0Q;gdG z*8_3{iS_4Kfu*4po_vM;bq%d?fNUg1P;_}ZE0TBiD8{=Dw!lVWLl4bId+PG= zmx^V%O`BU+crFGKbod7g&-0%R%*Im)9u4miL5Y-v7Vq+TF4+I;k1@p26af&f=-l;Y zJMrVyw2N&fndWPEN#;vcQYth_g)e1l$7u}8=fXG>ZEf-N%2Qm%mhzm*tW#@|MjO^T zK6cv<+d9BIr+m6eP|`=ZK5ayEX{AvAyCaE)2_|A7HBj9YW(*-x%d52>sp3>D6JDP@ zXntzR+Ph=cU$Aqf^?z}|0NzIq4(hMA796xJ|15LGTMMry{x-XL}uJ7P96rjTfKZvg0(^KGxB zJ)zYQx0}I`P0BpysvLz!-yB=*gdtn8pTnc(`7IGPIBQRh(vByR@of(;iS8~J#Y_YN z`Mz0 zZUzV`wrqFD^7}KCKB%fNWwsyGnayia&8xOaRvQiPIJ87Zf#lIqvP>*` z3h1hZ5~!TY(-d-Up=|H+lLpG_tX{LkhrAF%&IdR7Vo@7Y`G&-Cmx}cK(5Fzg!>j!R z<&uGf1cieSefV^`ZL&l`C^V|qXk4ze68%5PVczk2J@&%!SrhVkTq$KR`uJ$xN_tST zTPzm5cs^SsL@G$k>c4P&XoXtFDy*`^p6kpRwWxX&!Gctg2mCi0*3#ducqgHgWDO zv&LlHtRiKf)9lWrHXlGUOL))A)M4$EuLn+g{*Dy$gQx5P(BIyF(t&>ux8WRmm z$`KPD4IJ|EcGizbL|nxY_w)S-XRMsUs7Si*4Qe`G-|CNEcD*&RE~~l&#^TsV@eYL^ zGGcsrnQn5$n75B_paQcrKiCK{?N3w}305wEL90IKKwQx$kAG+W#Z++2X_@(s7zvB9 zcg@)-IE#?@Hp-}2p{bRZ#W~&CTf1Ez%Zz@QW5f`Gv4+NTg1$~0Evr8!PayKqQ zETbtbLDH^wP)*`+v@ew}Ac(0PJ6$2N&bxrOZx7^&Hx9kp+K56x(5t35tQIA4qEQE$ z6_L?UnVv<^$sGo39|_xU9Qpd-VT2<<o5S7T=t9J2{oC+vDZEK4gv4X4K;%{E=D zFBY>JILxj&g1n7Tr&j0de9fhnyDs5>r3A#TkY98--(Vs@y+eStWI0UkGs+7PQJAv9 z;rx>JSk3D&0;M4{Ts&tbjo2&&mnzU;?u6hd4fQZpvocj%e=t(w^>TO4gL8AgWD5Z7 z9-=!Zs8kDTW#I!Oa3*r@g)_%8%Gww&^-hKKQosV~jq`*LR|gdfFR5Uo0chf2T0mw2 z55eJ$z!PatpA2d|5m?zV1w*Ug#IH6xryTRe`e`bbG1aCVUxbtCpZ$8B9-wb?va)I7 zR5S?sm+u159y5=vXy(l(16cKXulKij+>+8Afq+N)?Xq|Od|&mYj$t};cWb<&Z#sU0 zZg203xktNUg)}|GZ0B+{dDnN5km=ds?s4g-tkNa3cDBZB*B$azson%>)=$Tg^>+Sg z+*Dfb221(@sjNzsD_naOMG&c$oe>2NdsYzo3hNtCM{Wj|6N>EK{)eIrCXI(ln)9Rs zBj%qU-cx%seS?12Eaj!0eeOBJgfu>w$q?}a??J&UbKjn%I}?vxmXRzK=Lm$|uF8&_ z78D)$)fOFzGwMphc-;>ebH)7rhVG3n^P=aMT>@2&^ZIz8shS} zE-b5R1SA7Zw&ghzIsR0bRT5P!2)|~v*6sYWcG6iSlOGlSdON%0kS4fKu=l;PP}}r5 zHPh|x+;MZ^Z2KIB?=_R>zfwriB*AXW?c!RFkJ<_5N{qZ9i#e5s_rHTo3d}6nR^Chd zQBQS))%33SBZHNT$Thf2w^%G#3UDHAdQ63<{Gxz)_$q`~7*76zCD$0JH>C0K38Tyb zdCe*41gf&-TECR;ZkuC;)Vx7lwdGzCXSqQNmkhR?{HxJQs{@Q>iC2845+C7gMHwk} z3D`EQwLlj)ww)3U$FlZ>YuMxQ!vm4Wss#Z|d||rTO1&6_mN54%9R`fwNl<>r5KSoZ zxzC%Ml#}C(nWgKF-B01FXU~OBJk)-8WqsL@4JJ!Y10S{(;(w!E_%c6RS~ETSq9TFZ zE9H$xzV8~seEd~bXBp3&&oEVbmZmq-b6S1)hBQ~T=nTS%YaXiQZ2pAr{C2v{!5+2+ z@Kwp}^X)W3ic&FV{R5u!Z6|>P&OL%;?rSkhm&WX_N>T46>;ttdy}6a=6&~?2JO%9* zX^06~2;n@3i;w&#qSh`VR*A>&p?V1XrdJAhksQJyMDZ4Wfwg_UI-H3=PfDDWmVfbD zyDjX*d`ou*t7d07e4XyPv^F8iXFl!Wjl~iT)R`KufxikW*n-PEf)tZRdxsR}pY3%TpKPX+*EO6$$h&8ESz zt675ttA@Slh5t-@)px}Xc^%&Qkm1JSYbHX#mayCCl-@m3Gu#tjVurL^P zVukJ1PZby(ZyQUM%H_vM){V8eDOoDPL|VqPVz{9m#oM`mbM?>m2&g~8BH{DTp&~Q- zu75XxdED#yTI+_f&LU8`JDm}>^5ir)e*QZ-B$5YS#knu42B)BnLv=OvA%@?d5DeiR zdxQuJeR%ORLtAWtgVWFtAyeZLVH!4#64dp#;1HuUg7LsTbL!q!y>@N(AU^`4HY5RR zZ0d0A(;JtDO~`wDw|Yk7%!4`IC?B5|xL#z9#?j~uYwyFpX%A?wvKBd3Pr(+cWYgp& zM#~*)CtS!%LIHbktpY4@1d5U8Q^l0?xrci+uiQCVm{z^VFKKVPQ_%xUY^cR9*$*ai z%UWpWg07x>lQQSOW$Y1jc%gViWE>ncZnZxB8jchcQks6#>*+dO*i8U6j@wmINQtqb z=h+Z#+|yziS3iU~L?f;0@U$}Ruo4M@>IFKcDwn)wdNFljTaF7Ju#_L6j&Fk3J#%t(xY{1TD*rpi=dXCbK7uk3Z7nE8k7WS=UT>XN0~&Qo z^9}t%*W`{zreYrzG#lyd_%_H`>-&6Q3*Xl*$U9K1?&bCfqXlv!A769fnR_-{G? zg2|GjVEG`x1y!E>pdUim@J`ft=!ZJNco+Q*hGBDxpJ?VciE2Hwty<>n5hrLL8yus84G84h2;n|>zELCiuo4aOGf z4iYLFn_LdV)o?g|x*=ok9d={>t~Ulex9~92a=h=V{O#Ad&z0s)9Ae*Xo^32uaDn%? z%Qa@|jANOvUkCUk!M@|sM|uwoM-#X&^24%`G+3_4jH#bp!D^mZK@(E&BDWjk8QkpJ zpN$IcCUdOfJDfrneBAmg!T3ZRhXv&zd#S)R#@13kbWQ65&M2X-j(QPrZ z>!aV=v&ZNX&&Qe$YeqLmy>OUqoxJc{fMjmi^Vzay*V&MArN<}ZxV*P*=qaz`x`w_O z`a%|mZy?3=L$o!cW+aLIP8%1==w+b}&bN8HEEWn{jg`rJLUV6DpGjm@8c5johm%I- zrX+3bc@4_5}btMo4=uf}M>pw9jx|HlvuBex5r%Q@dP$EfDz( zpaC(-`vGQI&=)Ql2a2u}HiZOV+HZqv+toVGR;bd?bVAh3`ckfgHtAVJce25I7z=tM z5O1B-9%MiTpO_8vrJY&nxNBlRpKCXFe5UhIof{W=>x&*ec;p7YZz@eF|Hc_;P}m|WO(e9k_Oxjz9C4M|Nk=Vf098#edzkOl36_ZhyF zY|BX7rMXiZ|HsOCQbJ>TTy{sv?^W-U!Ac5nTeUPpU`sdkk?9?z9+rL%&s-)}>?2h@4Q$BaGzVW-Ffnli>NoGBVqOv;^;~#{k!S6)IN3AUH9oY5T zwQ44TLPHW?!cUHRvWDK>vTZ_ep?&-*@qKiBie?|$y}{eG_N*XVGX zZX493<@-KZcBtEO#+9VSl%lk3ramY7Ocip9Ay%HCy1Nh6x*&PKHHbG$U`Kg)FEdzM z_m6?06b&B-F$D#%quL%Q%{w|$1d^xms&UFyFSYwdf>C#2Zcd67hPF9%hOJFMfparl z4`35^FcFDdxIt@DDT}VjMskN@8jD)h>OtCvsE8Jy@&zh~ntW~GVtR$Ezn_-a*NW{7 zdE0?TS#?;@)LPH6_WLEP*W05E(k!P2haigO$!I&dhUjW0FbpTG%+4SL6QkC~Brh%g zN;ixN$)^E^5A-42RX5l)NX-H;NP}y%b(f>({KW@O0RKL%HYI5Zt&C%z&Hj6%S@v-_m(&}6h1V0@3!Vh3B$B_b9rij^v|0B8NqT%-LyDym*8r^kDi;x=8Jr&}l5?{Az*vn9d~Pf`)c>Li6>+ zlhPu;$nGuXO{JmxgiCg&4r4VP=+S7Az6f(`ZsJ*J4RsE4=F#n3yBvsvG(1&)7}j1QdjH+?E1)#LiUMJN+Q z_fs}$KZRBsMcWG0>$=#%Z28&w>o@>lhs?fsC8Wmg5W8j@VE^wPagRMLV&ahfcF-fw zec6CH()~z z?T=?DI$coLZ6u!mEDqIhKLx#!U5!~B{-XKJGM1d)$TjyYzMxe6n1(^xh6Z5tR5~Aq z3wU?k1MQBaUbushozYQcB$;TeOzhRFxV>GPRKEE=B+{R^mj%~b^Mb1!c8#+KeXmsN z<>U?}y#w!1_0{}lj7XLZoi+o`Z-6WTqM!&Z^CB1zMK*P*x<&D3PlVGQ?4yBJH@O>& zd~F9AhSxM&ao$-N(-m-WVwB=|aj=4GtPyk?)u{T{w9XT!V^0(iiK}Ic>OA?|#y#c9eh8Qp6Qsy{>8rGvdz--P;`wFoBtzg9od@bdsd=KP~ zr-R5$V~-r&ZGzeziXU-x@}$iV^Sqyy5Qg>f4f?_B)_3jZ))@Wi!$+sR69h70jCl_W zUjF_|`s56C0%QgHGdY!?&Y6Vc#k4ZsbMnjBe@0t33=}ezEmJ1%$RRK0TP#?LvdsRw z(k8-9S(uLStX4qd9}Um3G6)BwgJ@Ko$;oo>*t?4-+ytIjQ1WYedG7wIblA0~Hj^^b zmt`#{#_vjR9V-ba*OhVelKhv~s5?5jk_PK^^J;si5z?g#Tg3Fp*3Ph&UDf$1i{ioO zdd*05;jCciYQhc+>fRXPt_D8m@VbQ2lxS3?qh2AcotKAD!h^;%k3cFD&#Yvp@?3OhYE%W$WcezNHgNoo3 zOFGR!5JV-0@B!&?EakqM(D%4~-5w zdb~qH*X-665^G%)dcF{Mz~t|6vUBZUv}VLv2nMN!xO_zG7pS{%n3(K4TP(ciq8VCZ|)qNA|BG@XYAs$A<->`~^mq=RnB z@X5mF%U3VXnw~0QXFIN0W_MXWUrKs}w*i)#;dZ1gLG6I5K4S}w;zOrb50|tMhK5Z9 zL2e}J;(o2olfD4)wy$L3K;f)ck#BZ}6X4R(^mX%XVQ3vQ(}&j+Jdf%a$-xV7i@H^Nt}GLt*dQQ zFYouaJlQn$GIVr*dVT!SQ~VAO-PHkS=WDVyshjR^@+&Jn7w%$0j;oi|HKVjyB_IVz z7O50j>9b~#to!xto%-!bim`9}SOZAIjP!E5)t7yd+4dN4ZvNv{le@R{z2Ba|gxFki zDuA|CFC=H$7Q>;4{gEN_1kn7fSZ|p}>R+iBWa6x1oLB}nA=hBjMb)4W3}*+8TQSUGPwLN9iYVaR3@B$ts$w4;p<|8;$K#JJH-6bG z)*aZYQj421Vp?=BMVKsvT;BfRXE#Q#jhkR(9as=QCf?~2zd`FTk?{Ntf=cgtn&lGP zWOQJ2VDuUM!a@e4fA#&Yyqb*(+ugDA!J@uDq*a2)VXjfIV9t|2MySE-zbz*M7xu;P zpV@4EJ1OdM-{5Z9R_L{Do)ap3ptO4vr^Q&vL4Ub6am-$-hmt73j$hw@BL#=yVl|^?_p+ue7Ee z)(mfPu|H)wOO1TNP46W_VSo^t`mq~62I1*y_6;zsfd6?*__sr}wpOl(fy14rx$gMA zf}3A7FP>DukbD26nvsPDG@~W4x~x5KtPKn107fMY^mU~AQfn1MfK7o$q4OUTcHC}i zOx-3rvp?Z;460o64Li&Tg#`t-?c^nVdIUT;{dfN%UkEx!zL+^E^zqdc*HcO~kRg^~ zd8p(Ly!JDEXiNA{cHIMgitxb_*k-qm^civz1?}yS)oPP}_3e~?_)_Pf7-v$uwOip6 z2`n{~RphH{D^}mdv1r|?%CauAy;7F7G>Gx;P}ZG($9@(h?*%jH1SDsVd6(qyk&7s^ zyH2DH@>PrP9}`*<6`HAp4Pxyq>V-0mr%`1AH{@H7Y)6C#%iH?u9&O8p6}@VK5w_ak z>xb+43rjTlN5|6ZnsO50OP+0@;(%lR*5cc4HN-UbkoKYI&H3Vk;r=FQ7^4yqdU*7< zee+8)SrZtr6S*X|BuP(P_4kmSzG<~Sw$Mh6z+=3-3^%tnts3^eWDJRxTHLoP!#GO} zC~x8MOy_V|!V07=W=d@tXD65`h&4J3nZ^cwvnhGC$A4tl$e<@ZvNL8zyQ#>YyF!u~ zQ@%3dPaD8VCll^(ih~9KuAozBLED=eoj6sC$pchobMBY$z0cfnVm)KWCn$s3mGSQS zgt4z<$3uauuG@bqUvp^l*^Msdyh*6o{c)O6yjRHYRwS%3F&j1O!&bb}b1@SDIHhT9 zpm)o%w0JGEdgu(n_rDeeXO0eiUDR8H&vVjN9*He!Y#S2nt8QzeUz3D{1AxkD04G%U zB(>7}MAvVv{$PhghTgo6PQIIFl~P)c4mK%#%a$FybrV9Q3!BWB!5(f&(#ZZk|IQQ4 zw#LuvGpD2OT628%$imRX$ZiFD%jbMD!c}x)<|93C!;u`O8>f>c`d&*7Z^IzNYl;L- z2Itp}7IKW`aE`ARRLd_mrcyyyond`HGboiVKO21|H$`bRKHs_Zfk|Uhj1=Fq*q;wc zne*Wrf0mYB8mM6OEyBIK5F@H(#a;8^8uLDVh(4_FE-r&a$o8*TQ`iVkr(%*Utn zl^S%WW6vpeoEZNH5|ECz|A+KVgYiC~Xu&e^FbEV|ttM(E3v)uj>~$v7Rg}JOmnvGa zy1e*bs012Ad-?Mjjwd5D@|3$3aF5mc%CFQ@8ohh>F#oye8zwYnBIKRCNdO;rD||*u zbN7erIVaR{RfR$U-Ew=E;~6>4e?9R;_*Ld}E7zTbxh|5#vxOgPGvAXr^)19sh8h(+ z__*!20ODNYA35_M9!W``7D(bXjR$iNiv==2dl*AwI3XH;rO6?8i@FBT+V9@HEiFrJ z_xrr^AKCEfZ`>9U8?rAM zTh=mV8_O_eEMv^fIo~s?_viine*gac^Lu>VP3O#+`@YY)@B6y1>v=t|>qJ_b8wv7@ z^K)@=37$1RZOz5Se~pW4tK`-#@D;<}?Go^XcOC`?mS+tNWGrv_xOsTFa&Z|)Ca3UO zo}bx!7YgZ>P}(u`V3c=;H-6VCfiv+!>Zf+eB<(oAL1ce7h}Mjmt8!&Usi+V@(P zimu+igg6PVqg`7LaNXsPIJ{F;cK@lJTh6aiXuqWIHqCpdQLjKC1njvWjsCKkD@tE8 zRsNUTzEH_-`jrGbey-PhsS+v)QB9wBI|Zor$b6ysnrBSV$J2G{uCq>?`X3N*a^PCL zCS;V(&o#tN?e+UqU@U!W$CuluGW8$dRQ}>Ga z$hB?eiJKcuRc*hVOLvxTRypmf?q@zNoVS&GFiOYz_OkGj9B6g^NN1c)-?^P7&(3%3 zv=~TsZBSr&gqH0GFqizl3zN1wlT3>a$SPjbdh~KJ+BG2xWPH&l&QxrQ8Y(#eq}tYA zOizAwhVPIY$&^kIIhN;lZfs9Abqxdds;Wi>CG^=^nIwt5cuaENqR4uZuFzE-K^)fN(y@q%jm=13-Av^DX}pW8;gtujk$a+z z&U158*!Ey&>hg+m>z`K+a`3;7av zwyx-hcU_(qh`HbTLF+AFT3yN2EgcUGeqImSl+Lg6Xz3SsknELB1GRj=+}3nLrD_D) zf7vc><O3L^n}YI7Ycid_2y{WlXi;ncTBerYGEx zueSMZ^AqWfVBBqV_OSDNdsuyI+Fi3|<;EMe3$^Ob1gFZP>cO3oLU|8Mnu5o^_)4Y= z+ddwN(|)WSUHNdXKI}{4;+7!3P%gclDh-8oDdUKrgr7dYnA9BJJ@*gQW$ZBjxs$e4 z?m_hf^)G^_kWNYY=l+quvnwZZrr}!yzcUYY7j+v|D)RKP{ht%2p77>g$mQ>G>e*wB zm{GHj^*ZC0KuUC-h@D_h_)SDi1Pb#v#*7)9%{4wGaVQ{3Ajv(+;+&1#Wx29l79KCH zldVg7lwJyM^}k zbuV{Mc<%L3|9A8oEBnjAls4sePZy|mKXXcVzT)=%hK`r>)m?7I z9l4_u35V*EoSwT?d@ZeC&Pn}jpFX5jvbSWDpP64-a7}PEW4A!m!}3PwXz^(6r*o`m5u4D&4z9-84-y?M|BX<>%h{ z^Wr0WM+Qnv-Q+rlb>6u22Wq=lnpRfd#?F5uhtCfTmJi_rKHU1LWpm=YZ?5JR&G-IZ z0iom9<{JWsXO?SIXC89Py!KWYO z{Y*()Nu>|MZ{A*ex|p|fYG<^pd1qs1?6b?q>1T4oCW>3)6#nhY&gZd0W{2gNWFwpH z8d{u(U6Nf$&Has-n5F2$v5C!uD6}-7ds6#keAn~GCNXB;Q#6kefYJWou%!%=NGHC$ zHuU7e{Wk(1MckBis*Qtpx_1{HFtxtYb1%0r{ieB~`+?MqD;YW+uD<2IXliJXYt_jb zd3+KPHKYK2_D(XZO?bi9pgciHfd=JLIyoP(b2%q&8=98ps)Q5C=?Ck33! zKiILuv7?{R`E_BheKh|WTH``=xw7=$h{yD^GOgTa-`Ggm$7{LnEk<6`J>hub!U^2d z2IUh^-#kCuG2c_&43E5n_Kllvu+<5Zl!_14D z-@kS+yOL3~K5+cD=edC@v_yH?JN?3|7fwqbTSP>7#*!M`3D56aUI zN?%=h#a=*+kTvM98sS8vE}maOO+P9xa&Sk*FCj7LT*8a>d#-uJ8qtmzAy8TrrK?F zh}?3b`}2#X0#e9`$VXJo4&Ya3<7bgd<%d@)Zk_l^dnn}AJajnI*4!Zge`id5{8D>B z%G}qC&I~iW7Bt*9+4C*5e#LOktUS&8M@c2&JFO-FEF;dh2Mz|lCuaDSGaWms`RF8K z3hJk>XwWmp;@6yXqa3WQZk^7dJFjV_tki{)=fop`XHsR01$}MBUk`f+{FE}noDFQH zpqc!RmX1kuiRA%7&F$&p+eNDww?^A*Y_n~13?2gcpcQ*~Y=w#n1Idzc$b}GDjN0n$ zdhK_COrmzR4>D3Tcy-@g{d9A-#U# zU6q5pZ*uzK(h1UnPrY6Jon(T%y>9qv1?leJsG$X)b1tjwm)WS|@2R`r&dgHAz~`2$ zjJons<)i!c_+?~dbZ%X9)3QEo_@_DiO?UrwfB&0WDk_12fy#ku%09Q;Ra8%$IH7X% zn98wZN^lJ&zu+7GPC-gH{A7Q3^0%MUu6{1JJZ}1X_}q};^y}p86X37Ae?R9&|M~m< zoUTD0|8u7set(7q4^V~ki;Al9QI-Gn4L8-{T-CDl2y*qZKkeZS&l!9Vy<yb4!M9zU?<)!et=&OGMBjv^QRq6S$V!P5%*L7FZ}cOUZXTT@*PY8t0jq3NpS z=o5I#a$)EDUi5{qZw_!_U$)I#^_;I>1#uq-E;0LRzNMK7bMM>n|Ni~I8TfxQ@c-cq zq-?wQrv4i48BHgCC8-rHHv5Xa3AwUk=2>1GCT=EZ(Nex}<@~ozD#3G!NN}2aJ=;7B zIlVboIw3B2_@@Qrw!J|pW*CTm|5#u>`+aswQ;+jwt3_c zupP|WJsWlBUQPbtiFbK%I;?)Pp=HF5gS(7+R4pWeA`1rVc7p;J$G9Dx&y21w7qTOi zKlt=*Tjr_0+oY>8vf5OT)DS`Ct0nXU1!*{VEK zdnA!XC|2oWPS={{uu-bx z$_FOLe3Yir#XYaAt}QLTR(x2y`P5Z!f90;e=WVi&xE`_kGmgIqoRtnJvkwe;-Fxy0 zJ++vxYWaoqC9He(__4hKt$gn)sk`zPanzHxJ^0N6i*}TPRpR}#tE3OQ=(%&N8c?|T z1mK=lQ6|D5+G|9i_TnzHimqC*iW1J#A7+YilkVOXT9kZrqosNKCjV^)`R1v+9y}RHFdgzvU3V})13J{r4F=lk zF@6<}roOhAA^zg=g~cP0U9Fuz;5Y#+ekeh8KfNSfB(?<4bYX?_ET#=!9iz)9^`JzE zIxe<)-zY?NHmd9ZRC2XcAR1nbf$G1N($48YY0y__?5sQ9ie<%miI?<#S!1IsHqsPI zwWX$1IKS501MC4}%kFc&+fqdwKduP?bvbxZ?}s&~)0@gv(QvaD@1MQ4Xhb3of>*JI z`)*on{p3L@@XL^v;O*KiEvZMi{ylGOlNDlywt>}r8tODwz`!*WWa`9g6XgE(~iUp0kEU%csN49^q>j)ZL1X=tiWf=4n1h-eqJXHEb`l3_rf8$9Pm8)ZNlaEf`Dp#Wa-k_&nq zTUNSO0vEp`&aJ8PPjlAJr)}HYi2GeCSr1kB-X8OfLD>gxAOY>2wfg@aU?&do+VqRv z95K`lmL4{is%P1JlxvR1(KOXfSLG1Me`p7Qrqf=vCOY*fwt>iZgDLk|`_&KYJ)pMN z<=V64mhjz4YcB$o(ZN3Nqn}ju zVXuj0?8kOjoY2jQDflE8BpesPa&rm?eq)c-1`={ z?z>x*aI|Sh!OBF~TiGl%i;5d)dPGD7rYzx9oWZD8@Y@`nemS5{iPei=0Y&Lij8!zO z{VLaXu5M0(Qhk5sJ-e>PsWSohHF*mRN_8|?es55PP2cB;t`st% z%JaJl8L?FQ$>+O~v(X7=$yGUX=Yx;N+_VcszodcpzBoxX#@+c(4}w)PM|T_e?rw(V zfh2v(wiuQ5ft=z?v82@aA|oB(c}{~)RQU|5bbX5WuCX9%P2W*9gtXL*k$pzhA3GQa z--4|jGqU%C_Or+rpCVo02lqp~P#MAn4}3xoBBwljiJ!0yakp08>&~S&m~LxyBzSrRf@6C&>V28)_)_UBK)Om=dTvckHS**>N7Qn{&PROgwD7-TPopizwVEB}xOa%iLTEjKGU&~p&@Cp7NVQ$g)~tZR%)NlrDC)1S$w4WBS87ron@|I( z8WonTFinii@IU@8_R-tI`7-h_7 z^)V^N{_;~?Kj(q({oo9xevSX|3zeCTK{b;#ejqbYTJYw6Mn6r$Hrmdroz(^cz**Ke zMz5cG|E&%}e+dqTGW6KHb)sPb)ossO0YAJ1SF-v$`};67Qj%dBmqUDFKiv65Y6 z?6X%uv~uLO{DR99&3D>oi1)3Sln-&Anu}57r>Wm9oX0cUz-vJ1%UNFWoSJy#oYF|d zF-Ag!P9K;CE8w80*r1QlFt8vO;M^xdbE$S^wrJDhBZdJrA(j{P)h=IR)&$liIZ9UY zP3%*cx8+{QU?XXoCA?twa6>pTfdGTBR?ZFNW*gv*iCuX*FH31LkZuDzG#Az2MSpQ4 zA66=4Y}x4yQMv%5XtX$NLMph$0B*~NaRc0r^a-xW!J^RpG=KLvW*@5mav8Qt77?t# zR2#1)kO?slD_+#-D6hJAKe#2bWm7Wsi)ntOSBBuxHTTcKMiWXd#_T-3qtY6$jHHMA zfwEx?EoL&3okdXyUr+Gy3b`^F{mo;5!W`rSf)iXZKU5fby-?0gUfb&pwvMx3vGWu4 zD3*l_fbGdy#ya$a67$g&+{#nUtFYqIfH7Yy)PZrqEfK74{{uy*v_f&<1&2){OD-X> z&ESANjul$FKZZ@jqmYwEbqI0xo2tGvQN) zX%je_+$^S1itrY&C{$2Pe;U=!|`z%DEyThd#BmH{Y90hBjUWC zpO$&eT>7BUJ6ynr&Xx57lEu++JCBGfYQ;@=h$gi1qf*mf^MPM@^0+Vb5}3ztjNMNY zY=QQ|+D9r*EgI!6VZ{owQ_%vBknGK6GB0Zb9VAuEZCIr|{P92wP+rYm3M5fFi5Ylp zSdBKJ#7*ez7ZgMopc&dpW*QKY9}>cV6ICk9Vr(#_*OiD~2TQMXW**O`ScCzUc0^*A z3Hc+%H4Mxd4I>At&Fi?jyf_qc(@nDz?46=dQ<)>K@dWXlh{t!MmUiUDPit@ez-azT zekK3Xto|hb&<#|uA!aSKIXCWJf_>t63uSFQNc4S4QsI%QThg=)?QvO8)|#`_p(Iwx z0DciAnVt)@H=|asFp+sgJzG zIu7(If$8IK#wZ*xxe)h~V{dwFXSJILE0#zcMcy+nsS&2lW2V&96BTUq+P^QX1p^3NSzMf(zB>)pnrJ`GhJaAAM?{4*iny+l=d zg@$F%Yad5m!RUB0wv=~l3U13Ie}6?jsT&}cNWw$bV)HL9NEt-VuClz*}@X5rX)fq zuHpIb&5)V%xRXc<0i|8ax}hEACrd-XMxb66w-V>1Rpb>(6NOq)t4O9DK^t$&SWR>9 zBKV!WE3zj;h1+X;Ypj7{LSW9K-p{;Fvwv{~vp@G|OT=i=^p?e%C0y(0>~ecrfb`Ij z!DkaQ&EYXtdVW8%4~EiZiC_##Gq)A-cdh?=3yruEp&f^RBOMqEEG=EzCG;lflr7;tTsm4sOG(Dr? zCB+BZOg9=`@>oWqX3H;GUuUx;;XuTAp%spGgAeI{kw)rX51!h(mQ4u#xkYD9Al~ck z@tq%To+o}iT^ZU}uiiwlFfH))aKF{+ma6fdgY&XDuuGZI5pjDG+nG}F zk=4DUD~>hSJ1+i;TqoWP_MLYuME!PtKL`#!B@>*01hy_2qM@SS{nlU{{KSDu$C-_X z9_VPg+y<|7QhxR@Lb?U-~7Tj!s^@CCQdlE{} z2X4qbYS4(I@~k9z&#{hEQh)nPon@QSx?q2at>uds-xD(P3a z@gWzaS6XqzbsQ5do9PM7T|o$5`UUP>lpBSNV`aF#c%>dhwQsrU_xQ87f*xaKO9|%R z;j(TVpSY_f>EMBvM2`vWy@%LhSTHG7#Fdt-v%^(6=@R~_PnrZHcjd6kAK#x3wzNK= zJGF#?&gQuJg<}>jUS6lDbeh%uCF~%K2Lp1J1|*GkS`^#L(Bet1UjK3=^|#BH?n3^n zzgM*ZBC>3s3m$rQbus1}JhDI{avl6RR6$XR_9ipW6LBA6!+<%agzppeCkn+BY*rV2 zV1@3!d_Q8{%BTxRWj*w{=WfgLPGegXquQ33<*v-b?kSnk2d zs@hzfZHd;162w<2RuqKI^QoM!bcu1%&OD}|y@f3q(Wf&%@oVy)>AXoLGS53t=+s`; z`w+5$gyGfn9KW>JbR63Q;-H!hOD2N0WHEv=P&9}E zu>cSS;UEGe0trKVpq+?ChhfUXtLaD7u^bxv$I1jm0~mM~8dQN&p!SVgV)W;Gp}kOu z<0303LlpnQI?#Rr`8hM>1e89>R+)$%(F0S0DY7`<9Oh~L$r^%_^xVQ#g*XMRU=3Vw z>=swrVjYi_JL>%G*Aa93FHXS%m-L1^3Ma8b=8WZtBZnh|ZylLSwrF#0AD&$UyInab-yE&3C0x-4p$eY}GTdKVKh!hIMaSZeegJgPOJ8vYB^VLe@gGiYx zP>g5bCVTcX>zMzLceWH`o(kVW+e7(-=m9^m0gATfJX>Xyx(@DfHP&fLTF)6pc{jHP z#x0)7JAF50#}5f^#S@2e?_a)H_b$Sntfr_OJUq>VceQ3*FMqo|sF`J>BWlDDl_siH zB@J1|X}gvmD>$z=-X=>_X2dm$w)yHcx5{VTzOt@J!AvY!T$c$!GTsXgS<+GR(SCWjM80@C!%~Ib?~&RhApLl)&hHY(%4guqMzV=`i=(ivbm1q< z65camJfj7JnM7(!J{h%h4(MXu}%Hgkp1tNKmXS0n5Sl~2TZi0?Dz zT2$pBzgpY)Q!b(2sWzEKKUBR?ZIG5aYjvONe7EXWE^B`s?k!q33$D5#lCfGe#bZ?y zR+nZ^Tz!HZv9fGF@DSU#9$-HjIeGVILep2FLRtX{VtrQCmG(C}5vSdDncz2j=cp~M zC%Dz!d^|Lsq?2r>h+vdlfjlN;CC-6P>8B<42jDj_G5@_H}ZY=wiWuL05ME(s|hm` zRXd4U!0n?PV01iu79s37j%;hg6?a>0<+|km5BEsa=!V63AYB^2dr0nHJCp zG=y&ibd8}z_E(Uj2ROcI4VP{Uln%0j3rYA57WA)2%ORFI&OjqEQ{FfdK^2sJ2S9SD z)$xDu!0ZOc^uO&U>UA7yaV37HJ__nmn|?ci1wCVc$i&Fl3k8RR(c@x}J<#)gp8a7nyc0b?^`hqwxPB$*( zA`L6f_qk2`U1(D&;p`lessQk9s*M(sl{u&=@@`_E#h)0vo7I_SW)V%fj?&C{X?e80 zVkLWkmf9>DbpBBaHTfmWw=*w+5Y!Cs+LoUu5R8rhG~@lskpV!Qfe2x@qC(gdHU$s$ z;Fl?H*%r(~c6lL0*f41B5*vGVi1>p9u)dzrf~J0BH>6%#Gv(GaZ&{sIPsuv?jD7iL z=U;)RjCry$OhNa$1F+SwVg)Qyh(%&QO9&J^CvKuk`W-t(kFJe`g^H1(iOe#hO=mll z)tt8i{G1vJx6x^)pqhR)HzLmu%x4@9+PBU$&-dFt>m{plBI0A{2y#yNW_EqVzD0d| zn@dUO((`S9*<73LfEE4+bcy}mj2pY4p$_KOHvix4Wp|G?>sZH zj#$>mnIYSnprg{k15;}`tOADVq^y8*C&EB)?%@+8I7194LVxI)#6RQ{V*Nkj`PYbB zv8Y$^F#O{L8~^vB+rs4gO)RINz<+LkN?}^inP7q$D@y6aVMa{-r#UA2{I^xdl$ANA z`*L_(1#r;3Lqt0yot+q=x1(6*+Vz|Pnvvt0D9%?pWY=`F*w&+qRwr!Ytl4ds@3k!Wkei8dZXR;Sd&2pgq%9B2&H<>t5|0dLW{X~;8qb$R) zW+@v%u$n`uFmkFUBA|Rk&O#nQDuIluMqsRGg&YP*6ySfpz?b+sWkKYM63iKjtvL1R z(q@Q5IQ;+AU_e%U#rPp~D6juTB48B4;qYSCj}B*!;m3$9i;W$x1aB8bFnykD^=3?3 z!Aq~IYuhJv1%|0PNfs556S^1PQ*>V{p1gZybouQH@V$Iuz;*I@<^kLZgBSzk+I&bM z6RoW+_)#jQXy05$x$E%lR(I)LOZOoKrYzAVm4DIY^P2X#7q{Z0BKQTB6+fPPxPPcw zYtL@X@Y|GuuP$>Q$oLOgif}TGETPQ>FmJNl|tC%DThjcA&3lBH{lrgp$JJ4 zs2CpwSm*)5P$q$Kcq4107_~M#UITHoA10BOCe-aLldp#?JC|3ha+qoVK& zt0`;EHK-pW6d)SE&@aFGjQaXc@*ja?5G&^=tw52HZ5}3ONcs|rXxt@hee_=E7##(g zG{!WqtsOD`Zbq*|BZKyWgrX~RHFNF@v}1^MwY{ZHCVG@y1C2*w7fcSFhqohPSp0{_>@HxWvV|5{n3DX$keB?}t>UNrpw8A5*2} zfFuvcBN=aItY{Q>cAI}@Cy{aKU|1K;q1=NOI7bYw27EOHp+%xAtUF3RLSzkcA+xiT zJpg(_KcoQI*+IFB0qy`y@)5@nXtE?LrVW?}*3TDv(y!@O=o|6A81%gA8 zzx^tX=zIz9)cYOtE?G+ymDt}jRcH7d4$=6YCt=SXT8OVWnV^H=-47kb18NZ^NrZ|8 zTWAKjNU~_U-@k@c{rY~T5;s6qS?P-%*D5?nv1<#xNpdvfuNTA-ycjkB#vA19r96DnjD|#Z5kYSMRJ@t z9PN)}yd4UThS+bRQra&I@NM)j)STCPAZ0a=T`uzh%jOVZ9BMO^GaOG=SRoY}3tNrG z!`E>CwL28RXL#6m{Oa4Sm8mnsTzXEVO!hH#9|(UL)#qfY{C8o4?}+$4FwXW<7TrdK zgT;ot5;H^pRzW3ACepLWyd@FOfNE#wRAH^?C6eZpa@Y?MfK(quAA{nEi_wuIsqpX`YR}g@?aT650~iP^WF31&etJZ0 z;hF70(;HP`lOqGvwZl*8ig510cDf=u;tpz#564VEy~p_;P}SN7!E(t=cmmKsZ2`6f z5mX!(}$oi7>b>g!fv#kny0{{QZDj7-rulfSncb&}TXkD8^|)M{XZv zh8uPyu^pCAnHv8`AfuHu=ho_(+9Gve_IRgz+l?7VGVv37u_&(Yu6!eMG42{MY!%7= zY4nPfmrPhU+TIZzn__4rc0NTZ_E>Y3=iOGFajkN1k`aUNs*cb`Oeh_+i zO3dcF)i0a9!Dpom?33mRcFXt3IoTD|seXG#etp&uax`ZGo6?ycu~Y(G(i=a|hhitl zSp}-lQe`LBjp@mRE4grm`S*xXU-n{p3M*{U0t3?#5gCUvSW-fFQhZF6b8~qG0-c_9ys=r^_ScDeLV4HOdHOK z3df@AB(+pnq;3j@sX~3Sr2UnxLV5DJrnd<<`lA@~7z2V*)ext(+T6`zPz%7o37Ywl z%f&)CCzdfl)4~3;Z7iqCc;I@JbAIg&YahRMgV}cZ3or8NRy(aEmr75(;y-@DJ5v36 z62a-&oe4BfdR@Qo5EA36=`$JMqprxTp^14a;k2d?Fcv?%k=*cMld=X3)^Uq|d?9OP zJ=sIo&&ko*I8}XGla+{a;l1cwjs+h=_tWfhfoP$7=1iad1TtX^_z11z$rNX!VthMB zwMifKK~`tb-g<b=BaP*)J(7VZaPiU}sM~ z6TGkV$T;@L0*Q$TlWQK;081#a8#(9LiDbQB#>^vviVR7y%F(})ev~D|%>}++L%Hk= zGGvK`7foyQTQnMBZJrqUxGqK6A+ajw<%+has02@_A@IT0k85_#$B)<5=iGXp9kd8r zv44kG6S1l-B~~rkVA2o8_e<7#Rc(6aH7UYPR6{UlqB71(kI~y=v}!dM$b#i>$#qoIrvGs$a@I0m1c`nN{aB_|V=Cf+pXuP~A zV$5>AySX{2zt5M0t~Szfv`5Z)U56E2$!a2ln23jp0w2p~jbY_h#phcu6-L2&?r&M# z-8HSElP3c6idh0-P%6Fox(busyDLxx@G-ki!fIo9@v7^Iok%t5^=}+1Wr5B*?kE`= zzZzKP-_AbVmX}=UEy^wk$X(dI)P(Fi&o@5@{L+2L_9cI0`PPhI>7O$?7?$k$FO;~7 z4~;n~jakawv4TDFxy8u$USWdh@V{J{1un2aZf0kodKo^7U+R(6ytu}0o>}x&?Y$KR5(I= zze3QR!qH`MHLd8IlEjcTl{g+LD}q}ooLy1RgE5*%4G;YBx0W1xM&I_5p(>+NHML7{ zeg~Z7zyXwS@azQ9NiNnS8Xtv%t-&WJPBvDEt10{)-?ekR!#{hn0(vfN+< zixSf|?blpo7rT*-7B>yY`(O3fhmUd)+Vs6#rIV;)yqaRpSE(iEj~Z06O&& z0&$1q!)Nn7DdT0gfSvg<>VX~6-!{m->BqPG!_J(`SXs={aCZXooXWRnEKSS+4$l4XO(j{)k)D1IZHpM7=8+v}19O4(adXH?wWb={uZQM` zp-(GnFz+qKr)3U$P~EFalJEi$-)C?_W&M}55LCZPail|fOck~XR7#k~pLo;)!x%VV z+6L}=r?i@^qrT-zC=Df`2hS7bEXiWkl7yQKEtGPikhOsD6sjPDOmGgVQ)X698*SKj zU63iS{txW?*ZE9`oL$0m2#-JrJQp2k7wiXpRkP@Jkyvl6vZ%OipevWeh{46?kCQyAB59#^_EBEK|j5p z#$f(RuTae#OgSa2)}cp@4qjkLr*8gX|JX1-JL=@?U6v@tXFC0FL|qhNi(eL=W0&2~ z+-lpJ5nZ)fPG0Nl<-;()@VuLBuk_p=lI!%OaU-xJx%tiUM??7f zkQ>XJonL}>TfQ#)bQgq;AwDeufg>L{3|Z+37srr9cB*%5kYyX#`Airh2ZEd5!BX$; zZNN#P>n6no2gpI%OmS*f5|p9JN#oOoI*azGZ<5&Lf&7p$OyF3kkBCFC!zJ$WUbXQ3 zb<`2;s@xy8rHF?!^^Lfo<}nJDr7C+1Lj<}%hrlnm9i~WT2tzW>db#qAs6|m!U1i*h zrnM0$q4sl&C(s_#suOJf!~)I4(&kZZBoJ{Rvup@ZLOM1j;EJpIP}UP)q?6Audiqt8 z186b)W5dmNhTmzR$`Wl8zUKU-k)IUa*UIz#UNCnOJv;d_^H`YV2&V5vUruQA!GP^+ z`+`zS#x0F9`HC@0INv4=9O;Phl{RV(Oka8e^sHOJ(c4ezOsn!HbY|FMV0u_Tj^mI;Gcc8To#!LP$8$Wm-4%5lQNrzpXfXR3L^v!#K zc`)ui`$5xM+q399OD@`szYdAl$&Fm$fiZ(<{L@b_)}j?&a~PeqkO7KsBr=N{`YSbj zqrqQtyLK;!#_<&+AlEdOMa0=@@QZq!4nIQUDi_*HD2#CG49`$XkV9%8Hh4Jbb}N#a z_X8u}2<@JGYW~DWdpz?1Ft9#P(tIC&?4SM-!)iuR21^|1hg#yZbod2sDb*PFpO!)d z}$!AwvG&CwTrp(yEx8w39pP~&apP9buU>VG z+0>12bhV_*Osb)aPN|og=q>&Dh@nai5JZ{pA)Q4Of&qhddebEW%>5AG0UHU;9NxO# zx5=K#(Y1UT`yCBL;-Z1PDK#vI7E<|b@HTibYBTM}`z0R|u@gq4%|tbS5EnLa77xH% z7x8~&wf>HI-tl?0LK>SV9_ zleYbMm1n{ai&PF>t7OMLvCwV!q>z$E(6YWhkwad~jhojIZNEKin5l|7E+tM^V8BuP z%KpO8Da`W~HIb?9^Cg%y0vzCs=sZ=krUnO^8q8u0Szqf@Scxl8E*%Nx5rG+0Rbz&jcb%!tQso#DS?5<^=!mEZ ztDqzdx1yE_+lTE1DU$BEm0tH0mczIf_|n*c_3{~6HPK(~gY;5vm5jBqoOQv^mp3L1 zX0jZ@BuyG^_DP1XTj||ug64$vf~xv7+w!DSa~Hcsim@(3DaX8b6oiQ-syAz!>xGfE z-^W&1)wni0lXE82Uit0&NJ!GPi}n;9z=o3ERTUw;;{wuIJE5=%S)Q8l{=%xIcsv4T zSp#HQDZ01%K<#%R9C3vHV0tCQF|g$?m*}%9qFrmR0;%Er4k`%Mh@}rOP=9pV?aRI?h_;O}Aowyc%8u=kIR3AEBMSmIH?$e-qen zaBiG}=H#X?>r8&`^^Z&EINNYsmxzAqvwc_queQu~{Ve<7t8hvP8$1OZO*V(ao;P|( znv7E11Vm3jU~k3UfjXGE6vXo6y_9C1f{AtS6w(2PEV#VFGJt%+e(jnW*!SzU#WabM z4nZ%^+Sj_uqjOclQ|hCwTboxHW5zENaH=-K$sNL&VNnsib*d#vQlXx3rZI7%mro1k zAuecM)32PU&k4Ood4g)&k2Q^~T6!rc)^`H(Wsl8@F2=&32g^QKrc~!c)V`oSU@@Z1 zsO$%lLYapn;Pi7?4OUHHKkXk^U?l=9P-2Dh4+X^%xx$H8t&-~2IesJ`5Ma$phS1Br z5{*0ue>NpTL@CIk%WGTJY9zh{8Un^iR7uV&0@Hb%kp4!d(}pDeb%z2$Lq1lRcu}1( zC)vk@h@0}uVcys6rbCmJ{OUZW>)<~)B_^moUW=Jwju%@D%IaWy7$bqKtW~_|Xf)du zy%3EG-7(_}A~MIx$S{j_@Er3jRm3mlS?~K5Ki|a9WEVhmu9Sq|ndm@EID9d;>kf3@ zC=E+_ux@fzdHI;Rqd`OT%4CsH|LN2euaP9((+WrUNzu6pdOHFX3nqPc=L^TEsLUt5 zaG;4&u@W9SZr-O-3M22d9J%OC{cJy59u82a+r*=TLBRqxQL)`8K=uydPyB zS)S)dIANFXA2E{_22#8}6Aq9sja~YOmYkY#RpBe_!jM>qTn?*j=m29aE^!R&i<*B@ zNI5m7%rw#V?r027-38Sg(~VPgEq7U5XrdeGmYRUWP&Y!HiIm5!9L8ein1RjjkdCDH zF|Zp`pvIU@uoUCuQE3+S!LuP&qo&D)h{%*3q{>qDxWD9ivxVS?iO^m2MasD=&W_rP> z&0S}`n-9}AW-6_9gYC(vIRRlo)DUdp9a=c*5knp2xdW))}O*8qdSno zj)&cpVq~Wp*a013D*euLW$xQJP5^M~yLPSP-P(Gen7*AFR}Y`HV6qF>JgFMLBUtSi z4nzO9d=XmI=fop3P#|1op1bu?5VqR`=?d&sfNy{}QMNbJ5Fw?5Ag8*{bWfvmQHF{uPYzJ@okD6~nPJ zTgz0swb~V^E#m?%)rzTANk+vg^EdVm|H=_^)@h?X?=epk;m;%A%Z?5EmDeE}XTl%r zatJ-@yM4`}oOT`Ep5ji{ZZkUQpA_2kC|y2yfHD~4&b(CPCk|8juImZ|{sZgsW#QCT zSswAp^La<8cbhA$z)zUT=L?6C-~@r<+~9?StvbCB+IaOLkzF_H2Ds~X4UnJ|(X*ye zz~e09fT041xlV3( z{qA~+^>MHrPFnSfMxH?#B2RsW0c0fw83u`kZCU3`C>##-kTvaN_(kT`8UUO(BluKv zNkYBdDV&&C4r0f8H^W7sv6G1!yb$)aJ_bKnLO+aCwQJX7qB9fwQG(?!b6AL#F022= z*?RyrnXhf*u4SYYjFOAW_rlJ4M9hSK8@}jwH5Z)MFV`A!Oy-;m!`k# z549`jS4;_8iY!;eP}?}PA)pNZ zNQPSGOHD^v?$!InMpU;C56@PRVsRsRMu2gkYoK#fJadL*Q>88^31#x45Req^*J>Rg)oC~N7^#v?t&kjU;XdO{ zh8hmboUU9Dp#NtVz(G{gP!%ft{HR=9gw?|)n=^*kcPs;>x6a?qfuuf4V|njS-g?r! z)hZ)Oqbb}D*G__5Ul_Nc z)U(;NgAgCn#7c~rBOD>;(JZKXE&D+J%HEuY=~%K8d%4A|#}1j??&{H56Nd`d^zG2P z4xK?yw&QrHGTfK#2RCloKzuaW-8=Y*C5ZO>2oZ$kcuaUqqHIID+JgzI;b zv*muC;AV>2GpkdX@PngoWA6cU09+1qK=~4u2gAN4wK&em+46-bgM_l}A_EMT;P(IV z3c+S!R<~y5P1rRlIjxKd_XbIJs;{tQla>%*@7ZcGR)*PA z`ohW+tOVr3k$p)`EVn&7-*p<^Om;k=>;tm`KeAfh8PeoNJ<^9?J$q+rb;fZd%8>iD z4FO%aL-5zbm(_X^tORM9Qx}*KK2uJzs|S@v5cUNGcVSmE*O`Et{%G0(BCE|f__@C6 zsdLtbdd4l<=CfaE%OPwvgdX-tQVcM6h_7|pYE6~PDiWa!(ThjNs{mW{zdPU$H7LAA z%mEZGBxw1${5kZt-&##Y^=|A_fW01kYTyB)KqrE~3HJel>j}qlQY;9>-!;qyxA2d;>LGA;Ro}GekpZdn)7jNjs^mn5AVf%j{0@a>W^XMtHNgK zUZ_ZQp#WgPO}sz1qP+kv_F7D(>D&%4b0G6!0OUyXU0vPtzB+~Ug^*|a;! z3edc^vk5N{^hki5Y&X8>(Mj08d>zVN)0}ah&A4Mk@_?egUF!gOCkUrOgU~V^Mfs+9 z@qpZEwiP8xmBsV0y|n-^g!e`-Q8av&9UpE|szgW(M#l{B|FZd{a>&F&1|Db-@xZI1 z0($|73jel+_B53VBFzaL#Z)Fqxonq3xlCqM*lbzy#2?fex~j!w1A$YKZJs z(F={#wRc?09nv#GPY~ORoe|bGHAtzQx=J3wwyLk@;{}J3?(g^Fn5CBaPiu1aQJ!>E zBz7L}NxF0c>2xSDBpIojLRd0Ej3mo)zn8%FFI(l_0vh6e;gnS?Wcsz!{EdQ6{x7~^WgM7begNn3Ri)4a@`~Y@@e?t_{}3HnwZcAteo~gGxqRLApb-2*YMB}U*ck|uQ2WTFPNGK zTOX>%!iV@O)N{CUd8Ot7e1sM`CABPZ%koQT&Db(l;G0$S0x~6PRH^ci1GoH+$`q2X zl&x7MTRtAv8e~;=Lo?C$0QOfI;A`ae@jt!X*7#vp*1`NY2DU$G&34))wW@3>1;=aF0OZCf* z%W_{N!2m0C&!0_;x7^590RZ#!3HxBcEdxvI6f4R5mVb~u8-DU1h-;NpNNfIThK!H_ z8v~GU%ah1&IX}my)Lv^;UEX-*pxDxL-ES9Vw)+7EE-oVP{0|GbZ=-6bPkMd1&sbdg z%y;|`56G7U4X)I8%w?ruiTTKNmEz}XYyBfnUAbH2dh!0LAA$cL$>MhTicCtKbE(w* z0*a;m3cOlH{0)%7#y6w`-Ew`OAD;li@|d@RDcN@==~3PLBpzRMto0o}fmyp)+r|U@ z+^v!}+!RMv$2lbx$p$Wk3^C;sp85&qJqnnoycZL_3IOJASdF{Vw&?nO0soFDn4)t*z!|pUX31PzcS$2Lc9S1EhXV4&P|YQYN#32 zkLkAo>i1F&4kgfxO$JVlt+4IQIM;DRuXqTIW1rK6H)4Li06~W1lE5<7pE~VfR^KXK zmfACJcmPU`qih7Q{Q?0KM|U52cYUHX9sR4>9Emb2e-{j}N;u#%?XthN{SYqxm2uOP zUG3pyli>2F{;KmHO<2|7qY1))?;-%GPRhUDeq@KB|1x3oaZ*_s9orT9fa5gFTwQEw z94E0dff$)c_C`OPVYbN8QQ4=KsQ^3kzDqYUu|`Ws^S02J1;*tzk>WAV!k$fPYqQ#= z_9E8NgTP3SiZk9x+_{|Vwp`8Dq}KIOtftIB0yR5f^1K}&TFyf|!W`CI7|GUcu1p|N zlCVKu>(M#b8&l@K&GRB0+2LUy^pi?(C?{6qRg@JD?7z|dgTv&Di72AbFt&|-Yu9s3DDD+!&M8L^ce>rVmjMu`~^8(@Z5 zr&hdF8U#2hBMDrizjzH%R9iQYR?QK@6tIxjC2H#-EytLCqJ6C^^dj?hcT2loYMFL+V1C%6!1I=8J*nAzzKV0I27w_uA6tKov33? z*%K8JQClSZmTl;tJfvdw$`S9>6!?6;pLoE_LgA0B4Xa=xJLx&pP=gvuF3TxLUKAW* zUY7%37R<#SnO!eGga>f{;h6?mm81-ng%arRFPn(9?{QrB(})FZr#E}BLW{i^0s9?1 z9;G_PX0f$L&ji^ow3p5l9s`(|#WT0;JK|cV^2k-FA@ef7*%^z_c0!Nv5M4Ox7&j3a z5s@hFS|hG>Bd~xAs$4!dBr6J&EP*ADhMHuG2sAgi6xmnkAPQKOhW5mxzBW}t&)h{#nc)T zmlC&ew`|ck5$UPrxhJ&@aenF>zIww+#-$qfv+Ne^#qC_Z|M1zPQU6jFa|NBlWrE zY19hr#@2fIC&aH3v@ajLG9~+RJ6PHWCP}{EPg)p^2UZ&N$1j>fxZep7S(zi6y$d7( zf^%y*VbYHzSu;sKj-7%@1r3;qs9n=wdrE9y%O;1FmnZzrdBlV@9O^ssM>;(OI75KK zD>=z?DberiNtNm{h;^vz2_K<5#9 zj3u*AF6VAvd>4l4*Ny_@9SvvU+rby#9KEYC??)4C{%rWOE&S^tI>hbc+Z?+zinTn2 zBF=)zEt^(TrCoUbHkot?I|!Fsg6Tx`@-A>=IdZn#YuundGS^5JfvW>hc=x zgfG%#f+eF4+n>3EBQf<=D5NI*mU&tQa@1|nEG0PC{g#!MKwrb4EcVZ)&BsG>)*YVs zV`m8C+BWddC$)<}h>b=mHJ**(TR>A^^WB_B+iW@rJ!R>*j^mc8d$mmxOdn<^876{D zIhFBEKvJ(CxP7lf&}w}1oLRg)iy|$?vND?(a8xf?vY>*n7Pcxi2|5@$P$8Rv2BB|q zUg(0J{6AjE|NCiU(DjILUO{&zjQ_qH-pII|X==^y0^Tix0JQc!8#{v)d15EPO+PLk z?c67FehhY0<9mV%C0yRwaC=H>#H>M*;~>*v-4{6rNx3be>lKcKyB)`=ww~A zg~HZ{R8mtTI@%`k%zrKb_Zp~@V=(MLDC~$VrzYv-lQY5|UyT@~Q#DBUEsEVBGXGgR ziSAw_u9`|zNX%3j8^+IUnw&B%X_|2d$@&?vMy6+`dMcCRao+CP$-Nu@>&FCp@4e-A z9TTXy0_w>TB2WRGjKWePp9vUWBn%)DEqR7LT0F6#uLagQO;bB2Gqz(U#D~oh!HmXZ z9W-n%DU3`cpBWDa^6>pOYXEGpgM@vZQz&Hg8Ut!8*MJbzX z;6u=o1xov2n{TmI;?EpU&wTLmUvD=O$42vdR7}~q8;Se-bQ@+k`Cuu^ zM;-PqNLA@tBKuBKSSm{R%6CDvgHVLJxG=N`KQeSmR_9BBh$T#U3PP@l5Pt##%qU+6 z5;`NMiF-F($mbpU?=KB-H79=B`wh3G2oa%_!x%I$1?Hae7ZCQD-y+mWz+jJ zu&r60iOPIZEvUK)dqx~C->$`c?l2MsJ=q4Fqqhb>hYkI;x}t^*ALLV19j|xtJu-u% z5FjB93pnS4FF=B_4*Qz_36ZEoyL~>Lo~WXlo_ahUj6;@C&p?icIq;l&QRWE-e{2n@ zw5-;hx&{SeE&EH0(9@lk9W@F4tE#@q(A`SYhp=wDkgUk%MfzGkMOxa#rN|!^LTCKt zlh8=MttoI=?AGG{>*MjS6Q#9ty(E|clT@1qlwhW<2~TOm6^%GmpK(IpR_c z8?m=L?CapIjpeH)s@|e-r@)Q?!ie(Lt6$Bc z*~^x}T~>g2-jr~~DQZFPnLSNOo+rIuwP?3!3({`c>oNNSkH;;$J&1HU%9?x(ILdz1A7y_(svZw2}AT zrEvx)uOkU#Ji?bbuvKfQq*;ax`sEMBhsvA(>qku7$D}@}rz{W8kM1sn3S}gY7}HlO zDkYGT+w;0q@?*B8jQtcspEB+Zme+t1es~E z%L&ZM$)U)i=sb7QB4CNgqO%*J?B;FWqCpwq;6-dX<+jatVFUafj9d*+c{s3Cp{(zFAhJ+^=JWh@HL4 zVjoYi+3G}*8ha;QjP?O|!yR?`Q}y`^%Vui?%^+#qHr-f*y@H}7IF)r2yZK{FR#f>W zs(Jha;m*lCTBwR3D)9Fx53`U&UF1v>s9k8$bBJys%-+ZC z@ovOSJCo~^!C>zNU5;C3&XAlyn&M+-C?Xto%2eJLh8A=jHoY40&$g1@>s7AheIDor zBgt@@YzWJtV5h>Q^U&4tJ_*Fk+C#)Xna8K6$-?E`Y~V69c)wLfH^LcGqm?YAyjvWa zPs0Xltd!`|>wzpkEn{jpIxaAQM)E|>^wBZ>hchEMakg5*gx7HeckNQthKN$;2dk{d z?QR?Q%xWL^IHLhu7hIKnKbtVFVyC{h4_}5F;XTCJ=B1arzHxt&e=8N$`UFRorJS3$ z*$Scnt#}0AnfVeBerFxEg4`~0@T=(*sN5OL3`6l@0$Zl+v#Upw_F@VN^v_nbs%(D< z&mq*AKDq%}@5GYE3 z#|MyS@eGdhhW^eg`4uzbP+=F~@d;dcYugToP|j1-Nvp0+(y&Hm2y|)@y7uXCrfbdP z8+ZRvlij;fUt_&Xe&#Lc%z&dmM7&SVqc#cE<-xLfwvqz?ny0c2E;3&r<#Ca|W9l5) zNb5ykQ><`#Le-(92(eS? z5&-Sw=Ysb-_QPf?V`<+EY>hF5nx+CjQ<}ji$s3_&4r@>5C!5r!8x5Ip zz|{y{!JU|r8ZJyeBv#xOyERCDIl-)Lw@e_o^;Mym6(a%fQLTG8>{9Re;JkQ@RRa7j zb_g*7*#`H$#;kVQI`X!MejAR#9;{pWa}%11s&%1Dm?s*kj45K1t2o+)bRAAxT{pWK|YR*uwNdK>V(@Lt5Juy0ZQ*wODNC>SD5jvhIA+GkRA4Lgq}9E&P-4<`$$<{V zpqU0txL>OLAz{i(tCnTC{wLeL_IJLQYkPwP8!^NWwT!9KGom-w@KcsMmJd;@EK${t zUu;zV7@E3BJAhwR%{0j& z$&r3x>5}?CgXeDH8wH2cq1^OTVCBMUjpR8U;=ua>G25qm()je+REE@a!d^OXTzH$^FqKm^kFuC25Lv$`RV4<LCo)xgbR#yS9`owj!$iSok;{hYFUB`Ny|o!Xyx&nbP&8zD<_0ru(Y-iCy*pAaR)NCQLHCou8BaW}#T=9ena->D3*cFP1jS#_PJX??OnS#t7#$T@K z|Ez0qN=d;dtz5dtg65g*IQ9c<4tcHB3gR7x;I)Wgc?TT71F3 za8_9>`re7%M~^guueF9^;Gfev*!Oq*i93`uiJ!$m5x1%&W(r|ikK=(v9dCiSpb#2Tok#= z0Xl)k%+XnjC7lt_lv`5(28*k4LhZ^M~Tb&WUI!OQQfYOCLiflUYb`=`4j9QkJu{8xd01{SU=UOu{ z3#DkGg>67ocRWTDDBfyX4XEU+MN>P* zOFDxR_K~DDQC9CjTd^0|XUx|h-+KJ*qvKlZ$A0l+_+FdP>q`wKYjZ=3r4uK#XYxwH zZJ5D$^u+2x1GH|7&PXbxvN;zueS*b_V;98WxKu~2(WQzMimF?iB&$?_AT7EEU|Tt) z=~tN_&ipe-l&biUkb}AvJmbj}>tKOkJ(qs8TWa0cl4q;6l7Pf@HTcr7oSZ$tt>17) z&12>5iRqbD{p_#-;=S9Jx}IhUeEJ}}QEpPE)wYKzH`syRJL7x?;yGG^y14klfwpQ- zc)xs=Wtb9NRf_7jNia>-nsEG$_2KF14Nt*|$uSm-n_BPR9o^}Dd~Ig^{tzBNZwryz zH2jQv+)2~d1-qb;X?~7(t&^YynV~8OzaGLjl{l-huU$cEgju$&MKxI=O3uWNSKd5=p2C<5u;3 z!rqUl{n)l4u(ZqaPJbXXuECq;$T|7_Qpi1QJOn_4tB=(DlN<53u?uR!ewojKH7Pxo z{t2hktvG8k>LI+v)71iycUvi{lUJ4_{HC;LrbPjV`o5mN;lM%GQJ>__@0)-H;yd?` z&hSrP<;`4RyjD_5-EDgy{kdz@Dt`$Z z`O;E+vE6Dw_n5Bi#V;Sy8QN9=9$dpl*Skn zV}ELEg!r4nqtqC2nCx_?Zo`3aqz3-aMWXynX4u#upE*H@57hKbb{r366BrHCt~Du? z+BojVXQ!>Uv!7_w%{Q;}et0_|`SSY3$xWw_Xr%K%bx&x=^t=wZfQ@WU*7km67!0M9HF=^)%ATZ&zu zr{Dc26AYma)4nhr7J_qG!t)vDb;$m;o^rmR4 z)4)WPfs}W}CM1)^e!!p^7f8f0q(CA?(?ir^+fY7PmUBrMcfdRvRqa$AANUSl66cu7 zwgp6lXUob+IZkG!jNVJWZ?!l(2*7i%o@-srtcGv1B|JFIq_e}N$BC`hQZ{+{rfQ7IjO9?lLLy4E@=^&(sfW(^ z_Hj0m7!*kqNxJG1Kx%#F5b_UT80PH(o2++hLoHVw#!FyW zYO1{BPCnGky3}5Y|8*}DhXf@o-lF+W^|ID~hF+8LN@W#tvRu~dNRJTlmbuE#zW<=V-qTeMpSOnIo3?^QFiDMz z_&;Dq92Y|vHw7qUkVB+}V(9W-7~}Wf??rN=;rM!4Druz?Gjgl}l%b`6BtkoBOE9i0 z(r2114olY7f3X^#8gBvi9W_ZfF&=K)9eB1*e#U|whkjv@LipZnUF**FCn$X;s#3+F zyg&#LATE_AJE|GF@#P%C=KziMsPBJX7mzwHP+BDQyMRr|w$+olQofS!2mUYFm$S~TN$S>dy{ zv%VLmc?d;@N@GBn$vy=|?|;yX^_AAUeU{AeWyRfrDu$H1#s~n3doFvm_SGXyq8q_5V z&H8NV!Wt8xCWj%w`ArLYP=AgHEbQ2}feeQLIs#b60880-PBJrcQuAXXy~a$FS}lDm zPtZ&`TAEy|G1J^`a=E{AUo+Ig;in89Yf1T?jwNAS_k) z*uCr(%(;AR{1jq;Ecr1wiJF5&1@#G{?q{-d5MpMC4Rt|cVR!K&Vq}cCn$W$h zju&5Gq<;NxhpO?-EEfYhKUF@x(i;38ohAP>Kh?n2hkjJ*%v71V$WX^ORtxQ5d~Z4J z7%9wwLdYju`n?5wz~Qx|R;kf~uFaVFRDzn)DK)Ld_CAVTV)EoGM6$tU1X+_wzcy>u z6P0YBp#V8sm%oTfKEQ5^8RCY+0>;l+6Q{!0oO_bTUjnPul1+!QS{$Ebw|upXIhE5f z0nFY9l#f^>)esMZZ%oDBSPFDlOG5qBFx}bGdFq)46;f%G!cFcz?7T^RrbVajw^q2D zR=7JbmrRr&n9fiGU6i?v`gvG;(;(8M8TnkfENO-*XlpQqtu-;}lCgOtCzul8!Cfmf zafDdw$8Kuc0C%AW`uh6whr;|L4)jrLgE$PvD@Xb;agBXAlaHQbFvJ1qNrt?Bm16?E z&*AihcKfm_1j3bO&eB+GjL~BxUq|aY*oQsW`~)ZOhUmvk4aE8WKQR2=(XG?|I;jRExfsyb`6{eU zB0&g@X3Hh3rS~8`Du#8E`bB&+6g=iAHlz!doco@1!Ps^L3~;Ba5MnHEkEury5v^#$ zm2{`*+OVIMl(=J#729$Az9mO$8Ud<=R?7@Mr1RLWNScF&ncIK``a#Bq7!It=@%k|N%&#Oq6#8F zHcusaajX&Iu$z{qqHWAAh3m73te%OQwSE6xaW z*ey~DAFs-x0$%7bfgmO{A<%1PO*%cQo&zlxTB!%P%hwpzbYYCCDMZ-Yorw_+1$b~O zu)WCVzDs}mr)-P;HIj zq5tJf;4tg5jmhjE(RAc-3!}RlkVD z&I-MUz&fYj_Y}NMK)EzfXpzgt%d^%4SdA+*Q^j=L%7%G$=WdiCx)trf)pf^?@1|d= z8ow0fn9_Ih^e$!V+g(fkS*K#cTQhCM74BJDQzX2cCYsf9}!xs{)U2 zG2>C5#j?qz`VY1bKG77;X@K^uhA+Phu= z9=dR`+ooc!%iihO?cbwhADcrtdel*|lE*kCd?Gyx(}X>8O-SZeKZg3v23VESp4JsP zaDIOB-cz8bt`l{2;EHB$?E4R|O@r?`H5vqC8^So_1Bt?-(0hC%^5C_eOUedksY-@RX*$#OBd-3)re&hC56n8A=%>H4x;28kK;s^ z-OVB{hhZk)Aye>SftJ8LP(1*XCciFQn~WpySMG*2a$H7fmI%z#Ee87G?NDFm!;YHx z-!tjb>KC-C()AIs6ofn18OB-EVl#L>=Ly6TA+JZebua;=0bFrLyV5-ifG zNI$LecmHCH#ZNxI#}G8G5Lu2bNBJ9jH3{nvm+1c?F^G${zy4qjnJbTLIwqzM2cLoN zG1~AtcJu0(n&qj6-T<#soaWi-UR=*1PM^GWk7o7fPdmy06UmI0<&bURPnK+7JN;V) zaO-sXSeNJ~v<^J*EVaEedoFHz*UKASTehESyqAV<>pFfq#vR;xM&ZKJT7}w9P_$Bh zil+fdDOq*!4XMI7J{#^g({675fuGtO{`tOpXUtP!*4Q$MG`UfiweRgHoR~j?xlKA?sawo`Nh{$bLt>lxc|aE>%=e1_s|`Z6l#D! zQK@Pr-84DnnLHj;Vx+B<$I07pv3u%!q(G7wWK{UE1l^^YgOBN_Rm87+H6M? z+cW<#l`j-7#;QfeTqU5TyO)<{iR_zGK}SI$RxhLNV<+@dXGsEl0xh&4=r*L%*S4V| z<1io5===5SgL>3*eQ%~AvoYkWo;BLv)kU!=*3sN^nAs@Zww$mCGuk!z!jVi(teeM5 zIv+AeC?Z^e3WGhrHISt1?ur9Ka_MWk6XHU|E!Zf;hv<*hcS7i)FQ zd!>M+-7G62H2#$>tOU}Kr>*Q;jSEu-bvp5~C5xtl)(yr!;@1t&bBx5TB4a%}BM18^ zcYg&}l&YwYe8%X2qU&da{HDA;8zUbFFIRoRjSbhXaMZV{qt-mDnLVRr-o+nu0`Me$ zO+Zh4vtQ5kgrSA__9AGg&L!flVzsx@=+N2OPZhu%CziIYdI8rvQXYqlAzD@1nrI1Or<3WSb zhG`9M)#1UB!k0BQ1UJaQZ+Zo`&JJld=*v{rHTItdcQN}_2KsfX@3MaTvpRM`G1+Eu zAIX^ejO93fY#b9Nx1)CVsRyQ2*z1jq{Z@+dwdAvRbHDfGPq@A$qn`^#%w{bQfy*!b_^y^d5*Z1H5ckpVW?BG|^lNUQhOyRTYBHB9hOsj9v zUE`+M>Tzy~oc~l=T`t60E~x9y<|Z_02e%Z;oLz%jM{E?2JzXh1)6p0<)*m`9sjHq% zP*;%lm+$s(34v1cui!&Z6;mO+o@%Kh9XdDY&dK%vA}ZYjtp7|kt&D`OwcaH0)P^ei z@M}e@BYv?|*$|~#3L`dVUyd(Vy}0YvnidL-EoVgEQ z6kcq~ifbeerh14+agyf2afJ`&^MFZ}ZM}RtvbypWJj(+gm~nz~$QMLQZ zKCj|vW6c+18vD8V_9l^GOFm4Gy4Q`|RZd@?j6K8j1H1E0{lDBHRG&8DYHH=29WZdv z?7zmbub5)p`m?eM^k=X&@mY`)wZan~NzR7#VZ!KP7X(?}^9x~>Mnm+m^X5~PChmxp zto&yog6_9Xza*t^J*?7yCPY!k=3!nTa@8K)@SM)0>ia5$HhT3`9r*u=mjC|n%vz4Z==aN9-L*;R{p>j2ge-iIp>VsUVbv{e)WfEw_cE=@#fQ~CGrE^w zVofCF=MDb8KD7hCz1PK+bZ$*z1w&XIFQudOYZ(LnGa_>Kv{#d1r)xz7vO#v)#lyXZ z?gpSKX6a43ni2Z${q0<7m^82)V=rkzTg^m%;S<` zN{kYY)pzvl(8N3K3dA28?pU8#uWQ)NP%HEY^yHxBs4qzFtj5N9t?_6u-=8Xm781O^dKQ zsF)dsoy-ZnF&n~F5z^ItjBP+ z-xAxYmNjUJwf~SFUi}k`(KC>0^}2Xez+Fzhdv|%J+Eik1c_~h5nbGOAPi>ExZ{5nM zOHCd;8+xclA|h$7AZbv^>*`Y4SEL+WW=I`^nt>6} zTjoWbdlr4N@K=+B)=ZA;Ve_JA!E2-Gcs1)!MKsAmS~ul7T2BGQ*mZEf<%{p$b$_jE z+j8X8Q;*Sz$K*JNQkB}W5x!Vb4I@KD8??$3{b*^qsXhmU_ki82n1#R04R}hZMqp zwH&386F62iS?e_uL%p*IapGoQ#(o4_NPfGdhkAo@o9N0o=+KoD9j%&;rn~u7P19D<K_Qut14GkSg$*~qGJ)Jq{Nr=x$<0+=MS}=w3cQg-?!_-+Nlx%95rbN6+oV_-h z{EWS(1IaCJ6h*eq{{3)t#C|;$vYJ!P=YhAw*3TpE&EsU(N!fj)B&W3#-_l0<%*+Rk z@JD8G7i#)zNk5}K?{78etNol|vNwV@+*b&U6_H*IAPd~xg9p)mOUqMJS!rEs zq_WmlnFS}eFGVuw(s{ycpAIjp?95lb@S4$6W=7WLz=2E<_Ot3-!51+X*>CNJ`QFuV z^&?TC~(MXuSUx$Ei*zZ!Pom&+f=%Vr-Q>S4=P3vTn@iCRKjbX@1r6x zePO#MYiD9oNM+WD7Wd2aj);1$*`0tRYP1CNV-^W)XE96F@1BNV>-)(&JL2Eg4(+1V z1Otl^T){r1GUo0)Gt9M!QFZEQY}4?SqU*-VrlNs&*AKn=@JcD)Xh88<^x@65$FdYj zSp&uA07);gjv(+K4+^zpeH>d*-^sB3+gh6i)Y`y3hA!?RMQ&&tUY&Gq^$k;=ZgLs_ z{>qQ@xlH10^QVtzQq>$IuDEjId>3#V`usVi(qYyaa#aUUIYr2G8DxGeSpM20 z9_2x$jS!uJvHcP{HwN<2k$F{vhS+55BG{91?XW_JVQ~#yo90m7|QM zcRTzrpFa*FeT*}DZz6VZjQWl}qxCYyV@2(VI0&>Jg7J^B_`vj>qs|UdBvKF9ckR&+ z(c~?^#9C=LAAXmrlAw}K%nBXsgRW~f+ZAgj_{%7zDeJZEhfRjvadT#wmHe#qv@FjU z+^ql}gMWT*&C@!wSXgWq8FU9SX#PLD003z5>_&{ztjNr_McvTULtKx;_$=znmb1s$ zQ&={Pnlv~l_xT9QjSWDbimcUic-*46m>>HdnMg_RvuXRHpjN*f9-4L2O-@!n6r&UZ z8m2=k{9VLf;8qfN_4bfTp^l4Wme-wnB`41gn0a!qM}sj+YPO1THvUzF{j{Uz7Nzg} zeD-^1jO;LdXX;fQr9dSFSoF*KXuY$|30GQrds4DR8KEmPoz(Anc7+htU$e9e9#oqovVl~M9T`{uOo5l2UaD>r9u=G+Vh z4*N3q9Lpbs<+DtBxut^kyZ5XjH74#!$qiwoMVHYP2kd2sjMVB7u)J(lZCj=;1vAL6 z?#p4V?dutC3%&;MRO6kp?nKXTZK_grL$PU0iJXQVO37}xxztLago3v3FUARj- z5c>D?AXDKddCEtBAJwB;7={>-PvGP8N z0TOjCUG^*{P}$rv8uzP$hSM7Q+GP;J#MAbjg}XEBnLYo&`??P zc~I~#+p>js&5K6%eV+FhH%t(Ga3!Q&vw|cAgWrtaEc=*Jpn7+6T6Rnx()h&#`wM&P zr`R{n%s41!>6I)lgh{#X%HbTpY82tRcCvIv@On>63>-7nlj4kp`&IIDq~M+KIkAM% z+eD$LJ;L)R6w^~L*)SATPTDXiBssL&4oth?5bMlU-WnKUv_s{^&YHtqmf@d+2Ov)s zoZhHuvdX)(uY4J)^tKb%P^1ODBY`qhcLzQo6|*)~ib(>oa`bHlVc)^I>!C#35y=?x^d>x?TL z-;FSoN9jfRB05Nx&3K*p8y?6gDO_!$3!hHv3m(K|l$qDhd z7`kD9@Jev0F9Ege98(qls=|2ltq+YE+iET+O}=!d_^Hc!!O792T^d3p3piAK{}FQ) zMUjjQl;ffwBO8B++5?u1uzqgeMw-Rq$OY3C@*amLg|cNx1hz0Gz) zkh2`(dQH992fMoE9I^tZuSxd2n&Ao?%umtBcU#y0Eul`b-ME74^lioKJK8WL(BT{e z2n~TM(aF|>+zjU{m5ZefkD|LAjCuWkxwhAwXWQyV(0&zvzipB6voUt_DQ1_N?->Lf zalIhMM0Ytt9o^N^#J52>Y6Nz9V*H-*CqR84_KYA0$;aqzcfH7?lF##;iZk$ThAmVr zwefp8W?|NQWmmV|NByT|jrWyojQoeU(PKq>H$K*bFQF5YWF}^!51se7kDJXY-?~F* zc02k-V`x#scJMW0MU$?ltE^@%xlF6d`jdzH+S6)jMnv3{RLJ-Ri_X&yK0(yxs9@yq znCPz8lP_KS7d7G64GY^}M3XOGiQ0QOLyNH3>Xt!%tjTQAfVd~*?Bzz=pZ`#Y$N(+(GO%gq4? z8%E*mXd;r~2uxqDF4~JU$ZESi;OI`_!T5BM2p^zOP3KGy zx^z~oKp`5wHVl7+Abrw5wGfO%Su(%mQc@k0jYkLRH&&z{)wLv#1!0o2Xqxm{MaKC* zaD$2S*{kNut1b@p)f=cQ0g)@UfnQ;l5L0gTq2t4?w>!W?iAY(j{EjPtaq<5;VzlaDP&6j`+I8{p_%M(nw5?`R_NTwmRGs+~}J%tu|hRA9K&hO=%e&s_jVu zsWaO~htbw^t6z3Bnp9c6F=3V}&i0>l$cYDr|Hu}FniU#Fcup_ZF$F)m1ANWmnA;A; z^p?Jo-%e(1iV1OVZaqm^#&FRyoApBh2fX! ztaJB{sz?Kyo|`B0K9s?abo%u6`!xET8wj5`E?$f8TZZ$ym$|*2=L;QEU<{rAL)yE? zGu{9H}|9h}9=%18`lv#FFr4y#KS<}^~|Y{}V37&1nf zA;hp@NITfZ_`Q06zVFZPeY<^nU+?ed`rdB-nAf)3ZLjCy@wh+k_xt1d>Npf3(O;iD z)P4I<13sWsN#%G??>?vdA7jVr#uKJ^?aS!9Uj}5%zm=@qaE$yJr(`Yx=qLBqBhG&^ z=6N`3OdV~gEONOYVz!XM41QHhgNapfX~w?7#+-8OGYU zihl00dAFf>R%?B@?I!F^=S$h^ICE-=RqxgQd#0&Muy>lAZ;fK#IY7(-Y956q&LSqn zY<379I-rFzyS{vDFR4EyS;c(ls$yzGzuUJZYTDUeDeg*j%|@ zoM`FdHAkROH8c$k1$!}AZq)rA8C7vN@BUYx(Uwiqkb7Hpsw90oiEqV(P2Vc|^*L*E zmS4$0BAClo76`VVQJ?iTiCO^?G5Nz=D#P+L)KS)SVrC9!-7oTIakqMrr4; zzbWTM9JylF7x8ZPCREb7Mx$V3z$gjfE{PqfjoK&-P<<+TE(kBI8>@sTRhc zKEeB2g@`k2_=KgDd{C(3p`broz6}b_`1*^<^CRW8KPsBx^$&;R3yO_@+Lk~8ZCpQS zG5GvkglpLHOz`pw7IwB`IzOpmhE%Ijp~;EiNwlv(*O#oX(0yzl1H>iq_|1h{Mh*bp z)(Kgo$PCV>U~fzY+Hi0!w_%_H!**@zNjdE9LRiO+`gq9}psOOzuQd&%h6y9LLRC)L ziHH0$Aml93ijVl@En$l2S^KlAFxAvUcBd_K&fTVbLC%eplX!_;>F$E_W~B@pjq;fK z#oVFKWx8sMWk01b9jZ20U?w2GE83%G^&hf(o|_O%$WIBAG4m}U)OmL$3u)-EqL)U; z_kpx`brz1;{eEqAdE`ebb$QfLJypp&@~^J8c{Mr3qX$G0h2d{1jp7Drd&TdsE@sdR zXW-xnQ{R=<3?8yN9jUDR}rYeB5cv!nh|M>eZ6dCA?i0c8ZtNsU0ZPBD*6>Ds2wW+e4y-o*X~>h>98Z&sZX`7<5Ai>YVZBSI=A+PybwW+Qwn?3o zg#@c80u*I*kC!}zgZk1_hkJJph{RF z#LnUE5;^XB0opw07^)-R=Jpr+Yw4#fYyW`wm8+{5t*jjn6y(8dsVe?*HIdzVTA1Fc zvz$yFp=dP&@Me|Yh*26_6(R46S*5V<2hWOlEUFK-Yej?(8@Qz}iDh|p;2tpxnXZ!9 zS5G1j-V8{N=?EZaYz^-YZ42)qcR9fWY*$!8=6$ZP+@Qf?y0vvxkOjX{SxDYLP{-E-(JN9v+ua>36<6>r z32R0CtBP(8y0_Iv4NQKkT6^fSZsfhAFy!`;BUg?iWC;68=6=~At0Em~WG4f+_wC^Z zuGE?>+-_K!Ttql`IY6~HsOH}Fh1RVa4PSS6lg8WcTIoKh+wvmpfs|$L{*Fs$nwrL2 zW4l?#`L(Nx*ITZRjg7v~7SE0@`laURer8uq=k2eoc#~USpMHPPudzHMv6V=sP?>8~{t?EW0%(bhlnM}s<^3u681YKlUp%M?&Gv`^KV7O-jWX63&yc+K^fur}}_UZ_DX_ za!O>B;`g+9-`7J*+3Pojqax4^{wOKWR>!&L0{UYweC=V5HKLL<4j)=8x?kQq=QCec zzuXvJ_)}}_?wuP`jx7QuhQ?)1sF97xXxom?`|QY_pca1xhca)++O@4EsNgO1E8&%} z&+dla?)fdTfb)U5BMwI4CR7(s?GfnZAi9yXmHuEln1Rsn?6Hr`Y*o~hflF32&vAM! z2bj!4s-Fy3W{y~4s?yc1#fr}Q8udVuh#5Q4!;Ksg3&zm~l zB5?*x7u4tY?VLR*jBl&#OM@jjA0jL{JP4#ng3sC*2#l9aTp7L4(`KlpEQ`&~Y|-kp z=K`#sAN8PYP(CuPd09<8e06oxlIv@m63mG7;#f^g7+Sj_bilnnmvoz2 zn>d+hp5wjS+=cKtC+4|^-la$SE$U3`+_br9G>-dtNq^jOWDTp4@wcoV;7EKmq$<` zW~B)1tSYl>?@#%esvk=>64ADgHHwO1sPhc1ZvhCcxKf-{f$kVHpX|gBnSq8v+=o}8 zVWIR44*U9h`#JlOPoaH45$Xm!?s7CSt?Rn|?4sgU+4q?Hes|Hcy~DMYtGue}z`+#G z@YAuC#i3XGSB=_aKV`hD=J>7$UF<&cL$DdBS*y~Ec@FFGT=OxkRV&iue5j}${=t04 z8O0tgpoS5Uyyf?|n0Mb^;TgRZh4zy`BKIcvM-%6D4Ak*gjl#w%n+uS#o{QD&y0|Ga zforvw3iECIg6Uumxh}5$so91fTdfNwClJhz!(Y*b0|cMt)wQ|Evg{Uhsqb1p9gWuq zjyYRSN8e87`tAHs^)=;s<)3q)`dAAric^&pBY$W}m@Mnn`Br0jBz zWZ5@afmVi5Xcg_~r#LV+s-B)2Ggw7W1(8l2;bYPTTmxi$I#62dg)(Irj*-N|>!jeW z+2|&eepsHyN12hjU!(0_Qg)}tXu0)mHTWF=5GC_qfFhX4m2-bCKEfUCDi`{4k2jQ? zDul1HSJK2z!`Nxf9m6PZljeKZ?9?I}4rXLGMJQpg$a@PZ1G`;Zr11?67gh9i2P@vV za*`Ik?VRl2$cDLqAn|x?M@`5){I1bM6~0!>x4YI<*0C=Q4PqfJeO|}zfq(5(q4ZPF zg@D0{&iN^uvC)hGM-R8lxEm?c-C6Si)6uk=Kw4YEtH{6yo^K{Q2~81|umxzhMNscJ zKPOz**GRqQ!9vT`Cwco*hyVD~55aV)uhVgK(!E;bbmDj$W&Qd`ZA#=OIQ^0Ll^eTi z-dg|(lqreT)fnkaNs(@w_LYbJ<$Zt~vP`7kY(x6T$N ztS+}&KPy+uOUG2M?OLzbF=M_Ol(j)HCLQfCSTl~Z8&|HDR5?aps9HK7WEjuq_UCpJf=gk7?-TkK-`}G6m`U~BhyF_&QAk|BQS{{Te;-~Q*OAGTl z4VcAvWr0}&4&x5u4mCggrob-Utc}asALT09cbMk3O_Zyj~RULY%UnKNBWK&rie{ z_NmHlYxx%Uy(Y0U2`r7X{Kd=lK0qDd8GBEJPja&?eS3?XhtT!>ka?JDh9@foPpIc6 z%xYQ0nIm~>W4b?AZE>3pUqkd8TX*OE|G@E}i`@kaCr~im4hIOKLC8u^M3qtja zY3^+yA?Y3)+ox)0B1|59T6aM%hnf_imX8gCsMu}WCIoSJX+yN0cXV6}Ca z1bWbPBfuXs8oESbb~2r|Zd@KKdo#ixhC&f271g8+{|nCkYvkbB0gG~-lIpdGdId%0 z6qIq+q&*{{^AA#cl_uwo?pta==UU6I(G#e3_pn#J@?`1`1x}Gm2!S9zBZ8v1%BT?e+o=qzSp=4jEaxp( zsuRTDj141g=6o{&=i8t2T_o?ASM;Y({OP&+DdDYPdud>Q{PLW1ho9QBZWX4C z30U>-#2PGf@jbbQGfWe`84pI9F-59tzCcTYs9dN_m%FbIg-bHG1&fZMWxGtuJj$rJ z1|iY%ThmyUUsza|9Go@{s5M_&mFS%Xa;vAKiPg_#pT>Oae!lj2=!W(QpUsouH?6GI znvtt&bfu=cE&)&P?UoTAAuo^Ne}S#kyqs1IqIsX6$BU=@N0{0NCPu7kd+gXn3epHS z<%@o8tG7v-NKnldt?Of(#Z ztp}iOV@E@gc>Iz!;RQ%4vcJhLA$8@+2bpXy{)er+i0#e0n)1GDez65&pE z1F716)wi6{>sbZETbH4nCw-MSr$Ci09qXm(q@^zvfi2%fidXBNDI3^cfAme|$(C~2 z4c2~Sa|gfOr2D;){-}^3v#J%mR_&_P&m51yBqr~(q-&PbXhkPWul|u@`uE)VPn}^y^>?SPIQx5(iahe=dZHYS za)tg}=S$lge#PFdnI9IOSSf%+4q5ABy-CVQ?3npEThg~23j92#4uTzdRPoM~I{YnX z<7}S(T)UKQym8-Sx3e$N3u7Z|v&FaOn|iOm$FZSAo=&mRt)p%tVleq>ukX~X{hV($ z4{@pF)1+;BomRp+BdP6FZmw(v#O!|g{QdLgGnnguzG80@_fvuNFD{x#0A@ZR>th2) zr{vBt!b=67*XMR~_qz>VL4X0-`*vGhxzC-p*O3%AgD*2zPDOTWG-oKQBYYw&vhW5Z zuPAJqUa2Ju!SGEYe;5s&_Q%^gky{eGLI@-sZz`J+R#z6o0q z?2*dc5#EOkegkz~#AnWB(C?ZcfJXri*yI|PYwL=AR<_1KhiOHQmw7sfj>P_Khs)u) zf!}VJm6oWeFE1eO-%Y<8=Fj?dzISUw)<__0!um};fNh5QzORq$)?ION#?anXgx*?m zu6VDLQ~yW!)v+wV+f+|N4=)t0AjHky&7q#D7FA1^@^sJrv~c>1i}4rs07-=j9?KQy z4#$xK#Eb}_eLd_5)1V;fy5;nr0HU!=Jj_k$vG>wVfp}Re+RxlkdPV#L`6L5OOUurc z?bN7nl0oqKxgJLEefrNI47ZoC1L ze3@EEfV1Jf=mFCVcj8xJ9O~wAFe;&uGo>`K7^|9rtn7@g@77v zzh?O5KDst=E+@DLXh8@uYoK2kL%W~EdkPWLS zwWEn4VWeB{EnXO4ti-eoXTm3^0U1zTp^6?TRivSC@SMueAgA2Fy}141hntqu*_Xa= z8K|r2c_R4ppte}M!&(|oEr25tap?vua9KlPA|vN?%8^|niX7Voyc`Zj4X`X>3)DWn z1RQvtcc_0)T5prr`p8)`(H$&&Vh_fAWwBd9Ra4gxgGGE+G@JONVR79uk~KD5W@WDB zP8j1f-mb?wbceRgF)o^Kco=?fV?@%9x;=Pw>W~cjq*4dqtVOeLv(FEx)Li;pTKdv<19Os`T(So9WQdB!qSgZJOB`5tKOK=+*4S;Toj7 zj@JLG!T!HKyglwi6UJ)g^a$go(0n<%W-KYj#(p|uxZzl6&FVkh>R6K`>-o@WY5dMW zq_jmU+gW!;8AfliT33D?ZvhrfvYZ)dU=j5ICe;3bA;0R5r4($)dZ4w4F|MYHqDOgz zsg~*CqX(Il8k|}q5P!OG>Oou=I;*v7l`_3J9~&*Rge5Ox-m5!y_1f)7JGiu?d3mp) z;VVYkcI1IQL2O6Wrs^x<5VVHIQYkMhd24!HQn^}aGO^NZVA_hKkYM16Wgx9&HmlB! zt3mjM=rB&UJua>xwotz7fS4p}m;pFANQLBEya>wj5w6iq8f5SPdZfPXI`_2)FlG9+ zm;NAYl^eMrVQyIz;^KLbtdA-PJ;A>esx2DI)3#W`h%(8V3_g87h8SuGp2W6Ql z%0#0$V}4mrwiiJa5djInVA(6H!1lTk*Y$vW!w_o7?i^z>&I48}tQQB?It2D~hMMv) z*zX4ucy9@u^YYr457sH_ekv@Lh?m_03S7Wcy-^vyWMnACR%V478(Q*(JbWEkuXH&} zkV)x?l_6e$eT|8SRF@jKE#_j>Wh*FAD9>bSO5Rq|{pN~FhBRKa7&Br$moOD#=|znC zi`?|{w>~`He*!ig{j#Kw`jT)qhog=LmPhEjRlbUBUnV?ujfm|FW*NY)*-@3HiU==#9sdE*n@}YpO=~;~m?UipDqq z*J(H1O56Go-h@d%j6xoBh8pZ;6~>X6&6Nkfms$5!FRwM9G+tgSRGz+%lQm>%bI>LB zv+O@mmeaMI2+CghpZXGi3akI+;+FF_CK9IVG!yENM~D$!+~@um8kA4Ds|9Zh&d4fr zv?uxHPD-iQ^D75CtYo^>Fd$WuFJ^5ho`ZlBQkVMd6@|vug`|?CG*MYa$mcca_hoTd zIb<)OPR(%&v=1;d`U9{}9&!#fD=2}VYHj$c&+eST2XB~^GJ6DTs*iLZ_842g{1q_j zF&MhrqydZcybYvTA5=e`>xJNsd*bd{VHc;=lUG&+Wvw#)epoLI(F1p5fXQ8J@(_Qu z0A}uU=sTBvKd+qrBH8_T>&Ezw7UqG|G2}D!7_E+remW|m4EC0&bB}h;KkeonGj4Soc9NNB;ZC_Y z4C!kD#3R>&g^{H5%g1rLe6qe@p2WD+$m=3go>FS%a$|hXxy4wB>Ffyy*w|vxQ>3?% zq8`wncPw$>Yr<4Rl3ilV0p!o*%%7>X|GGT@b0^}0V^49z!ZXDyyvn}JLw}G@i`wLX zKYroLD45SuPrI{zFD{Z52gA87T2fU|PXNdJa@aDGTO_T@NE~H@ZBgOXDeb{IVsu(3nie>7;qmn5TednDH~7<>HMab!Jgnv# zbyTfRJt2Z3x+(k-6pmY3|A$HcS%nRJW%qB77Nqe;1L}NQCN&O74rKQIGVM4k>nC7e z_BqRvE(4+(w{YC=$jWD9>$ay|b#$I7n+`_i5RiEi>T8lH>f4SrD2E?RS4gd55f?eB zvZ~Fb3d|82VED86GNzU`(=nLVJc-6k|w8fz_n4k!)SnRAMOTL)kTs+0wntBtlrOT)JrPWEOXF~+bx(?DY6R{3{nG!8%z%?^d6 zBw=SXATp||LZ7JdhlvMp!b0L$Drgw%I$RyyLe=@ymijSj>xLE^F5K;!?s>G&i(5|mt?QbLF;Aj$3|!C6rr<`bO3fXyWMmvG~0_yGy# zGqfXdd5t^;y!7H|jhQt5afjN!MO1&0Nw>cM%=R|JJg9)Hcx^t_o1K5sPFd{9 zPwaVrdtI#za;IGFi3T_l;|sQiK~+J~F*?Egx@s$2yoHgkank@Qc?NIUs{B~zl^t}M z&tH!#1jP9FKn1P8(aU@BJp8Qh>0#^ z>gm(CB-$v+zpV*qKpDqrls0=6af8XT9M~{ZJHqy5b9bZxvGkS|B|QF-Zo`HsxL5@m z0CrG~B%P|aXt2mwE-yYh6#?uCG^aga>88xTsn!1_5B$&N@$}q{&iq^b&qMm}U*V-9 z*u^KIc#@Z)#%Dir%A@Xr2=!CQ*W%l(QV(iMmTyCawzTsAzrrK3bfEPC5XIa56y8`2 zl^Hc4;9QzhhrgdX^BGT>I`r1jEKsc8jlO%-H_qnn+(%kf2B`OZX7x6`BQC7nzC`h@ z_x)s2P$_&vSNU_w)1sv7%u!_sf{K^--dCYtZEfckrbnN%G4G0<#}Jn&s}w0rI!VcWlw@i zSzL6Q-hpL$X6`^N9-}MjDT&a1EX`;44^zn$lQN;tvm^b+Py`H|N+|b~qINEhn$sSU zEGTJUwoc(xRWPkt&z%5r2e!q^3SVeqc2}>*f9t_ki-@Os*_F5XCpNrPoN{@{qR-`y zK48oHC_S@S=!B^uC+x!a3o%NQ$L$F25F}yji`eA=?4+ND7$6{w+=n*CCX}b9D$nr5 z8W_LYe7+)3sG0RX|25~Qrm6p!2V6D*?G!&kz|urbV~z^i>+UIPD#mZCx2;`@IFL1S z*q&u?*@tLl)?#OS9Pb=(FXQ?w(YakM&-fj!~5X9%yVj#!@7lc}cI ztplZmIhnmIQn(I;a-rklX|J&o2s8(O6S)g^takd8TZHm4x65b6;f>Uex2>Z=W9NUp z0ZS>lVtJP>A4+V(l{Y*|0~=eyFL1!Ay=s&M|L$>|!!OvvxLa6XlAU|Zn&_Bw5*CA< z`>^;@1#pD*+@DIA`ue{IhrsxJ__)8+tN$~wb$Z<|8&$ml+FRK{unOfD8ekeft;d}v z%jM?lISjW($dc|*`0r+}=bwyiujccIh?Ukd=@rH*k;~|kj9VAQ&y_-EsJRF1DQrjBPN!1B zbsmpBQ&G*=D+kEb)HsODh0slL1?mqemZ*&uDJ#xeThs|9pyE0bUV}4Wv>?J|E zWB8kCl6NWG50qL#K8cf=p|XR(+Te+dWG<0t1S%8Xr${m}E_~X=5Yh`ZorW-x4Bm#= zYT|%^nxtBj05=qIfLwj0Rd+MKK(Z9qk}@8?FEX?0$)38*xM&xbrFYFIspqAKNE(tB@nuG15nS`TBO&c8ueKH_l^CpUI2gq;5{nm+=KQLj*MOYaUg?|m%B1p{D5Di z2kdFsw3>&nT`Fo-c^k=h)&({kBfiff8fasDrf*bGJ5j$IEIft9X%Ls=%8Ahkz~vR> z9WLWOanD-yWP4|(M)OLUm7f~zECJ-aT&V3!gnH?<>6rz~?3{YD`GQMeMu_GYV@_S= zrBKs0G1Q| znhG5D5NL6aPv-}9U#ux4lM(;uDGUw!Ta`ADD7XLl&+fCO2+BXWS2!iZe5L(&14-1% zCu2+Yxol?an$Z@BC5RgBCxfPyo=l#1g>`n?ql&<_xVS;u#HvwOg&KkKHZ4cYF?EWIcH$|P#PI- zb^Gz@2bqOE!%BBt0t@f>91qiJZ8$cRr6p_GcwId>b`9Hnx{W%t$|@}f8Y5ak;~As< z_%e$I;e|tDQ4(nlwz&Gai&P%_uh{qh{`HY7n}80dusi(?Z^-c~+_=Fpt1%_gZAsD{ z_Dl>zCk11tf|7Vlg4_|Q{sKWv^k$P|<4E_KZ^cP3@qjKQAVLaFn&Le|Lmjo6JxiCr z2q=QV^#Nw(fi8LPGo^2K&sjz$6RN3HpdGn$rsfJ#LDw|tU_y&r!bh|u;G5SJcI>^u zFJ9`QKA;u2IWwOBqRzx996)1wmSuaCzBCyRO~8-Nk|p#sf=M9w(2bI0S#jr>Y3>b_>sy>NLdz+8AdmE$Nar4;qZ@fIOqCb@j)Bb4UgzH@)}dd+&r$O zf0!*FD4J-hS%iSy^0wl?FaU^z=$d!df-ceL;L=0=Jr@hA@k{pKtRvk)kx2d!0&dY& z6f+o_;2(QZ?TjkF*|M)1bcgvZ;URKYjDDhA)ZEmg_NgOv%Nw6H?4xVZdmg_1I(KY$ z#U>cU8O!(_jaaiVLU0m#jSH79QJQ?Pa0ahl;DO-e3VS-e?2ZKJBky8q&kWjb1*!W~ z@q<8^R+{VTaLoVxy#MPbfi-}*rc-2>2ps`B?So`Rt+(I3zaHmiw9*E+GX0_gr@v$v zOR>(tGT}MYIHVUp!83l8W?{_WVti?E?1X%ig%O70SE8m@w;i!eB9-s33GcTeGlD?j`s87w%x3I!8gY4xLtpG4>@o;ppYafq@!orZSGJhcw0b4-aIyHjpk8g z)Hc{kanRG2+KHxK%M>XNGU7bBQQ{;{se`n9)6a)CP2e_0AXnuOi=1qxH2w!X7zW@$ z{NI~+03Q5TnYc|wzp@Xg5H$2v)n`E2ObXV3#>WpPUCVEbPPArkzEi{;E8^iu=%xB}9eNUo_IXaF}3{-RM-T|3U`Hj30}BzxdgIuk|7*_Ew02Ra}- zI1jv0VJ^qgxr5^+emarm!uDG}@WnT>WqeWtlO?y>=8F}_M#i108{}q$4dVA9ccrQv zdih}YO@FuU?Y2Y61vxprC-L#fJq0i?yYpRfzF1zfUIP){;qJxQ>MfO`(f$ac7j;YP ztq@=<;l37P5kQ?SiBLU<1YBYJ9W{;u&NQ)~{$L*A_h5xKvVu_lTV#=(!`sbX7LFGz zr>9j`yu0hp%Bn(Od_aElT35r|lJRAmHG$B4!&4KH@esa<&WzAO_>=~fsH0v}aU_EP zFD#M>_Z?G*__O61JYhd9T=%iMAqJXmfFA?8l2M&)_fsj*kg@G)CEOeTEPJc|n(RrP_ANb=0zT?NQb-vMm+=kc3&^BbLk2bU&j za+7G*< zmPcEFh*oFcr&DmcLOAS{hVn#-j>zr6vUpI-&7K}A=^xv|Zh10&tG%T<>88$&F1et( zEjwz@Z6JS)?=f+YE zB6rYg=Pil_lvsMk+`6)c{EtrTG5(u$wDI4Kf){^efc4_v!tA9}KC-mR8shQwdQUQp z(4TInyuV)rt%OTM(WB#m;dQqn(Z!~r5I;WAtf`O?|2g5niWNY0Z|pYP9JaI_EK=XA^`SfoWUABrMDiGLC^C zMA7=01G1`5ARk9--eoZ$$_jfrMx>-N@R(8hu_} zz3@R*e`c2@%P|{Asn_SFX>!vw4G((e%A%+gfEI~av@t)OPP7_g2xhj#HwCdL_D7%b zSZI|PIdy`5Y;#_;;&&+sVzWDK$T*v`@%dOzhm#DT9{?2QR^QMrWl2+S%hIc&RT79v zHfmUk9i$5MC*L&aMUU&&mwWb>07BuJ-rin6=l5;h$$u+N05sy>N3&ZP2~+>zOWa+c zETgjP@i}^`hssYzN|zB_y*jH&-o-WsEIf}G-D6IQGfAFDmbG3m;~+2il8S^x0}xZP zte$43MoF_RURk9d7NvklOpMNSYFZxRg6F&H&BTp8p7iZ00+;xY>KPoqHE0h!D$@~J zEDQEGh98KKjiq9cUCQBhA*mo|V3U>hDni+GhFuZ4WD4LXx`>>#a+9|TfOg73-)F$W zZ%}p3f&~xaA!~gdLscxfdE?w*@|j2(byREL&iucH6P|oHb>N~je&C9@vJdFpv} z+S7$A#Q`UbsqtGJ!~HvMew$$^Yz10hh}~MF3FRnG*>alFq_t>Ot5Xeonf)VVp6PLm zpnu#M5f|(7q`X43yrQv_-)sfAL4Yk~q})WGZXPfwvzU#WJMX3uNEk~NJTEC}Pablx z1O1{pp{FIP9Z15P#zyP-U!&3Q3BHY2X8kP|;e_N7mrecKX|q$IV~$2uC z2Iw!h_no$GP)4kDc$+Nb_C_j0MO+pXW(D_4VJ;APY05Lp&808?SOt`T0e%z)^b49l z$>LOBA6VX*IAaVA9(`0U#K&FgI7uCSbOAl5r-*t&GWCrJhlxF&!+5FhwJ*58PimGS zZ7B=JNx#xX9nH>w%&n!BU(_BLS_T`g={qJc(==xt69|H+V6h28B3LjSXQmvZB*<>v zZRQIYJom^`*f8L840-rKT&Ek9t;}B0F!bb+?v<;v3md`nbcI$3kzyB?CM4=X!DzrN z9UDHXR&IXEP6lBx_L^YQtuWw3!HxObxYPZ&9%{9?5az*^3Us4=EN49GDLq)_BqRHx zBS7dj*7`w4wUKBYOI2C7fb!Gkv|WB!J<#5s^VKLsarVi#!>a;KGTaZ#rOR*iFx-v$ z-mwuHDDWJZThcoKOr0i2l=62(>K~ZapLZMiJ|E?hZYFL4mx}MxLT`;O1}tJPSY^?irUH zuAH94qB^KrqXW-^oHJ+f{dmyGq?7tLpZY7U=K*rf?in2O%YmSAI2O(=jt(zb>Rhzs zN|}W|cLQoQ-0F9SOLNjcB4k0>lfPX=-vssr8DLfm03ytPmJM75Zh@-ewb&|N!` z6TPj=ikY}GmIw5DG)1P_a~$U~Sp|0uZ(Xsgi-IM{H~JQqEjJfrWgR-FMX-Hsc=H`l zL8;D4Msi8%k$vr#^ z7JVh>{4!lWAxjtBR3*9*9^bQE&8wf>V+fq@i3k*2G(&kFLq=4=7dWtN*WO8$g3+UMz;iZ5!{*UAEbDD5gfAJ=nN@`LiSn~R z+-#_m05}k2=ie2X&S#<;hx+>Z41%5l?ce>G1F>s*Tg9+?bs(OjKmTsPeMPJspn$zL zgG7CyC- z=fpko2@doJie4=>2aw6`wXlp|k6qV{2!BPYN@6p%f54ZGW*9%7J(+2_`3dk1;NY1i zs@Hk3v9+;vZi&Co%gOVgSw&;;$1h_s#;k98yG=PrFW+*tW`R$k4Z7=_ro{3+Uo|ft zpgX@3Sqm!uepvWG(e7A$i(sc!ZzJ85LAA;OXD=W`T|QS{YfGzR?iQvaOxWe%2#C*+ zryW!^ID=Q+Js#trC|t61NOgyRJ!N2D#|Y!CnRf9H((tv3O)Bo3{N4;Orp~B>CEtaD zn0Bd6E^z#@=RIG+0#c6UoZY6kyX@k@c;0Klhj0DVm|2|kM?l#Evz> zfrzI?)=?IJb4NV<^@=XN{OTH@z!#_08%u~`QDD*?Zo{Cl6)q(%v0QCAb+Fb8xqnSi zTG=42j$WY|SAu}&C1ei(KiI9-NoHwD&%%^1N@x`TNXa=+q>z+0eT!;BLSwtqA)YdP zI&db126znv%`j!aaGn0!H!^=~zTt31R!V)-hVkUykLApbKpVKR;45`BGFuj{@z}r9 z?nnguRL;g7?i2p;N-+?W=Q~kl$<)=MzMd+>x#rQK zZ(wLeVLR+7te}-jA9^`Ue|iGBOLu(B7yIL9_F@{@hibNd-JfOxiv!(5IR{1&JBL^9 zS@ll5maeCLwDj}^&gN{{N^hm@R(}NwY42UR=cRC4r&YFZH4Qe_>KUh@+U1Z+AU%#B z2ZZR^lhglBUi<6oPi<}hr$QdL{cIfpxG+W|EO{(rxL3D(g!CyX^js-XHXgZ5;pg`U zd?|yU4=r89L`Ns58t^6ILqI4HIv_^}yg?b&?AE4hKv*QvEY+H;sU<~Bj8q_*wTN4* zYW~_fWzIM)#ki+QdyMoYvK?WO(i0hAab&pY(FKyJ&%@4NHh%H3$QZZL0PU`(3@~+h z0-5P6xe)YIFB@cLZ=_SH5xjvD}DC9wTyWY0fgm%a+g0(d0K1E1|X!G*=2m`(~7=7u$r#ASQ45st=_Qz(|uM z??P~7HGXCt9BH!T5l4cH_`-kO(P&MwJmS(Ab9`;IBTZ1cFyF17ki43lb|AJ|?&B7@ zWw+BLI2$NRG8umeN~bTgSGM!fV&382jmHc#^ccDTcG4S!4a5k!nnz{TNuGdkgNW<` zMo)wGNE$7H70Ee65Z`U5b^G^-YFdMD#cj{c%^h=Em+XiCEwNe7A#<}AKq_7l9>4iH z!Hbb4_A)&DIWi)15k2WJ+z}yd>F&ipo(6OqWBjo>U%*~I#7ov;sXv^ai|AS7GR1hL z1e#lnhSElDpvVBlfwT~#P$fzKcE8R906reID3qUfk^NM?n)$GLTZ^O8QdQ~1{$vQ} z6y=1R5|dSUCtz%tVST|zX<8d6Bp_F1R#zSX_Q2HzygWmmP&Li`l3YlV<=3_E zI9ZbJ|4lERNk?gWJpt251i!W~KMI~)O@;G+D=`Ai;Q5M$I&O7>l$ypwm0E8)(o0v_ zHiny<2e-=YPOu^<{{rGmqE}g|WlJwefZbrc$pnR-cz>v0uF1HI?o1Gtp5e|jJp9J? z7z%cDSeVd;dfi)7z)!$)0ftb(JMt9co*IHL`V&b5+*=xiWVWEr+O3%tGYjJ>as%AR z;G+{MF@vY0FWk;Zh%{&#Ld%J0OZP^Hl@a<-^!$SxhL?6Up^U9XPMx@hW$gwLmapa< zb`G#W_C&0TJQ*g2lh(%Wt}qM$c8d=F?`?|zfKJ8({%3V$Bg|)Ug^l~O}z3+#M~x;JHS^;5stTfu zjwGu9HVZePP9U)&Wh*328MSaL6iLYX6I{$o9urJj=hi1$H&1-2be@2bXf5nx65tB{ zY=3}@8KOB2gPqtzAy3r7;aGOO^ZCFp8$S_oCy8#GNoTSNJ~z0V=qA8fPLCpFpkB)) z*SuE4LU~RpnWiS_{VI6^6al9UIYIfX6_O$CLtzzp)at^jxW(QMtE#giARllmSzI2v z*M+(oCk-g?2V(#3+^3!ZItJ?QmR3suj6pQuv>6+IHf1?Ogrq|iq`j*kS8-zTTO2Ai166F@>N0OHsWmZNBX@Za>r+BfW7P$py04C_Q zwwks9?kT`j_!kIyoj@wvkT83;_MTYokzBZv{Jw>Sg?BIFe7=l~1X+HGtI|&0JdrWd z=EbP@zrSbU=<^S2ywP!&{6#J$kjhm`TMSv~yH2>4J`6tAn>(knQR~L$*oX4RHd%d; zRQjL)oY1zq(f9UJ7Gj_{wM8dXsf57TVkf1cQU^{y5N&IkrZ2b^6}ZZpJOmoWx4n!N zv=FoiF%Fy68zy!YRD0|HW|Z$Jlg*yY0)GsLL1Ozf?ZnwB%i0>6*OoqA5BvUY7bh>e zt$2;zyEeIZ_Nq}qDlEaBpHKGe$^XN8t9|$xMQg(YJzghkPO zhG%J>OfWAAq+0XD!R>a`Y=^{K!A@N$kqeL8(ef4-%56;)wf79={nE4JlC6~}zk$C8 zN|e+andmp#q3_pxL+{_*?!O<1f4=jmEAE83CNiNaTysf9L-zsVUhDB!h@oUuWu+ad(xu~J5F!d zzR#!TPG4(@g>y+k?9JnB<9`(hcxqeW-@pY^-U#bi0wi8?Nr6KC7EYwnu9 z1DeUV)G#$rsy+}k5UXV!UsrFVn6vw@r~aRJ{681PLwOcOGWNhtnHaPH;-)pR|ERK7 zn#t1i*O!fU3f6HZ7XE#uhZW5}rfmlq2A;+S*!O6CCR$$Bir-$ZYETM(rmF3H{Fa5) zY0~9asXm1#QA42Gs5gDxH8Yxf4=g#U>IwF-h6uAj<2}l|cy02x-6ZczOZf^3n|HVD z-SDUFZLOh$u$r@|{1VTX3a)sZ)5AQ6iSDc08#eUV{=NdsK45q{WYa|ix!8PA=_(p8iQ@eUf~mKqk7I=kUn_+o(>@zuFCd zH6+J2rSE(sct0s8%N#a7x}N=D=Ec;+Wb|=KN2z+{qzCr}a?_G(#|7{m>}QJCZL$4Y zk*4{Y*o^OeF)5R8a{}4Td+$v=<1OXw#unl0>9_2|tb9K8qFA{GjNY1Cuzj-ncT`k! zg`&1gg!fRx!RQjF+YZ~$DYkjZZM?WSBE#u@ROHZ3txXr3e=Xgq6o5Y*8S;C?=~mfH zR$q6@l_a&m3!iSL*ZAK76+OL#y22?xWX)5)nqXR&8Mq@?WNm-VMr<;5Sv;k6y@q_; zy&^hW-*WXp-Nx{ipT&f~9)*9#5mTd0OZVzKCuAa8<{}?7s)k2Ogh}63aRK}HHm52q zJvTX}X6mn!oicbe+ypxt-9V0VuQR^Dd=eJvD!z&{$ZEpb*!9Hr*5O16F&BJ!@c8th zzASC6B;&A&^*7k><#z)`WxM;~r@v{&&X$<)`arIFES=ptnfsqQ+^bRYydF%K+$-w>c&{dukLCa}0+sifrz_6t#F`$tpz6^}*%H6| z=)LU2wTEiX#Y+0`J-+PNPQcKVibr$Y>)Jh|r!*xT7!9O`Qt(#V))( zkt&paLg+;F)Tz=tcCoX+q7_L8^ZT_-MPvp25?zT0cmE%D$@WJNjNMs7<#Rdy{gx9v zMBP{1$$*^=Qt{3&s1cx}DOLjSiAwnb6D_3Y8JFg3J3~KZ=?1lgH)+dLZRhN5fn?Kd zcYO$y9`qJke#MT|p55Txu3_tVWJwY`A1$w0K_{T1MEaj{)&zM2K0U8eT=$&YxhFsG zMQ0X5>vd+?y$v=-Zh%HPPtNgu5u~F}YWQ;B9SyI~U{` zbzMC)O4NpvR<9LA_K|ax;_@Ih;1{@am+S@{6kVsTZ=+q_AbakSe6^hFtBfOVOLYA9 zJ=4$Zb^14+y@0y{Y59#{Vlk1IRk!m9`%c}olPuCT|BWf7-(9cg<*%FVo+$Aj6XY9n z9$1~$W6?javFHxkHKBd@J#Gr*0{4A4N9C+z{w;X;kAWi4bMs!sBY`uYZVhZjLQM0zI*(mN6<0#OLPNe4wr=%EG(gceSG z_u1d?%$zfG=G*%pW?(|{JWp1+*0rv+?t8Kfh0<6)c1yucV=hV0rT${1mbb^Du3U~M z1>0E+`Z3503qJF1C9UM} zGB>PX)0{IFFV(83B=#@{w4Qu`H%PG?El4#K*7AM(Z*nP1_!v|GK;tK3b$kbLFFc+Y zkw9iyaK4mbsT@PSOv9cd4VjJQpqDGmX|Ps~E;>l2(#DiHvD4MvuOe%>`B0L_hZ zVM&$kv7eI`^D+>1y3`u-d}bUKYRW)z=Mno5PgQAmiX`NP2)c~ENRszQqex(%#cgH9 z%hr#pWH&BJLU$5OtwsvD%3(5RoUcSng|W}0bQKk+xT9I(e#En?gkpuKJE4MRV)c_& zDw~y8j{pb=zlCHq%yde1pIVsRNHHt+KTZ{IZp#W26#9P%Hue766!+@K{b$jzO!JDi&g6Q+rLfODUAh zrtE8sXVbyXKP~d)2_Ov6qLLa=XEmFNtlDi15;bhGtoMmq0&p;x={ zV4D~+QbtZg#+WdvX2Ct1rY^r!91s{z&1a$O^~AQ9_l29RtVnBpo?Z5dfj~=@vVu45 z6ioY~l-=t$)eed88392knHopnx5&rti6by-ELQJgU!$mp6%WWJ~ebU;gS!sR@r82^rrV7q6>+WMerj%tRy5H#x zI}DI!Y#x{L)sGkD#Ck4mE|&_m$EYG@kbLb924Ooi&J{%pWkBCgF%f}pW_b2K1P}1f z&{{k%9M+?oe@d16gR{}_H)|qMxS{jVRBk}rEzU|PMiT? zm$a@}>~(5x44auGx@bENvH)Q5>0efwRF$YJ_88~zDY^Jo)2=~>#TS7RnOULbi535i zsfZCJlYKEVz5e0vp~NdMcDsRVUgUNS8>{GTHtjr;xLKr^GI&J?#f=n$P{qf@WK4IL zw4&hU01sR?zt%S0s9@_M_G2Y|>p3-le!ZbVC}c$kQI>Jcm&6Du1GY}HOwpJ*rCYSe zI%T~2P+X`9SyG2DDPI62PKr#L7y}19MKD*Ix}`{)Qd$#CiUgH0M8H@zU!t z=Yvov`%rnrt9Thghw0?~bT3GVaMHRJRbUFZ?OauYVL2RTTBG= zD$Q+94zHu;Ny?RO((Hr&rIhcg6L*XfdQ;=0d4ct);g4NXIs_oe`J}MRva6tH8QkLG zk%O7jjcz@T4lBhEVYn)4@d-FaxE9D0c}**vBz?HtE%Gu(bDK&S5AbjdgS-N0n|a1x zVa5R3c_**zUDgdG-0T7iKx|W1mPFw5(N>5)-GKsRU;EwOOcDdGQ3tn2Za} zNBWjkOTN3g>)ONXvs1TNUMKKS=1y131fZc53`zJ+bglfl=`kNga-zRbr1n*Myjd$m zOtlnI_fg33A?PBhWS#UKgu{{Trn1?Nu>cEA_A9d9-t`9p4I&^FDea|H)vBi)#NTUX zho}%gVDgdmvlhNLwG?~vDiG5uE{B-PFb}sXsoh%hI6hds{JCQoPA^{DhY=38YAzF& ztN%&MXQR~DCY1Ew*uyFbQZ>Vkriow-$9edvdoKkY%Zm9%r0j?bGAW3DcPAB zPSU#QON|nm9ah!r$`xff6?4y*N(%z}Mq=2KM@+Y0I_cc9Y)6jY(oR6X>54WB`GIlD zuTu75q;^KS7Y7V{BvxuWNoGPZoQc;$CP5W1AK(7G>781xRTfCqi{fBtc%h=`eHr8Y zGYc(3^pu)zO#}_P?*s81vsfJ@1YnKrCG|UiE2FRHE2SlejgmW?#z5IZi7lp6UNZ}c!fFhgy8u_BC`bg9H*Ie=iW7^g`pn>ndzomOtlR(1}+=l!+sKLAO(@;zIc(iWfyBb(%nPt z?Rl(3^?;N2G068^-GFeQy&jnow*=e|l~oz0`k0xh( zHj{H-Stv9(X1yX7EQvK>J@LHkYLxUb;(Du<^n`YifTj}y2LPJGw0||~Hj;q0wm8dc z6`d1?xi*o@6PnYYJ7tnD1teo{q?lbzsy?t%)ins1RY7y}?M8#o1}4hR(UrOC0Ovz7 z@b+L*V!NoSYFT2UjIR*3v;-nH0N#nj62gUJTPSn;eVkM4 zQW6KM{6%ysZy{%%_~p>p@-LCNyQR`r%?BPFNUI1~$z|F4Re89B!X|P8W_p_qc-A1s zX-wG)A-KaNEeyQP$^PPE#t7|+ z^_D6$u&YR}Z4-~(`c7$?ieG&~_|rp+3u_?@-On9Ee6a=y?IMsF1A?^PW8x z`cU!1&Y%6wog`Bq19_C0(-}cPejrH6Td>G%e^J5tU}-427EZqsTU0XLW2(^qosY11 z;Wh@9ycV%~;P79tTnyoAee;|(_z3@Es6ezjap^sC=6Nx1A&=>}+v>xyd=w*0^#hhd zN?ekV3P}Q^Vp)SnzKl^#A?y5}m%6#~XOn;q(;RT3C#LH872IyU zTuaD{FzFsJsS~Q3%lF4)sEJ;Axx77ZD2F}G$k!|`G`)=Lt{om6$?HfM7?bs;E#ybE ztUh7@wg#%(f653f2l_^8*AGn@T&>cQrnXEY9|AE$JhRlGVDw;O=^vZ>japO9h=}`- zi;^ew52#49bGu#c5$xhsCtE~s&mEYCsT4JR(WB3UrPSukEhP1*@@3Vs2w001(^~Ic zVJ(TmoUMcDMtW3sW$DgX+6GFvMxy#z5~K{a?!Gx`@kKln=gnS9V5^RoXUsQ?Ly?f$ zisU^&*yl(q!TXT1B>EvMTUGn|!xs#OIh9d8R`Onv)NeV@25eOhJ`P4}UDLhsM%^y+ zWJ(82X&A=uFlJRE&;vC-Vgse71bR7%O1WwsM+L%ukFII4l4eV-M1cDe{)^aYee+KN zkGGuvi{Kb~w4)Rq**KTk=BzHku4o6OkeRP@Lznu*Rw|)78Cz2>rBK++^qh-%hICOj zaMm_(NjxrP4{r99IV{&=E)7LKD2JZosJG(47_|$2Eg3?jge>e3iD+{_6Er+RfwER^ zkw~Tq<(WDYsUC?F1H6Q+sHX}grLq{$8k>&S%Q~#A{COuMwR3B-Th5(!Zxg(1`UPtt z{0CPeA2Ey4qIk5l5SEX^?5NC6)_1BKG`fe$2_-cCq>ye(&i@V0LjJ2!WI|{ZxsNY( zf9Fe$p}b3}X(~pz)tNlT?(e_}(>w`Cmt#>9yN-~BxGiQfWl4tuPUSgP4lTRubyi2X zRO*FBt;@;o8rjWBP7nq+36rIkAp>y09F4y?Re94%-;CW~r)tj%?Cz$G1vv-?osZfVPOiF~3le<)VfpuJ3A7@{Ato^=oMDV}-d z(eDSjcNm{q-TFx-c{7|mh4ZbZm$%UQLw#B7k2`dM+I89lCi7VZg`|pv${z}R6Ui?* zH3dv8&Y0#flbPhpkWoCO_TIszt0x@95QvOx6%3jdU=(_b;=hHO|1iHt%@LNEb3t== z)Y5y8k6kPgT~R_Xe|zN9q)2GgA8H3ds6uwfyJOY8Vuj5sp3BQ#QBUy|Fr&Vf12Gl% zr-B6stXB&QrrD=7$~c~tW)MQUjK?gpx2SY|d@9v2_PnwKJzz1VR-X|^U!LfwWhR(G zzC6?Oda04Ro3<;x$05IBSWUt8ExG~$>ZbG3lPj^~{Bb`znbDjvfkc8jakC2SWS|K` zKcT54q^+93)~z_(q=K4f!WwHRovUvD7Y$@{v#RHg`!-+c~Ik^1<7G zSexAPby=}jThfkBxt(_waB;rE@wzL zSHV$Xb;CfOv0Rj9XR9%v`XAoVX+&z++d4E;&(+V#z#RRrM7H0CF^pwijhzLyL zUuIu@e{<@y()>%Nu|SY%#3Z9~UJ&pHB0*hNWYdv7Pr_4Im9^1f;ApJBn7#$sWvjym z!e-VijHREJMngW(@{i=LAFHayJlD+)XbnB~WH)7q|e`{NWdaK;1d*hNU4JqkVB?m^%GY@zDM|hU||#qZcZ`z|EfcH+7i=(Oot#i2oV9 zsi8sV1kFTj77VI3X)gE=h_R<{zip~!P$rfvW8SI~`)P2suDj181C*m-JtP|%tLk%o zs`eT_5RTdRldAHCq2q93kDc)x=Bi73>o09(3o96!-M&lMoF)lM(E}21OvSn z`c)=N_y?zglm0wRJj7A3Dpi&QE0Lu-})?*|Wy8k@sc$WYh86-KTmvOn=BQ~BGkVr{bH7yelXWRj zBKAH(lrI!a5*mwsl9?}!{g|}gjb9a4*KITEFG@9}iwC=j`oOh8LMl)DYZ=3986jJC z6@*3&(W~$ex#f6dSx4~dc!V(#b?!NX>Y*+SS6IfNh*fiIIJZvy5i#2cR9vg1EINr6 zl9S-ct0Lw29424l>wd|b_PdB+Y`Y0h<>8VEDUsY0^uq(~L(h!d+@E$C?-)fpK6h^jQL5#G4R8V}H(p$FgK1-{LXR&ZfCmDs;VSHPij3 z-zvUX)fH`vEKL?G`htQ<;FB;zRHI_BDH5WIYpf|-ck0q&%{(UXSfz@g=j!7=$`v+( zXec;H4~)$;y9z`a5_)70|6%cdQip$B#M20c9JU{v+XEvPuUYS(WAh$5cc@+0%?s!> ztyCCK2Od=WMf2ZX%wcFj<NYheua~$(xow^|I0pND=sBK2cPl=EGtfA z5q4zOi~~qT8Z7$D6`UL>=hnbyR#V>vY~(2HG+=ox2Ob4}adeZaq_~ODs_1eujddNJ zc}{J8E&qsf++%(BOct|UxY9-efu|&MslE$Sz&ZFI)R%Uu!h$o}$7Y*Gy)6^dGsr51 z5W3Yro0ABZLnr{kl31AtVBm$J=xa;Lg@{lqxJxh_&H##ImiXP)b+ldwo7> zxEZCaZ19uSqPPrsoomJA!il7Ef+OZrhA)N!*j+o07Tk}_PKl2*)J|P#qsV8BxSVk_ z5=5=V9=B1?-k9{ne8ilKn7jAAW@k5*zCDub@4=}!a2G+?y_nroW+yMXjvDE&Jx@TD zhu+!P%&%u(84$kFib{CgwW?rn zLX0=)d~np1P@I<@J3z7>ZVHyaHcg<1z5PHwuKFPP?i1wpxSd{vd}Olx4nb5iA&bje zVIZX?AoEF>ws1xx#aXxFSQ<7Hylpe0S5<^x2a=>6DRFqP?1B= zth*e8o%^hA%W@F`LQb7#u~8eH2f#CtSC22Mo&*`%7i_5~=G*wrV(cR~EJ77b1YxgR zmK#3H^$)ab5Y%ir5#M@Yq3r%`-wMe_21~1RbUJ1J9}ddMN97RbK9?4jcf(O&mYbVt zA^03q3j5_Fm8vD`aZ-};BAakrB(wA0%!`O02@^?4hpi76ZvSHd9Y;xre+(eR;w~JG zKN3bn5wHyN0zkCNxu1u@=z$!3XrCwJT`!31i5ABVrlUwP;UTT2h*tqf{8v4Vf#6My zednVMb7oE{jzNx@Peb(=YoGCwL6H`rSJj1@Cs}1d&AaF${y3jk8%j4gPXaQ{SftrL zXAoV#8D(p_Hz-uECODYn14msiNL1LTs>Ofwxs3^(gr4uo6f}IuxP9V^g^V zg$MJos?9{($j`U65W-T?vqD|gW4wqStARdM*yEiONPLf+t+-cG=JPOfxJXWA4b%uRaOg0rzdG z{r8Fux@bq+-d{-mdQ<&mSXXDA5UW3k+!ku{bZ_2;QQB~{xeCb~NryeIrvBD(ws+w^ zoanbotuEa0%FsJJ;Hc&P|EMG1?0`Nz>a^9t*R$l;+xzk5`DpvE_S?%LqX-{bkCQvA zVY3o6S9wGfnxBSRHew@U+w#$FVWT;T$lTl5j{Fs$BE16l>35jZybbYTlJxZVq5#63xSyY8_RhTBq~X9VLRow2Ux)7? zzJCc?4`Oj^!*nV{2nn4P2-8TqwWHgfctB$hS^4u>ZgwnQd#vnQ{t)!b4BmG#c<;_o z5LQq(t8`=wo{M}l=XKbsnjCg|1!W3P?RrxXvYhTuGU-H~64W&7o?nOU*-mf!GHGoJ zIBRMlNQ*gb@XVOMy@`xoUrILnT8BQF*}^T?h{OefSmnj6mP?Bn>N$l_;O%b5bshPT zDVQ`C-2ddzi4FZisIUdJ``oEJsU`;MXWM<&q`Sk_#O zUakWO(oP3){4A}P+g(Jac6Nipr1g_=>bH}h%9?6vZtGB@y30s z!+eDpt#S6uf|AZHZ~?a$S+KTm4R5_Qk{CBsKqoN7LKJwZ?xh>xm;JOpRSTP4?_YN! zY4y$bGn;3CD+Po7pX#+R46!|^3Fi5S(_=g}r5T6Q48W*xXdBzY*WXqq#H0%P{b${k}p773mYSLeyM@6j_n?z4Izm?J=;-O%h zJXt(Pf`xxYG5{3|%-wGY!>vF?u21&A4oX@M>t)oI3`yUYJ1zouYFz-*_X92jCGX|d zG}$RO{U4qr;Wvr+^JeD(pl^}b$&Twp{)y93Z<m?z&Rd;KKRJh|9UOhX4JhOv!HVbrj-ktrw>pQeE;5i$ z!e>txGtJ3_5qSMskHJLrnaid>$vuD~ryTVu#=fAoshO!{m+i}M=c~F&D>A*{mqMjS zif21y%N5_7-a&yEZRW$a^cK>r4KrGnouu1G#^^gx>!>k48;ZnVcm;E+V1H!>8XAT? zvE=+Z<-fQ&~#1%waN0>QiGgmHc=)8?uyc6+0_?WD-${QqX7!L zl`;zD$$NSMsMT^I-(4exKAmbp+hTCbG3-*0ED`dE2%K9eDM@c^D&W9?~w)e+Q?01DWb-Wt6 zKV1;iTDKqPm4=nDX}f@fJLf17zu(Ip?cgrXH5u3^Gn><2Dt0IYxa*y)h)`a5Vruuwv#zZ+m(3G^f-SCM`@0K=ac79(yq5+ z$M^V$BsH_Daw#+f?Zg!k>vNP{5~Jj#MJZr_L;*F??f&*mm_ilfMTzHD>i#U%`{OdPtfjdl(StO0ZhU-Qk{Od9#I~aF5 zJh<}vB`F}jIDZyws;kk*+O&5b1h|(N791oRR7C>&TdVk2ByH4IAUK~5gZOS-8MXJD z<(dh%>j#V!^p$(yE?Q%Ax+_JwePw%JQ-Pjpvn+DRk^oq*w3P?VcnjwH`DXr)l;A0r zE%)Tse<3uLmDqp_9f94wgTDWqG zU!OIpZr|4lIt2vnI}iF!kL{_ent%s?umv^nw+qX&pM3HX8jg73*Wp6# ze=t_sS-xSWe;D}ojm$-r*gNRTVit!D=jGl{xq`-XJNZP3klpNrxi6=c60Hg+$4AS} zVrX_@#oyvO(LU3LB2|RTPLBM=<Ly+gu*^(HQ? z(}s@}*%~{$md1m<7vkGafzT-Rnii4E6PC+Pkhi;y~hlo zM?F&G;ls9aeo^jgnI#%PjdX94=DgS;H%{eKn!<4OYNsi;#^I!e4~A=Kx$*wStj?IJ z&nDTZ&@NcsXA%H|IO(!st&!0moP>Z^REM8RJt{KqB;u9YJx|0-w9OKk$swJjBqZ_o z9fsi2F0Z~lG-sLOWzvB?1wZQn6$BsaB%N0Re66Nbml#$E$L9KitQzkoE2j5q_LTU% zW`LoeOXQYbjkS#XH27j)?K%uZ8sqx3!=_4M=VDrnwV?!&6Dv~WD3My!+Em(ks-<%P zgG82mnvNWLNs_=@Ww90+-b0eTqTt30(g zrg;Xwk*_H5v*}P_@eJLIu^I9kNOvCZ=`YCy6>>vGGZQo;hl=(Cc;qpbXW(1r@HLt_ z>v{P8G$SDNG~WF(q&8Eq{pDqWoOtNIkE9Ix)8{U+C{{tEDKUZs3Mz8gA@yZZVl)&Yo6v|B{@8u^E`(e0x8-+YOpYCt8>dpn; z6t{hW{!jh)yDamq>OT+7N}0N&|JJIX_6SK{(`v7}O`9sh|E%1)H-V7r>$((GBZWI2 zhq&dZk{TG>#XcF-xatJfAO!i=AyTY$pJ%j89CH#GOhq2f<7>k*XK^OIlDSoxSM%qi zE8x3Y#v1P?yoKd1BA6)4#R}!IF$dPtHRf+T_y_w+IV^Z{oaO$H}qvN9}tpmh}*RT_y>B_~W%UIep|4Rq)Mpa$u(^i-wO&9HV5_Fa#;|bUd^{NBsjv$5fbe z?tm*{)jAU_l`E5S^1ak_jXI**!9d~s^IcZ~$=yW%?pFqi-c!6Fg8107+#LBTRW-v) zY5jw=Ld&iVn>4+wa}n%2rnJS6}vJzzM>o$>0QMtv_6SWT zj&$q!mD=B|>4z_?Lo?EA7lJEEvxj>}vj1IdzrL*{y=INN|+&n^dR8!)N3(}muZn+&p;y7J#%PkYBP3LlwDw(}LxbkxBj>{gL@#dhPSmW2HB5ZSHOHb`V|79eD) zz!D!&5maa=p}_j9mE>M4b`LkZX;SIhpd-)ZQG}?`PVpQ3efloGw&NpGzd!P{(tmMa z97FZ6BR8#ylP?n56hY@(&7JiCLb&i9kk&Oq|-3_1~9s(T2N6S}8!Jy?%puEA&( z);CgK--VSQlstVv6C2ag>@?0qZDkV?4a)P>2@;?AY|TZi$Z{!no(k1$CkUb8lGrzC z4>MV-Y4aHm=_+$7sLiq|$H}i9V!vkg=zx71C8u61Yd`Cs=?zzE zR5EB0bewe30u9X^XLH=GlI&B?LM(qvra|+iyZ<_N7;wvYY9lx~o|6`#87Kmih|K`A z6R6pgcrAg@-RNXiP$V28JfN+)<|Igvb@m&Cos|z}k6m$c9Le%(=D&Y2Q zXtSgl6STh}dtL5RVgSim^(5C7A5tk-gmX94rzZ0KoJ4_203H+{X;hM<;xdr5`=Zb0 zSxAr;U6N@?!IOzJa^QN~AcGMV%t>k1pw7WM8d3s&40dC-(a+Qk7#rv`^%$({E8ovDJTA?=V0;%{VzL?waYC zG@BzxfE-$yoEJ2%ZFyp3H#xat`1iN+4Rd<@mBa5x8P3sQrbDvrLv`T{1=+|jGF%rk zbgJz<>epv*X7MjYcPLvYgkK;(r%H-8oDlP!>@J8WH2R#WnC1S>Sn9reiqYJyNU6NH zPVGKp5vZSTMBzqu`!UZz{@S8BOYgk2qP&%I_w4Uo9_VGTaY8m#LX7>ufxG?tn;dc&Vj z9F7`|pMc764~g|w-CrC9;&Ea@0%vBY3TX;~t@Aw_2{yTex=k$Jd2(@3w_6Y$xu2r*rDdaSV<;%4n&Z9bsr>P5N~&lOfeCL$x9KRIy2?NC zpU)r&+!jR(pKzP!4cwB_yp#n|N2>THlq58gP?B4qHvscr9aF z_^Guay{bUwxsI|_gyB|Pe2F}JSWYQHP25Poj^vo7p6ZIOx%!YA&34FhHOJ@c9D|wy z02M)@MA-Q2W^z>Oi*zbc>tNgk^HJoQT{bhkijX#1H09ZjQvF}r@pv8#ctuUE=Y2`} zk>KClbB9ubNlu+xrl83q*gJsRUXpuPv(Ls%M??HsFfx#P@;K|mf+zxS>py#0!PixG zz4gmdg9K``C{|F{U$hw@a5e}FX3)Ai%?;1ZDK~$!pQ*6NrBA^1yxj_i1!| zO^4#$2-VHuNd#EYE%r4(O)3G8?Y{;0RYCh_ZI)Aqe(ihtQuLyH76i7bMpax=1 zwQ!W@{kMckFUQO~`3&4zgWqg2U$@sa-uuTZ<{qQ%bKe^QX#YooCVn>@#ZmwdRj!9` zOWBW(ltZ8DoR)9aT6`QSoB``#;&k#ME9o2cF4PYfN>L%fg#KVB&&+(5AY`LjisES0 zEHLGj2%>z7VVmJ79$$iq}9LA9DoTCamB01LeM@rY`ufG(WnVFZ6uJycKki=(=ze)?o(%5Bv@iX*!SB!G{ zXpt3gyuEyd3k=xr`nVh(4NCyeoVRgD-{MRHIxp63zD)$&)=OD^@s-Pcpd~ZvE+FKw z#obaAUa+9xax@J1S}BI>@6!}Xld#>oJqvw`RL!5bn}&bbij&R5?@bG|51dLxv1vMy z5(Z|9^Yn{hTHtN7fEJ!Ej-cJNC}TJK+chniB==!Wztzgkg?1B0|4!=rz>>D|#jvB! zJMT{CPZUv+2fy6plfP==9`x(8)K+du%O&yJxH8{lq!(6udNBBaB32&xu!f*%9bw}N z7S)=dTfCQhh}5Pvpac}kxN#TJf;+q+hvYR2+QZ(?oHo?)-`pk~3o42L6bZ*aTKn|? zptHi9Ut?1MHf``OU-dKRmjd0TJ`;ejdc^u+_xq~o>ESlW7-yxH2F(qX_zwk=sYyiX zhLQuO?StKx)?Lo}*!!cJ$fPA50j|tI2ZH)!wHz3#;*o$ZXElGgx%$wYFosxtiy#SX zEzH@cWVza^_R)dL3r%URe3}55T}_c)5Y#AuYwfQ|*T=dq`*!9+-nyUB$49?d;Tjrz zQB9KV7K*o?-Cn=WaMGUsvUE?O%W+%KaN0mz-&3i?^NU$=AhU3~*3S6i)*VY+LO=l#m`faw9tyj0N-Mb;`cDRV&zy zq3q>{g~FDPu%n1*w@@Z(-U9cwCsRn;sB*q7dV2H(zqcDoWDj8nhjlN+pX75M z!`>=GlyUeb>SgR`=)?Xgo1guy(b**q=d@fFm$)E*e36@&=ZsZUEGUufM^6Buyn zp8_!xo^l!XAY{BKK3I^5lZXeDeK~{wuHAO|^HD;Qggon8)#;QsUfFi*Ad_FPu6Pu9 zhs3Fxr)>{$DZ8-Z)n=S(If*>jLz#_d1E|k82C{-*pEDm`a}(ms_aiegz%kR4%Yh zzf&`%(SQHWm9K$;x%NDl#+Hk~ii1bE<72|+jDk_8>PrH8n-kuZ?}!2qhO3YE^Ht;Q z`$iF$G>X@#?Hv*I_gbYn4F=td{O|>JYb*rwxk@6G7*5QQ3Nu>_xwbwzN&$Xy2cIph zdcQL!gSB2h#^qUk?KNdnmD{zlCVFD}< zt;aO;7!74}4!-5P)AhP~yG_Wx77O`h5ztfj-{&k=4(e&3$3AuW@xAIcK*Am^Su#S7mFB zeQcJx@{{AjhyAx$ZyIT0sy*LXt1jZjcqT3RwW=XNoo*WMCjK zE=~F4T)iqgS^Hu#U&ee_yYJ7(RiA&xW$(^0SdjbuK7}2avIbBd#a#K49gRqs=;a1t zrldM!?ak8KdwZ>SXD$XGTlPPv?^^&jZ{wpoTQbd4XI9{T)0k*`XxB)h{!j9o3$SHx z4XysPozF+pXQP30%q+R*S55WvLG1q0d0zd%L#hQnRNBzXMerzXuM$satuu9#gt)mZ zN2-~U(%UTL9R~6aW}@1A-=iKnNtgLH%-h(L^B_xho-gm@Kjp*3iW>}622*GE^ zHP_&^l{M3k%qZvj8;0{|Xujp}CPgv}y!<-g$jY=yt;bZc0M)wCCYJV|Z=$&;roz!w z+rlMjVR=b!ePB3|IvX2vnvBst$W*|FHg90TUT>>|>E5aZ^sx!AN$A){oY|9n75;S) zrVqP3*mlQ?0ajPX#igb=cJ|ti1#YG|IQ@mpC2v}kyF5M;He$i21`lxr%~aV6s%Z$6 zv_uY3hh0*$2cYKM?JwV<@=v4FF2|pl#el+$0$O&cg=7QXOKDL6@f!2l&P>3>&wI@L zPC3xiD*|6nVCdHfTkGe62X=!5-ksj{V&m3LAoAsEv+^lvys&&2yNT`t3;gzX)z9%O zc%5bYwP3GNc6`IQCld!4O6eH)zTbKi!TcLBdT-*L7*s)A&_o{~Bm6V*F}i? zcCRn}n)lY_j((&j$=2+Lgyv5*>`(!s!VhyZXd2MTZ7oB13LA;meCcp7} z&Fh_@Q(~ioMNDeMX;0AE@(<{Cd#K^B*YSc`3MEC;pL(sqK%hK+=;$oet;6cgbLidX zvzm)ea?)h4b_oM=6X#|vbJds1(*3o`Ie&S3wM=mM^y3OdilHp$T#sDBcgvH4nofK zes4Q;_@Ccfoq})=!$PLB8^CAuN4XdO1XE1;Nmr7bf(a*f!XkqYy`Yc)WWP>i<+^5w zO_MVBJz-R4B5!yIOIwGJv0`=|@VP)#-%J&wo33404;wHRA zRnz+8xzn*LN(J`4(52-ALXlyICtu<7^jio_m7o6iykz(n&*DUn%kv)T=CQlJd>CHT zr5RV7nIZJ*^y_$QoSUP?h7@HuDg?51c7`Eu*FlDT&jAb79-0nj4 za3RyvEC8{U6><8PI`Wi=pBir$>@7d}?)2{*ns&vUxX%a|s-=S65FF-gacS!(V*fb2 zl$)N?VkxARl$Q~BoD#mg6sxKqT&7y! zP`plJdLN(w+|2lT*qWCUv}M$55d5AzR`Uv<%OG5IP;jhu!Di&iyuTi1!sq;T>)f`m zS5W8DNKlE_txcJ3HM&k{c=`SR4A#~ai4Cw%<>f|^6Z)bO;Oz=x44Sf6v(S9CGa>>P z8)Lx-l=S9in=;teyfQl2^!G%z(DrKiq{Umze&8}D@GpeP+TGkNJJN3B$88gXL~zD+ zqMUOg@d_i>P)RxSwiy0DqqT_~M(iHP-@rBIPgw60wt2|BRDW6-CT=T|Fu7*OuN4x* zVn4#l59t+1sZe*n9XXMB@H@rf4 z*3g(pL~77%ByfN6k~Ed}j=ioIc2^$GB8n;)v-Y$H4F^r{R!Ia67#5X@w>c6jPUuCy+u+z|`a z3FEqawJtICO|)SG)MVz|Q|A~wDT|={G_D^x)P12z-Fz3Ug0gum$YXJEFzzNWa;cto^{&}HVbSzv$R7+k@WVyrVROv6w4+kWGT*LBCoM@s8=4DJoEGd$Jo zfDv1G+NB~i+E3QyEUytT(}skbn9QSMdY4Oa>%N*G_CV)?-qOuK3Xb4{$5T6gIprny z{?K1b42>lxmF&Iw9?w8awiE%_f@hgF$exLjuT_!FQ3w$wUZ@ixf_@JNzt!jT8WnMp zwpuj1WrH;C>%d6#l`>GP#S%J5mVyK85(CR=aW{R1NKGYf%IdEO`8 z%au4%+{;MtGeF(Ni6(xmhSknVHD&itaXi{_@bU#et*H9a0rFoPmww(Pl)(n@P_Aqxu(DS(|$)EaAA&s^Spp zS;y-lqWu*$f1qy*&mf|yG7B|3xsT|^p)SWt3&?t5GV51hwf4*cqq7T(?m+87`HtEq z+xfw0g7TYmmjrb$SlsNO*Z-D@y!crxPZTwWmP`UNkyW8kS?e2xa3VFJ2n~{;wbC=e zplbth_jNM$W`OX|?A;Tzo=l$k` zI)EEawiUlCD>4?)c)mAGp2W&i15ibO!;5l^n5KErI^41_d0?Pox_ zQD+Ysw%PzrfQyjJogZ$U%YN-uj_n?Z`x_)q!wP1uVHbmdE-+#{2q+cpy3#vQUXmZ2 zVA#0w5)$!+t@ouy@j(yFyh96F8yPQX(< zBl9$8Og^Izr)WeuuFQh5*l_R+ooySYhm5M*UquR^T(HH&>Jy zuP{h0DigjpL{=Ne_e9a?-sn2(@B)0>KU{}d$MP!ghV=0Yxa&S9nL5P_Ec=*C2!bDX za*K+9%4kmPj7i9MmWV7PM_Kl91~2+@Dg^*1zio4AOgvIjcsQOd1fPBTp^&1Z6c_9sRybb81^N5zZk?yrG8!C3hhF9Ny+);x14&AK&cm>0aBiE!_MoXH zlfe|HGnv@5ueGyMF=5_wJOvP=%NutTKP`-24`0)p2kut;6K!n!-0U}?6{USr^{?fP zPjesqm}JrGmP*Nq6BcUyd1)0~U$Eg4LGWybef9r~wYQ3jGHlz14HOV*r9)bzL1_jB zVaP#3k(Q8dkemTg8tHB&rMpY1p^@%EnxO|6m?8fgpZ9tH^=*AS-yVw%7Hi--uJb(V z8d>~P7&oQWysVW^WpvCnWO~m0=O3qB$9G0w=lvhSh5mG?X15PG@^(#AzzkrqWjY$o zUE|ZT>7%WyjiSeob+Y2=Iv*cBA9*7+BX-LKi>WR|daIG=rJEOGL=HGRJW!mHi`NI5 zf1{_M2N!L8EeX;A%ASoJJO-It9=6nXy3RF^{AQWDKXvA|Y|KsM(m>{xr`8{rMJnxEjmbR${vBV|Ylj@xuxBKaxCDFt?M{u81JrQz^( z-H<63wdo}5(7#0GH=1ONkq_3~|F(K?$Fy@uch!P5h=3_C4T!gv`yxXpXtKG64Yn0FOuQx#*)O-Pmy9{u^Rj!`0dio7 zR~9zl9(caiSx}IHpp#k0L7`Hjq{P?+<7?T?M$a)G%gY@fAuXLEbK|l81j40zWA|4T zX;`54^lGWA)=JijJy6~lYT~w|wVkect;OyOJ>FSq+a`>Pr-B}dAjdw)2Vk1cSh*-h z$Yj`)=qLoNLUJzkH1d;DV=6JjlRVlPdSlnOrdU>i2hlC{&B+#5 zV0@whv$u*E4l^WYRns8NAM@8#Z6k7X;X}#WjuMonQH+vWPg?2e_|n+$Hl!}yY?;CM z#ta4;Q>D$zunyfxB)bZZ?(5QCjFOU(s2LR0Y}+AyEy;VwnX!GP#>fjjh?zzQIWv=+ zff@L&GwbaYqoeStKdsQ8_A-Lo4xN<)Wlv@mmp+0c0)sY_AGA>!xQ`%#Pl^ade&=cB z=9i;Da-zjDLlxzde$%8x1Lx=+Gx^87d)g<*F9uB$8cw}jB{}SeBuy7RjJ$#}P$LAs z2Bx`QZTk9;LYnIku(rOBW7H$Hj6cEQC=yhx8l^H_9;%H_Ekj@8x6U#G(zY9QMC z3sCJ_rucx9OcL4i^4fWH1TVSdQYd(TH`8}b)`>~-u(OJd11&Qd_+0PNrKIAnWX1&m z&?>5c=DCiyU0iGO-s8%%^88C|=Bwcrj4rejBkQLokykmq(+VDLSikX_< z5gJY+wW}DWS7T4N7@9fM|KI3@F0Ef4;^(v0=y5HmQ_I9UO5VG!{yOqP)o!yKjGNvqoKLK|#kzkcCA<_BcGd#RoFyJkMSxfUOhYY9!p*a))% z^tRl;ZERm5>6@|*Cn7%q5gE9ZPM`Uu)9+z(qIx(m^`y{5lt|sc(@yzewhhKDr|`|2^|%V0 zp1(ixd_0}w%!vxD?$H(mH(n$m_J7Lot;0J4+!;%CBlVi3Y}f_=Qguh9O0}r-h*8Iq z3(m=kGR4LUvJtlM@m)`Y5}3@|nZEwI`SAki)UeB#El95gCAOo4B` z0M~7+Qo8FeOWBOf4_yV_AXS^89=0dbw;CxTh<`nyt`vwS{UlWFc}U`?BT{rX$5Io9 zHh(=1_K}CKj)}B5jouUW>8fPMcSCDSZ&|khg`1#N6K!AliQgG}$qkdL>D9smGI+^T z-4*IG>}H*$A0dG(`>SodBoxRwf)}v~WP-lbD2wT*8GqiFGDiA>jMK3l%8b60M9r6S zHQdx9y5$bjACWprwq1&*fMk0j?jWgtI6z3jE!I*Xg_lgiAkuJ%+A*g%?Y=lkPbhMC zwrZ$%uDxsT&D4CMh_o^dr6o~=>$7LX%*2g{Mqv%0&o3cgGp(Y=d&E7yU1*W3QMHCt zNOm_dEp_>xoe>0L^UJ(1900(g)g?HIBf(yP7XxMYezH7%>>`}x8(4l`nVS>CvW#Ca z+!?FU-lRFYG9`<{GQ9M=f*9H6?=O0NNS3e$>!bpkkJtwY$>jalG#!H(dqsz-=PZ69iAJ`}$yiUJ5?oe;wGUV&W1zxRaL(LivpX|TV zO05TTQtSJ4-^3c|eA<(-e9RYjs*z_l0d^t=ZL1q^Q@;8bvA#+7o~aSz z!(}Lt@T<~hed63_BAY)01Dvq8O=#PZX>FGvNj_f`H9U~|d?;#I^CRYf)cEV}$pB-+ zkX6bBDMx(mET5ES){n_wEXdy!8f+ZG!mPtB$JV02i9b5OGjg!`_2i*scO%mh&KQdt z5E((8czfctDP(xg8;76teWiT^qB>Kb-u-?XtBa@SQ_$6pkg$9Fs%{N9yS z#$4~};T^r!HY_OdpxzCFZ>Qt|+jYU<`>BbrK)0L{?L-FgmcrM7H@Yfqc-kdjuQqlWX0;jp16nS6 zDKYjO)qxi^-3|hkjh&u!_WzHZ@`JHgCqn3#m*FMifqt z)|1(Ep8+Q9A_~yPCFwklIhO!NGsoB%&Li@Gw(LBSEEVW=d5PMPQ*JZjDu7#Ak<_(b zUIqPH6lL;vOkwb4*^oukL7x=lWSB_RGTylnTQQ;_PnGspG;}|iI1%8P7kOn85OK-n z&Z^bEt6J|aF%BT~Ku>-tphpP)95NReTT2T2YV|fU=^a>lmg`K4*4p*P#pmFW=^jIe~t=xFnV)g-BmJ^RRjI z9S37pJDqfvy&Y1!FOS0CyNfH+TRb!&bQnU(*I}#=`o2%Rw4~!RY)0ZPK5T;?#^Ro; z0Bx(@3#mSzd~8EsB}NrpZH~XCb33adLM^Xq!sK7OSv!)dfzYg-PZ?-ICKWcm7)?5@ zAX0TgG#o;>_MK(ACJ*S1>dE(fYuXrHNEZ8nVvxDISBpbM>Y&Qw*OY1;Uy3uyM`e+` z*;{Xj;!M;^6y2O?$}u>!zeLg;TE(TS3x}^}*`$xNK)nAda4fu@$>!8c^b!Cc z04}jv(w&8s2@#*d5Bv_FMNWDScb9v=OkKGvV6q=B*`+8p1}KZ@Nvb@*%_C#U$#i7o z0Hqnis3AiXb(Sz|05SfsXi&h8>hbkTD>7cq-+={L{8Um2c2KMQLSf)ZtANb<0IFg` zsGD5)`tl^{S}RZLBzUzR&7ueyW$;(=a_~gQE*)k1ObIG=D?#vi6se@J`{fQDKim^I z?n4lE7mnyj|5_QImt^^+T$2@1%HKa8jTvF{R&AyV zX`}?5*i#+yjtAM=4Fk#YP&hv5x*|U_GNUYHa}$0sLmu96Ac7WrPfG?=(DG`t$%verWN`4w&`wUdxs&`LirD(oj$x1>K(s zTZurOzsfhLOazR((ixAYpEnR{Jo85!C+hYLM)~P6b7a7rJTM`n(g~+q)M_XCu-x+Y z(J)*Hg>7k$=v&#I)v++`hmsY&@DwONE1428!yB2WA4~q?`;~EeKDoN%rh7<0#UYa6 z=1Ol|pEMVZmu!a>!lO%3?vdO~(o}{t&BK}oJAen{H2iCKnlW%+hEE+fSx>tFg_nsd z^V7xB<4YCZ$)oxIY21FvL;7<)oa0RRv5~&sS@&BuY!}8vYIqLt@W6NxiCJww-abB} z3FVp%L#OKHzn?mq{hz&Viej)LU-v(Io#}A8{R{+<5=l7J#5b0ksXGV%Yrp0kiK!0^ z&WJxz+t%BEkC*0){p8oSq$G-rAm7&zI~}!YH#n7!OS#iIXi79AQFSQ=(%G7!G~`4b zRmTD1Ut#CE;yLr1?ft31E!6Wgjtp-mN%VXe+v=Wk)5iYjl#vFw$L6PDgXG*Su^(aW zLeZ+?yBm*FueV6o`FnkT&^ZKbk>%2N3Plu5afdFh{Rd|_{rC@Pq}|tF0K={?lOlEQ&oa9^t^sjb zI1MI03?G)5vR(RSN;C*~cF7jA5!`#{D;}40e6W>vF4?~eua3W51QRkOn`EWTJPM;v zj}{fRSuXEQoP5L6C8QK-&3+v8IqpPT`Y@MVg*WEpjqlDOml|kCF5P3-?~)Q5bo>O| zl9f^>2RczJJu?BvQW$o-pgkZgN_pwceh;!(Iy(< zt}9!Ls($Q$sVBnd&>Y~Jun$}uK%j^X3^bQ17`(2b>g~#Zky}&V@jWI}y{3kD_f<`p zfB;*6FJ3Z=ap)Blz`DvX&{8PcCrV%5{(&}2_sk={iAS0{0OZUMavG+Eh2~2^Y;WZM zN{J=+Iykq1X>4z-sF>JP6Cf-!=AHfs%@l-nF)wuQ)8PLM3$S7lAhzNIC{>h?FsQLH zjgAqh4S0QM{NhlK)qM{(=G(uQEPmd7-sILi9IwEGm)vYw*Ro!4&`aDlVKZab%xnBN zFf0!C{F1osn$(T{!WOfYc;+t$8S^iekYnA=b3T?T^XC9vh`(4nd#lH*zAu1o5PB94 zTg-8am0P|MCO@|5!1D-B30yigpG8}%_2_SBfp5~EP8!d;;FT+v%kagHQV~g7wX}O9 z8e*(uX^CO}le&s1>B%)b7|-ro)>TI(!|T@g7Tz%gbo9JN1P)Cp#3btJxN>{{f^_f~TKhJ4p9hAr-aklklzQTOZfyQ!fwfoT zG_iB+-8tIo%;J_W>*qiC7355(C%*bo=?LAO1$6*|E&&J%m9Baw#uN+gaHu;q7SpK} zsI(!q8N_{^bs8Iez_YY*SDHhE^XdZb?#5~=>{dYH_;dljn!ChY8BrD@c4EcO;J+u!& zq;93`A?Jjo64H(&-3zxYC%l`y%^Md>pCx~wF*4y6QaH*-6||^4(EhJ)0{hQ5!4`_3 zJkO;T}dJNE1!6Y+3DP|P&#wJF|L8|*JwvFuPubLRX-_FB*uw(F;~`4z;b4xpq&x2vAR+BxgQPn51qp~*PDGljq)$;U64Ij% z^K(IzX=1j0YP=X}jG2N-l9-UYl2bTk|1LmcWa6A))6RxcIuy zQgBMnP^`UW;@pouke*?TO)GA71VBDptAs&hxCQ!{d?$>#zpx1OeTATrHW_`7;jyV< z`h}(owyobn)QPZfaGCf(WJnZ8gm`GU%a08W(8SxYaQ$z_xsSyw>15b(+FAlZw1}%L z6yyu*gwr1$CNm%7oL?oj8(@meKEWzg@(3e`CH)1h^oeV6Q&A6eH{9S^Jq^}#_(7I#q61?V~5 zWrsJiz?2($WX*h!BH2Mq1`=Iw4O+uXjs&6gMNh_$4*vi)KBnXSI#Uqu=n^5{#+J?N0l*sZhmL{=ojfkj_^z3ZL zI){2@IxgrkDX!Ti1{XX5w1^qb2y{jr1sb|V>_%YKr!59VVlW#t2B-Gny?IUa9$JtT zuDV!ry)qGYn#%6%-5%6hf-bkA{fv*ennLB#zzeX>qLNap@zrV-VH1T5&avH;J_&nT zl+op2qO^P@k;wH%E5GIDZn&F6cooD7ELm&@PARLIeQ-O*;YEm3VL+5;|J#kXZ1hEL zjr|`>u3zV#n*B|_E2GBpBX9H{2+`mW4KkS-3R_y%PqvbBiDmh=l`jh_TfYCfCTs3C z6Zdj7pqN(q>@2fYfc)HRk<<}~?l$-rsigx>VT<4V?8%8?+myr0?~~{H_#&`d(d){W zYaFnWtI(rbJ5q&xO)o~VR#n}L*{+a>im^V|ufN_*el%T}Nzo*;=b5~j3oDqfU#G4paMV;eV*3AFbYFX!|EsQn5E;V?0(xR10*HEWiz^$!e~J+9&x zrqL-IF7+&ye&_sDT+8CCof|P=l6#g(o@sID{r#OHqb71&J{o%AgN08vZIn7v*teX0 zfl9W1nlA4S9@wFJKF@1UrY}@)hQ~86pb)y;GUB`x^fE-_AuN2Ndz|;82i(u*yTu>) zOGf#j@I;VrP{jK+vwnM)puQy zyP*^z8zbMX>cudoW8o&;zpN_MwLJ^MJB3~KFKSJ$Obji3^7^K}5QW%`QmSjBS6*1# z58P!}QS&AjvXVxh3fRNwXT z{leVE)rei$jPoZCq024r<4-^7H#}N0i{nsyjluWFZ^ zsymqp%-}*(LedQyGLV+TL>9Bkg{!}`4#Ua^;YD&3Ng|AtyZWwcpOydys&^rbOz?cy z5`0y9c`8||VR6j@!7FRULd@40(|;spE)+{UpVLECJf_?#;(Dq zxPoiChe^Ok9)H!~R6MY^OQ%TL4BabKNel8z9E+WC2d>d-Wz~-AuVm##9NTSl_iNd8 z*XZ3IQSUMxq%bE+k|W(U#&K+IV^ZZ!Yp2_*hNar3Bk{pYd7X?WTjg_{{%t`FzT(Z8 zEm}V(wi%Cw2|J6a!PGS0Z<+v2*z^m*e^9LSkrruG1;_fFcqDFCKlP`VS60KB)ny<_#<(03Sw? z2Bs?)2>1V>ha=8b$jcg$D7`tu;Tn(9b(S}~ps5tG!Nl%-My+w66Ya=p?nx9P{}?3B zRAsj(3og>wbsCvG+O<5g+D5yNd&%vG0U3)edfP=$r!V8emqY^`x2={Zi-w0G@xAft zL8o@7pkoh-z{U$jQz3}7ooIh+6bKy`FI^Wh>RA^~`t;08-BmaKu%reHIr02;$JkE7 z*#p@{QHt>qG`U*TOvJ)$1Fr;7_y8zOGcvD@9s z<-bQRgsyOI-6iwX3@~6OuAvv4;Ve&k#AfDv@oDjuT3~cr@FOWg5%-}LyE<_I`=e%DF!jljRQ_79NO>YLQQe_LZjEW_@v#1M;4c)O9pMAy20 z!Dgiw7NujC|4udQoy_`_ybNM5g`=aa?Wj`SAg==cH`E2f_%73;`(O&Gw?Rl6QM}+& zCVSYsGi?!D-X*`izT)*sLuRP2pNBd@2O6C+=91>xTx2FD!=5AC6BJ{^C&qG|WUWL< zP)B!fsP-Zz%YR^nXkiLb{a(TN@toZmeOw#qyNFIL0e*or=e=BNYUM2@|ABoUjDT(H zSSwZl=NbgPzI9t9L5QzWaI-$8#SOt;+}2%~j6EjcC3cs_v=tlK!$*L4f?%4*WLI)} zI>F3u{`gu$2bJe$ywI>v2hF#!N#pPp^Z2#ILWq~#p9>(&TOUVy9sMIkarbG+r3k2QXVuZTfXO=~n2jr!f@ zt;fo{0=MJpYtS|%U8w*qQ#V^ViFf02VMN#N7*zh~SQGm;Vga!tQM{x0e78xdjQ3`k=xNi{<6KNM z@+Hqp%>&mQ$e$=-X~Y_{RDl^rSy%G^IQ@b+ee^n@&2~*?!@IgGJdCU0;Z=7P7~!JQTQczZPW5Zuf3pM zda^qPEAqA^hEZrI8FFEz!_bowce$RB^$BoRQZeuW5Q z@7{v>vAjg(MjD2(F^X{BS8W(E?f^fL{jAkIS*(v)32L*Y;gUbH_!haP97#lbqz%%= zYBEMgUW`P4^}>AL2;H9JKl&l}^VLI@R}tKdW_HE^d)O^i>dW4IIuYp~kJmYro{-L> ze~9sB^CC={Wjadd^TlhL+e=+D(~;o4tVh$3#~KQmtbpVlxjB?iwn!luuxHjg;L7o2 z^aP^cI}2qAT%-w=3%I^@EFp7Wqh>Zj;q8>thbc4fc^90K{BzG2Xla=TGizxlW@^Wl z>C0XP^6`<_x*Iu_9(J==qo0_)o4Z#Ta;Ta@k^FJXaZ5fd0f=+~a8>CN$V0hrpiwmc z{hbWESm0dr+O@DCPtzpDV?!!ogBOq9-3V+1H6Js3d7-8k}!5 zuwcLTJ_re39&GuW4Kt1)nV|N_rQu7ANF=% z@o1J!T{nMr|F;JK>wup)KsMqkPF#!?5Bh=^G{bIgORDQtRkytjQdL<^t|$t=ehnW0gI)N#9`AxIBXe)eIry&`SFi7$_tUgbsJAo})>9SqZl?>Mn&wXd-kTVn=4=nj>!?_lm@y|z z+gl$MAldXC4_S(zg4^?VBuZi`!6h-Ryw5j2t)uG}3C zs_Q?{F_k1;EPndXsi5)_7*`cLosJS|u-F7`(6e)WZoPpx7d2^5QRk9-?cX$2bbE8n zVa-j<;7J5@&2xsa^94sC*&99?2&oKvCl8)}4-Wauo@P;-B9)5h2B7xhk=`&~GP5j? zU4RZA8LmR7u<1i*ojma)q&6@vt9(_b4>mHPu9F+Ma1#fB8^A&< zmROKgde;XNQ-l&knRej$0ih{6!8JR*vbv`u{F&cBVS=h(;3daLOh?#ERb2zg;eaZ> zhP+k1{Y&>nrs9U#(D1%TUA_3pgnu4;^4M%oJu#o8lQF+|??B2l<_7p6H$Q+kVG{E3QLG+MbCEJ(|o(eBI5Wa~W7f?a3DW^mmi>^=*#$21rEd@s$;}s}v@w!fM#%$febR}w4rf-w)rS#|@lPVY;cgbZ(5=qxM4y+Q3DbGKLet$HwWl{{?Bj&a+~r}JtV4EB)hi$qT*n1xcUCLnwybvX?ZWR6fIkEd=$21&?f)4+Pw(=GC5sf z8Sk;<3$y@3HQk;O3`)Kgg{^e;&Ay4aSgUjNkAA<1xi}96am`j7UF*8|{rPxDij}J| z;l=pZD6!)%(xrAVyjA@X<+9WBj@5$@n?ysY#-O#0q*B)M8oXq9an*-xUA6%DLqL(! zDrMYp!fu`$nMa0DN}tvKS*e~~dEF3JJ9jL>?^|U*a&LoxgWmJy$e)yp(5R$PR&JRd z$w9Y^W{UyT>?)lz3dwej^QhpfnhWsHRw>Jlt(!agdw|>^^hfEKr!eXJoZ$boNl4OC zcGQ$G0|sJkARodeAdIRjs>5#FH%=WCj?$ZCa9Y-x5iz5-b!ehJsW2dlCUsjKgq$;E zps^M<2XguGI~mE;J79pe^Kq#x$gY1OU4xVqGi=DMoR0~6Cn?yR+rZUzWM{sYY*x@k z@c_=)SQhB1_b7izzGqbxCnB^=PPoQE($n;gRd4i~-6c&Y)P~KBj9hxs8}P-|9}nCH zenm{rp&|#8=7vU!p+kFJ@+ofJ1&FtQ{M&a3UXBA*zSWpWR1voBIj96MyZ_smH;!9# zPL!%N^k4X5In}l@XV*6D{>N3i{m)hE^-p~S{d1KLjGm9yPS9!}EeeGTAbV1dEk~4$ zA}k2oB4{3aEUxdK28uMWx=F6Wsudd#N3xZ{GEZPFmdK+TjaDrq!n=bk;jyi{&2xa& z{f1PtlmAh8L#kz8j0>*~Q@lO6oe@sLvP7#n>+%}2hg zO)z%56gO8TdB$`HumUjdQG4O5)na7$d{WN7t=;7ahxP?T+8)a-=R{^+P>)4!$9{eP zng<3gF9G@(M88I-hFjao)x%T&wN<_ZZI;9Uumih{+#v#M#n3LET49e}AKo=cBp z=?;P&k&6*1vH{r?mR6!5#EHfax*E|zsfE?0i@`+OM;csAu{gx7m!58~U9-(ppXz>% z!v50B3?Se0ZZVmVwbSlzo7qcP^EWNM{sdQEs$x9Wotq9@P;l3=AF6!)vm3GY0vM%1 zw%{&C?WLcX%XjG<#WpzuUWzxRilPU1j`k>}sl<-952B1Q2yMcg@6+JRF%eyE?&tl} z4%CW9HmNa3wR6zy@`=3dsg%4Z-xfSEIlN?T19#e4o# z3`F>-?HK~SJ9B$J{Am&gDf4AdnS>Dc8QTB;@v{h09hoN5Pv*7f`|(aynx&47)kFnUoSbX%W0c;Bo({$8=M9m z@zJIsQ^lF{OQ!VVEPtX4!Z&*B&g`2nb|_j(pE-C})4jT$5FwOEJjwX9zB7I3${^>o z_0WG{0Wd@~i!?7)NL^Ns`P=Y{vKiQSq12?W$%JR^Bj*{UyIpcWg*GSLEWSrJL`*_# z8VHZBh8O!$1F28-_8QyhjgAfOYl@jzkPcLSxLyLT;(s@C_1!y2+HT~d(f^0%_$Lis z0Pb&kwf-`|EOgi~1W$(FUD^W47KTuPw2(B+TeM@2EV z2#}>F&gfKF0?3GKEf#2tN|q|FywEUSr?$Wonm#WQQjxaXG|A_RxY!HYfvp3pGM7a9 z&ao+Ruj8AvmsZG&IQZPzKSeHJWCTC?AHA;I!s*Mv=x*R`MYFs@^yO9?!E_EAn<+#9 zYqs>a#f?arxA8-)5UisoEk8|yA9{?m_;{I@W^!nozmBOta*o&;=p{;@C6NV5*<}a& z4bDH65o@-izQgEy=J~gufy|Ak1t=J{xhj4NqgON%iEGm!KqU?{VT&Q{^76Kp&q4iE zGVF}dI}arVcV##jQazlfNpyKVKI%_Xhb77zRcxg`BVTKW&;y;j=PTsfok1*=U&^+Y zf(%S;8=o_FA6v!uH;P?H(&6!V9z;iou9Lf9ZIfJ1AIYXce}4TCw($jWq?K7KmlaaW z8uB@djq#QO4joV8FY^lB>RZYi%(sGNO?-P|zLDdliJ73!8}a6KlS z_&D(Ryr^|KPSfR8WW@F7M;x>(9)^VlxSzMWOSZToD7qnh=WOEjV*V;&gbpwiYIQc4GC-&NM8P)GX5o17MST1mT73(GEL}G7Qark&BNdS z{-cmLaQ=Plb4E(appxDP`D5>!Eg~I9?}z1V*$(jLMZOa?WC)7C7K9}ga}i%xjE=AD z7pqbb9}Pcu^F~*w6SnAv3|L97=(_blSE}|qM5H61C9-pWgjcA=&7TJ$u#yrPt@b%l_*?6FWqt20AxM*k26VXH0l+=2x6~ zWx0)}V57-9YCZ^MTFSegPb>n)OU$k0ik8(A?`vA0>-08`U1A#V^yv>JZI3hhTCdOC zeX1W{Q@IRlaE5AHJTYT19zM_C!A2gOj_iKreMqj>>26p^kYnC67?VIEICu6USS-J6 zLoRre(!kT89u?tTz3RC0+dJrE!h2RgT$H>%++K=Wfeae-w;(3B(b9a&^#3~nJSMfg znd0*%XR$>S?%o18g$w!PhMYy9&p&Ur?Scs-Cj_AV-<-o0<+4_4UWTf%9^N^73JRbM zI0iot#nvtO^|>!i=4^kC<6GJ%e{OmqQ`Knazd+QPTljXRtb8vm_a)vmgF2I7M2z0; zy~RSqRJ;<~iyz5>#Q%if>0{HSN153~^Fo^RE`1G4C=0{jLF3C8?+Cqjn^i-GaCgIA zo_URoZrJ2PZ9B^mTSeo|ng+Sh-LMpGHPUGyx!WEo9lnr*oK+selggtx$69$Yj$trP zr-MEFmBTTs9eETY22K%yH#5Yj>Gx#jOoBt~2U2SEoWqj&`M|ey;YIqBSD4+p#SSC$ z{dl{r%3d#Og8N>e@9!86V`cr>ZE1=?;>#q!nKm8d31=~6PTk4|gJFm2 zjI;uUTup~RBO1)I1bDJUYdTq`SI+tpsckNQnACIwPbLI&Jf72Vye%)HNFc)@?P{X; zV=M_o`DwKXgxw@~dKSF16-!_=q0P|Ury7CL^gfl=Iz+c|!reOB33;vAw?a7Od> zE_$U5*eE57Q>Du{J2ZBza*}MQpC`U|L$2%x*kl4A^EQ``=_qj#9Hfd1qLIHG$$}eq z&Fb+YB#sT-hRD2K@RLah&xw2lFZc`n#x-K92fhRTn=)UT$DoUojRU`38S&#T;*R`9 zS=};jiMgSKRKCfk=nhpr7!_~%O52!S^V+oCGJZ$24G&4e=7ek^MGb%>f_`5eU;->$ z38@42{nu=^)=i$>hfSn!iJR8~4z}_MC2YHd&&FIcMIX-iVEO$>ZA}^u3yhbxECRa< zn};E3-c;%}biI%B*Fg@4cP0w}O}lqxKX5yPku+%I(ixm1n}Apyy^e*X+aLN4yA*VAS}E$w`57c`Bk;#O2%Gde&yaKCimtXGR% zNT7h*@r-eFIt3fu;1KDq+(%4sWXDXRVR{qbiKFv_LtFyjc+-l!pxt_Yy)qM=i=@}R z5&1jN6eabvW&J37rbUYQ{T(XDWi~yUJc;qo$SS^88X{W9#`Y?ah?_b;XffnW{s{ki zi;=>}!zVe_)-+2n0&sKG-V7%|zE}tb;kAR$GHS2C_de8)Nx}&mPKGlk7*n240T?rc zg#9nZ)R6qcnDvSOJI0toQ{)=1;iDMqDz$(1A6-!0f1|G0Y9Q*$XX9n`L@q8C;3!4r zy-x2ogq%Km22-b$zF@;F89_7z{o8!vWD88Uu3Q#nmx{y6`Z(%tQa>H1HqhctbRFU` zZ_9e%d?b+sV}{r9Z>)Vvw)`apktk5)+sP`nUyYXTFsCgp`B4Wv3i2P=0S`|NIYw5k zxzBHuAB=FAx{J~|PW!M)u;fLCJqpG+!689G*XQ5nb2&{s_Eyu~DO~$2RFi&suH6eMh6(FP+qQMdPsqTn&XWjZ zYAfYr_^~s*qE`9`Jx?rOr7f|KY{Yzk6Q|poNWNpZSkd2<>-N*SM@b|>`NaS>0p}=H zYc}~~3f78sN&~lI{%~X{R}@+laz{`w;o7Wd*l(|!o^8I(l%y#tYgpz|hppw?)kYQP zW+__#po!Iv{rGCShMz)}aYSa5i$ZVbD?@a80(2f{?d@fK7hgn;F_9qbwM%TKt4VC9 z8}?84r)8`)2vdH)>pS@1?VgIUba`)t?-tPAY1P19WkcajMpRKd(^6G5nNNs&h|5wU`WQ@0JwG-HLH)!Arib zG0?=F-Yba5xr0;!1UxUQk;9VVHe$8uz1)3ar`PV8Y~}PM1^%RGUO&XOFAD>O&C1V`wHhu$nxwZkB zVQJ(~{?&Df_UjBNFD;{ke{t@&q_>d!ge_9~o(qG?$bBvz%1IsATKP38huKPeqFx{3 z)_jTn`%;_!n=xfQHcT8fGPQHxD@96VJu{yQUmPJ27YCkGmxi7pg9Hgi#)58kZYrU_|2a|ewM%bNXrkZj0be^-g_0ZY1sE@~efpMtK)^QIP zL7DDm3woDtSa#jFQSy&{1Xi9uDR|YZgsaR)*1H#S>wiHLq(9v<0p{`B*{!S_>M{SF zZEnvjqY>9;Q*v_4gs24h&;W55;e{Iac?bhjR zL3&x}q&BaE1koL2Vzm2CmEyEX_NOZRywjS|V)S|8yK5z^{$eBWW08Q@=f1GM$4vuL zkwbGVJH=Fs*L8dr;_ZQ~t~@Rp-`@`*+}-x!sIz^Gy*kveFnlNs~!XB3~9$(I0=3K!10Pe<5J z&@t*qJfbn#QpJa~c(n{5H`T%ncmxg(<2X)Ud@|GoITbtqgbi-PdEAn-=O-{!a!N#lANFPJgp5I6CSbLef^YWU+P_lz;?W~!lG}DXZ!5YV6pK`t)ail z)pv;=w_fN{wnP79ft*-2sS6*%8TrS~gyAapaEMacf1%7bPfN$RGkOC&ZJ!kbQ@y{0B?~2UH-deg`W{;)Vt}_d`)RrS+Fs(hr#^m}h{)vzU}8%7u@pIS z;c4UBGrM0F8!7qprH@)J07+Jcj1vE$U_|ef_`Os{yyO+k1mp%YqCHJ|KkHM@8tuNH z#7_#b{c4`pXzjE*pe@cTbMzc|L9K50a`WlL{WK?IKx)mG=yO$CS6>aQX1fitd~pL! zKg<6qE;64_@jT1kknKAsf=X9oYtLYBi+oeya3K8em6^w%HGX{uX2L8 zT$k9@BlAj6&p_XZJh<1VX1#l!Y>>zI*VeP(+5sfmb)4H<(^S&jZWEvl8&g_TxfN4B;<%uI2 zT^9&cgTKfmk;u)E`g`zeWJ!({w!nEN{%Zs5%?NsO{!RB&?f>xSe;k|bcZH1IdMo0}QyJmpU?ST>s|EcW zc%Da3oD(RmH#>z!8O;6S5g69RmA{p<{VUO9B0v0yUw#^R5YoJsM_oDOBjrr=v`Dik zv$8%Ctkkoru*XyCA<0qH>9lhoQoSGgW7}WX(AI9gZQAX2^HsnhdMd*q?+*YLN8f>f zZQF%Y9KFGn76vOq+I%$5mR|eBY)GQx(e34}Z}NTI9O=nXycDwk`)TH7^CfWZ-jOhlWCllDr z7Ly_(^Tn_~?^Zdym`ut4`Hy+UPafDV*f1iZ%cmviY$Tk#(!(_E-pY5Fe961KX&7-#QvkriSFTPUD&cf-e;6QEcz+J?@4_j?-lyMw!9P0;Fns!(VcOg$qPOq!;c7S; z;kuOM9Kp3QeQ536J27Q}^Jltj)2p{_v{Ko>iSfdS!O-evMe@wb>8O*$*5>>BzPzrO zw7&ht$V>mO2T=o3+K--wElN)f;E%gjeynQeNS&>^9C}AcyDV9HMi4L04KYKnF8cXS z?$3@b6>i&e&P1C6sset{PL=YE#y>V!g~9`P1tLImi1vNuWZS@q#Ex0cKtpjlKm^S! z@)|+WswdE8l&JGVC+~LNT3Hm;7h`4oWR>qFhF^c8=l0uz2<{MVMA8%A zd-(0lZC?*F2;n(Y=G-YrVc|5UZt7ld(Jd z0KYnId>h@SZ$BmWUmQZqf9G)*K1%P~f}L(9mNhW4j@#VdHE1*3rkXnXmwf&ISbNW~ zCfjW98xbjjbOC9RB8bv^4N`+rB2uLaL8(gT224N%X#oO)bU}*rDqV^Q3BA{VsE`o4 zN>vgO-wW@#XJ$Xoo_F>hpHCi94iBy~*SYF%{TB&O`f>j=se?p%w}q@|czQR}y4r>N z%SSI!Lj7di`@!cH?FV7fTzTUivRH=&A(x4+}s;P+sJysf%l?Y98= zg$F3+uC7ERlws09&8)Fv-`mW!l3#CX1K2#YY0Vy%|E;u7G!U90QQv#Zi2a@Wr_CKR z_w4Vp>|y*UE^z2PB1+8t3b5TLyj$##5B73BASyFHH+CxdjXCcx-8YQRmdi7NzgxRz zT))01x{^owWg=t35J z!QuBSA7XwQWaHR8pQ4?={rVSt>$Xa(eww&77k&39(pz!xTKICIIb6E z)3Z1BI=TQ#D~vh_KV2KWp%B+IlV(fGoR@Vqd<)AyqdEVI<2v0%}L<+B0QRMGU2 zV=FvGiwuX%^_eKjhsU0A(e|!iBYS4vg3l}(aUV-VSpk*ZOL>jre#?cCD~7qGLRD7OB&K3) zua(};826xbMI5v zeh6+z;RUooVD>8FT>}t|JW1@&gsS{}}xo-HQbx?-WBUKPey+IX{7ylyuC$e}VZ(LMeob&&FvQ%PC4s>f(~ zVIlgh%7X^i3h{NI*z!iOl;Q6bmAU5MuD{i~&4mQb_0+aGjHu%hf zBp&$4u+xa_<(F5{R%6rL-hDsxIi|An0@6|2ruPf|>BDWgl}zUQ#LbAInQL$GtIIz! ze8t;~obur!S;?`DGWih^-);hB@6<>>gbg9Gu;7im+W~aquqK}Ia&Ydvi?Z3^+K$=u zIFHr&lbilwR;|bAjP<=3owLJFBsM^Ixgh9VW3#jSy&9LC=Izz7@_a4%14(;?do7y* zSy6^F)^%uf|3i;JmE-%5u8}UNURuq1IN~+L_dVtPR>38c$8kZ+ zG0snBKZZy^yEmD0PglDL-btgRpi2hNeD4$oPelll6~`ev#Cve*`l8C2zX0MuHrNVQqfa}LXl>M;jGmh(`nDy#%-dbeA8BU`bUcF2yr$cwGdHJN=;gHq-3f~Et;0`QM9kjO6+D|0&hUP zqf37&@ZW9Hz^C6vGKMok?Ahh~CdbB$Q%L1?w#J3)z{AG@_+eO`A2)PIT!K#NKL zRP}u#lb}+cZT;R4Xvq|Y()q;g`{;|$FRSK0TyN;4D(A-A7+$RWH1|h&&5GOANQEs_ zClKDa86E9Ok5QWu`U-Z92NNhETOTEc+(W6gI?J9VUeB3~r{Me|+Yfp@YwHvFsYv0; zK+65Mdt-R$)!I+(dyR7m@s|d!oL(7L57C(!Oh`Fm8ZpY$IceEi-p!o*T(D{{ulO#k zCR5_8lJn;I!>Csa9bE3c?z*8tt<6z-S z?wv9VXd_q2Hh&l%{idK1>+-(l{R-DTPq)pizyp4##}D1#P_BPS;5@KaJj9yZI1YOj zpSl{Tq*(-4%vp;=R(WWfKU2FORH^7P`kXvstEdpjCJd*&vi_=Y+?1f0cXO8cSXyEC zM}_}xA?Qxy0aYyE#{F;de0$Y+B49znf8aSduS9-7>e~2fH6S$eImfT?hRT<3)myZO zJK2E@_i}9;&z*3FRdzs+ylyhc=gA*E*D2&**&2tETK4NqK8)Jwuu8Pglzr?6Na$iNF+CRJci{8ZCfL zo((+-B(6sXz|qwLY0>G2J`P$XBF4Nu6G&84f-0wb$Xbkhql@>j(VZ}Z*z43zr%Inp zxIHD0H4ny}hrOpW@HwRzGT`}MmGasd@{Z+O2-1K=R_QKRwbBbD-ZUz;nZpbIEV*N2 zFimyGPU!z9L-CV!pWpUWyvKMXPzwQ-GUp3H1`V{$louUy_=-hb2O_ zo05P zpR}Ftf{@7^LP)O9p)v*+_h$6558%G%@ z{g^yF8C8|yuAo6eSdPPMSDA;_EYcz*jD`I>asQvgdXLnPu<6&7H-}{I^-|X% zFL`=h)S-#Z@ZHA)yI}^77oWv?Dm_>&w`3zrNl7ypsOE_sfzg8VIJ?k166rU5Evj_vgF$=IK z&&kN<393D#`$Fzlj$!rv^R#fNalQefOm1Z2!vWW5pB#blPvCRV0jCW7{N>0$%@cA- zsVb-vSg;-@@xDiTT$?2l!b|t%ogAKV{w@EDFqhC+#N< zi&3G$X$i>AJ&C%xp7l%U8~0Q;4P+vxEpCtW1-93XDvh-(cxVUyfu&mNh~i}cAxIa> zYyxwM5uu+z7b9E!z!b;dmVK9+Cpr5jWkw|tmZ6nqb;)~*H@KH%9uHD}<8w1Mz}yg8i=P@0AboS69<`7| zjZFARZ0U1Y&%@R0HzBQy2^tR`+v{?La>N@g$R1ok7PBS$I$7xRCKas}6th+C*Cu3_ zRV$%e)&w#cjubZVk?ebB%2Bp8=r88>IRfBEbL)Ht*P7nz*F!Y$b8pbwfGoEXJYU{t>!zw zh40Tt20N9#>FTdKj!0QsxhY>deo7fk!meb&P;vX%Os6-&L+wgR*zs-shxiqs16uF- z;fK@5vibuf1;aYMoZ(V?eY)i#i4KxbtNQybP-2F2HrPPH5Vhs9YPCDno#rWWGB6-H zk&yG{L#1^j*D}s~M{0t(Ef8<~Ev}#`2tMrcajks6@?+}M73Oyr?7}UnP!e9@m%&Mh z?wr|+c2|kL?=XK2Lvz?OmFT`Gxd*cM-t^e~;JEr@{ztll17*xNE0zAvmw3KKRC2-} z(0O0o_07yrvh{@fSgy$xH3od9beh3+i_vlW>#LeP?Mz6KXb9TFGpVlmqYKp63-X{EYKF*zSEyoxFy*TfiWEPNUZ{028ea;qqNt zd}9n!t90yVpY282lwjvbn~c(kW-rgu;_h6m)<>Gr;~1@QV*(R0343>7akhd6B%884QvFn~ z`ba@-sf@AMu1J*Mq0h@8>M6LHeUO~Qbeg@g5JVJR%Bw_lJEh`8FaAwmnts3ISIj3u zzIu*3h38=$FEf9yUX67&@~=?vgt-43c%N|XF2$`b!y7K8_o}n!#CT}JPC478e^UOy zw1WQpE$T~?H6%TDlux4*BusM=Pn1Ob__F3z_~wl=3Eta4ByRRL2S7Gka|S&i+D6oF zH&Sb#4=5^6VVFwJhke}{-L5yzU3A;F~?5D%g{jGYYb}p zCVnBNI#u!8CpfiN{(GRln*q&c`F<#Ro4nuWJ-C%pzB_Tj57R>YoIVlsE{JK7*WUk! zn8SAbA1Rl-_R=lkOJ}-(wFaz;@0p(doH8*?5<7gC^wD|wCkjjyRlVQ(Q2pCP`BHJN zl6PyZmjSUc>ppf%f>L%w@qud`?M$!vewb~+7PA9W2q(Fx0bH)xV{IJBqk7Rj?A}jn zq05wp%0l#DYi^XV9NO0evA@qWoGev)=qr-zFOwveU;?6=P6AbKRfK!Tg`bmAIoQG9 zx^JZ&OhOAxxGuc7{}#&JXeuj0aP+Z?U>h~OChLuPahl?NA(nwWUyzat)U#YSvfKno1TWY@3Nj0;DCy_re;rdN1D1musMOH`W$I%EA7J8L+(Jk;j98trR^@=AMJTy=J-+3qXXDc%k1!Nk>%85$aB_{jR&umP9{sTL$>maf<=%CR{`(-;xc*m zSirP@Q$!T+L*+P9{JH5Xw8Dm!Cj{raVTBCy@JWJ7N4 z7(K(Gm-N*;7Rxj`S)pRXkaI`l_;87AB|q$~x4f&ShJMjKZsW=NHY)r3EsT{+YJjV& zD-L>jyj!5NEkMbKa+B$yQV|Ol9G-n~zXvLoe<3ekvkyb@%%rlDC6U7M^ku)D{CdkR zat09L)q@!nY@*|uS-G;vqh;YH3Kjo)N`j6ASBG~_y@X0ob4_{2%$4>H8C{%zKJe<4 zq3nWQ@kqxfD)sq^|GIswx{m~0e$M@od-P5;%d^>Nt#!KS3I6@~U)K8-{$wei=xW>~lkYb_}=4*f~$xH&%Gh@e``Wp3%{)a{<;#rzlxA$~z+3N`Q=;p*p{Qt5|V z;q)=SSDKDo`h|}(-I$6=Q;8*2R=AjFmnEb&t_n-7339@OsVq2!#h?2y703-*_*y(5 zrn^V7ghX%1#bpwc1rJ!migl8>c#z|d$N1t1)wN`f6)j5;ds@mn0Woo5H4dq$z@zOv zREe%?F{OUEp}(X3K`j%6zB0Ua1BSvoOczO&fvUBn2HYKPbK|kP_KKLG67?9{_P9hP zv=#fWc=oKo_Tl7cQ~^{;;Ts5Gdw?xQ>_fdDy#Epz_;2pyKfdgLzNqRc-9Slt$4z2|bHB*A%hu(&?>+gM2YmROq=h*d+Q+Yh? zOtu3zhH7_M3?$#0Hy#1A25#&NQWPVc*@``{(e4F0+BSvH7P(N*sKhxDg#5dr$2ofG zYZwO;gvnj+!(=LuHf-KfR)_(y+gUf+#tJPbVN#cMyE2YyN_ zFrfomh3loon%Kh4Kv}!D73>9+aLs`^Xz3X^9xP=ubqhgA8!@wIrZM?9+K5t{v1@9y}o>WCu7HM>$~%|hKxDlh>1|7Gls98 zudfwbIqauu-H-v{&L__(n0(5|Oz|qoYbvEP=IfB>kUbOk<-m7$S<=ZLG+Z_z)b2O9 zkjMqAgwE`~hP?Oc# zeKY$8j_w@CsG+xt&A+0Ao2+3bqg))3@h*omXG4#;8^2WPXuTi(zm3#Cy|@4E%lzvv zUz}&+@O2`3UERsDRj$g8_1al{;mwCzk%}yi92*et5>VbDINFnTE|*;YI*P6~;YksAQ(UC-7z^Zvm*V|KUZNBF(}v~fRTNMq*pKO(4q@n-#V zkoAB6h@T@x5BKek1~G?b+c(%VqXuYQ#k<=*jO&ZZ8VeC7krIzliuc#nkj0Vl;GOzt zy|i-$k-6S+KI1(*xIrcfK)UNPW$4N^F;eWT&G=QjJt;HZaF9hCcxwO}S91;ZqFel! zZwI$^TcNI?8+G;bJ4vodd3`v{%U)TsfCM{VAlnJZ6IYvYa1_ z>jk_;X$P5H+7N@i__T1;14^JgG-}$S{#DWFz||}lFdP~~7kK!&DrX8vhayzURf_bX z)4gf5xm$g^z-m~SSDJXqpO^Gsy#wY4)GU8#0sQ+{M)@i^j5@;_dj!GC4Tv|p*hr-r zwJDi6XDjRsZbw-N9cSXutt=K$Zuxy`DQsW3Awth}z~Q~Yws8pSA^-Nfi;++DgSNF? z#@#6S`^lPOUB1qUt66au~gmT;ays;_B`OH7Ep}zT-P;S!Bq~(;*?DDL2=kI%?>Qr;`4Kx1#Yj^Npk92K_ znuFcrYSvGx0M{skW|-H?#h4g%%29*IwrTr^Of0@1wk^a-)FHJAQv4wxF-<#Oo`K3OEsHR8M9*m3AL>O_&pd9w#|P*( zExO=1i-Yj}xNgg90~WRQ3yg)_F-+~dBDx1UUQVJh-`Ap-CgL@tP)ANM1NE8mYBm)G zjmj1GG6M**`p9+1_#CmEK45OS+!B+aAK(-O6>y>t&=m6e)584!-;{rS(Z*VsqJbFj z-HpYU8f=B}-*L%rL$y%Rg_n)ERdgM@Eo!~F5ll>Y`5BhtqXCDqY+8sIO#r4Vv;eGW zA7rXN5(DK%Lfv|)jCs93m4LpNqim0~NYw78_6HN@icY77iFs$_h0UcBDKgT9fCo>` z)wu(4sjagN2%Q>6eacMU&9r8N@Vea*PUS`$$`)aIH5qyx+iLkeDio z{BJY0|J#WCtE0JAtl0@%ns*UVb7%NW$U%nePErX}QCdPdylv8R>jJof>kR7RE7Nb^ zbPL&W%l9l}g!sfqP@y*V0mRD*q_sll3eqy8LrMqS)P57FHqsOFE-}<@f8Cx`uFM+F zC0-mTx7=SY#uUj7FjymXFxHvTssk7_g;3D#L=OXA#<5Zfd%_sjX4ldO2Q9bUTnWJ3 zfY8$%4*-H#$_Hmk9A#&+`vpS75>VO=F~!wHjQ_K&%mEby!-IfQny$E8aGE2N1RSLQ@$ON$>t|BI7Lk%Wu9VUezluOtTj~fJuB90h` z)7Xr~=J2Fl*X@d(V&++nnZD<$2J{zYgA7yI9@5=vBg5c|xo3v=3cbrTvL8J4=}R*w zUrW5Oqk$tzn$saxjEpGMNwHeRnTO-T5=27y8(clxG-_4b9)?K_Z(G(*frPBB!FsD( zZR_48Z@anM{!atQ|7tP*{z+Mi{5*BW7NrRNg*K@w%f$@uwexUNYnhNGxjn$l z$?hvK@s2>%oMwKoUUrm@yTRb4ivLvF4|8q!V<`~n;ITz1fWfq&RxT~4Hf3yw&aSnuo?POrXS*qR-0{S8ngW?n=zDAQ+(t^BP^8ec7g>c$blL3GlOua2fbgcFd@drf^VU zu}&YvjzWb$H`2Hp>QM&GUD##$f>Op|`iqY0qxY8=yK)0}uWu)*D|;N~&ys48O~PtH zH3Gm3otfs?7xki7p-O`5Yvv^*Q{U}$GNEC?`o3lq((R7(?gE?*)u#(m;kRv*B(S|W z>=Un9)}kk2<=Br}$V?Aj7Uv&9i+TO2Ux!m@4wh;#2WBXa18*UA=2^xl`u45ZS(-Qj zbSs==`qcw4`y6Ze>oq1!Y0>@(A}8G+94({;K5+GCF$>3dX}Q2I5_%n*$}21|-S z+PtO(g=-I~1Ffd{bq`{UD_K1->H4Wi4&r4hu^=Ww{w21o71mWv20oJjE5b}0kbfH? zLA17*{35Rvpi=z60n*8XZ)=yPVU)9F78L z>}o(SvZ0h71_WXRem0&>$eQ~D{)fycBcf?;s@!#1p{Ny|ijBeQl~f9`^M=~V<6XDO zSkmsWlhr?+%H{BjEv{B2*96B-b5qbeLBibL(_OX_%z=a#Ev+n~3>9K)$%-+$wuG1R z%oGl9I_*jIo`#p!Fk@KVF?$M8NB9#KPL9yGbwgK*pJ ze!#1w>4K6HI{K0s&ttB4gP!ukw(8ep6ZS-UhHl#tkoX!VE!!hJX@9AqG{-GQu$05M zf3sIIU+Q|>>&sA(3Ji!C#lM=+PbaK8@eQ*8Y>2EYVFInq>!d*)%%(wm zN0ltvESoGEKb%dZ7R8xCwe{ev`u1PbvC($^ruGWlq1p=IgkFn14Jcv*r(bTl;SR3N zbsWzA?if{5N<#B>=@K*4cMdl-9NyEZ^d!HV{ywVyv#kfnvi~2rm!32428z@d!~t_H zOgS3IW=z|=rO=8t>lV@!Qk6Y&-#PDjj^}H7gb3geejSOluoS48)EZhlBGu&lPZnUb!CcaOv~% z;zVJ34VhLH85#eHHYo$y{+R?aOcXd+3>YOU3M=8bf4wFO(|NSsznVN&o*WJ47 zdjPOLl!|JVPMq^dG4L+6G9cQ3YH^Ok3<@NG#n>N9w7i6{uQEEYfG9dLH(0m;ZRU8J zeM0d9ZfLv=ylH&SFSdY?FAlDcD+TqwlN{CIAp*@Z8krvNkC95fD9bIhD{owun4nv! z3lsTGnAqc^iBjI=UU9^0YK&uAwf`PQ9~AzQWBBxAf!b)ldg|Z@PXVRN>8D8WvFh0J z)#n>oB5!WLUPmwXTJrOV)xMgXRs0&WS?r6^9TE&6CJ`tf|DJonlauTAZNWA<99S>^N&u68i|c51*&kmjW=qI8;=3A~70Iw5V`UrnjDe?%<2cJ_kcx{xl#u@bUfO{x zL6v}iC@KUyn&z4V{lL)-_zovtDg?_&xP|D+1SxAbq=YNoNK=wsje4p8MDWWud4&vf zW3EH(6$YNb8xZR%V2ZZU+&fQXY#_dgaj3onV!Dl4p2`qu+*1=XZ2tsOt`9X}% zb`nU+s&1o44yau5`wTz=cAs9&L2cZ8Q*K*Fq|b=_-Gd+_hXHzZ_w8K^xYof2%=CDuKUeJhyTQBW6^e%(aJ2ExwmkM`S+i-ytearaN zO$a+>G4!o&S3pV=L>JzAYH+Q3kf7JTsa6Pf%~#Iav~7+?^k#&Hp(RZ0W^fPIGP*Bn zW|#uxM{a}<^v2fTNn-2A3~Ts>J0-t))J>HI6s^WB^*V-)&0@zMnW>=`<#iPO9x_59Zz@yysvD(~gD7JD~sdu#@@+BU8l zDao<#uL&jKob*>;W@aXzXd}3*)pOteFi4#d{yfoD?>BSX7$!+^%Rk4xBbWkyxcp<> zyIZW_&vEZ&m+cwBjRF)N?Wu(-p$w)*4G4rhZ}!0UU6^Hen4G$u?c-L_^3r=MrLTyz zHjc?w_CR~N+SLyfC>ITA!>qKu-TF~?P@7ln?^PT`0lNsno`D`~mM;^0|Stxt0J^DCFuYV}jHYDw62_s{!xk=BIR zSy+{lt0}`Ry=-R32r6ZGN?q&0!}%n_tfSZO7ChQc(m0@)O<_HERu_9vXX`c5yqNU% zez=NI&TRv3bOK0uOAnY%-S-yX#}!~ypt$fm7WM~AgX0zm+>Wu`&Zj@8Q;S9%qgVMs z9c9k%|2OlgH5`g!+Q)}p7;t8>&*W27){C|>P*a)b1LA4O#R4s0M}4A^b{|$8G(Ee3 z|F`q0Gk@>W|2-}HUtOFR$pUwZFMX@M1Sok53^Fx4@zYGi$_Vpl-#EMr^gwi#*T?w= zqMln)fD~PKFHyl_PG;m30)~aZ=AjrWfz&}8w#$O-vp*^8v9($`IzDjNaxZEtg5xX+ zohYK~b63RHFtg$7+iziyaom~dYG_mT(h%nvJm1QGH>j3 z`?#Gdf6tX9ToZ->wT`VsVwf$X^irI+U`wFqK1QYPL61y$me6NTg!rLzw3Rn@Z0Tw{ z9Ir^|MbVCcj<;t@Bto+M_f!x0mNjrk*b<4-W#sebbctfieH^GKV1EFjkFZ+D*OGP> znha!}DZSskwZf0e2E{LBwEB#djXtg?vwAORB~HdB37q8dM6wowiK`{!wGx(b+7w~s z*y6W`55)C_8Ol{=A@{MY3>nfRQ8GcMCb0GBmyx)V>Og|&b3dL#W+1!u=IxNiG1IWsj{X`EFGnx~;8sUkXo)jJAM) z)L?M*GZWq(n`JaK&3`Yu7Rn9n2o(3OSjh`2jSTeVoMesyX@VRoEFG6~d+-8Tj`$!K zTl9GGljL5~(iV{FhjhDmAm(0Hml`I|u&ValzE~)ROhS|8vyky$a@$#JaIqSeXdHwn zQC#de6cN6EWuVydkuEC)Nq^JznM#%GMjIu9SYiekQ)ahKO^A`3%ZL3^2BP#y#AOk* zQ>$s=+I+mqv{^s#y{a-Mp7?Io%8O{p9vzP8Vo>xjd%v z^8H=wIYb=?Y|e0TU+nWqp#GOgDn-t7ioYYNUf6$&q{du>7{=^M0z;pwe#_&QdsnB*MIX3Uzc}m;4V-m8tB1LwEar;u*#-v5aoWZk? zfy1Y4xr>$S(U?d0@@$|9)v+AoDIGjRvBS)jZ-s4U1U8|!O!OQO^brxMz}D-B@8lb_ zwywL_{%*uE68q?RDmRecirqg3%^wuldi5^WzLj9HA9AA z^N6Qy%f0qa*EdtAW_K2sHA@O!PmKFquMWyD01O7T(hlJiP;3T-8x5i-4ZAHijqej) z>R75HwwQa8=j6)OXaKe9zt6V+PwVTQKb^m*E((eb$l5&^8C*dN`P{oyUU>SnkgAT_ z(;b6i3g1qzJM`QfMjC1|{eI3P)Fma$ZJo^WtLPPq!Sg zyk3YfZ8fLv&d1&euLfW%7`)!7^1|~TDUV#2Q=j^8*~PKth9`QOvqvdDdTVc(bpl%j z|AMVX0oW=5fUSCDr*9&HH}JWu{;!QHzqr9&Y^0cNsUq^%;IVn^hBu<|H| z(hhjHX+JHC{48EywJWm^n62l6IdZTFJBVt&1fr&n1(3Z@je0P}bNG3b_(v8}TZjQy z%-1fO3>JjuJpm6@segR2|Nf~@3EZKG``eHC-JrmEbxhSckJiC<>Iy26lxd>sBFy5P z@H!i(QD_;fFui?GPygQ?+Il_Jz$Gpkm7*eW@KR3RZs8JuGpc{@9vdf50 zTw~lne34e&{4npzRttl&;ArW>Zh>&_p?jH5_J)a8{_BkxVe|Ypv`a-c`bDx!!gKC= zpX_G80iC$7qV|=xEd-XTGe(DeWwVm*c<58VLTc6fu?uV1IQa;A2l3G1GmO5K=hS=V zCCPkmIMHhxAmM0y6a!3KZdXpulGCFs`MXjF`1*K zM(@WxG0BM{{m3^wtGUuJZv7hvz#_nCQ!@ojCiyzj$`ss>qx^#|td3GRp(Qi${(f{c za-SK#*RtEG1FNvvAHsZOp9SnE_1FX_;>i|aLQ*M#7 z0OER_AY|`{TVg8q{#*<{yb)bpl!l0EKl^E{_6z{1+&%$RkN}`kw>zubaGkUuH0Jw% z0xGw@LW()y^;AjX=Zjw-mVxC7NQb+q_xVEm3NB}f>Pws@JbhKz z>WcW(d2ufAL^8@|xrlE-%WgV3A*e%sTG-s((V)V^3Mj7mlz@GwdqECW{!$Rs8@IIk zO1)69747C7HFSa2cK;^(fK_PXi}rkOQEG<~OXR(`6M#ioA>+^LnP)Y6%@Nn&+H<&( zFKvN16(<3sjt^$ME^J>()$Z{cJCxK$FOPBav~sVq0DIWnBwWk=?rv25x+S#aYHb{V zkEDM?_0VL@F5dZ%4FgBmNc=C`7;Ed1Q1tFuoyeh|*O*K6q5sfQDc}ApuwGqa<=BEP;gUkNE~9y#yq^F@3z5{X)w^E_`UOL8REt z6|p?4oT8FjpjDp`d7CS=ERd`Fs>8CecyL%Z{~*`XcDlb|A}xXYE!Ec;{7>a{_MmF} z5`yTISEjD?7KD$*FrsYpks6{fjJtXZ50LI<*6ItZ5XS}L_DJYb@NwMuxj1IzPXutMI zmpdAQr69p5cKd`t@A(uhslz%-H!1VBnOHjjXeqfObvVBJ!@(lNG2%=x1y8^ZLkzpK zMC215o{)Mt_oSoIM3LUMC!>JJ{lf8-DV7u`R|vQoT)jXO>m? z!}I1~TumM%`mHXn2dCBzlLQX7$Ee+cPWG^mlu{`+1K}V|l-*`gL}*t3!>}uz8RY?T>V6*S z!&lxMwM4HmdF;L{E{zQKD}!e9vSOKtHP!EK&Qx0TN;OE;|BrmeUqRG=@wL~SbuTvGSw)kaA(J#2 zKny#i!ORj$myPVmq}OuuPZk7bIsF$4 z@)d1)!h(GL#ezHpSdgX6w7nH1CaUF8O10y9%SAmoW`SUWN!$i&NRo(O}*n*aFel@-V@@cAOPDC{_$ zG)Qn!@P#9V{b*p78QR-XP#%6ht5=GRN$QKQn)g68cV3y-Qpu&aRhEaIQxJ};sEt*n zoqpJk$h#el6o`$=#_BOAjQwY#R2Q$DdApAUckH9aqcO^N%;g+X=l7J3Y50DvG~z}MS`Boch@nQ zF>SS1y;`Cb4hW9;O~_ave4-@>EWu^fh$p4ksNJ#TD9gZyhpxF&qBEnxj07{$;N3~s zBrhSV@_jz;lc6>*!O?*{xy?gQo{fQeO*XaK$Awq?*$DztjpZ=kihY*A&3yFCghA7f zllCUYrAjUta!k$xig9BZwcH%syrLlYOzU9%JWIEu?U0$h5}`MnwD1a!n}n((?(ehx zQ{4E!Je4&xH3hpUW(n?$VO!C$W(T(S_Qhn?*%q;c!A!w5Gy8+S z@`H);jtxen-NE`ZDny6#ij_jp?m~7V4c}hbn%Hl|SN%-UfJ41toz8C9BpM|{`He2b zHscSfVmeKMBbf&R^dIT$6`gT)F=N+x*VmbLli1%T^c6eIY_k9j5uv6d^!Eb5uf7sd zSL0Vxayevyf@y$eVbnSM{drKp&euX=h5&6PfS9^PM+Bnxm4mz8c6G}!ZuB46I`eNw z$Y-Fujn8d~<{(E`nC3WOkitQQq6KnR(A=3+c;8!&)|toZ=dPLAD+ddXPQGxB=8N*! zh|z#bJSW{euWYM2^Eh{=_~C3pGB^_R+7zkun8*0ROu~yVp!*XumDbhq_L_dbdq)hK zMD4lWJqnNPysD+G9C38{I1^q|kSr10gR6}x?6YZ9r4p2#8^BAR*F-3K1R3 zPnPA-d0G;!I43Q8UOWo)@R7d7$}ip{*5R($D-m=5ae-J9!*#9-xnrj!9$?KiQMPDS z$Ml?h_nExWuoO^M-YL$fqX&0xCBX4z*Nq%^n6~%JbmBHx3aswdoM#c&5qDfJ;ND-> zNkQgVdRUp{(5gik%&kAO-kjh~Y29Ms(=pKKi(`?l)^PZpup<5%qx5Jz&rocm6ek+u z{c#Z;)2)l@6w{I&Mbx;`r^Vag>P3p->B-@CcvYdPXEwOjJOR7o{i%W&t>UBQ$3Kfn z*d494mllY1OPP*n9}zZtKf=OV8O9|vHV-0OT;#(R*?4qO;asGA<@)AP2NZ93)gUyCTwG5(&fU}m%QFHet zkjq7$xw)^`kw9tKjd=^o5@+>2WrT`YqX^f-ybU1BY2fZpQTHd?5x>x{F_~}q7uylP4zL|@zt|3`;QOg?n?mk?Vms#lVmqoh zDsz?oWIHPCiEICb?MR(Pxh`p;Zic6W$D8jGr+=%4ku1O%G2{!QMM1(7X&C57F4)K( zdT$Rf`fSV!ESSVuYd`!B4c*q9v@yfQV4hgtRi z!a5pgWLAiZMduShwb+wxnGlR-|o*RE38fiCYxo z!o$cNqf=M_8S_o5=M5{%v5DJR4HL3oH&r)yhJ1-Mq6-%)%fOXyQ#NX|sTEa{>Qke; zem1J{=;m%C`bs4CKzIIyI?445n~(D+Ij%7cKhtXW=@+kANVQ z8vC_7@5Bb3d(7n@yh|{OVf{!?e_=sppIOmANDEl$(lhk;l`e5QI49AZoDC$Xn6!M6 z&3H6D7}rW@*a?#<=G>(gAEKO-dRR zv63Zc+^f#r80F^TVj@aLK3NPm>U7QVq|cHUo#1b2R*V);^w?$hI=lmb%ha3syg|Ei zS0&`eS;`MeB5_@&{m65na?=(Gs*#GHE}W>t*rXTnD5~3^JS>Gn{BAW^3LTYgOvLsqs7bgqK8Ta?Bn};Ew4%GI?bjp9F}$LN?JVd z@w)YrLM#hJ0`r1CGWVAiFKQFGhXy*g<0ILCheE)}As3`-IvJ z78GhX*0VTsXis(boIjJ6YCQa~%#IGJ7#zX96<@RTdjTYEVpA= z^VQc_w$gYvBRjFwa}KjTK8y8CM7-7@qTYy5Bn)EL2r^UuVy3=ug@HRPj(&XJR7;tO z&$ktrd2k<{Ek9W7=4B1%eQVJ|t8>&Tq;h;0u?8OZCi6kgYI{7k=snv z;+AK{v2(S@w*eQVM4o0Ks1fYFQW&mB^Txn;3#})trmRh@VL>jQ7B=iyz9Vid8j$G& zn+^5>^&F1rgSs_kh1F}LkIZs`JgK%^SZI}PrNg0YDh0}0&V5)5{#0iJdYGk+d|VkW!KEP`Vq2K?LdU z96F`DLFq2(9=c%|dVu}IJD%si-gob{_S&EJ$60(~UBBx(<2a7`w#FAe)M$fTfW^)#w?r!@Ugs&rm z`1W;8rmB$J_Lywy5Lc{c?XwInj-IYNwRvpRB#BNf6Gl^~g*18Eq(nw8V8|MvPjhF; zN(LCRcKqu2%aD~&cC2G)C4dftdpuZQ;x9v1*WZS$iT`ED8hz%)dIU@ZZ0LvD0Nb7W z&8dy7rfJLV^pElW3#|C%)4F>RG)nk=Qd~1hrC1}1+j2omsWBzwzZ>>M+QSsr#%x2N zf6+6hE|qFoFg=Ly1`5Jc5Zj+AjR%_rpWM#Y_a^q>XYXqamm~f??svDC{TgN5MQSzl zMRTQmMOrOztJ&bhMlI#WJa_a{7d4NAv0{9h0v7hNf2t-xUt zNgA;5e+2O1GR*k!=`t7oBmxsGuWLyh1#4kwszYl$O~{;Fw*|T%F!}HgP0b*pH$5Z2 zRn5mVia1H)?+I*@`}a)Kh|qoUHj_dVI0Zu}e$~8J12*Wzu2tMoSY3}5Nad4xw%XY; zyF!QCSj8Cj$@tgd`2=Bq;;q;T+8-?=>I0P(Y!~7I51WFpP?CWo!_cr!wpR{;s=?cR z3SlPTcBPhNDl5v9%^2Aor9wN7xUkE2RoZtg!Xt!MuxWkxuhy`TwKpc-Q~2voEMo=H z(5Vq~{id#z(<4FSL7{wncSV#NnyzChO*?fvn+jbj3mJbW($%taH3~+yn!e?N-g&Oy zrg#HTCS?U-sS~}{tI^a(L^ZE?Xe#c%zUBOv)71!TMM{0nxdK58F-iDc-X-!{Im{St zE^%6PFL9=MwoEXT=iXgMJqFstHr?y|_otrjJ@(`S;NQLYFFG{0eRi4(P)X?IuWhzal*XC#`2!yd6&Nd#ZZ)vR2hgHqOsx3|an;-u$@yT;413W4~6>~WILP&|+^Pz4lN z<$n^l&%qS7Yk0$EnZbRawlJ@8r}FUUx5Mg6^1LH{x?7Vb1#1dzftI%v);}^ z0){l-`TQRI&aw??_ahQN_W8)sEH7Y^c)3Zw8Pa}XG;yqqn5kz+<6{KQuo#lv#PiRc z)W*9X#n!OEbrSkdlHSGiN{&t-U>^#sts9w;^cHv&h67DFw_|&So>FT{#zCwIs8^Cd zsp4UTKrjuFzcS*4CL@$iIt=^l*(57L=hn3LFNK{t^oWJ=8zzFa9Z4!)Sa1#)sx2eZ zi6wi*beUTa_$5sMRZLyrSCoFLCIQ}jvrO|-4c-+4E&u1iece|x}bL+89=j)O`|}J zqq`?n6%z;2zYQ*vjmHbDHpXW!Q3sMQ0xRKbXVbrdu#^tH7JQLv)m&sFu)Jw%ii(dA z_@iw8?j@Jb;^XJbV85nOlCI@JlT3pV4BN+HC7eKF8mo&#TZwgV`r)T*FN~Z{nD(wo z|Gs#e{FpXLh(&N^>5fIWz<+QhjgVGTj9?}!T^MkxAxnHCDiVPD6iO+`aWpv0=IdF_ zM+PZR?*0>?X94>lCEU(Hf+0Y_#kIBE!X~L$qJ~&IIiia*Baju_ER#V{tm?xyx>7a# zw^uT`7)vI4Z`85tO4rze}sno|EspJ*Gr;D;Tz(&LUpbol7ygEX%Y(^KM7kV{IH*;0Rsg zpmJSmnq{5qd&0D?tXIo z^^{>Hk&_eS1XI?(mXK>4q0;~J;80GNKPw^EImHz;2f*az-zRFqh1Q0FlxO8P(K-Uw ztpE5xG3e}sJ`~z1j6wVAr=r+WNI=P>I2C)9l;znMsnxA)3m$m?HVd3hYh&zWae`N*sLL(V2jgwxO#;FYnDkP z+OCY(QZ#9UmRh6MVEF!5mJjU+z17ckVk^Kr?;kzJma#5AAeSMwqZBhx3j2^h-{;{O1wx-t(G1CeHR;aP%Yt z0ww=m){4`TWySB{ct%J4AxgzSG$-7~8a?<8m@aLDg^+#c;-#zQ{CzJxn46y4g2)QF z<+wAM+5eG(Qm9{>cg!Gby5h!r%o-p6^VB8voT+V4I&@>rhNsfNw#|AqY^`!smNXy< zAFzu63+I1G=7o@M;1rXg%N_mdy~y(tc7q&#1*KNI{XtK0P9z;Sd}d6b{8_DPlMmU1dz z=;l}-fi zu4KypdL=3GUB)W|wk#QTCr!S;Fyj8&M)>b(r77Uo+VA&rdayY^ulnagzDApW=H=b_ zSiWnY>m`HHAl55xac{9lBTp7ca99#uKGBM1hz+lJ>omjnzZH~j2yKQ7=Gygz!65LG zd?JAB#tGOiV1TIwAf9BF**)=A$l!Cb8}7A*k1`Uo%~U|DoYrC$Yl(Q5{ql6$3PXft zMk8nsD;e!F4LN4;`F-k8T*PnstGH1l=56=-86)`c*_aUoVN^oF1moS4zw}H?^A+|1 z*ARGjy2oo(k6l;6!Wp~Z?TxE29fWMVj}^nZFYFBKY_ zF=pp%3E8;Zl`tVec@mBSWi}`FyR5#efG%z}N+#F+^vOO@gytEeBj-Meeg^B(mlO$5 z+pNOcMgfB#@yw#c@M%n3#eY%>i5I`f(j{ro*w67p=Kp}qZ=5Cc=E85bD!m!}!(A1Y zUUSTJ0*XF-UUM6G{P%!K$uR#~Y1SV+sZ4lUoSnTALs}?s#Osluww%lKm+(UdJR$#e zWSxlusB_iJIMbf8w)I3x0D=U8=v5Q)xC(U-|j^vJ%>s zQ)zm<-cEk4Xt}0Zdy{P(2FiCn(8;$>6*7Hu+iZIH<-V=vidVj;FwE}mWE>u%Lr?u$ zo({>gf=|xR!5deUzd@xp9>1f2>Hkd>0AHRd2z!hLgjAaWx;ozf($#IFd!^2Sd4S3u z;=`{V9jE^WFWI+6bYDcBdVpPHScT|EqTB+((YOoWyJ1 z@80wNjy~0#PfV&0v7%bOX)97&hEQ;GhLE!Lul5%^yEbK7`F`oX|AN!80{dW(3>YB# z0;{QfDC~*#KXaBge(eoP35c;k+_w3zxcv(YO?6)AyMhY*(|pm{0~=9wnS z`4X*E2S=C2eu!k!z$e-K0IQn5zpQHP0D&T*2-`0St8%HN1_{c^x8u-^k7c_F=PFjI=w#|5@?-XIUq70&fP5~^B%7UMj zT(3Iaffk)CDZ8suVXp^w2y-vbIV5>r14&-TQuH%5z>789_Zl~!%ytcmB@*wSe+R9J z@rke7n0jy8O%3z?eQCMT#c^M!=T~U+l}utf=%OPV>CsUr`sZ`N5cInt%+0z!pMJOI zw>p~6BCS6C`*zt)ivPsd6!QCo>;h*e$J_sOwGK}KNyhP9Hy_iCugPJ*xP_0>BkRWz zxI(1u^1PqUY0v$~d_&7z%%(^P6~p`;reB+%Cv^Qu>;YnJrZ@t4Ha~+yW1L?Gg)T+U zn&4HicghBbnQK>V#i({nY$PWCE}ZHK>!8kKYyp0h34o4wBsa^8{yhBy+xUS$QFpxj zy)M%QBh|huTa9jrNPGN!->l73-{WL2*TMlxsUV z>+un7qtRF^@Y8j8$>hLjBR+5_8gJgL-Xl!ZxYzRn__h7VeXzCZd+5!R{~2%_sP#lY zJJ*da{O+NE#uHG!eZfjdxw>>c0V2uo`^f)?S1>?AttJy%Dsk4DR3^(ZENJCn4<47@^G6h z*a|mEzY7@x4mejm_De~C15Oz(;DFP2!WD<33$L_V=L#ZHx7Q=ON3DT=QJK(4oQIZN zXQp~A*5x~0i0DfV@(2BRq3f1tmM8VE15VR#2OLAd0Vnm{vz0lMilKpfbB?oD6Szdtb#UJ8<}a632A1`&;+ zEADRa3X;{P>i$Eg0+3YF+Em&M^tm2)z}vLm^r@C1weYjZ{$rNI($lr+pS~rU-X;Yt zXERRT;Zg}p2};x1!BI}n>{7i!p6B_Zlrb7C5Xyz{pV6yijB9U2aL2 z694d&A(W7=Z29|?U}%}YziaAFfD&{KQ~BF}oOXVy0ZuzZ0g9j?#pzJI3_Q`J?`pE!`d4E0(+}3D^&hJpjeo6nBy~{u2GJ$&+VMIHgzVv!!Up)`*701c zKk)>(;WS1%#(#xH0RpcgTe5YelyUB}?|PF?$*4DgMlcaeX;Fk{ZEw82zw*hEy$DcS+Wm{ z{&3_M^=BJ*8=c^wT#OPqr%wNKlhL-YK3B)XgHjQ*^e#z79g8P$1Pb7)KgERs1Jw#{ z>%d$wfh1|4)Javz>t|Q*KyCE>Jr3WFOLe@A#y|;0sGG%1CaSbb^J8OEKzF9r zD>=Q$IGmnN`2G7Sod{*zfwt@?vI?lJXXI^x+GV2=VqaVAwnh9E4DT0^3{-tabnB+A z(7m^WlbUW)9a?x)g(oxyKc;PRVZ4=$@VHMxs5TiBSj>IDaM8#%!z(Jw>)d9H5H!svVrAF_)MyZJmzu62;Gn5j~TKm&ezE+={8CGmhLaT6Y*h?4KEPpHioO}r{NwaE?tkgq9^NIr{kPT&<@DMvBMf7^uGops!OOLo zqkb$9bHb))|9qO@H#_*RX(}9fr~CfyhTo`4QPUa0p1G$GTWWK<7|}9_zVz~YK}&Bq zeV7TzBP97&Q?Gi8dEM*+D|}gn?nL-PvDSImBUI(n_qM$GWk-h z(lcZTBE-5#1fUNx<#9yU@#MN6KYs66p;cU(h?CV)ahNIEoE)|6z7CRq!!S)l4 z5~hP+J1phj6Wb<7yGn<%Gc(h*S~jtu4s%B{IgE)zyQtia>NiuY&7V|4)(E!}Q*X*M zJWof4=>uQdU=}+sbrFA#*?z5Yn$)#&Wd2aAafbzBwEC2}Yb(eV*nHH3BLOXdYNYGCsj-H~YiUAg?LA5#Q{0rMr! zPT-Gsu1^0g?hBeshUMS{K=QsBK6owdYawSOuKn0js3onJa{nRqz3`np2@3uy5|!=l zV#gd`dFcu zx{$A{OBhwHo4(KCW^~$EY14!F%+p`gbC$%?BsO2z5lKgi4Q>umCHYisC)pd1K0YAIs(2dZ!E+&z@>kU0YMK;g*(<`^_i55Lm?=*!M7ufSJ)IQr1|@Ts z+kAJFH8zv&*kVIJ|Fre6;4QyTWym3Cmhs}ZJl>ZERkwvgwk zT6P97dXD-q`ONP;0DW&7lzWS?#m@_(>2wmnv z5s%eOvA#ZZ-V+(_up1o_!*%0yiK=wi%js=gcm)3H;tG&5rrZ7^rtPiUsAz@>YlRAx zLgocs7xw04Na%t%J%~!QObBwA&sb z<>rRog!#ZNBSLYxbPwS4jOBDL(sPA&(x5t07h41!OJZ&R8hG{QU+WvEY5;QQJO8fD zo^+B+c2)H*d7E)K^)4hL=yqg|zHab|2%fKAxI3;_~yDQs%I zSdMZRMzwqvetp~Bun6PLx0L!xuFdLsEl^Ou$KhyqiO3Zm?RJ{<7#s5w_Hd=smW{d* zc}&S?5ynZ|eAHw-CxmP_ri#K{@JvlyXtl^+?^6)qYC3Tg98#|*L<@>7mge|8VCmFn zD21ztu_utN?k+`=Bh1dktWljo_hB!V;z~XtzBAP9{4gt%*k%Dk804d@ux_P(d9oFC z>Q5+e@y>9D1|!EXEIIa+guQkxP21>tmf1N=(etQRa=iKUB4{i+fRJp3QaY*SHf=lhFy#QH%ypVeSS_Dx&nHr~cD>^9t)mX7#AJ=75^G_KixPmxJ>&AXlovWIQjo#w0L z{?eC)-K6hW#=HiXH0qWuDeCrWUzN~DHHZNJt_E(L*eI#PCdxk3M)7^iy*`5_vOsSy zxSDj{y=GXmbK|mm*SLN@uDS&m^11d%r#Ld=J z51qzb|0OSten-8$=|%m3X~(6!=>)=Y>wqKfqTPq+{VbOxus6xiUX{*>MWaRVsJg7`EPigJL+N~2d&$s}SB(;NKDrtVJE58= z^l&BzUSX1B#mz+bH6A!}!Lw)MdwuiaFT$}4Yd3l2+2VK5U3=ZP06 z3(ZWiOJsjl9mA67GjF>oW=fpheu%8hespw94n1qYAg*StUhv-j7S8v)c5+M~S?&pd;mce- zjIh}ahnngwF60}Z>QFf^uK2W9CBfwERf=W9ShSPO=+_d$r;(m(DNbzW(*5=mSngqO z+a7&nFo;zuny#h4J}IL&Rc~Z4+H$*l#T5q5#~DQ-Ie5nx6<)0k-m;G_2q>u@cQg2Y zQ)u2K9a~|Dq_v+$Q1sG!UaV0Gy`#d_)X_aT9OLzkaa;q`$9;Q&Q6cqfY&Yj+7^g%0 z_(dUP?RiApMH1W{kyH`dwgrqH-l`$ORcT~xiM8fzt7Gvx#P9E0_+pEOSvRYr62|V~ z^lSiza~RwKW|2{95Ol#NGlDy->ZZrl20uTp(n<>TiYV%c*KGy>o|kKN!(!dhDLQpk zEPEn#eL@5u+5zZuU{H{zBAX{4I9n|0Pox5FM*M3&#@S(C`Wz8HNB4D<2*YEv6;g|b9N`r%tzJ?F> z3(~A!fp2(n3zx94oNqyKM18!dr3a(NLI~Ik*@AE3uGhLZ z5jQ)5)~a@p?F{E^W02dsPYZKjNDK(NKP_I4<|ZcV%xM*#q~P6;cwk1)S*9f29v)!+ z40FU9I`BPcOx-M`i1?O4rAWaVdL{*b8ttppsC&rDkcGX7m~m6r@hizJ8e%9?_s2>o z66q1*172BVG4RR|iysilX9u=!WA=(4dR5L!Ji4x!p8wIko(fz~P09ui3f9|8=P@el z#=6K$VpZ(~x06-+JYb%|Yd+))tYJp18#QI>mqmC+s(q}&-G$*=)2{)$5j1>%IlI#L zglbC735@o_s2cCMShQOUDC6sCt&Tj5Apse&ixLYJOF={>E=R{>X|-aqvgJ%z3A-C8 zJP$$3Jkj$ceBEdu^+F1ZTeQYU-RJdC3(hEa{r<{7klO?6+Ziu&+lJlW3O{nsdhe}qd$G1&o75Vd zZ9Xby%j0`8opPw5kqNMpQhKY^tE@sUqP9=WWG9O)RxWQZy&js%Gt}X@yI#Y1{%Z3Y zKTFJ#;J`C$t!?1#`k7M5M``PIc-#Za4~@+~rdrDGT9oXzxpfxpCTV zMyF~W-hQMKfMPZw3s@=5C;X^-v(+FYG4`3?i88MleL*A1iM{G1GYIcHUG`U<6-dOY zDkb+HrI?1O(lYfg>FI=NiDQ{j__BZyUDq)_Xh}L4k*4I)sgY~9cC?xkA?pZqb8&oZ zy);zY)Th=1 zlB|K~XW2~$;n_BhjjWD76_xq(VqVe;ty+%MXui*@rInt^p_3z{Dxx_PKYBcF9eXf> z#yGNPDZx~UsN>UyAUvi}epGk?gGP+ZbLRQ-MlgB-hOuDmI;!#Y8gaN}2kz8sWL~8suRn2a|njxVqO*Z%fQgSJ^MWE>X%inr}hUxT?^bNJ`lA zqQq_azgd@*g;_eKoamWsHCat` z#eFPkL`G6J>ly)Mj+T7MkGo!T_~fqfFf1`mz?=pawTT*9;ujT%X}&E996NkfMK?@} znJ|}g*&Wa}=4I%|-5{cH0+AG<%ik}j7qV_#j-WRk+4g-vU*OJVBHvvoEV^#L@^t=4 ztj3cdjL_ay*jQg{Xq>#decY2DCv?n73Pas_2G;gr(Xu9aBakJGklpjT6&1@;XPJV3 z2VpwB@>Jmj)&4e*MA~$nuTU?LgK>n>p$P`<5`?-TAYCkb#7Lji9M`(dug!o6kmtGc zCJB=+-``^e2vyMd@WMyGIt#W}b_78Ro)n~+bdpAjotx2$CtK>7;`VlcOHDyD%4}a| zSZ74ElEg9@r_=_^>HZs5#w$W^g`?mYsW;tHWg6bCUb}z3GgP}L5w^NxGR&#Ie(&+>>!Xy!pcs+;`W%c6TMeDIR=|qt}glX|5ic*ASU(5*EjcE z$G38yF~GT;uY?HMHSd)sC8(5W$L&K8M+zE16bw%&JkGJa;A`d9OA8%ANFShGo z0RcbTU%&vFt=jisut-ZO3RFf6MqP^O89!m~YiL4#UwrF%Gb_vlX!w}kxs>7nI5k$d zMrup1r)&&{K^ucGQbAsGJSlwoW&ExY0Ax|8Z4`&n8X-QT)EB3rw8d{gKr0G=8WPa< zNRmAK1s+vAE(wSDdWJ4l4aXHio?|o>E+*JlEC%oer~32LSP8fG<6&dBHO$D9w zd~Klu$h3&a$p0cH(nxG4D!P7+ohpqNSB!`5)od%e zu+-c%dg$dbc4OPHy#SVAlr}x-9N6Nq{X<8!Nk!oJNcF%+PC-)8b&*Y8p<~tQ7YE$u z7ri-8$6ilOR*0>DJBaYX3foUZ_eI_ldyBbHFtLL2wdUMUx6?q!y850epZ-f)BV4SE zwH6R}nO%xXM^8tiXIs(McbOJyLl_zQAiE#XwW~KZk*|!P39?nT^)(8Q=1~%2r7hVP z2N*BuOV%kXRNU#geoDR`$m)cdRG>&fYZ3i>&lPHzW5Z&v2arqm0>E9yGrK`jR{0H1 z`>d108zknJ#U$iuOU7?>WhvUr20MTPjqBX?WGmBD zD8LnF<)2)9N7a0E-DHLI?TljItetC(!-4Nfv|Kg<)FqDru-5T8&G9$Yxp-w0s7rqq z!Pd{HGetvRr1>hcXK_B&3gRF`m%<=`2f%@|ewM~BjBf6VepZi_tGx$lPX}ZYQZKq2 z2pQhTesacV?=#XnW9UYkHtzD5H!Y2yMc!Y z2)Ja2B*OX!?@gz^?6nL2$-pDr{0dzCcwfa4IJ#!cgs~ToW&I??V7MQcS9?F%Zhw+R z3pl3tlap?8dqe+rYnl3BfxT}Ck6C|W+5)(x$!b@HCW3!11^nR1l={`iHcJtLf!@d= z?jyH;zQ%1wJ-WiQK*qmoGyfdkrf*nCb~o+QRT(bmx2@Nz%e~dpbJ<=pCiwB&k`#_x zVy&YF1_l3V8pURh2w>;>d*p{sa;Mcdln?M9A^XgA^D&aFjjS%pJ4d2S@4gT2{d?j< zWMh3)_eiiQ?g!!-B4=J*)JpT2^oHP)3!#ysWx=bA*M3q7qdtvkv1tg~16-(^!<1SJ zkV;Z7{UNJip%lN`Fu=?uRAWE=K!BaAM+P8e|K31IW8Yp1ezI6EdG37&Ja%Ad1v@`a z4t4FhVwIMX7sv|uj+G!!y%igXL(Y>uyKfGOO!^Yf36+~MMxe_(%ieD8Ufdy@4cSia zK_HLK`}v+NsD~m~?A71GWje@jq2`w;)n;|Zo88RR1nN%{711)!Pvp8+xh=5cUWG)- zs6L#wl1}8**V-PF@cZ$1Nt4Y7vW7ZjIy41pKtU?TjSR&B8r>=ELq_X;DB_ zd>o7J`|!4lmd~sH`uU0np;uu2FqCKe-h+#4asjuGWKS6cCtm`}!oc`z=NETSX~Lae0`C}+sd<1uHV3Z%v;f14#?$!xtzc6^r6Ew`c=V|6x!y)2 z)jaHTiN!@_@XxwlyoEz5t~_h9sa#cC*}`nw4^pb&^iStsgiQOFpaEd}pi);w3+ZIg z#~=rEnkXh7h+ZnZ+DNO5-gf8W(+>A!V=QHnyU8vgnsw?qRnktcpRl53k!6cO0gXU> zD2_#4$4n&e4{x{e(!D~T{%QM-Tx?-Pex)l%>ch%cr~weD1WTpee3M~C;ekNp58Jbd z+kl3r!y6y4X`&{To#%zY%vw)N=2sj?^IX8?ldAz8SaH`^JTGiFxH#8O#)Yj~G{+>b zzxby*b$f+4C>H8Od~%uRv^xiN>?GXb8!nWp zwiaD!RX+V-IJS@K&16@QX1prXH0T7+d%zp=s+EsI9gyaY$2K ziF4J7AZn_=QqUlR6>{SFZBVzDxDb$n)rh~KSiyA{; zf8IY8?ycU6DfoFOPfXmt6#!z16ph+pVum7WG1z9(Cv}dC!E*W(rjl;afrqL2;0hTG zX&UWhNPTHTuj>Ageff)vWj8;8g2Qu9Da^2M&?a@~5^+ip_72anTHf`@yCEMrD<$Y* zE%;@)?amfCmHOOnkN>kSi`M)EhDWZ>qH}y=KTocwo9u(m?q&5|0e5P@uuHjl5H<@k zd;mXc*y<_jkV#jZIOmTU`y7_SULJW`GqyooBEl3nFSx{Y+lQA*GUSevN&p6l&$NJ> zD}g<1W}}A=!&AOpLpkU3SGIz}AKfkI3yho!1kl+<*Xzn^yMQ5s)sP1;Ojr0?fRUE^H?Y=&{$9aB$7w-mR)i9uUN3fecG0Ldgn3I`&rPbC31^aYk>MvfRqK4-uE*WahTB!yDt= zU=x&lflZtXECLhOzG`U!z#y*Mkoya*@CT~?Bz5tCzH`K*3s5T*ymj$G9w*b`&F@iJ z9Y4AnaGr~UZGRzt+i>|(%p`?f-@-4(l8Gh?52SPC>-_O`GDXcVcvf?{*2TOzHsXbw z5Ov*lpllxt^Wd=yMM*Qfr696v0Rcb{WYb)xR!wJM zUb^dplAG}T+KroDM*sFVK2!jXVqjh9-n}I9b`8q&cfA`s2XtmkYF^K~92c2h`{I1NRctw4WR7ffZEjo(bswd&I@g3uo$E#6 z@wn;;yWDz=9j|?R#QJXR)i}2=8yU{$qw&7&s|0BO$ZRSuW6lw z6G&Fqh?5}@{*x?Yt}8EHkP_&4d2i9Wf$4hvvLy=xl=$8?G-|Q+{)5pha96gc$FhBp zl1`qwJU{#*OJjj@3(%5K(ik6W!pq_w3wWhJAgl&BFdlCp8(hYZ$nZ-Qyn0nnXU}d2uD2``z=hPqapVrL+B( zC(_K*yspW#$@9L%jYdo(Bo4=gpgGM_UpYVb*rD&O*a*pGfl0uULdur$z(uya3p8m$JQYB_~vlHMokR zY@^ggzE{(C_F=~J8a~t>@>|E=CU+->l4S&=t^3s&UP`#aw6(=ix--n1tY%OL26ene zIqW1qi@9A9cAKFw)hNW8rl2}cKACUX&>slZEO?lIw%!#>l>23l&-xR+l<{*T(PH;6!AP>r)sg)mZxb~O(0vH$RGhs$^stziL+%JKyhF9TfvsnuVE3R!G)9rf7{WKM z@LPY!9daGjH7=Ks);N_R&oOfi$lgMthU>ya<3{flt?v1D&1lM*&^y<{HNJCpoEn1L z8c&b+BA@}ws!&bY?&k+RLwwv#w~ai?%p*FYFLe7a22!ow0v~h{o7QZcHhmSGxDuKi zt01uEgX|Z>GaF>~IPF`M_Ppq_9GFSsXxu3(Q5*`Itp0myH4hKni3e~Gqhu)FY7(bt$H>XpTXg+D^if8xr1GkMkFas0vl`OAgu)#|>hFw)4=$D*XEx~t{%3mYkQ5N+F? zb<{~GQ?7g<>m1KHi&hoQHJ8N;djbt1u^_ z28}9XMYVll54+=oR=DQrWGAxtj`*Wz?Rgk5+E-*4a7ER8rWo=i$<~6b@oAj1gQ;eO z!Opj~F_AlPZ0(jtYv^~~@2Y5qtv5PkC40We6~U56%T61&7VGWpz~dnYsR9#Jba30M zkT-d5NWtQBk2Tv9aY4^YiF5eE!cpzoQQv`$IyX8nSc<<;vlNiQI@@=wfti5sr8sB& z5u(o4@C+h2$ZPwt#kpyv3d?+!1N7Y<5>oYdm`6?dILhYV+Sd_S_rw%Yc{e>0!;OIbeb-m@uyk0N2JaX=O*zWN%5 z@*jaI^OU5MjBj|g!B*+q^8%~Z??$5Sf6YbjJBfbg5`FPTh8Ji1`(iV{t^2R_teK)d z&Es`F`-{Q@e#|-OZJWrc=_Oh^NTKU#Z^}uuoPrGRORI~8_W)G);$#uEANKUQRcH9a zmh0@H*A~w&OqBo+8p{Hro|ORe{mO!g-Ap-JM$dD009@NjvAvWu|Hh*P^%&qGtE-7M zQnhUIY}`87>RUwV5TdDNqOp;(o4j*7HrGi}03WG;irQ!(`5VRVpAb?hu*70tiTu=u zJr+$Z=2;}}TO50}PW@WPsiTIRAVg;P3C*z=wXoe2mfUyMlGLnCJC-GiT_9VRp#AU^ zAfdQEqr%kQxW1~3ajm+~pbTXZ0=6pFPhc{9LbxN~8!2;SXFvVMJ_;RYmvqUzoE2`g zVs!a{-?U&e!BntcLkCmTD40(k@abO<&o6FqzHHlSHrZ%IAh&V3%mny#L)J9ciZ__~ zCIP5$&zg||{raq?_(Lyp|JFs!Z9ibBxIc;f*W2#ZKEuWH8@w@V@7MEB>S#-xf7(iA zV=tg);K)I(k|Rav#T9bT9GbC(>)uRqln~Zv><4vvjV3_o6$&lh+Jp!g9sp5)-bb$6 zLp9k|?khgS1(FIR?TKrkFU!s^WOOxrjHloix(L;flD&bnUV3X9=a}!uYoA3*4niFp}LJn%dsDbs%39a5}u(^2X?{5#4xi3A{Cof4|yMEF8|^Y3U^riTeyZ|f^{FycNk)JO%=>M)Iim$Mb5QnNWjB)Xn%%ik-(%9}UB zyrc2*r(bRnea%b7#q&3aueI6WnojeOIZCP=MEvrDLk*e8s)-;XA>pbBzFT%NIxztT=lL@|h(4nHbA=7rDh8{I?9sQv^<=B2;|0LG50cqqPJLlt zaOT{MnwHePoFkAyj0Oqg^R-OFud;iG;-(g#-4au}PW|}6we9?I=X>hakmQYk+tA4~ zRw(rH(3nN>nCO++Q&meeJ_0lv@t*3p%sz5vsEw<^@0Tq|u08$+PcW&^=~j}rk(yoRK3EUVnkI7dX(DYepsXyHpjACP)|{WPnA z?d7t}QAbIHh_qRVV6BOAz2SZ!9KF^)6sAElJ%EQ8JrOZ@DXU6tB#MIjNMY4HU!Q0n zz-n*IWC)YKdZ=Gsg=TwDea=1+D*XxnIj|Y)Aa7y~cGh11wY#&&L*NOBhXI|yN^kBc zpQ~I*+SSw5L8c;W$h!+iUP{5j1w54q34#}6db*hCn`;U5`%M}eJ_d|F!Y=hZh?Kht}bMoo> z@`TTiu)iil+#z12*&BI4K<#Qj7`$&-O_;`bHB{??3Z~Y63#;2Wlst$!Y&c$mE3;3| zQE@}nPGMbRTZyyAT(Wws41T;0>k&~(2bRvVZhubvAZB9LesG5&E9{zl=8RCI{%Ch` zvf4|sKYgl1ULA$AoIZkoG{*UvMIf0I!ALAr&PEgv#Rf$fvp|!#qr|wzSERre1?ecH z%{s6XBfVhty}ZMeveHF2ji4R58w5Wjf#XFOdMM1S8;{&jBT1rTHklf28b9Nqxy}Nn zy@iGNY8wfW=qrA&OxI>Ui<#HWnE&q_77}h>AByw}1$N}HZ73*Wimp4(Z^fhOJ(vWZVkD5gT@0~0?Ojd{KpHPwa}h}W)p_SMGt zL7CNcr$Zlj%-Ja+C9;LiT2m*4WGYeO7e3I^*jR%2`7Eo>SNOhw|hCGv+Z!=Sstt665LS~=PjVpMI+#-m< ztW8^Us>;%6n|Apz;XOTNsTc5=08M1fx9hV|p15;b8Ls8%M&~Z948hyV=PdwYutmPu zP(0F8iI}w9pf=l{=r0%PU-#CN*8SbayiZ;E?uiI;I8lVEzuGVLK2y9S6lbf3@j4Ht zn(#Qo^@Xm=&R$prsD)*0Fc%d8RHT_tziJ9p<8nBcCFolCW7fAc*R^aaYrDv1vx1Uu z;dM4gqsX4V=Gf1J3Au-Fhh!A-e@?b9_L=3ThEalFdYo%p%epHjd<+&muAm;C zPi+8dtEeul=PiAMycvj`F>R4j_r;-ovr`%ehq==~*k9DdvS3r?Somvp;9z~tUTE+2 z*bl~&7CyPcD1epQT`+~_L2SyX70O)q@NOdfxJiKzYT}8=Axwmj*snWVSsgupES-0I zwNA)XGuXf_oe|DL|4DRR*%rPoWQ&H8`(gcOKDqab5tYK`pV%eLi{vB=9Jc}G`RpYz z;jSu>aD*@Kcm?FiW2`y}s-J!nbSmgQddsMLz1#J~`5B|EY!!9#glM-Qt#qnAoO5IXS|?||?4hwhXB7lwKnjAI z=oZANEWG|m1?6PQM04CQd98a1+_wtw`;bhmmCmQSm0s~lL0AcVWFTNdK@Xju7476r zcQU7i9zUN#O`IS;LxtE^iy{i*nn!~@Us_!CpyRjmG+`-~L-DoDj$^k~7rZddm}Adc zg`JPr^df324mTWOiKEPz3CW^80jE!NtZg-*T+3BxlUD7mIl2o=?Vbv(7A_%^$e6jn zlcd0g`&PNozOuVx>lvfJp@icQm$7-42xwh3dzrL31;&g_U6Y!-T$6<4ql{&#pA#5Rn{uBAO=@tMCT?ytxe+s^sN=8rNZY4?L z{;u;SW|H=vznGmT%rb#)igb*S4(xc8X^m@vJSUVA{Kwzr2Jm-rSRDlnUREeRb@X%! z>c*LE-%qP|Ex8QL^rPfv#7vls2L|V&eel4nwVQ;18A$sH{46Ckln-9|HX1A8*`M`$ zdLyIHOeN<)1+TnU+AcEj1kwr@ijHUZJ^n0GpR8Z$b>0z`?Kn$fXA7YmKl~xz^YOS+ z?lG#}Z(+KCB1}+-N&9?xFIUE{;rrzEY+q8l6R-g7c_`2|g7D^G+vbaPIpwKA3m4S| ztBHs`xjymQRL|SMx1o^m72Nm1cn0{=bokS_Q_dxSM0}gImQOuWyG;EK{k3_jnQU@Y zHKd(UNHp=5}^=9v6j_fV>+ z+M)wl*e$DkcVJ7{Y?LPucg;UumhwK^@34)er$TOdD_XfjyTEu^x?OwA;_V;s8F1|) zow)M9h4;v$9h|pzF|{PE8sg2tDSnbub<#4y&wL134nk)O>>K!PA{$X1L$cOFXXA<7 zTYP*Qa8^im1ne3{>9f)Fwe?}$zK{B+ekU}&S zCnmPEa~Q%6$*M^+WE_%w$ z)aEbC|5ynX6!h3_+Q^q1Zw78SjAP+qSuv+>+EfvxV^_b=*hNJ=WNaA3>Ms(%E}kcR zyO-K=+&Z)CDF{2bx#FN=hMgfgEJ8I&Ob1kX7 z{l2dFA%PbxnZxr)o&C1eMXJUVNOV0#ql+GISI$7Z35Yn`$W6*48ai{4^YCXsUs2U> zPAt!CoEgqnuKVDvH$Sa0+c@>8vw6A3x^lSy$c@+9>IoiPJ`IbDqpUWDi@Ew}mKEW# z@9PtiDacy}gikMMK&WMyg`_1k3X}nrLRT@hQL%ahOUl*hSfFsrw_6= zMwS1TWd41i23ErAiqTtz_5N&TpMK%n6RNGz5)T2zu^hI8CdiH90h5(;3Hm=n!FMB6 zZ@~EM7cDmc$*|HV4|zKO1|Qxh%uKND!=Jm^w4D(3vZhRj^!clsRA%hkv1ZPj)B$Vf zYokVC#MG#-rip#V;)F};Q@h0_Xj9-U@d3FHy|gYSgSegD^ONvmfcQ^%?lhJeG`3qS zZ>L^smD>>zbYYq~$8rOE$b^0CD3ZA9NWIz_Au>hrjNt=_(@Hvgj_fr(ReSkj2lMui z=2wK?B$uqDY)|1N;@bP5w5~_yODE4ulpY!BK5sC-={={_JZTV!IsV{m8*b&wTuIxU zS49sZ*81e1Rp^TF_cHxC+^HL#?-XRLvv?B7N=lPV!p}89e{rNeH!f1)3j#!!@w~dbwR0LEIlGl<>THvl zi=2N{mpVHrJwkizHHl?a6@`3<4F9ZrT+3a^v^dn+R8Sj|Eu$p~# zLJt_zz@_am&cCCx9wY*GFo3dNsCxw4HyQ<3tyiz!zaYO{4LH=SO_PZ+wN$sLnVfI$ zuYTtcT}vJSES;CcE<)1Lm_GPHjt}og#YB9(kKwCLq+^Kd5wRoI9npFbAKNk4obaao zXze+ZGRF~MEe7zQfa}&_6Za77FY!4g_dcAZKZ^hrtuVNoQl z^lHM)&d{nRC3T-9F-b&OQ%^!64fb-p+@L~cqczW{-mW7B)m6~Bpn%)ZIa?BEi6<<> z#8TCGwWy$odv`%~xKwiw3rn#;_c0C8$*;21#ennq5i9`s33Am}Hd#qTD7_yWdcK2N zT%v9{;OMN6*oDYoRK0gt}ocN^Bnx~{J0h2ZK22+`PL69{SYCby6~xcgwCUSuG{q$N(v(#Trt+Q zWrVCMQX{QB9ReAsb74mJ`N$@meIJ&!g=95OvKfN2m~#R(v;GnQ4)Sgv`Z3-r2P7G| zBgM}O1NK|fW<9HntG1{*VEdIZqWG!)VhNyk)&MJ#P0pP}$ssMt^v1k`7Q?w{<2g=y z*2|j|y!gnj;O_H`_G!A&Z)4(n^BwkY@g7;3c?^reN0DsPo0o>puY6Et1MLJyOG7#- z?)&F&Vn;o}i*(>W`tuJSbhjz^>;$Ggq+gH=8 zS0w7bsk@Sg6(D;*%{j#Qg74ya>=*+Lk41w-b0^R8y(6@R!z@OV`#~9LFmQ1`)s3|Z zqQQM!ry*(My427%i1icmdFSTJ@d}T5EMio@?4dYV-{+2`LO!$n*_r!z>o~#So1c#* z_h?BJ6|mP&Yia@yR{4Xs>GET8e!%u!YEZhzFhmH$!L(j=>+Sso2J~(#s%F`|x@%B? zd`=&}Jh|evQY7>M8Hi@oI}2e@)_D_ozc)g(QcPZ*RzwG>y1}&Krp;kp^SyrLcN|>D zWHt%Kg_;Dl!j|*%N7l%;0plBYO@P%9QQkAE z$LM9ZOvQpL$wXzc)}!eduwE+l)8bBzX}^etGX>aFm3`xVsl_KE5b%=@Su8s_oaX&K z0E3QKuh=&=g^@fyQsVxW(5z5N`F&?sk*3)ad{{<%nf_9>yhk{J(4%&%@Y)9QS*-M+XvJr1P?+z zrG#+LjktXY2yXqOG~@&5$Pbsee)r0={PczeS-bn4b5#8~xQ|%^`0U)o*n^!ozSa6T z*6@R#WV_6V5t!pP?mAg(EXgB%86{u3rKcSgK}zs?pVF4&lFpv7om&YNua4IlQGg|v zZaL<;K`U8Ho3X|Ns1@I4ovI)Bk$@MitAHR60n@tcO)_2wenAam0DUoH0*UMJ4c9+J@&T(>7zmkDXl?xUsa6qn}c&3sGg z$7u~0>Z=uEUrOORZpOP*^gHjL4~zTH=$U$i=`-9;sT*?VRTdX2I^;PN=qFjfk9PdX zks(|drjf>BDNcAF-_JTZpcrqqfK6%*LI{MCkl<54ZXEP)~@5FfR#L8#Sk z_<9Pw^f&5lvD;OWX!IZxBW{g*eBE8`*KhImmyRl4PoN`dtKs31qB_KnB#T9B&r_wp z#(36mpIE%-uj=eCueNL-%KUyf`PE)E9hG$Je?^FI*@2^HY-luw;dogc@>OZl0+3$F zY-71at8A&VukrX~DxH~XQvokaPP`>=Sv&O>0emG1!`k?UVdZT%_h%*W-rB`axic#+ zV%=}Vp0s!Uo$qnWrNvyq($ID9F9S+H$#t*=hN?=*#P~M}FaATd?vtki?la$8$a6oQ z6%m*>zXpmSb((*I%QX{ttIw8)tB1dN8>&2QPh0aHpmP*w(bYWH6Q5ILBaXiw3x~9^ zyLRx9n71F3!OQW+IqVP@)4;CSDRM`mPcf^V%lK)g&kwX^K z_Wb%Vs>W?i2VAP}FiEGR{N#gB%u@`jATdv0?2%N^PVCXjs6MJSmnFr-QLPc0Au~!0 zyUF2(KiK3^0@8hHHCp|1ndTrFQ2t~I&m%TcNhVDSuEnb0!&rFkZ8rvOQJ);y zcbvS51B%8~8<$OX>EbX$sNiDdQ3+(-NA|@PQuzF;Qk>5L6KYa1?%-k? zkk{Z5eo68Xl)t&U8$M}SB;44sm@jkLd|PF~LQRACfra#rdpKyl3KKI20%w=qM*FG_ z>qq+CYr!LqE?pw*<*hZD!s+r&3n2P%Lfern*jEtGOrW5zLL#RNqHYXJ!2C!-k?_>m z`)tNu^S-#9TIEsD*&D%)Ql;n2BlmxHDHmd~e?!(o{ljQiM@b)4#Gbicuk+YhmntrCY~Bzx4hV*h6;JIOizSn2Z^48_R#bU7Ffbc+MOF2GfM{5kSd z4Pgz4;I-GEQwX}^$$qBMS|9RAwlEI&%1D7>vH_ZL9G&$S`X!#h3`IZN_Sk$2%kmqc z1{08#El_YRs)RGc^(93*Vf^4uu>SDPMv2rz(7qEg&pH8$N*#2tR{UZn3$Hxn?Ai|X z2>#AL(CIj?_$@Ca)uywi$T*y2!EAXmRGyTc%6E7ki;4#EJad~xgjg;uu0-;4@~@Gy zxTqs;D#A@@sXFN9yE64=o5t_ovPvDhP?LsA3kJh}p~B2}qXRp61cXI5Rb&Z^yYeJ2 zyAQR8#2Gi)5)7O2$G_Q$|1H7?hWmmH_rU+If<3u%wCG?sW7bN~s|DbFf&KJoQ+fq7G3%{wIp(0sU^ z_5jmau5PI#h1mR0>XRX0a#!Fe9@YL|W)lq7Vd^Jf6@<*wK!LvlEJk`m8Y$2$jQI5J zqN0l9O<=eYTdAxrN#`jzsL3zKZytR)K#1`6nDM$e*_ktzA#mmJDajj`0Yk)? zjC2{B!-?v%{$WcGiP4-*1@dhoKon1`#E^4~i%WbOq03|Nh|=+OP>BGwWT6(DcEBZU zj?!LN)@lDoD^V#*jOLSMEttt>Ka>d(;?u~c^?40BukCUL)!cVCcB#t~Ii6V?aMlH_ zoF^#Vaz{yNQL29D?W6SR4|7ve$sfc3bA09Mg!3bRmOuvR?8yVdFu5bYVLhh!d*eBG zk=AzUJYAz%`@Y6~X^q-zyz@+M*<*>1wAE~-z5mEO=(-PIc%$-a5y$s%l^odopqr9V zX|bLBG&6%aJ3vwNSN~2UscwuF6(GGfYN$!;sbCp#y89<^wQ+`W?OY8Atm5fTDRi0@ z^*82#_awxL6ceiQIa-nRiD0{iQjq%G-rNA}8^_Uu&HG?^fr;S9S>z_}8g;fK)hD_!z^fYq?}3dQYoEea;_AflI z_T!eA5jniV(_u)yT>;(ASyfVH?Xmqe;4Lj`43C{$`dw ztncV$598lm)%BfLQ}MHv1eMq*ex|5M)G+R7LfwsGl<(jU9ciQE>P(eOS%vIx z&e4vC^evBHfuUN)SZAQqr6;no)#p1h$%7@&qSI1cI+p?IG67;AI&<7(iXQj@>!l-6 zd~UXs`sl5mN!z1a)bn#u67Vo5eXqGO4HIe5Zrt%Q->Qq-$zr(}v&A3T$c7Z3@~y*u z8Pk<*B+I%to1JPSN=lOyU;rIc(#zD8~qJ4{oxqXc`I?*nK6j19)~567oJO z?}9_vB^W3SrzgQ^;s@vVjnJO_iNO_>+@`62yGY=2))RdSP-+p_|CMdX_bdGr<7=E& zI4Y!q`0JLWCURNGoMCC=pO_3>fgy zomNm&mgCJs2WJL9K1)U${s2V%-<{nOopPk$u#d&lyLOMU6*>gI&vO9OZx0XrG7~y#G zj6-LRO2qjfmeNzQ@dahzCux9{p1;5zvIO4VI`s8DqmQ?9a?uW5U)?S=^s@GRsJ-mX zkpDTj2cr)&<9j|~hShY?(kQ#YMdO#gra@lo{c{#!+*~`zJfQ7pF^Yob7sGYi8)fCV zwB)?NhfQ@fC3J5g>WQ)+Xy@c#rEwwE!VpwSR@F4Z&O~pwmB=4N`(TU2L|E-q9C_#z+fcLm{ofibW^p|0fxR)N3Ap$yi`g4dPEhIXyw zOOYzun!8ugPZjUxbeqBzd@>jw1n?};d(^pxU0MO|w^piGzl~iSXB#U_&?S9N5d6w{ zxlT_?aeb|a%6TOvpo+Zx)KEFhXWBSrF3*=nJuG=g-9Tsf6`NL65|ir$*0DTc3qzAp zK$Hwf!@3v~oNBI~RkYC}Iy4naNH)*zz@D+A%ioRfoHIcLiE;Dkl%OlW4Zc&z1&AZN zkt=NE1B#N{$kdm|UxGn@D+Z0%2Iyo_Kk4MYsRg?Kxb4@<_$Q*f+GBuJY)Za=ObM2Ly!C?~Q-VC|O0OYj;bkit4?NJ-ahwDRS zd+BP+TW>fjv!2LS?!QGAgX@47Z@Bvz!}4XLcuWMiJFJM3r1N1@N1koZ zq@lPdezny0*7x=Lt93RAz?td;jVP)_sssCSB(2baD^|gDwZa*Ofc4`*8J@0wPe+t< zkmXX@S1RUJlEQkE*(rH80~U|Z`EkHs0HdhQ`pL4M-UwQl`b!ESzcCQ`W``QK%b1d&>Cz7aBi*<^q2G+9zktt+i zh#8azBKu`=2uAHDzdepQyifN|%gC2Kfr=?3kAWfGFIMpv4od zv%UnXMT*_8>fyTdL4)50(&QoAGAn7bqBB6hjqRCY83OSLVHx8(XoLhSVO&4M!MOB+ zRID)LchNs_)bU|f64T`kHEtKAx=bk~j3z%hm>HBw=+7t>AQU~AWsavajdn_-a zp3sn!U(DIbiizTbf9(|9lg~GFl=d#2jeML!+kAC~xSR=IGvoNYQWZesNJb;z<2#VYN@Y>YVzK z>+aZ`#8qWpiALgm6%GN5A{T2iHV)H(M`P>c+5|xB_NX?A{+k)s*-w0oc*8x$wc{%M zc~mK`Q_YrA4QIpShFdBxEsDNRw^jUJwmF|Xg*|qwvQnKY#-EFt za`4&HdDA(NroOKx_x0TG{>Bfdkir726oLPn8QwMdqO<-ro%QJkbM{g3I8^j}ugTrk zXU;3lri=wU{Y3RSbld`|4%LP`UV#0trEixcV_sOx|=Qw;&nEZ$nB>GD-K7Sf=GZLt~ z_4Rcf>0v|al6TBdOyk-rvN|&-VhjO&k-5+>&qUPso1}9C6~{eiwou$LEt%Pg-|-~- zZd`puBWglQxGt#~PIM8I@otXt)=oG64=aCH+Ua}Od7B{^FqmleUIML!#`ML4;P|kq zezB$2VPs`T^ZkLN^onvMzOv^lOz8P^O1*vE_{uSHGUgbBeJ9m(%jxjFrL#v`1ca`q z1(?<1d>4OF@kF9^8p4H2$DEXp)MC?cC8MbqceW1*!EB^|~B1No$6ME8F5+q@#ECdc>xQYYz73 zTY&@xjivdB>%0=Q%NCoxhVO>SL?+yX7ZLZn2e{$TD?rGHrpxs%sQ*5@CG~Yt}zoYI;WTR z+B5Tj^bDUom=DSO(@o83d=8BZz&cT4m^@-p>R7Suax0z!2{p;xaK}PhTD4Nd>6(uB z7R%3&MJolf%;>#XCFfXcr$sJ2)g?)n4H>#x8*og``LxK66wAr`9FW-&eXXo?!f=|V zrT556?Gpfc@rzCvBM#AN9|27?vCY&yw2k4NxDCJw0)9o;u79d#i@X>xzb8LV*R3J$ zvwPM7`-?#s?-wy@-$03XxPJbbbu+g*wCSx)as#ar75QYEAI^-i$dDXf#I?pHNN)C1k%vDB0GgE-qjd z4?8Jyn~(Vhb^1^jPbgdSw_(%fPy=_)G)QopaZPZylnmORDfU6l-8XNqBy%qIXwk$I zHYB@N*0#vaagH|6AL!Gfd*Gz}vqA({qsN}BrufJU1VvBmUYU017L_mlmc%4hvg%tpp=z@T|>d_IH0 z>B!Nakws$R32<_dlF*>8KGnxbN`iW6&nY5E+sCGm-Dzr$s%!DoRSGg;`zDd=LG}BO zbG5SC$lZiY`M?nj4Q9fA;l=*h0(rgakloC|WP3u2w#Wmc1k4w2nGRI6UdCU~uTR2P z3FVj;+?xU#?BQ_o21U_W4&g+d$25rd%KBY(MV#U27^<)fbaa3;T+6qx;{Qm(fto#X z+cAC@aJDRgyzuq;ow>(aZkb1sB7ekFXeVY59=T~qvHVuHf)*}@#!Gs2@k|Fu8jr7H z!9UsJ)+d$?=1O}w@?9r?k*Px=X>{y3vD-0yJ+Z>Tz`X-;g>g;gD3Byc=d)|t9 zW!*}^vG9t}Ki{tZ%-GIvp|PFScKAB~lHL7hjP&5PGaP}d;qvuQhd+Yu;^Wk=Hq9xz zZKoqhBiek968VS$>4xyfG5_me03;8%1 zf9&qjS}u>{E%=WY>#=hj2U%)v$wJ5#fJd+&~s+&3ljap6=FKhvl& zNC>}9?1!Y?&lEhBW1Yrc$=HennWDp={dAa9#MEqXsCClVr>v$(fRFyz689b&ip(wd z_}r2|R@YI|kr_-i(nBkk95iqVoQ!_*QiaLq-I=jWzv0AX!+nKxdXWZ@cE8k(zk|Sj zyV5^H3^X2}LsIqm-`3bIj^iy?;Pf-JIZ4M;Z+Op~LspjPONjaK&0ZgAyJc6iQ_tN?!dJ8HB3v@FFPe|e19^Cj!)DU z<%<~-&l10|fB8ur7{oG?N z-E$bWseG$LmW?Ylbk-(e?Uhp3q48nu85Sn$DE4+`oi-iH4Ct)x-V&Xw513<%LjJEz zqoR&CEL~$S$`<*%<*__t&y!!RwH0WZXV!*`O~67j@kN$8zO}NbO7Q-wpj^f38kXvj zEz;Cn5Q-IV$a38l`RV!?*R@73nT7S1;xt^)=y9&P7Boc)PzunBM7bgHtF5DkcsarV z+z+QCc(M3hi-o!Y-agGH7dr;9NBVc1H!D&D+`}B3IesVn1777#tN?Dur2?-SAb!V} zSzvb=wn=5Z9<|RbWUTylaHj5&X>(x{TE_CgD(4cX$E3^mar!}VK+#PZ`9cOwFYpMu zKh7VN;PmzxH6QbKtZDUM=4#;nI7N)RZqhI}w$!>ACu%U-avoeif!_FQ9i@sAd_UN? z{ELuz(i86>kT^G=E&)1J;niM`BBF8l$hCj+$g&udt^LAyA^YRH+GHOv2)6nropR$N z7z4M42SD2^Hy?!Tu(TicefB+1j6-hIw0`-*E%}eRlD3@53gG^wn8z2 zYe$psIZTD@hm(@At+p|Bm|!zZb>q_EuH`n^+Z>PL2eG<#)aUyX2ndvl6XJyN?mSjw z@9Xk^A3BQb7G^ZIH@FKNHovdj3yBN*L>S1;=0d97YX5*wQHGJnD`^wB$Y!(pPs4V0HwO3`*!=?L z-bi4DyG}s6`P;Ue?AV4Aiv2oL*yC=asL}M0s#@}US;?C^X7L_rH~xU5ZuUE?A9;;$^>{ya z@GGFTR^{1W>{9bUqaSKy4^?iJ6!K3Z)$wLU?T2fpIH_*Rus(m8hzh!4eG@vtczfcI zLuN@~HX4>FeNR>pCyaYg@MYo&kecPJ3fiShFBL2P*lZtN@11K&?f&td(VW~)GZetG z5*PmX>x{Y#?>z%5lgFY;5k&>TrTFFb8Rl6RO$F>831k{fw!=|S09v;OE9<>eErY9 zb1o~fTTyM8TI7y4i%o1>x7S$Ok1oo4+#(R>ZOGs(l5qqyMn6*fEbzm9aGhHMA&xaY zyu)@HLj{Hn1^oo156@!KAVA8my0g>RR&lK^4>}Ut(YgR*Laq-;$jL8j$`lFzrw8HMnvT298;>LF5SN7$zVOw!TnF`;oQzdxhsCjWF+wa%pZ1r8Vg!$gr zzz1nIYT#mZ>rHu?rG0jv=mC|GL$t`zui?$ZM_uA(GA0f4YvbhH-KFMFRnHnSqarSmKTGY)5^w{b8*yD*+;&q) zOb33HPyFX3-6bZ_LT)Ua)PkAkw8{Uy_V@Vlt!A76?$({PfNc0_auQetJd0V(PfSDf zd^aEGTWq9d(_1j2oJ8z3Ce41gCz+QX!gheKUC@jytl#)tU8@Gyh+A|WgPXANm7BEC zFu@PYUvnWmMDS?weNj)qXm>Q_`g#v!vIbAs>xSmW&e4SX*SO{{dJYPKo|(OpWR4rq z?Ma?;(**5pa&#n!GNYo#{Bk2L(2AFNZ`Q<6!s9)uCCX?vJaBenQk2j3MyJ_fRDq~8 zGIh&}*Kh3!%EHS%{`b3+g9(cwETM>(LN~M*)0Y=-z7@#%R{E?KW04pZ5;{7K%EXsro5CzE-N2+bkrVM(Tx901< zs*AOdWGIqrU?+a84+SBvnE>1fzYx`?Np-oX~}!yuh0{X7e3;jf;*4844fb<-VM#RPt_r$c>XB_M~iLvbEYEj>m|xy zpPH_Vpk)HqVN3llN@2KDVAYs6(SvoKD^rSGXb))QLCYzcOk_3NeYJ?-6IR0tNoGqu z>XV924MBW*2f=gvs8WMIEpF@UccGU)XcNri6(7o#1jplkyOi!V+G8CW!BRf^&-Wfo z-eP`0XbX6r9bP4U`r{qQS*MiN5(t(}%M$9oiQuS}lx0k>yCYNw{q4%+W**!gTkUeq zYCF7kWoqf}Oo;rvFw+yMPTgGO=#UA*3$A5JBiVEN2~0nDr}Srcerm;gy+?t%tQCXG z0kNgtUU}4HR%OYX8lCgTOYe>qjeJbgP8IX3E6Dnu)29F*Uwc$n!%H}r$tH8mhR&?Y zk)$JQbNW~9!kvSs`&y}UB~@F?XN?C~@vU}~76Q9pcqoCNizm^;QtqLbOFYh{O4PuJ zW#n$s<=>NEY?hvtt^Tgfn}0IU-y_YWzhO|g=zR@ z%4C36ddHXrAU#6tyq5=F8!UEgU)q&{ZDr=ZQU(95-mUQJ4q?dLs>=U5UbtB8!SLIS z&T241H@4wi91Rj3$7m4#4?;7cVv(0*>S zi7>xNmY+*SJdRi~67VrK7VrR(U{@y{W`#wqEUl@#P2<~bYx66d1;Yz8r#;|%x9->b z(;UJdGP>)Wh2|z$hYf$DT{Yv3JtY9V;x|)UWc~Cp{aID(Ozl6<@OXcTp2>LV?5~8r zu2$+&RMMIOgSO_&??%+D!zD{Qg)84w`5uuLaWu1}M?DaJ*SeqniUT^b1sK>Rh(!f~ zPImK|YU41>jP*JWh20k^kgJ60opt%i*xPmIU|gtZFB23u6pxi!hbnRJ{hKtWjoF^M zNp)&3rS6!@U>au3-d*jw7z$s0bE+Vxi8#uIW(S>;8PPY=BtZmw^$s#*p@fNDDiu?) zS1f(Q!gjYol4^*&t$1f8h5MO=@R<_t;%1y+O#|(z!osLQ`xi!{%otO>jMCI&Gm2-| z0Ge;0ogQiOmE7AO$ptUZ(dId*XDH|jJI&!8uLnC{m*c2jcv;3tz^iRF}PAnXL0F0U%j-Ul_ z!y=2C@BW|CCD^TXXKpqcuhzXGue0pkJ#`uRGKen}mgwZOH$PUjT5qgar! zI>H%!$ zGW&B(@KCiBFh_|_%yp<5@P7_;;{Q}07n^l{oBQ&IAvynq=Ke(?@ojMDg&Fduow`5& zq3uC$ZYG}%mu&@0{6|@B=(|(26@8|Fh8HYQX+!-5>h}X;cU$!iZBZ!SI<%kQWrFT` z7~;>+*`gaR%BI;sJuijSEMR!Wef;;k0ImGUr}&k?6FE1A ze$DBfHcRSZ928?na*4Q*pkqPdMBF@@jfFLtc5090;LW$D%l35i(tVUlvITw$r5fq@ zROdGC4L=j(SuZ5y%oqwA4}5cw|4X`YAZ}4~RZ`rNBN#aZSg_b9i! z`=EH-^oznPHfD6SrOWKbe@@mHhiJH##PlS32l^oJd@I)$tbr^kUj zZmA*{Wj{4Lze{jt^4CI(jfKzO+p`X%sn>TNHH4B(h}MfP`DH{+SGq7?(Auio5o5J> zxYLOV8BaIzdIb`dXkSjwPUF!E%V=4uX%+O>%XF*??Y`?zs1uF3QhB)jxnz>WgyNSX zv$Zz=$GY-BoW|3y#SB>(G17gOAHM%1UbOp=%YGt0zY=guVkdFt|Xgm%8I6P&?VzftbZ$J91Hds%8+r3ad7!#rz+j~XhYjZB&Z~czj@cClRdwE zw9#``eJAof4cj${?_=>T$YeI+>r{5d7RsibkInqEs}t++G&;j=bS=?y$z36gEFLlZ zz?#Kuh4G5F_$6QqO&uHZAjrkczi184=(c9v^Y2YIwHi|}%XNmi^L>~3X=WeJ0}Uu? zc%BsAEyG*8Gp>?q@^f#q`u)=IO#hgtyta)i2@$X#^)A-Yp0@YmI`<-=A9*9qA;lq|%lI3M z6|AB$dB<}}FZ)@xqNBwowc1VT<9H9`Ns`=(#O{tX^J<~EQ;)iY=!rX#8nvaO#qwMv zMaTJjhl)ao8!BOP;Jp|kj?+^5etv-Ik`dAm6jyqD@BfL$^!)vaMv2ukrN!~{)D!(E zmiG-J=PxOi@2oH5zm@}FM-Zsz%XP*y>-`A;kpR-79)Bg+0iavLdpIQ=M|Lc%vb&EuA z;_p{b0XFh!=n#p`#b{rcNi}=pYh3wFt9`45hrp+7zTqKi2uNsTG(D5*O>QMq#`h7j z&bIb3%BOKg@z2K{NHDENUY?L`GOKwHWV?M__Bau5Z~slOEaIZ=ho7n1mus(Hrf4hJb&)HC z5*w(CyNcS#?z>Zl=F^*N`sm(~S1DHhKPj6QN3z|1X&O4Atr=V6LYTC=AbV`NypE`( zPNU*+5U-#x;glabLu^3uGPdD55)GXq1z-% zbep7vVTI`=c=UOAlaxb&&ws!i=*@h0N+;kfxBZi(t8-u7*4{`{=+?HKfWq95(!e=| z3SP{PO77EE*sP4I_LjL12av~aH+T#T;eMZb0Z2cSVM!w<UO@Z>8Wf5%C*)Sc&eJ}rcRj| z`DJiklQ4L?*Z()ORGLqJvrZs|SgK)Ks zBekHj=|Y2LE@sK?Q{&3*%VvC+7p(J&eP+*`KkQsOhz#WGbF>ZdJ&dZkf(}B+h57wy zf*w(wuH(8$CA=`Wp%={`8&bIYHm6ERVXV@G+jQ zy2OLhx#+KlPB{DF$Gs}o?(KZv>6qI7r%)@nD0xe-88^{~@8U0zoXj~M37K#0zqQp3 zX$9H7!h`nG0522y?;oB_AkVE|?kX#L7==D2G<@rO)?bm!jrQ%8+rRekjmPYe`1r__Y*~bfl^tHq&4*z=z z32GvYw2aq)WAKH4FWUQ3dc#@6>AFq}{_rjTs$N$8F6}<22BgF~b_dhz6lpU%GU`=P zeo8~seUiDPj-}Qh(&K*}5m3-HnkmO&^}_crV)A`3JT3fC=wpHEO%1zbbVlx!{A~NFUteL1jf1Kn1Px8mVV9k$O zQ1PqTl}!h|yImrhNK35!eB9JkA(H}H^?aqQ*u#iC1|7?G#4ik>=KxF)v%YoFU>DrUPF1F!p&3|Tw{s1b!>dR*Pk`l3ion`1=Iifqb)}|Df8b3OKzB~# z%I~w(|I!HqHgbTo_%&M+9p@f62KU^9oqzm}MJ;yLCjj2@2wp(D_NRHls8-;|Lq=?P zcjJ3LG`{vzWx$x>b0-H~i25<;s;vF2Uu2Vu&iKVf`STn9-A_K3jB_@%IFdH~lxX(g zqSo%mSFq|oMCwyn?w}Njak+~Y9>n)jwl*^6kMV%1=jEVVd;E~>-14C~s)PGx%8L|o za8o@gqTKLYk_j_NSUAWvUaHfpVgzfLBTR_QN86cd?k2l7 zZCx3jMulPhFO+&r_S-?q;6ISfHRV9Pdft$<9N>l9Ka-eUs_2<0nuaRYI=rYLmSk#@ zizOqHon>-nY1rh?Y#;Bw;|J0Zbqzmww+9?=j-wfXO&Dp*tp1ViWO0fe7~i+`%;REkuW;RoG8M=2A8 zX|y^i?Li19=^BljqZ_ehx6CS%`ZeSRA$(F@zVFBi_IKq*gl=E5xkGGO3;`2Fq7i{s zH4@s;@Qzn%LNV8KCa;h4R%>l^ zR14v_TA5SKjg!)pV(W*zz(F)`Z#j}6o-(zG;K7;PK}?lU6F|%02u11+x@*~^eC0Q6 zMiWHPyOI$O1vN{9q$I4Z*QbtoMhry~OeME!#e_mJAJw^`)2U)N8!41R5`(TBwa-M2 zLM77@lT6W*P?l4+vsYUMzta#qk(JwudvggJJ*kJv-8W7wb%f<*J5#B3pno|R`{M~~ zTZ^&f)_1vpfi3z~!LA!%uxFtDv1u45HH}9S{@g#ZS@qSM?t&;W(a{U0`f<{I*indj zH)?DYkx%B(1WRt}s4Zr9b&<@&pM%q<{b{L0+s}U;T?hSh17TsdZ5WPK>3k)vi0xMC zXD1EwF5Y>tH1n~4LwsmhZ%DP8Bjg*7t9iEnPivRnILo@P2YB&=q5glEhf-E`HqoOq zzh--n=l>bk9Uqnd!w%jZNJ+34RsLXVQ*UJP7LPa`A&T{0a&5GKKTYFB!MY{W+2-Tb zZ0eDa;bzD}gFu@t5t8XImp`pEuJqYL63I?wMcE90+mo8Tcxc*NsR(bs9+I#ZeDAP0O>x+a+m$tiKyT~s$?kOHSqj6If zY8l*oHm&RDM9bUcRn*P*O592(mjA56HyR=u|6bhR0spiU)9UO;=XBsOysX9VAV)6Is97sy)V@b{?-Y~&;2}M- z%f#I|oClJjCi10LZ#NW_t8y?%Ur@pb)eGfYogC)=mc&&=SNpZd28af>^R4)=EXuUS z@`JZuV>xW2IYBG#fh7Wp-9IP%k~P=I&G3|uVa`&FKjWNeD3S96x~Z#+TCEa6=OopN zvTbfuE;;%M@Xn_mO7h%^%p9$N^b31->+&+wizm=K`_w@1@y_1SJ63YyOyOEOk#_IB zEtk%Hpl*;hueT(V%esJGTs3>U8p#V#bP+B@aDiW{vlOMMkHOOMP+URrq2HoZN0JHH zpY61hLb_aDz(7M3RQDr3hLN;3hw75ftcJ>TB^jOVvK--&Zg&Np1svxY*C@t#`)!&M zwxz9=c9^Rynv}`n&DBb8Uz045Ko6g@{FmUNGdxjIjcTw;M}1n6zKiMU*`F53cH3OI zI{*3y#t0UCr)U%WX63b%9YSG^1lfYTWsyhW-p-MR)TR+1}%(l@$>pkPAJwdGh0p_dk7p({<%0X zx&Av&ba_SvX?M@H`l2v3gXMd9Z@wamQQ~3)6n@F6c^)O}9c%*?4EV`SNn`q$ran{l z-O5;$h0>NRodHRrR+e2$yYZGD_2G9sP-innrM?j@!h!_>B-R+&$vz}Ygsp}=&KmSw zL;s5NMuYGqpIU_?keTf7Bg5WslG;Xb)+a6xy|0Xg%j5*b z>{(5J1&Kr}>N!rE+z0JhMia47p5NX%Xb)A7yROu7crB!HE{-13NNpD=YkyJ6(qy|w zMT9Q9dM}9Uic-_?=+aF3t-E?R?)u#_`AgT=`hA$WQbap)>W( zbHAVIE=OG{lcBxl=v2IO$26$(_AK+`OD_;<+||))S*EoGnS@)N$Z_4lUueMj&i}FY z)lpG*+xs9$NDL(nLx<7=k^|D6BF%_&Djky2(ji^aAstFL4&4%hbaxCLzYo6G_ul(m z_xOiKij?21@Li`Ef3SD|4n0!x?K91%Y0iR4d1irP~O{UKBI zYy_arhxo*_khXFW*_bm|4b2s1SlN&{Wo=~{wSQmxE`miT<2dLRD&xsFLs4;96#el^ z)fb|-nU!|#Kw>>h(RP4e z`^YCMnCrXNOBG)hera!yHHWiR|DwW=(ISqo*)9>Chbf+P`5@w zK(Qy+E3(=Xsu}^^FimLyGmY7x9>Uxo<9gnHn4vMiX*$iS(hqXhKn#|DKvktBa$`EV zJGT!KDbT9eNE#MNcca$WYk#KXcuyg93LE@9AL(dzv%1wNs(L<(kkoko{>UvsvgK@{ z5d9Ey8~EV66x&3I=IF2a;{y>4F1sbwpl`y?GqqH|S_%GKmd_}e%tZ6R0nzh(5`DB9 zwY5X@yg1WL?DS4-Zx00tsmu~S7T6vP7?i^hyws2KX6OTs;+t6cA{ZIT2S>}_#XC0+#IX*_bLNKy5BY7-PhP*;0ZtiDr6(uruRd!tu?_(r?yNq(k!*X9A2iX2_XR;HpQ(a^Z<8H>Jc24%fv8C_eD$WaWB)@gj7vWDHd zW!|u+n8+jIq`$;`eoZ3Hjp{R!0a#{gg}<=={nxjfyp@jo#+5z?+p!sDNQD>` zWUjqGkX16>+WY;jQew;matOA?NvaDIAg8MrZ>;Zb^mZ7Klx-K4-E8J@z*apz~H#LQs zhxmMy(D=at^i43epai>;@8BTmQy#PKiF~`BpDHW=TEtrgxakV6JE=6oq2-*Qe2w#WNWO?`<|Yp73=ic#ym<7m{qfcrOr|#j0j6LlhvbO< zo1kAvc&W{7qRlgLlPFpK9!4{LAtAw^rFXXflktHrSGUt*b{mv5coPdXYK#$~--mIm zKt+_Ha?I?O0FmJ)&Jm&2+vWW2oR624sbn?cOZ3dG&2!-@TO52js^4fMxEr|S{_1jIjd+0y?dn9K;cwN92^m> zwSd2^IxflOhw33V(id$J)-Ea{4^FUPk)Pa*^V>H2@=aC@p~ZosLQ2R^bww};^ukza za^A>ignQIx0a|YP&4@_~>-YI}phW52k7ogvc}Wh5FMmy5uUb#$s+$NvGU_S-ItW|G z+s|*%MP>n}egx6s$6Pg9<6b2$fx62ZE`WRilnonY&Bx7JP565?oY|hX&qMe%-bK1y zgYS0ohGbC9u08-sxc9W<_htubm3|?uV#1JdWC^5lA7z+~9O-B@Mm^-i;84*4dKQ$$ z3?{>z``)W=%8d2z5A5&$Lh{M;qHg`!AdZ1rP~;}La<|Vg1l}3(!ug;0-lS zR_|NRLQ>Cn@i_2tsV?8948TTzbJ6MWU$RLsOSjMP-<9eJ!~qql#em)(l4&a)@b!brliHw+{`! z>j~!|OJ&D(uAiv_8Cagst`2ghC$yvy4@qCg^$gkKMWKU+)N6U(Rqpo&FK1bRuf})8` zhl)n{JP+*7ovfs6dSlQ6c<31hA5bYq352%#(#%8=qLnGJ2spl3FjT0F<0Bvw2#Kp+ z>@$I4^TY>(46vuAgOpGji$aI$-*|O<@=xc-d9IjmBXgQvQiZEp3Ri+M9EZOz_O-EJ z9oV;yjYs6NnbeikF>Tov8U#yJSq|;FtpZS9_CCI-?X7f}{g~;Xoc=LNynTa)eEBe3 zxoWN7$&WSH-6#jB)2j0-h8Il~UbVKWJw|#pgx`Bl*a2G z1R_X@(dN+4pQb(A`(DH@lSEYberF=Ljs)o3yy*q+vM;Z*r>RQCeBU+CBf1&5|FS^e zy+{FKsq-Rmo+rO+_SZBw%yQ#u#$P^vp7ZtYM)hpA`0XoBP(cMyIE||!aFG^}wEwVh z=18)E4J9gM@NEm(BHPu^-H5mVh+!y}#M(2PZiVMgmtjw$BcB_1`!uxDq~`$j%TB_l zCk}gyj2R`BAw7Le!VOO0KX|4^HzC9LZmr1@-fc>dC#&u;%FxmZAh*AoG|Ud#sLyo< za@xrcxGLVyXDinMw3wJYoKF`BNgN(`9ZW9M@UPPI$1E?bxUFhGAhK$PA*6(=kD`{$ z)@5JCdMdwn-cKeNuyoiJ+|DYV10sr5KuI~mm5n_RQ@PatObNJX07qoFrud$Gs+3fK zH+kz)aP{W8|AWSkb&7_>6y1_>jOhT>n(Rf3REnhgV&6LTr(ciRy_dae6_dr7lI+Py z)`T{E&yGKSt#J&we63&OLSSwwzW;)cB#;}*l~F=s8hY$H!)rxo-8Y%`>Ma@&UnLfHZfv*? z6wFFsA6?UsfwEt*wub5mE%!?Tq?@|qT3x9#d9Wuh-Q;M|$?=Ci`t{VUSDPaxy;{^1 zJP(c8bgHM)Tn8m>+jELWT#QA4%J9QB@n+}AU+!hc&|k57PV|!@o-Xsu?iYdXkoJ5c z=zDocyg3UHN_0|veXsk3Mp>W<8YiTxN|cQaJlB5DpN}&$N;7(45lw%*o0Bn{Z)94a ztuoysD(N$PzMDjs)iLn(3cdBUBHkID`dYtB8D`1~_OJ3uJS-U9n_q8tR+)TN4sliS zrIq@AMIL#6@6+|^oheJi`tbqPdysdS6rw-k6aKN1{ldeC*Y(@k@-@=RNyt1LVa+wk z@?q6{JA%=J-jDlD;Jm5Er%1R3PH=rl*>sn8UZ1h0r`;R%y{JmnMsmH|@ z>&;I!LufX)lZ;20pd`E_`$dxikPcJ`6DL2SPua)dMDpwbzRkgqDJ_b}k6;oY(GiKGF`kptm7#moLb<3o zGZwj@AV-Cei_R;)>hVI{TOJvsIVdc1$#AM~h=0uPKRU#Ne#Ju%$=ChK6CM1yYuNZ| zr}=U&=L6zl*9LYY);3UsC2JYX>C94%#6pT1`GKkzx;uKd!a$d4_G5The_`bTrgGK80H- z#cf0@t|?HYEuA^x?&W9(M_Cxie1+5zFn!k-o?td&_Rx#d#&07UgYlZW2zWUSY- z2LkoPuJWN=+(6=7{rgt^aV&dK9lt{#t-n`=mHyX#OWcJ_tvZiu2nPokI-`}3y*n%W zosv*8T!BpawCQT(wF?l@(y?6Fx>2q#7>g9)l0&}+vZ7r@Tli735<|zV`do$8qrpL^ zz;9hk%FS2)EePdWkeAuxVNl9CC*j+;nT|SleNm^bbAD{zq$cmO2978^O;%x{!Y7mH zZQSY>oO_Nk$l@QYQ}+{Fw;>z*7rUIeL2y4K)MK@@X_fNK!S{}K3MRZaj5HUxU8-Ml zsaDE3@kG%OkX0eb_b+9+2fx8LWzZUcrynySyKWHku%G}ts>cIS0{XtMX=JTo4XR(a zOGwrb8^PbtqwDK(P{i0uNo3$8KFA~kl-4$ZkfaYp^?#?39vI)6kI>Hp4PftX?ez#0 zv!{4UO?{d~_GjitV>P6-dh-1gD_gwzMx&QfgR}zFq(gTOfMP3?if8L7^OWfmKu8*( z30Kl^3~~%Fy}i4&tvT((jVgrOn2~Yh+cf0aG;ZN$NsY?$4wresba4bO}v*$t50_WRIeHQolt~ z>D=_aZQM3>kFGi%NZ>T+C9a-NSA7+^)#?JEm+Z>HGPdCGoclcOUf1NW(m{Gc#Kxej zK5a%p(WG28MZ}~j`muKY1U=o=F1`U~Fcm%}O##&9XVczsS)g3bObk<@S?arLpbUs`%*?gK!CQG$8K4VQ!Hp{Oa_kpJypjN`yV(K;lq*l3hhdastD%7XYVJY3L4+SH6e z?Gyh%#q`IBB8Z6Cq~GK)5p?lrjh7-de%6#1z$uI-`@a&oA38P5MEH;*o+64pjq4sv z-FB^rU<$in8nt0JgIAy>lAMb}Y>|Yg+%CsY@K!4XXqLbhr6GjcXp5oLgf|Y~BsEz5 zgOTg~Oq>r8OPlq?k+^sg(owo;xh%PK^18?53=+u=qfLTz#(TF0Kd*!$8q*-XOU8Vp zuWM3yD5Knbgo*_6=C*XVG#=;X7v=ck*~H|BQnD3dUL+wy|G}6I5GD(`uGjymB^Au8 zT@)i~UaAdw=lIRDxd%^;Ou}D@D;kpnOo!O30lypaw9#g3F5gF->=czx|E=?(J7+FP zKpl%e_%Mb25$ZRtccwJmP6c3yaclaEt%OpAw^AANLFE2e(^=s{HrVI6Lq)hFs23hn z>xM*JTM4XSd`8dFw>!~TGs&n&uy@1xUd7$VaTKmE6Fko)y(kQ1JYg2BBcc`FDk|!4 z)D#}*D=63$n?{Rhdym|b)5#a!UAjLA!McwJkoamJ636&|ASk-WXL z;?fwqfpE3s8cQLlYnL*5q;)XVnRqhMmHsKeQHWZ+%X3j6Ea}i|Pa|4mHP&7871d5C zY`fN;=qo%AsbnWC@=+cFjAcqg{^7EVNQ7N%ey+%u9qU5ctCC;E1~&)0XW6qk7F|vH zT4nhCMqkvgcuOONIm&DRqsqQ)e1%eLX|!4Y{%mWHcit80tJj^Es@&n5wa$+1bpyAt zro&%Bww6nJ<(!p!GgkHbU*~6R3@<;o%(=B#F^MvqhQz~x5T+FKD1&0s7K3uyUL4+2 z1g^v3QN;(S1Q_P+Ry7Zk6$FuL3d!CrS;f;F)tDpF^0k_Cm6^G4q?|d7e?U1fRB&%B2x1 zAO_J&U5Ss+6732c0BUyvG*9UZb0zy$1j>({b>j&R(GlP+(95^g6+?Hog=4#hdXi5H zfS`f9V6`9W*7v_|$PTwl(7CWW4A!|B8l-+!M?f&q;VlV{L$yuOL|l9o)8mwqnYP{9 zAHBAo@;$jh>dgjOZyQf`kMMm4YpbP>>0p$Bl2!EHD#BF~84Yo&8C3ZEchCr6-u-0J8$E^zNe9T6-Lv zYsNkiZ+&SZ{(y@o63Xh1sfy9l$!R)^{Cwb6a~ndD{^NA^1KRXcm#qzy(n%5bW|fWo z({4fIi|qi|xMy6HcN&d#d6%irH>nrnW)v%*XE&EQkPHwcs(K7(NVW@d`P?OxOaNpzxX`E<&;b=q6}w9?=?fPzqV#|C^AjkAw;=X+fe4# z?QP`#j29F2%-%J5ChDo~%`l}I7>^>#aQiEFzE^uQ1Vd2~6Cpb8heY?8dPkpk4ta)o zG~D&VvOZUmEpR5$RxK!2AepE(GPeXLCkR(krUJI&?VTH5=s+c$;;O#~^Hu zX1wBML`v2tlFc1lClHx>RlR&MBqX@MyvyHTK;lp}T9?0x?iv2`p0Y?IZMTRNE4?`h zhecq?=#wvILlgOU>4~$IE1SukjHy~quA*bTHhtzN#mV02RW8g|GmGiF)2(k;FS2O6 z#w;I*j?#Xiu!3J`nCYF1Z{b+Iq!3<$%U>Yg#-N$-(BF=6y-*C~#RwQ4qVYiG9DL)} z^@4F8Jeis^IYr}k^4ibNc*K|dFdE?T7-UCho6OfQ@ntwW`l!Hr#P| z1l-dQFk6$z5t?VJEms9xtoL=aPR4;T!@H1vqnRbkw)|l1h9g2De=@hlk^pgevr$8> zYW)J;+h*rN9|b6*MTo2_#3Z@N&N}6Fnm~2rXhPXkV>wK{xm3@|yQ%Ld{A;MqhO_lN zo1A*OJi`epD6Rn&D98{ZJBDMlc2;i)aL~$W$X3&q%G>CEwQrQcyH8iX?m6@+)d$E% z@v+ZkyuYtukcss@*JhYGe~s@yZs@x;h*ZMzSV#Jpzp#7yUFW*Bz(7r$PmQGF?rNIS z(~<>&pD275Bl%NO&&gsOth4iLL%1D00tHfpv%Zw4%R2WD;*aF;uH7poRXbgCzmG_< zkq*M!Qyx9}WCU$aSO|$?76ruJ2}YQm_fbSEJR5jNo+Ug^CM4w16CgE`edMtBI3&I2 z83P1=@yyUjDAsWBFXAxIv1p-Bf3h|!*kY9P*j^0-DHE|ix#3`vX$cG$&2>X)r5-s8 z5$X}9@L>}TkK>_t{AyXN7gyx*utA#6p0Tj6P8zxM75-9HYbxUU3kO03Q9W|Wxi2BV zx|uM10vrz{&h*av?&{nKdtS2l^NhO(|AJjCn%B>AjkqxitP2U=@d%&k;AgNysu1u} zbbCUBJ+Ol#bgGmSSjNB5wZG-`Sx(l*7?scdOYr6vynCSTb`+_Kn(~M$v+niQ(%_`T z@?|etWS$orJESxsNHh$c=sU5^$t5T_>KNX!|8w%2t2H0Z&RD+JOl2fCqEun1^l1$n z*~i16(Ev*0Hmvr1Cmo(-kz?N+P5YDVj2O-mRgbWVMB~Q1k3iU6L19pW9b=RjXfJb8 z$Y!vq@>A=Lwqv_8vvzU!a*PI8K;l3?AL0+Z7bGWTGe9D|lrXl4+rxV_&Lc8k>S&}c zV4R`G^(uT#Quj1h-J`k!bcrgu21r0yq@xiCsq|4Maytc*K`gD6O5nK6Rh-h@opx4Q z61{^IGixV?#J|;!i2<3K;Y375ti?J2ta&>d{RS3%>D!P1<}2&sCB3pg*L|^Ts&J;& zB)|${F@pxxJp{d6_qBg${Ob8Wy z-xmm$w<66)Qm!*7C8eu7$iFx84A-b{c*Q!V9=uBM#q{-$)H>VqNTWIO(AFufLiz8` zw(#^h((RLuMnBYebHMO82#Q^4Yk=c62=x_o&EypZsCbTn+X+Irz4wN+KLz$Ya4Q-# zWA3-HI1~luXEq7gqk+es<>dd$)eWBu;UFZ1@23Wkpn{P9^)()VdIZR-qA+8UeB;E< zXic*7Q9u6fp_jrQ#OC-xQ+=)|n#HC^mK{OHaBEoHJ7yym%W!kp53;yK$4IszTDI2y zt((chArlpHGTe>rG<^tv7RZw0uBODhAE#%QeY~=I)ay**D&+1pb?7dDus6;7WG7Rpd})$`7ef)Q&J`%+e1o4~Pd@m~H7PdOYdS&r#IiZA zl3frs%6=6$D&Ep!I+Og|-D6Gy28bQKLoiNed;qASN24}V-e#w8S~(l+3cuQ0ad+C@ zNoMKOtaYRbSS_%NolQiKmDf~5iLn8c+kY4sed0=#O%%H)(5YnpB zsgSK>B8E9WssU!%l;qgUksjYKJH^VUD~`sJVV}i~o=hkgLO#LNCWS^&Gk#>w!cPk4 zi$)raLwP&-=;rzv#pq>b6AY4RX{p+n!T7KWiTWtqNJo_{q8K(gW0J8{ z5B(D)*f?LVqm_Ym&F~&NEVg&q?p;5$JsonG>(_Q5b+WWCNs56b-n`l-X-#Za2h<8O zG5^egeYaxbikHh;#+%O_pxK`k)kAxBf-morPk{eWZ`&jG&8z1x8GI%)(8kPTgrrrE z`1aX&LJ%M))RDFc%mm*&YTsXH`|q+K#Hi`>LG47lKdjUH*bTsxq_n)0o~~%c_DN`O z_6@-g499z*i&D6I%#p{d#p{SZ#*nu3IUHMV0w}VIa6;dg0v|2qcTxs%IF3fL9e7s` z@p<6nUYbBX`$-IB>gh1pJ!R)ka(m1@V?O(jcjq}uA?04bc%dj8oB47sgYMEKDBw|= z9FSPiVu@JHRL0gwiGko&!eoNZO@e9>B49Eg&q`(e<2W`bY>szf<_~y%@KxV^=|~6se1$T0hwxsdgoxeQ zE#U^9BL1Kr6c9@ZB@Q1ILh_?K!8ra{`;mjL&OL%-x#S@M;Nt;i`2*wJkbAQ)3z`{r|FJj#V2i&stTw?W-^B!5 zlYQy^nA#$k1sI&(S&|>TSm>jpWg)eJcRbAkQ^YO#f&{Arti+{m4*XiOl}}4_Bq=Fi zt=R&(JMxj%98wuO!#@%=vb~Hqjc#z92EzGe(;=I&o^n6v)W|53iE2%t9+C+_tiGt?^x0%V-Df|vq&ZfTi)CuDJU1GE|0wMC zdUTw`b|vv}Pct-`1jgnQpWNsYSz784RNF>zZ-ekozzIhdRlmjO1+FD~g?EiRglsxH z_wu@V3dP7P&u!`(8`dxT^c!kRj-R4u-~XSQB>?hsSpGjkKK@Rk5vnVf=#%zb^ztkS z*~hk6gvSB0e&8q?n|H2pCxyG)v0+%!wF{{EYki!7n9hr5yXryEQ)785*&bqf>-otS z`lyXl55*a;UWJG7i$2jnRc7?s3LDFdP=a50j8gx+O;yO@7Lx^5cs!e;!omweiH2b`5{aj)<=06TeAs8#kW zAAgQ?E5c%@Gmt|_sRV)P=7*)E?(6M~rEaQqXGVacJP^?A!WJEH7riMFQlIs<^2g>6 zd=beuF)zH25@}Adm2MvCjRHq8GKib-FQ4UNXbNcX;;cFQPWs7MMG)n}>6~Z&c*QWu zeRArG643Tf?tsguqnX^p0{=ay6>xFZs|eO=t6lG5drtusz>^Dz)*tLP_n-tq$lWf3 z?O}fKX@?TZW-Wp<`n~yfG=FE*Br$hC{mB zdP4kzjKTy2sAmo?PB()*C@RH8u1VEJ1d=k!-7IxAB@WP~rS+!-29T`NB1Lk*6dSQh zC6T;FI35tnNY2ah7Zfq!3dOJ%HMJZqLO}sOZe|7+)DhH01R0?s^^agwl>~e8$DoC%3gs`84a7X310|clLuNa~vJ}Wn0 zSU$=2g-n!?PI&H+7`3lbOQ*#keIT0K$_J5b;=EP|skavQK!ln-XDX%jJw{pk$#ZwA zD5o=(?c>O&0)k?APd(kNy6ekny}ipSfnaD!&(@jqJ1>G+cu)Drr7 z!FwoU&Gc@1BxU054t0188ZSM~WTlP~7J^xFAb{JY6thN~UnD`~bbe7Dtm#?#R{XGM zR8|@VGD8Dbr75=Cvb+*%zFE;D5l2Cml+m_T0KC*5*I=*Qe>Wic|sYJ2$-JG_X%c7V2`x<-b*~~0RhaYAZ{^WYH|uufzBcS%h5k*MVXuVW_7A9VpRy_ za#kY*Y{Do7f888UC#czcX;BjSIv1ak7ZEV{$3b22%^g81!^+rU7))>BW)uGM$4&Yz zRMd{7{|cz&&@L`UND9(AV-gJZL3dUp=G(%VdIm<2O@o{R+X`RgwWQ(L0^)nALciLR z5!4Y=hnMwT9mI5Ao9(6Eu;!I=P!Gfj`W#>)Kym@i!t`gC*F2Xt=fr+F@~0M7UMDXq z=_&eEJ#jnk%=TFpa@c10ZX4xjGnt5knb-+Gew>@~4JIzonwkrq`-na@N3&p+NyG4l zvG&bVJZD3yVB&p`_4AUd_YFkvU0i2{ht{7xf2KTmefz!v^{gT3O*4}lXT?YAprdm0 zZWaaiZuiU$ZWI*>hgFp_y-ExgcUZi8!HSI0!S{c)J7>;l#s6RJ&P(pwod^7GcdpV^ zlXu_lydzj=RvCuOKqQ@cN`=6GoDcP?f#xYzS&W%=s&AY}-iq9fe)ZVZwrc*=FFdLD zqukK%9hO`6J9`5otC25BHI^f@vWXY1_Gz>nK{N+z@4?eo84A^_30vlU0c%TWd=DZ- zZKOqW7)r*_lf>HJOSj?{44`c^^`R%#TrgkEY#}{p(zJYwTKe_nk5_3?Ne_dR$q|7M zy+a0mWX4k+%&ah;}sxV1E0_Y^Pz`^PJn2=++T+tP4XUg{L|%8#j=tqXuYn%GYKx zPx>n=aHByT9FHIy$f;|aYvmRlG^{b9L4F&EJq+H6K_K1Bd zOD48NF1L!svb@XQ=x&^RVe!gN)E>Ah3vYNzfL+6ZqH6~YXKW6Do6^di>t9g5DVE4OjTyje!0x3iP!=4nAb#p+REz)d^0iVn2SpBGG z!U;Lva;%+g&TG{bU#4D@(KyfieCp3~e1~j_{{YlDBW0r#Q`YtGcYsk#Qg~|j z(ugANB00DH`yroCa)$E)QSue8>p8-VCDz{cZB&To5VT;jkv8&#bZ?CD9sV4qE%K#o z&prx<-uL&j&x1=&VQvxUrzTt3)Y*;4!SXIQMsiaHtUHIR+1!Ele!y(-3up1cSES4H z;h)$^pI%9JJt0fDjHT6oY1#KM0hOAgn%eP59CaFJMEo&&G{4hIG3Ny_22*$N4rweI zbV8GItyd9SsVFYCZ>~Q}Yx_U2rbTH_f~)t3{@ATR9L?joQ=stmZGw}zbo1jsm;h{jrU$w# zRpqQ4%FA(4J)c%%#Zm}KQ@KfnxW3uE``-CXKE!Y8P&|l2cD>gRG7ww&XF zS`6{v?=Dgng7iLZPP61vK88InFv2|KJ_0)Q8WJyW;M$izPqq&-G#w;v+KQES2(NkN zL0?pMeIkj`Q}je9hqs8|twxL2U!P3gcT8#}62uB05%`pn?jeM{s&P}Td9x7jwuolz z82lrTbTkAlX=XM1Qs;fWK?y4OG?VxQt+|)t@gfHA^x+V^Eid_`+D&Y^_h`{e%v7}f zKbFgrfYt`Er{!Dk1KF^{SgxlJ(*yytwOUI7Ao|HkEHCQd7hogHXAj)>?Zr%OyyTi| z>%&CnClbmbPuU5-PL&&;dUsu-Cplg8T>bhpKfe56Upwfn@mmjw$>4nO{=WeB{>PKB zR=M4^s#PM}$2S+=VcLwwdw2x+z@KK1%tj)_<8P44ze%Om&JMJM7S=SoSi8YhYh% zWt=AIg5RrVNfJF4ddf8LIluy6huh(H{i(?a9wP_wQ{^H}2qLSJlg*rRJWp(q9T%O(*?E}E3 zpOs*kGT(j!=x-bq&Bc|GO)AmpH`*n#wK}e~G(4`cHXKOiEp&u{{yJ$GaBvD`>(Zi_ z=^9-CY@G@7`PGmbrJa%yQ&v(+6BWZbosG}6y%l@v$$yW__rp37Au^i$m^0fJbhtmP z?rmw0E7OxWg(t?qXsm>ZCB~4-SxQH=A70^VW=QO2`fjXK-$=pFJFtK#2#cb5wC{Pi zy4SV&yW4}HuTq|eKifHCQAPZPWRk&TaQXm`3jBnlRf151>yGgVgNuzqWp+=2Nv+#9 z){j5>=_nGko?h@gccbsfZm=J=>JO|&bQh*`Cq=+Wm zuHY8F=1%9cf2}^i(I0#=MF2|T8VGvk_EOzpGdMSJsi4et^<~yt0=Cv`uOY^4O{?;l~G5@-! z)~y&g)!11|9siyIU;e)ibg);Ng?iqdt$N;#ZOe@+y=^Obr4=;qk9}3naLh+v+oqIh z)25VJ&|1wkerElZ>~Jn8F9uubJqr1JLrB`l$!EgdZQ0*tmu(g?+#xN_xR>P7rA~{Q zH5=xzoP=NIZo%$7@jW5$y0Z`>@P_AmBtL{S$Z(w5fU}5QP&lgw2ei)iTx3>YYvgId zk9@6FQ#LUC1;FIaDayjisUsenN<2BQs31VI!69qc%NoFA7e$~M7)Xu(5lzvg)wGcq zs}AqrP*+|k#^&`W_UG%iTp1G=|DFgb8A$XPRreF(mPtS}x-MU2yyFPV(wg|LY-K~< z9eVX?m0t8h^WTR4w@>r8H~H5Fh0zaA5jrE6a6PEP5CY1sqma#bkgq!R}tD4Y^H!1GGTy{m}O zVY71=qv%Tw4!el{NJQkh(+VCgK9rQ#KN)Y;kge(5bpw`N_ai9%Tb5+XQ-K#~#;Po0 zR2VWgaR#9TDkr1(WxytW9fQ$&sD8`Q--%El+M1wOG^BN5f>G4(H%U62YgZ($toMko zxwl6PzAB%7LY-}=Qawz?M9)2l;nT?Yl z6j*keJ<}^6S?=9EMc>cg;5>4m$j4HiWwWMGyZs+d;y)RH3fUe#$@{M4uKQEay?^-M z=K1^8I5zU_amL*gi`bg2p=7Ms6*KoYqov8VXZZV=6h`M}EkP(5Ec9GkA}vqVcOAW%Ezyb zBJ}ALy16G*Jl(gJGuB3g3bG3bFXF@nJS^(m(8k?0pl&s66A940RPsWceD@V=LQ+O! z0qSRxJ>UQNS^ss$_KN|4b*uIdn~vO<|Dmt{y{m>Vo`Rc<7J4v-<7%{2+-4#k8Nul( zz{qRUDNDtf7bD1s4bdfy6yfP~Q1?6u!!3#BuQ(rzW5>*f#dlkT`E9`>4V+Kggu18| zvePclM_#5-MyGQg20JDvm=_;>^4ECGDp#kK%KLfX7zc+{k8=az1&A5$=ffo1))vHH zxA{pPzDlN$)W~6|F5KKn`z0jxWTTvuA&}D!ubbxO6H4%^{LLXf>Q%P%aF6EU#;EXT zZP%=auER|HniKquNVbUU8rW(W4skC3^{L45)We4EYIiHz^BNnb3a+Zo5U72BFz%c z%7-}EomQ9Xd0&jso`-nLP)>9Qf}Gt?WNe%9Y;d79Av9w00a2k3pX9syGE$*;qNr?) zDq2)cJ*0&6J`S`??Ous^SmZv@^DydqCH{4O#A#;ZhDpcsfmp%#G$HPtqOvBrvdjKx z$Bd1a;HIr?P0F+={NUa)-o1$GVoV{Kc3S6SwF2UL892y4r*FG zC&LR-FRJ~YOZkN|7$gNpZQz`oXC{<=d;j9`ZXrm3ZlG}XD4Q|k+^R@2bxU15t9~nl z@l{r1r}>xE&dgZzh&1x*Sw6eXxKQFD8 zds0v_?{g{mm?x8zo48h(QThxqMm{$Pp5kAt#YgS%4WA1M?>}zpe{cVPyPfw45$ETF z&(((r8~8sq_!~VA%BZ7oxLmM8&$+AT#ry;VTebc0zw0SB^14fOO1h&rZ|b=%WO2S? zb6;E95AhE%Am^O`6%hxCxE;LU&R3RnIO1Rc2?>_SAD$FND%MRrRo;rkdLbRlE^v4d zJjMrChj`F;u8;K@*p`W{3dAo`EzyQPHveX2w}ET(>UO4pS2kk?+5Hihz>;xx`kR+f z`0#SEz__&i%?L9Jc=tt)d{-e`GcfW+J4cnYeU9CxK!`~xJkRKj`M8?rY64s0o15;> z`=Hh}@0z`ZZfJvt=nPZD)vR-= zLr8c;&F)3oV&x*O@C8iLmNZLfMMHQqG2cqv^GyvycV};2O*9g9(AG0e&uiQ@9U_O5 z^J3>x*46VKX)8mDFF~%3Xb_8=f-gHncrP{L{2o&GlUR+gXaV>2c5+eUF|Cw#S&&}^ z?*K7W_~lv=yU(Es=4VxQn$4ABcxHkkD1|@fM_ZoOuA-G9yf-KuwTOH}-FskD<2f9( zrNCk|p~96p*NN~x&zy6rTlkuOH$^G)WqvEhzk`TN-U%pcv2dLiC zls!cY|2MYt-viX3`I3vR`IlGEi;p?2ej$KRkaLsLcu_dGTB0@W&PPNRekL!3UX!x?4E@6zxZ)1A>CC9e~-g^ULr%WXzt=40Z1W(;p=Q@LD?f*lWf zsBGJrJBZq(Q+XZ3y3{+m6J6aUa{6MldnUQ1>Ndt)4_AYU@)h|B{6wrW35~j}N;V#s z!2zi;6cL?zk)2-UuyWDJ%nr6&>cgd-0K@9+j>!0k4(`FtP&~X>8d`j0qCgKE>jwz* zG~||k=UZ(t;;l=OiWMgaa#+F=?rZ0di`Yf|&y@O>82)fz9%Hc z9S649b4ne^JN4rpUTxqW6+v!`{IFgG<#;V!;4(H@=BDzks(T$}8kIWXu-j4!Y<6&z zWmvZNs8f32?uJwxL}NpDAHL5GK-PHdn;l@4p7LCu1=9bp+T*eO5YmgIXyTEl8324E zORvQ^hD8u3QxXVxtT2)}bQc;J!Kd8NwrYN5eiU%`SXGXUw1h#O%KI3gT~FA)bw2I; zi7K|n(Namyw-pbp9$R7M`S5>UJrSblfQNIU`Qe{Ga)ApIhouqM6o}{y(=3 zqBIrFg1>?{^|%=_-{()z(z<^iTz{YU_tQA{rxd{^DPbEHZRACVo>gZEIkGZ|eJG@m|J zumkssD^tE%++ED~3^dehxjigt{3xmHLoj#=` z_kO-S`H0@}jcu){EcM7p$+MItD2jg;Jqa;HfB}f-8iB^YF8|}T+J_bg_nlZ?3(gkV z1Ml05gt@C>^Y;rQ`8%OyEfsFMwdE7_&J~`{b8Txj6P3+vi&swn3!9jbfP2I=<2O&j znX=DqwD|nEzet3*ahXZ_0>O$|b?44BY#$pKMW%W3ze}g`94&O{!7K8OE>N5Z25L~^ zI$Pb;J%6wX3UhKJXLvYY!`g0n;>&&zDw&+<)BDS>49SLE3d9bsYTRGaRJPXjrv7#Tl+jk-Ro zD_#@FCR`u2LG5NjxALvte5rc_dtqQt(@QJj7*?@7DO64WfZ8GWuT}Mt+Su!0Rq%8; zzz0{H0eK=S1oIr5NJ*97BA;cgtRq>qnyh1UZJ!g&yeZ*;x( z^rZS(Em+Ty4fOBO+5g(e{(ut!WPsp^z9F$9Ujbp>+=W;C^bYw3a~Lyo|I@cnX}RCg zf7~!MkF7-FFLiFFM~gj=3FR|estOsFrQF=aJ&Go3i-6_-KjPjx zDynw245^Qo2XFySuwVKqN*9N4gsZC5LW?Mqub>s3Cvb^F7ar zcb)&=KUppouC?!d-Pb3#iN?|Mj4e*ax~q=M+&B-%N+wZZT48>Rb0TFC9FZfLa6HKI z47JE#7m>9=U zCbG_dcEWw{V?wNT1i~`j(ZRjpx})y9xsk}F9QmC-jH0pt{7|^XWh?mA*71QBuAdHc zuT%!?OVZ_9@WT1NV9s1IrT8LOb>~&D)9)YND%uij#`rER=-{<(N8{He&6AttK^Lf9^tVPpLscTCn?GN#eA+`CtrH=Qh{7d? zfCDt59J1y=eJ5I&{X^m8!z#T@(1c?DLz zOT(3<6=AN9;b-k=n<#btuttP}>5h0ESuw}oqP zx2Y|>jb}-!Ph6VKaoK&v7S_iTeTZA5)A5$#ByZq^+F+2IZpi;Q&-VNgM@prJ$)LJE6R@JpZOtTkejCkh+$9T610jbHQ}1L-tZ6m9 zD0kLi9>3xqk3eB_!mDY57EgC?h6K{6M9(kP<=sjzr|XuXn2#|h)NW##rv}CZ+sJFR z^uqjG%bEBku2JqPL?rKydmT&NM$|-7Yc2g!^~5%`x!=zJkTC-zbE8V*T8W)15f9o!+mX;VyZDW10U zZSpuH=X9p-C&d;zTLL-<&(~Ls>hvnoSXvI8oV(hhwM<>%=FdJXNKyn^iT@7deLJOn zMnUepTlLGZb}>xmS^wo`9rf&ox?N+)^|_}36tiwgv{;9s3yJEzHE8C)`b$bq#7c9u z8XYxR96{}`<*0nVLY>!_qi;Rm^ZO=UI}x@a@;5FK+x^3^)@*x@Pfo;me5}^@b-ua1 za?)wphIZ(pp$i|!1s3{@Tyfz3D5xvZv!Sw;8NbbTt^@@-20b+rEz@%@1Q z1G3z`OC*u;giMdK-UM5Cj$Jltxn*SRK=OAQ(_1~Rwb2!3abDxB4gv6X-X^ZT|s&L3t@dl1um2M7e9@lk&-?cCHklqv&@O z!mnP3AJFK;UoXJ^mONLfI-r>@?(KcP7SKRK-8U9cz3ZXbH(u5v7ZSimF7yR z9yuIzf5+<73m7xbEj>~pm$TilD38$+-4?4B>6*b6pfBmsl2V*dKKoIVm}_aV+n%xt zR8jy7sa3+F`HdwE>RqPqI+mPYIbkMY=5_H~0$p3>9p^LZ5zP8_bd0*k5xHa>qe^J4 zvc@IBsC5v1E7*;X12(+2+OGPHceo{RfG)OGr!=UHFcvs8U9f_WPAE#pTH5 zG5_0j0xun&EF|mn%J)am$(DUr!KwP8g$RBbO0*B3ZIvzKZ7aXW;fndPpSEO~x_j+P zoyg^)o>IXKaE2Z|)%+I*siFFV`!8hFm|tjVVy6dSR*{P{p=l8Nm4(}v!M58No$18O zvn*q!i~iShSbv|q{{k-DQNSfR$N%htwi+T4eE)vDLNixa1R%;5{9+FN@p6>#CgEAS zF-!*L`9+!i7X|tige*LkWNR5ZX|CWqp~{j-4_sy(Cu0;b69@UM6ao_j?J?yKrCPcU zHc>+)g3bV5XFXBHpHMS&u3m5C&_7mql>$L2c`>X~ zkp9$Xb#KWzBF7PS9bv8LmI(-T6^3F1;h zgn%Co#ZY}9NDN?BUP}EXC@F<7iGx_tVbKc1Y3aVU<0~uCics)$75<`Vt@iu;R?hhc z{=+NNH{RRd^A z0LZEIl)rX&8m@l%;&s3<=uQCQ&&axW$2gEq?9edAAcKLLfa!r^!-!$K42@)fTJveK z-uX&+tIZeYx7+4%@muoo_~hG~zyMUGPK>`ANeuQn{|d`LY3I5arW>aTyDeGzr{P3R z+`!*D$F^zq`RN$jm~m>pAd3mFenp+@PI&-JwE_;NsP-ub|48Nf?~@&15s8EuEx2~9 zBsQzRrT{N`h6wZQ1(FP^k7ov)+v9A16h_!>@0f?%x#@+bax`J5KiBD}*gD>rJ)13X zPtj9vwM?UOo5UwZMrHY&j1f;-A6z)HoP;K5GY6bWKZ_Of1({4vp2g%)XJSq2-hU;5 z5V~Agu^r!bmyWq8ZmFZJz(jf;3Ycx&obH6j%jinqe(b_Y_x$FP|8H7nT>Oux1B==U z&!(XC35WF^TIJ3Eh40^EJ^4dtgzm-?0G1aaK0b4Yk>B0Fm?eiT`!gMTg^gJas2pQ9 zEwSOKR4V;1k|Bydgy&X;$~HO>A6_T+RH#!lr%c(!jtuuOQ(X32eV>hVRnb_2F$LBw z1T~~Y@iV(}x8awi^C!_+d?mr2BN91;E$Ij@wokYddDtTD?fIKuP zpQPko5M4!t%Q3bWRnjEg`-$XecA)$m#hkT;rMhOg`Hd);+BwqYxTAMa3q1}lfi`K_ zbU3JGLA0sFeiY7$7!^~F+si79nKw556O$xgtu$tX_)7djDgp{Cu+ zZDOH4I&39vQ&jsb(0aOG)Q)kuo zjZm`|d;_W>mi30 z6SuZC0+%6NuC@iKf6; z!+vmU7=YGZe_Fa^5}moEjvcZ#a7hd;ZqJF9nmyiZ4JD6Rh+QFuc(zk{E>AbJ3-iqW z)X;Xs#FTu<4Xd4br_X^tdiW9et7Yr1)|1t8Kl7ZsPPeN!N6w(shC zOH{k@Nn0x)KKE5Z{pg?Z%V2Le@I_NzZe`f-!l1A&SJ%g7Q2bru3dUISw3@u2TG5;H z_Jzk~eTPdmN5&ot&8fOWyk#}IKT23AW}Zf~SPf*X-nzg4m1p=)*u9&gK ztaSU=w~Jo!7$?G9fW40|^Vt{^{_cEL4(bifs^LIh41)^uDT+TdZUCz~0~@0TJL-M* zGn!59JgS!hvC}Ve8k~M;vQ9sEA#5Tqtmc%*evT`3JWl*`>XY(s9GlHehL{vx0j~-0 zi(fK+9Tr1{8I$j0w$N>c%14R9KbCdIPJZB@V5n0%um6ZlU&IhQ?nk#fZJh4a`fgfu z$u>$fCfP3QOFU+C!Hxs4V}Zrmtwvw7>lDfu56>U^Z?>vQx=u1+Hs0c~asp;VbDy*$!(GI?9e$0mwjTdlQDfVX zP|`B~uy!@7#Rk5H)^zh!KU(+RFKa!i&=Q#7DcUjVV^ukXyiN#YUf9Q9L<&W-!F=pQ zm2XGLcx|4R4%nK@S8H>KARp+m=rwBLS=#wsyjvlqm9gP&g7?D}kUmedulcZr+UQw&c}QOI`nU(o4s($=XQG>h5pI%KX^%aL5y zu|mCXfcyMg)y|oy*;MnuTGc(?J>oK2vzC3I)9=2({#GknZ*|^^%WB)w=KOUC>?7(d zVgG7B?3|$88c*9bvc_fvBbc|=Uw;`jJM$>IBq<$v9KhT~?S&TczKyPH$LU)PL;BNM zj~R*U=8iSi_8jSI_kBleSmCJq4*gK85E>lwhnl4cIVn}!5E_VDyXlCoa09fq7BrS*frXa@8`%{a+Qs<8x{1bXrzw3ok&#Rnf z9*mmI(Ai?&3N*T)R@aqS*J^3-kaPbgpbyw*!p7iwLLDKV#!+Ju~W*B&)ib_o)5X#l4s3W!k)_Ojdj=PlRx#nh{Mp z-L92aV?E}g3S4lQD&_*l77Gn0^b6Z+Jhv*~=QJptkE%WCZQ*pr^VnY(ey;uP`qiXw zzHR$Lceeo4=Q{A3%l4fIe%A7~{W|wqrN%(7A3b7+09c;>5W2-UE4__-K<9yS&=FO&#|0i$oXSLg6yX%^j;EC#4 zCqZ@ka4fI&*<`N`>@IafD>B04%c=dYn4lRf^OiW<{u}VXH`=GIv&<^i$H_y}u66UI zJ+7E2mT|YgwkLd5w;MX&l2%%Xv=U)G#?Kpc#3;C}$EKyq(fZo$Si5zFrme^BR_PPW z77e+L@L^ydR58eQ`&Tb@9og9y7c}pKejZM zt0TL1*U56pvw4>0g)gS$xczHUL0Vsj~I0QPN@+LG|qQf#EwPm(=SFPy8Y>TkrNipFb4fuAHqR@-EFx==41 zABbX%jWZ{~SQQaoUFRQF@m68soG`K@+(LzBtDN@IFTFDOONleXE5R21ne3kQSCyLF zsPI_!5{nOqIYc31JRugpzO37Y@bmDrg^h+1MJxTb$iDbE7Ir9&=xi514lqe>4QR&# zC}$Zh;uA!2skUc9WVTj`4EHl)z!f!hpsDJ+Dr+1umW@#)6Ok>AH>$Agzs;-04e6h~ z?sfXeWMJU4N|aHi?yT$86Iz)x?k2&ADlECn^c5x5X9f_8#6`!^%PnQ|tO+U$Q6zdb z$nt}}(}}8s&-2M!v?i?7*e}duHmGr)GQP@4G<#~IKNxr81LR4Y9{rp&$-;vEPQ~SCZRyUh? zPTUz>QkrLK-6^Ydke2qrmfJj!Wihx;0z2EHvn+instOrmH_w^I9w8Bm+F3}G%FzRP zm)`7ENbXk33{@?fDGhO(t`YL#Pn}!L+Gbs~1|aw}#y-XudC!DHQZt;)KewvDdq$yDT#^Ka8`7dYyja36e{_ zlU+8q5#^ilh!6XS8)uko?-bS-||dgcG3ISI%ga2*Ssn zsXm=&Z*NPPq!yxDiC?_fkv&(bOzRf451+4;$z1R}H%|QcTG#b7O-Se`%|qJtU7ygF zlJXJ@!+~ryiA*tuzCVhJ$eGbzRtlG$vEY z!|j-Y+CzS3X>$4vXSe3@(+0cn=EZHoErR)Dty#wbxTmum&d32uFdkb9HQFk+MqL|j z>*ho6pY4Q9WT&SFId}Chwo$wLQ0yk0%+wetY|5V`s31kX8_pN-G1u^1XwT7-?^=p7 z1Tm`a;&k>Tp1AmWteSeaT=xvoytvlaL#^X*m*;XYg_jX-gS9XP*3|#TZ=&p1+M9BG zSuTU5q)kjPPu%B>I{TXJm1PYu!{T;d`kMtrIYC0%zKe&41ougZpJHD&1GQjU5(pNQ zW|kMCxfz0n>&w!hA=R^Zlg*AxMAe1l{x`eq8{as07c}jLnu=L>HEUJdsohTCF3A=U zx`cAJ>6Nu+_}|{`AFbHq<`Rq@olA6Yrz1YZr(WK*7%%^}+oWqhYt|QwzS(&jbQIx7 z5aZWtN8+W~P~)KW4L$0nb1PZWDKvn-K!PRKOxLrG*7ba9#OX^SZ0aVyyNNAkMf)iw zxG=0f;b0TG))I6cetx=EfA(CZ9P;r7Q+x}$G|4(oA4*r{!P0Z7QM~59?J30==?o!z zm4uFdo;UWGyJ!6y2L6iyh!bdf51D8uXj+>Zuclgy*-T-6%y~)suTU8Cr>134+k26?M};v6SKk*G&|Z5U(}5{LzWKPMxXj&GSCHyQK%wH$JU- zY&`z#juYaDIiFD5y9Hq_{ia2);bwfK4vDgao=gc3Kc9hO;(f#R*E@&k!fbe$w+f)22=XW_RdPy~zoaPQnM%(q<02PE*x& zjWs%*X%eBg=+l~oG2DVQ36?bXKnb!m_|9ZIY^~Q6XFZ$FPZ6967FIec5{$5C_@1Xa zE7i@Wv#u4Q_ef8!*}6N4SZnZ=n1xKnZoZ^$fqp!$-w%n&Uhj!?#SI^O4Km2jD~e5< z9eudtq20ynPLq_SB(b67Y8#R6^uRcEJ@sM z(=V+!NnPNp(!nC=w141I1WZ|LF*7QHxsVL*XIL`n?7LXVu`I|YG9-XoroCRK zhiN(;F`ge%6`fK0Es!`3zqFn_heCv28M1a|8 z(gWp=(5WtK`gvR!KHErb^0m+|nEVVwei+gU-==)lGlA-tK}bP9$obbUUx$dg$>lR* zr~9}ipC#Li#N_iaeO3)xCm8y4)>#p_(I*#%4Q8XRJJC)@x~qk;aVsKF=A79KLkY>6 zv*AO5_HB`{GDVUM%yjU6%PfH}eYR48Yre0mpV^VNOXr5aQs_Eo2$B)}&Y5H5Jb|~Wpn_Ol}q8l!oMcQM&p88Zl%`IF|@-||&e{rVXteK;7 z;Y-mJ(=~n%xyq#TXhFfF*U<_5{`CUQjw^3ZJ2e*(EpvW*4eOQG53|${swW6UZpP#I zudkZHwy9~&>U}TVRv*Bmn|sl&P5*P8b^a0UGrzJk0da=IK8eHawl_&n(%V^byYUlM zt~lx~7+Qa02b;u*#1ggQ3FnY)fP`KVV0!-KF$dHkAp;+y9D55ICR52}nx%LqWa8s4 zP`M&JMrxXFKpyk=Q)y=}DaWnI|DDGq{&<}5cOFw5#&1maUvW&_f5tK6!oJB38>hYG zb&jpzoYW!hOFivnP|4r2#>XEI?_l~Re&+Ins27sP$zS4PDT4%}%PC)gBJ>ldGo& ztp}-rL|Ht-bs=i1=|mj->P17Vx*c2z)^;=gA&&2~US;;WBL&dN!bU~6WQ|& zWTQHQF|p(3`kxFv@5Njhyk z8g;E6sx)8qNYqn2@t9@UecvHMC>sChFY96wV>O)#%651iBw4b3UqC3aW5n~)r1|Bb z3A&2LUvqdnQze5j_j|rC%{b%0jwy)@oM~;cs28vv>4&mPFfOJQ2PZevB*+dsUVxAc zbeRE&f>6sApZ({^7}Cs!i?iz8hcARyp9Mi3-Vbc;@kbKmytq5E@q;e0rl31vt%`B|%ALYhX* z>8E3N;9=NaoAN|neA?;r4p0ht7S`)3%a_95a#z31(EuqkNUQ1e4s}XwPlC=SgA?;# zKTpT3_j_cWybFBYow8=lGR>0hL>#*m9g);5Gw(Hgt)l5&CP2TYZQtk<@8M)L_EwRz z<_`fQxH;Iq5;^y>@4{f&L>k){TQgG9X|+QV$KS<=@OKL z8XIfk$4Oc*6?M|$_{g1iM`M#SwEAIz*MQQtrS_rJp!3~dmjegzzozjDUV%6}-EL#! zV)i}LgA5b)tB!t>yT|3JU+oERF=dGE2tyro>_y}b7fpA4cYZ5ggfoM0F|dv^)z+Hi zyEk5M|FGNzs!1T5+e6}8gBuxx3lym!z)gSnWeLB=&2$oWr$MdK5x_#klBxlkN55j- zRvX-UWH8XvbJZMB+;sew$05ynh3`!MAA{~L|1*BCKGkD}G zNg3S&E%?u6LO3RYr6TM{_-ukWSoB&nsSo)N)qupr9LQ1 zT|;khP`CkNu-~pMG`nzX;bWjH{YlYbw8vUT}zj@yO5Lb@q{t+Ue z`j0HM>A^?`r!niVIBJ0%SpiL|V@uZK<@&>DTF1=;@p9|pi}N=czRQOn3=VhIl0Co3 zz{M$zBVdWjfHw9B$iwW!0>NG`^B9AZg4~8K9cK8`2~EF?oKO=WWTQepmf5WHn!K$v zHvgw3-BEXV>V-vCucERDRnSqP-%OF8LtnGQeGUOBYgN3>V^Qn^eUZYl8rb%P*MT8H zlz9B_qPY)G;2)DIZ}q5c3gwgmuUbQ;Pdzk&G~vfz1p^`d%J7??ZY@ql_12|*&D#g; zhb}*iJ_Zn$pL}&)#xZQJSR{&go%s`OFYijoF)jJcS{Sq@<|Fk=-Xk!f;n%djk&P+B zCU=p_wDHmNWrF)(ecIRtyPMJPxm@vKSa#(*YnZu0>29_GYX7>t)Tc*%Zc3pNd`yKW zLg>Cv6J<@~Z)-K{Br9D)841ne;I@kvtf~F)Cz$(GbCx{?A*5vr19b+n{B-8}1dk%^ z`ks5QIu|)oqWDUK-U1JEZnJWL!^Aj3uOUyBC38-6NPr2CLs}b|_3Hbp7K9Z_t7`1R z?QoBGO)<@2r9Y+dj~ws`a?zp|F)U4p9D{Nmb&x<(q1fqsz<<4JJD8Lrcfug}P8#D9=;?)}mVPL|;h!*(qj zq8(rLz8)$)i}A5$md64NI|00TUt!9AU`dIwGvWI^(d{R5OiW41bEnPUQJ0scbX^@p zx&?=Bd{0~f<3_hr+CG1WhQ3h=-`X((mzs|yiKQn+{vEPr6MQPv?NwT7921xslC7E! z0!j8uN)7Kt_)0$g{`jIEaC-;tp@HZCuP%`phS#<(o* zypS;$MIW~V^!-IE#E&o({2u6&1Ix*49vK}ebBOx*34!7lwK(tT%D%}EE$ZHAPWU& z4|SpX2C}KbX@nlye1W`+6N^mK1W5wmaVH%!>AcTF3fP6Z`dUZV!VomZ)}+-O4Zrd9 zJxuQr9i}OgbSsftiofH9Z@`umjG4Zg@#WL6vo1(#zHx7M89NWh`pvzJ03Y2vhGd?fRsmXD}L?v6FVjxO{4X9+ET50 zi@p6re0vVM))Og}5}81Aip+xC*muR9u;_;*nxQaYWBNiFqA;1XpY9~EW(dwqVddsr z`!rsvFQD5LIx|DQvQTw)*HV?&&Lq^lZ1%{M@g2R9DgUNvi|KnCkBGm(cJ3Od&(5_W z=~JTG3c!N5g^HAvxh}P9-B8@?N?Dc6`qz|^r{+h73HwXVxx!V`UfshAA;|K&zj^;i z&Ng9-#-#L_65i^gF^S5h0M5bAtlP%bivn58 zmVi&gLsOhsqoHnf59FL7W*1=bs9~ibx%;`#f^mDwsa{i@L#X|2$za6F^mRUo6OQ!` zzs0=AHFHPxhd{l~llB^M0H0}6IiEO+1ae_}5>5lW$YDpNo~V+{J4eqS0koXlN6b7ML7>m(6Ch~dj5LUPvbA*I66yuw`7M2lzhgqP=$UXeHgw| zrpnQvP@GBlI6BJyS~i zNx>r!r|^U0-v?xibj_2vJ$}f2l8EjyX>@yc95XRsdhiC^VWaUB1~ z+5sdP{b642XXx}E>mcOA(Td$9o}Gjp(f4xbp+QHlN>*^eqSJ5R2YpcY+a9-l<~o_n z07|wh05Vs80$Oy6U)^LH`J%@(JIVf5*b2N}@@bzU+g`YMFRdnts(4{y>vj*#4f=J0 z8TGp1Dq6XDa>-qQ!;ztGT2@m7GFkK6a*j4IrvB7Q-!`)IMa{n7XQP#cON5rDcI9Q< z?9^UMU5^vfHve-V=mGQOoUPDw*S%xHa)K z3#l_rz4-JjMb8V9{O_5PwwXBaoj74kQ~Q5(D}T1ZqIQ2H<2&f%b5D*opRG& zXTt{lSKY>c((7vXfgC`C^#PQGETsQ7q>ByF>23TtT;WzWm$)w0fTae@H4KPwWmc|~ zQIIi<`f=UR{YC9zJr2`s_PQc;q8a7v?z;F##fFS;C({ezX2Hp%nGt5{mgPLLiz z9ZtGlr|t&*!Y95qrs8|ajOgSq;Bu>sh|zcQq5EnY6$&TfCP&4uTb-G1>HdRbHM^o*#L z+&&XO+QF6$c~-e^XU=A?FIa4M&kJIdkzMz066c3rf%iO78cKK|Q5DT6%*HS#KE77C z4!#%IYR{)l6m*u`-TKs80>0w%0aZa{PzQKOBaGn=92~GlH^63I&*3XIE@=@ob>9;XS+#Y+Ymy*Tqq%F`{%xj8Pfv0v>TgzY%?Kx* zI7VRLZL<*9+V5w(AgtKp1EzR&kjd7G!jiLF;~dXcv$UQhoXvb;Y>~=mCEKF$Ft0_ZQpYS)O%nMNg`bT`H}(L4Gt;#N;R(HdD?Bb0)jax8Oxr;D{bC!QSt$VrlCWa zqL22%aKG6FEO>~xSG;?7x(@0?hV66jA;dIU^_Qy-wsb7`tY5!wVWbqSt}DXI{${zePk|}d z=S9W6rX(t*Ze3sNli$6r+_uL>Et$(>*cuNc+$KU{X`@YT|0~J=^$0M;Dku$p`M=H? zBAi4jJ2FM%dXs}u!ow{Rpc195-l?}e^R3<0c-x!kOGYSHwvP_c3Q#(eU~srRV5y`` z;fHM;(qI&s=x-+^Qpv=lAATxLVeG}{xkEijRS~h3)_+sL)^wb*<(#bX$|JQ(46!>M zL;rv<>kc8)hYXoA#W8DN050`{?i_Y1^KUv!W1is-M=WoQ{Pn8E3C0~Ppc-7^GhPJL zpM}g=Z6M_EN;23_$iq@63C1>xn$J1y$aK70D}}zkmsHWkNgwig({({0NVE54o2uco zLTjn8o$4MkDvzL)IV`W;GOx;)ZpQ-ibXC2S~S=7@J=<{DD9!rt$O9Hi6sB zyo}7^Q3UQtK^Xj*B)e6uS=%fGcB2&X0!Rq>fxNAk$eB;m5C8almal;eI3>^=0g zsfz0Z87ZoN@lz5Oyu2Y?hhH6{4-C4fm#^sl7#H+1qCQE}5`lE6<85yGTL&KYqLC$SUMNs%>>EEbNBQF$nq?hwb1N=9p(q0?53T@v<@vsob zApKz5&pxpF`ev~&lX!0oc&}{R9@l?(7-=uIFAro}n!1xIT&*BpDPCWy8oQW4=;o|4 z?8|u}`>m*?jIobK_1T$2{d%N?O3`cgb@POPf+%_?6(f+Gat*-!7WZ%8{-1sPQ|4W@ z#~@CI?nCE^n#-%QHn31-Yau`yoRKSO?9P?SgAi>evq*B7I9&s{aSgXnNn-6`pPiWy zOya1ciC|W~YI4##CCfHlI+YFeC7@| z;q4q;pCT@4Kl7srX7_(2<7PW~OgF%$Mzc~8Q7q9L-Aqxu22ODUvxTM_F^oiDe>y;J&SR~k$Y7@LPtux66v(E>X$>42$HjLUlDI}`#%%Q|#apm+v^Vq(5Y)wa z9rxy+FljWT_sRIaf6hi6h}xX@0ChGmHBJu4 zbjZUGm;FpVao%$u)&S{PL+>)ch?a+k#OrwE%P2nVxC4hpSaZ zL!n?P>r;+j8|`e1HO67P)McLr!%4w`C1eq`fJP#ibms^&UR}zFP_Kzh&?dcl^$xpO zVKD0Ag*+?B-%CQ*PPo+E;M;X?t@!$Y?X3DG2{LUEzrYSS(Wm;isQgoa`J1gKZB1^mx_55i z+90ZsIwH#-yebP32))|@oQx~b{SIa9ua~wSA>wy^mU3aViS>@{j7wg-bylAqYs>>P z{siTM(1o@z8pvfE=~(CihWLaFnlljIn%zg@UAN$pNyjXS*}Ad#Xw3DglcP)~u4B*YAYyED$A~kk>nPrur zgYF^irnIvzX;kS_n{+OG450SjSTe6zZX3jY`cdCshWeQSUzEf2g%K}4-$IkQTd!}h zw!JqFO${K6c1sURtkX;-by=I;1a;A7H7oHL^zP8#d%=J1;NuVOJ7K3Mw`cQROM!_Z z%^xZ&HgngTZH(~?kmVSNY;@SSzol@#pPhBz|33N2s-*JciUhok!wEg(&Ror6EA}*{ zIr!IJ9o)mCToDQZsVf1e$cRWbMUnAOFA1DCJG&)is0M0)X07KeGkPO95;W09Pwr}q zS>+z<#Tg zQdc1xRZf3(khcD|-CmVh#8;pMyioQhEoS7wpO}`o8s~`oZt!W4-urm>a(BEbt`bO&%zBkHR&B;J)U$rJ4pv<< znE-$Wl{)X9zdK)pgY=5pFm3Ch3wiN9snjS#{%KK-BT_Mde=LbBuvVgP`Slbyji?VB)^K^Z} z!5>>QGB=HU_2SjwcB^yK^GE5qaE|-Gd?H^tOBln?qc#eU(tFs(WLo?*ui$>hqs$K@ z0bwC%2LRh8hoUAw9xqJzN|?cYVFLfz&HDA#AB)9W0yA6rgW1>b2}KZ}6FAU4zr1&i zS{m(>OkYKB@SYbF*wlT`vpRz$Q-mXFtAak|X=l81CJ( zi+^}^gaiBPL{^wryskznu@+>zRtM5F_)+b7$%$oPI0XN6drDCHdVT9itrWiMM$TS{ zioaF$g&)p24?QaKPAi#s{hLe!FO<=cw);&q5>tDyQ9T7uNoOTjJ?n|Vp7`YYT z-?yRzp-+kJI7-)~fTT89@SAy0{pV}H^9k>VAfly5>$j8|6}KMD-!<6TU4aD7@~@gh z>QHm`rCH^+=UGD`MDy8|t#=C^ECrtywuDW;TRN_pW&+HJIHZqM)NIoV6XZu*4!y{3 zcV$jDd8x5fro96JD45+3rdD!jD&A-LGN}d82T(C5R#-9+&(0$?X&=<>IBTD1@2PZN z%{=Vn*a+{@%2^oY*x6a*?OE%&z|>*|0%+;tfQz` zdN?GYR^n3K<_~UsurIRgXpQu$C|+j6qD33l?L2YKjq?=AHu4145St+CL|F#};5>OI z@iGKHR!9CRrKk}+A%|%8>i^h;*-R?>(O~8U<36hfEXh^_WV~!OJI4ePYc9Yfsh|?P z`gz{X;bTXQTq%|vWvSVG^s+EIp=UFbFu6$nl_X)mrs^WwRBsc9An?%(mx+^f%xwSW z=^>IjWT-!WXLrbe*N;k3*-*q`CHGIT)9T^`=&dz1_HT3~Iyy3ljY)J#qA>^>nTZZ6e(uyA=mB)FV+b=x`x zm<4z?Vpdjl?3ECD#q(`$*PR&lo`5G0>lV=g^L(#wZ`pQhC6#B5VFsjUfS*v}dx)BL z>f^?vx8A5ob95t$&gA9<3E?^3yR_ZVKMVJ-)3|bf9Q}G~Qi<>Aj&9@FQ%~!L(foai z>zz-HvIrE}yz7u2V;lB|jkSAwSy>4$)QcJs3=N(9zhd{+h&7uCGPn$cG zq>NWe^D}kjW<}x#eDS1Zg=q{^`rvji&HnKy{oT!tRpsm|a%kgR81+T@AE3jx>EXq< z>J%C=@>{>G?hmolddr^s+uV6yp0}cBQ8@ycR5oR(E_l2)UvjHqK6P5OPiE~9ih%|4 zU7ttVPbW&AKDvKxjyA}r$|^dP2ktm;d>telgJHIw`B5DQ20gL2xo zaHhrn5N{3*(3Rcu-&G=aSi~9WKRMK+gQOm4`!j|9NpGE*u$J%D$~$UmPL<1 z=q>i(yP(s;&;Gwlku#0*Db32M+T}rAy@dDC`I*VUW7=N#zW&mUMehGBwA!-a>-^$= zgI=9gR;$oWgBbQcxw9Q5_5%1pjytHqd*^-ALEu;pCPDFXU0AzC;E?z*D+qihFa+eG zLHncGKKmmcPH(z=psSw2djHIHy)PqlkTBa6)fvV8Du9z-XW$sfGG2Qyv^wsy8ta&7 zQE*||y7jJamLE)+^&!PmVht}%3;5s_2fX2)k_`&gO;F>$-jij_$H<;(Fol!uH(}LEWbhgYPJ`Cy&zQGOaao+QW z+ex?GOuRoS|EJ8|EBz0|mI)5yq2oGtaTv2eEPne1GR9AfrJ^*xa8a_EiAWYRQebdb zqVTEZqVl(jSO<#IN$GUJ&PInYCJ4#fM3&ew60C_t>Xx0IV9zMY&t?ZdAy8l&(ofLpgQVdCQNB30=Nman%sCU}OdzVomm*R!M@cnY#(4?c1T}1ga1&}l zfNlqV9zsX_R@b43tx;Sy^EwI-2*pq-8@G7r(`nb9^cJOj}#N2`}e zLd~~4g7)f{o)__n*e`=LOqb2;>=mDI)WlzxF0$*fT{k=L0?~-puFSnCv}4yA0<)%O&xM_t|ypYr-LOf*;0@2;&U|`=D{rIFF)QW zv})FEHMV4pZu_J^I^{mh{!p$(8g}gbbaYb$X-nOcoXHgfbdOis`X7cRidFwV+TJp( z%C_4YRt!L-6_gGEY3XJmEh&=H-CdFkk&%*_Q=Td;N6rb~0tv@NO`fa0T z$8len)}geXj9YsG2UM)mdJQ&4Z_6e`u)fw+mY8@{;Q?pUvTEV)9$Z6fR|}cG}|d%ZjG`oK|I#%}S(r zVvo~iLL%{&f)u9?9I9E(J;$OqrM{VS7|e&@^XktUY?pHh5$z7?E{?hl7fWa;_`uHwuD^45s(zON{;PmyPzF z!Y#(rnZwhQu0SV4x5ssn&yL}prz)hY-_{3pN;;^i^l=3Lh4{+!B=LI>5akk?6_zyW zMx)o>5Ic_*H)J0zD_1W#@$EUz+&SNmyQo{1w48#$NsccRHKn$Q-S$lypgC=aguD2p zk?76OFPerD*f);~*KC3Hy!o(cTMy-4)nw}q&uW-&9V3is8Us+pZ!Znc+@IuFu2Noh z8747N$~A>{8YLUk7KPoARjxVh{gGpehwuz&HU;1DFG$de1X{;aj`Gr9SP$2Bd>U7w zcR`9P_i2fF!Br{(L9Moijxfc(hK|Qw=>(yT0-r)VtAu1zQAUYIBU8&bT~(E*G#x9E z9Ir?^+1}NM7YjN3E##`l!%-W}1A#`#6By?vW3}VibFSy2g9?QCo0bzb0-^~A~;=c z3p%LKd}YA)|BVrF-DvF|-Th;a>&e<-P%6Kk{9TIflhC+p10?@lR6wAkb zNfZTXxlCKUye15{M+2YHE;0+bqRF*+P0M(o&V;v%13il6Woe%-)u39pRU~hZH4=o$rdi+)q$j z&6^JfDtml+*?eZ*9hSJh$6V`x?7dj0Hki4SalqIjTRq6A(wS$uPyi!v)FO$iF=coC zcynttGs}O?eYuo#>G{oPD{kSYd!jb!>eQfELonL3DRmQ8w%66Yk!qC#XQNQUZoaGn z9|vjuYzHP~i$~3Wuhs(91N4kk-?Favdg@^0_Ni-j%smgGtBdT-`>@|HK5c!jvt7=z z-F&9Jq&?gib~7e2byul}UWGdSm9KCJLaHa&NB8bLB&-)tmiI(p-rOtSyKleVg8dk$!pbuL9!3@L>?HI_q(tu(z;ZS~nUWy^GDIAjeQH z`*s*>j&6Twj1wSti3{$NMGH77=p@z(SX;|%)?M?G$zVF|Sn0bCkjz!NG9E6UoO`Xt z-pab>O_%h{vw0vH211(wCt?~5@DOl1s)1Xmny#FS(VPCoCo#cH(gFwdVZ+x z!dzo)n})V_eUWno!vx@t5&k!{pwoQN&$*wFliZsy$lCLo?QYKGOva=!&J8P^Vi5$= zQ?$P{&jfaXc?j8Db?i?<(3RhJ_M=+df^$zxCY8{Z+ca?oo#uLCRooy&Z&YgOE87`_>fj_Odx`2#AgGd_LMCdk7bn&}~V~w3u-J)y_Ah_GA z@|m|Au-BYk*5-VPW)=UOyX2fD=Yz@RaajnAJ*o>FLv8V51R2s1$cA5sDJ2fiwOtcl zm)ZzhDUsX?GQci!OV$+>pHBX?$_LC^J_RGTpUyPe4QP=PyncCE@0e%}h+5?_3X9`0 z{g#}+EudfHz1zoZlTadYcWBPZ{P;!0@G0qO?J*?6aaf4-guuTj>q+1T>&Nr?HGY^Hht#k^RAZcV6> z4|&#oEcz$~FJ+eufnMQrK}s!|yj>KuEq?0=RF|8jD}tjnqu~znG-sJG^=t7<@t+&w zI-&K&z_)lU)eQsGvJP=dE!~v+IiqE;F(ft0m4SSzf|$=Rcfr}4T4|he@aKr!ZeMb> z0{YVN3F;}J$4TO7Svp{t|FsodhZO&G8M;<=aFf~+Bn-oU!en0eOt~N`65TBy=S4~c zkX58wCdR3kY$@793-X@dIKSl^dB9s5LBGFQVc3?-~y8540PX=$VGcrtXi#XlC_a zFDUU@qUvHJA>^oAUqqYHkG%upl^7Ws3@1``y!t(nAGA+ zZ#8$hWQnxJ1jt)<|5C*j#A8@EUa*cw`*E)c>F}BCfjv0oEbq~`X4}H!%@^KVrYRLD zO|E+cK86?i@N&Zc9E+p`4^FZ7ZO^i+pB4y3p<#gW1`=c|R%A0@w-Z zTku>s3eQccpuH=RZRLvEO0thCs#5iXyB#)vn_YZjr=>ked%r{1aE9gB>70w>24V)c z3C~~lLpB9g&i#+&W&^n8>38uQVG z--q&7;@1*g|AVL!*5f-6ajiB^t+vLG)l%zQJce35q$D;@n_!1@FL}|R55sXvKPDW^mhLg_1;7;sC~ZK{d_cz{dGuyP%7uqekB8JoCaj~6Ej)0^V31R&`5Um_Ss`T z@NTYSpkI-2t+D#LQh@1x9H;+PkM1+Paa95r;a@$P_>+_-<6NF8KZ4OfgWLGy{c<{B-?E)cgK#)n0IE;${*s8_^su--1hu&L~})21*m zoZF+&)42E`Dp%il-4#1^Ii${(#oCwZacA(2|HwsQkY9~u-mhpCh6gFAR)o%FVvBJ>3cekz+gGH~;>Z+;jG21wB>J}c z8wWy`1(k)=9=9ftrbHf50^K&>erS(Q{wkRT4okuFZ07xj^y;li`Cj)z`s!*275j5> zgezGm)s>~sBB!&TlQA=%+Rkcn%yCOvyt*0R6TAM%Gl`flsG{La85XE{y+11f)$8`a zF9>aVb$$TVTu?$1n=|xz5rY5v7jso+#-f9)MuhUmw6s8Dr95yfU-fD1vPYTT&4JZn zaL=t~N$F?Ay~f|3T`qaQMGbmmK^_bs^g2&dr>|o&?8+A1HN4+KLauG}vp)dj?B?S) z!b+Oai7STlbb|!SKC%5se5UIM@71(t|nL)3>T}ZPq52 zH=F4LTbuzFe)a*PkiTP?0NOm<+xn%wpSU0)&#Id1=IPc!%vK4qe&+pLzffwBaMjz7 zJ^J(ngFp2w^V4ekbj^JAik)dcD25(7IfnE|%kvd3uOEA;JHcCShu1xZaO}S3Dt?2A zxl}Ymn!&>)sCTcC#CkmO2@Mb}-4v>@CZJrIs>r6=_U0`>X~uMu88NTu=~Q#QCSRD4 zgeMN+m6eM>>Hf4lPmyd@dVbgNsr9A1R%2_i^GU{0Lu63ZvajEKYa&5nO%s*E_Xhou zS(u7~d-k;%spq}~1&_BA@TA)A4!=KkmZxEGY&P6;qa&JjN9%1G+6W1>&-;bA3W}zm z|5pB+M=Pe_#YO+89w|M!&NmTj*N@e72K9os8W>w{7GhGY>fm+#jX@8eT{iq}?9ve*8B#O>_5pmD%Ar8hdDC3OO&7q|g1s?ty>; zQCx|o)0pGdTxj7zyzl$DL#&RtJUwX3ZgbHdV|*y&nvuk4hYf|~Zm{oq zE$7(?{$~JkS49722_-F)j0U3S?dm?7GTqs2l|Hkh>Xa&?xIBjx%~Rrf9dSkUHo`&4 z$-`AJPwFS5ERcwU!v5*cBmjuayH`x0~z(@gQcdt#e{=~uPs zCdUd&>6~l$(YjM+xgpaU@y9?+=H=TJY@YNRk?51O?{rS9@!iTKd^oIh8A&*#*fr0f z$=x#C1%)5kqk~hgDm1{iMIsQIZp#qGxq0W@jpiikmV)2o?lqcyNd=WwiQN^N-E z6m55^IOf-fp-Z%e2VD^e|IZAAlo&4a+Lh$hAXL5U z?d^U>dp+WNh2c1rjt#+AesB7ylHpbCo3hiwTCnjd%qOIx^$eR-I2kjQ{!@hul{*9; zd7r_vA5x1$+)jF-=<;m17CF!qdA?VG(LnIdlLYp68lOdU2D)aX=B9H#L@>HrBs4$z zboxn_&hvS?96H%foS5;kSP9pnc^9Co%LOyFQZ*}3=7rX#2YT{XO~)xY%ip98-Ha)N zH+2WJIPxA$1~3YIUe+=aw9gb-eZp+MJ+n3ArmZP%jG)kW-20~8oS*>FD5;cI-d3>{ zMDkVU2ZPT_3MBM;k^44Oh>_w;Ub>SK+}CM+;@QRM(Vsr_5Tnp4nD7L>-p--mDH)|8 zvg4(1upOTERd=u;kzB$NkIY8uZnE7sQ$%35?9W!PB#Ip~AO zJ97#zk5>ws8+U`CEx}Hyz8qOdM6t<8;pKrD2Jsh9ohAiJr#O9;*Fc*4{@Q0^T(5f~qveERkMc1QL$+m7UzEx41V)L;-aP$yVp_s?*xwkQUd_ zs~e4s1dgonbUprj4AR>s{U7dpXBUgBwU_E_@q&>1SB(C~x9Io^q=wvS8LZLSnEr;H z{dg8qtsWnoAROMtRTP%dOd{loAG+os+aMjy-gc$At8mHVZtawi~z_ zji$OE6(H~lt`p5`Q|?I2-4)zk&lL~4qZ=USVu!GME`d}-s~ z;=Z4e0eLwYkYLWQRJ{wO>WQ_3{hDQun)G&2JpIN3{X**nm`(ip5UKKS=OdeE$Zmlm z2A!{CHRk3jQ~E{SPc7c*-tn50=b%(~BE_$RuSU6v)f@5nh(FVpk07v{MN)c>%#dNR zqENn1`x$r^$7UoOL|-1}etC<|?zS=QYo%yA7Or72j!JV^l*5n3Jlmd5m1LpylK87N zkD7U9@xh!4ty#^{51W*m(SrdL^Ru`^npqC3sR^QeR}G3L+CPHTrlA79VO+ezSA6Oi zQXOyCK{?hVwHRG%>8+FQbIYM#HuC znYe}bdO{@N`5P4VTZ{ggDwPO+ zB8D7U&g>#u_~?tAF=zrou*`0mY6QN#6AsC=G8|nK>64GS;Hgx$kK4jWdYT!vS7Y5V z&IeS<-J-B6LumGRBfMQ9I2zh53oFZogtjcmkyf-Q17?a7f_Q*r`9Vc&;L{(oiNkMc zRh729R&>JzWHPXD+eU-O3#Jt4WHk2hX-TmcIIklz*+3|YvE|;Zn(Fzx(+-iDA$nCt z-V?s+iqqawN8i;ENl(vpg!XU4t==jkRYXwmWS@q8Dh8hjy3#2i_pgDB`lqVr6I{Cs z(%{X~=+qo_-fZ$syS_#xrCa>qvF2+XCkh0t?s)l+udwK%_jCNRya#e+-KmIZ-FMP{ z!vaHorVpB1SX6aRqjig?e%|3c-Nz%%`<%WPa7oms9M$Q&oDT5C-$l6Q({-P21;5iT zr$hp|Yt|0sMf9(;smcAsAVqDd#}Ky*!^)2kQ(RJrL3282o@%Zh?5mRq-BDM(eaIEB zYofSP@P~+U5@zCD9~2K$P&kI`%}4MKjjmXT`hFA?msXW6mU!Mou?14=d0Zpm+2B^Is9JVOpjo1 zksXh)#bWM#wiDYebZ`CfyR44`Ax1&*$=vf^a~EvpuPD)BuDsT^aE*z%yta8JUSc9l z@t=(D{G3Ge!wbP=`nDj%W`|fl_(hZF1UsFQ%cQDFu1HUZZ(l%DY8~0{SQ{Dufowi_ z-BbUS*~3)+=lvigv(2o3^TH-?1@4fyKVT+JgBl*zd!3)=0@K@?btPY>69;=wEE*&~ zS$FkHXhdu=IZ{kNIYm9b%sALTor~wuR8QBn3e+g$kJGw8%f5h9$tse3v!%P;T}64z zD?^H{OyM8`P$Q^b^EU|^Dk8y>{)UmTnR7v;6_gO}0@I7;ef316-|W!~GTd8Ot~a+3 znjN#u_o6);O-!!|az%(JE(unhjvB0*%jf#@fXjOBqu1(}AVyQ=3*JS;p`<(oU}!Ro z>OAP8u6d4IxRqLC!MUSnh|gAkvb^j)*hkBtOfL8n-uOqSfxO@crBm7gG<00zdceA^ z3{&Q9Ba<-ql|BZ?YLrfpHn|Kw_w`ynlNhmwDqs||@cxnoFmj%o&~oE~cbdq*glP}s z^@wQQsnWW@%=kV=U$%zQE)t&xLLd)DF?yPCA$aF3$|5HOjiYKK2A#h~tUcxdE<% zvnx~{w3(|2hQHZ+US??T4>hhL-t3lP8nMX+&(MOZ)n`~yV~GKML*w9xqOdw>d{DQ= zRJATyw~y@vWBC=Yth;MGkX%+iR)7N76#;d&?F^AGS3-6G+0am{U1ns8rHZPkC$p^}ga^ zAUx4*?ksltDW-m0Y<4$X@4#F5xM(SM_aA}$!1p&Oo#J-(acb}WdWNy(giGoi_*W8V z({Fyil}&vQmD7mGf^S*y)Yv?ANd>gS3Ix?&lb)8e+?8j_?&+kW5h}G(@w}%Zja={L zP&aaDa1dBMH?(8%4R&r@MV#r{EBb0Y2k^fmySwxG7%I>~u*Q|S-0TH+zfebkSdAP5 z=;?nhP5uj!o)iWq*^bBzF?S3q4ml&tE2hVGj(}r!Nox

    yp@wi~U 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%0D)r& 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�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

    !(lnLFGl@Tjxc*e?)W6bqv5l1LMb83L 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

    xx$l4o_$2Hl6vV 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 D!g6`} literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/user_guide/03_chip_complex.png b/web-ide-main/web/public/user_guide/03_chip_complex.png new file mode 100644 index 0000000000000000000000000000000000000000..d7cdcb4933ac887750f628b36bf0a61602dbbeee GIT binary patch literal 926681 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�XNLuz=;&a?Zf*DuD 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

    Z$>!UA=Os8% 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 z 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

    @Vbu?!MBB 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

      HtWc9n8GGSEsE!%iev+L}8 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%0D0;>H6%^Q-_l6RUETcpv z9=00aDu|av8C^%e)|_OU3XKjM%MJn}Sn%V7z0YC0zKs^hq0PfsX~OukM@JQdKu}Kr zr90mb^}}pkTp^GcoVcxOk0S*t0XxK+^ZQS>4iLz6az9ghW0x)&R%i&M8isRe`I9|M z=VtRl3LkzHhVo*zZp@f2`kT~kp6^VR@Wdl5`0?kIvc2wf(usv{=q?B?hTbwfl>&j^ z6MswKkKqVk6n?!(>+CmOtN~xd-N}Qdf)Xwgq6k&eqXq@(+;{;*$PI0Y^Mwlh;+;mo zX?nCCoE+B#Ifc7-k$Ln(@fxA(3PsDXnexBlgOT!OcSWQ0`Hs}Hd5PkD4i}dMH`6d^ z1WNT~k6QM#v3+9Pj%6@z@9A1#j2J^>GIh7iX*-ME$h9duig}2oe%=R}PAVGFPJ2N; ziN=mrHt7B3(IJhr`lI8b#M58Lyy5(=E}tFGDVPV;%CpUOUT?A!r11r!}+pvV8uwhGN4<-}#RM z@wCtuE>PHZ{%WEXCpf)qbqvq@j~rt~dJJL(Qb&$|7N~AD!K2;aMC!)jttdz%V;!aN zF9sJ8y1C^A_HlTjMX0Z6kCC&lO^y{6IB41QXl&YJyyMslsgZp9DMEUlu<;32UxIp;TRIiT=!7VJ1x6%80p^M|D|nN zd<6rl(R7q?_!J7bi*MHLLuNLg`@7;i$aNqLv|OFVnf~XFI~%yke(8%V3D;bUV3T%|{(^ ze`N_n;Yh}N;F+m0{rW?#vjdj=cn=NV6e;NZh6Oe19+udMB~j-mVUaDm72MOwvhGXF zRfKxg|3C0K#+B266fT<95T)Mtfw5+xXu7d`cf|DaYBp8)<-ug3C%xmDP+uP6(Iy;sn2!)7eQ~N1}U5FvhPO6Mor)Afyy&HMgT4+7* z`gBQy*>t|0jeFF!e;DV$Auesxr$!X|S}{sXQ(4@ft`t;wnsz=wglcnR248|Dt}hqd z*D7gS|L}>-Qo``vK)@Rhc37)eTgwrrI9sDivYoEkmIjp;A6=sOwfIBfSvs&vO|l$m zXfkDDcQ)+FJTLOIx)jMSe64qp{y+LVMp~-iuMGT*nw^CC_W+~Hhi!9pyoulVlvoi+ zG|5ZxQ*=BttNMc`4MC>I67igXWO09%<6WZX=LfSDJ2V^s$0sI$O@yT6$o8!g6=ef< zk+Ng%&93np6O1d)<#r>rQ@xa~paI_jaoZSHEj9yq*`jV8N3Z z_LOaI`jzBi0LDHU%SBOHdJ3Yo3^OE+^$d%)fl!YeuV4OT*`listmC#UOrqBir&Le9 zqf09p;MbQX zf)@Clw0|_YzHqrEO_e=yP+l`_RnRWcnbU0#9!ch?Qn+m^Ja!Bfs9jwK(BMm^5_;ZP z2dX`!;C-q)q!o`&<^obD#O<)i^gTXKk+MwG^$iOhE|mp->sC)X`KyaMn3Sx2%!gvG zJ$74(E6JFhs49ATwt&U14_Q#jau5{+lf%|L981xNU)ItEkhLq**Aq$Ziq&3UqNLx3 zI9!puvP|zIW=@pJj;Y!CY=EY*MuwuXo1oK1TOJeKKt|J|sUnp@K=%O~If^dBG0m*AUI*&Ob@`dd zNC*y78{FQiotQ^X$P!64G`+c)qZ~-}7>ue{G<92)R9alZJ}SCvc7sm8{LeZg&3)mI zHFYpRd+NU8|szAyCu5A;qm_jFvz#q5{7Ah^^#lmt)-}^P^v3A>u*3pQsh<|M= zK2^OW9dri||I;?u{a^5FJjOXEj3m=ItWo3tk#QZa z|GUC$AbELUj$_*q8!Q+qr)sdS>g$jOJn zJ=h?R>2R!{8YKB5Y6w_>tog;S<~$ISCEp6{$VW~n=3EE}7KH5NNvYL`G2?F2g4s+) zdQxPN_Tm?l#*4B0-;TyS8j;*1DbEM)ov==N@5_}=0kgWctH2w=xxCLIql9fC+m%fC z|5M+;F|%{i0`Ov0K5n~I_g;f*JR2ltfy+9iNREj5-FrLcsLtK@e^vA_%!4(z$0GdP zBIf@=JFG04xm)*HOGrj~BSpqR-xV-IVS1*L}Q? z;1xq08k}y>PsmmT^5!Z+8svta`-$xt4*T?&sIy2nLagB4w7yI2*Vp&z*SW|AFH|FG zU;fV@!!XE29xh;~IIXG4u;J?>?JmEsja(z1J%a`a2aDay^yWp=zF^AQOxecwiq`hg zNXR}V+CiWF>EUccz_Q)R=sNq*p5oEGUf+qqg*XZ<;^p8AA7P6%jZnd7JNi`}6E}+{ zsMm>f;;XyNPw2rK2HpeRRfN70=Y7p|S69DnP2=Z3z#dqvWo&SKH;v-H#q4OBxF{}f zIjhHQmma`RL_bqm?TWnpaFg4roXuF^Tgy_z+D<2D^?9NTbWizG?Msx-$05?pT~u>9 zv2A>Qy7wCpoT3zr#+50_)ck73ad$g>l5^32ZcV*!4S|T07yMefNUvCxXYxWHW0z!1 zzhSif+gD}Ch&JXejl;m0@pedzN~PP5D5*e{J6nsIP6{5JTB%2;mNX2&%aq~%WXi>L z5G=a;T)#DufQCy>#&b1Wrkus;P_$WFObC^ublwko0AII?&d5D)sy`2wOL%B$8(+*S zY5S^cQ~Umm4V+b_@jRdE^!UW@fWot}Lr8G)_8{-K*UhYiZ#mToZF>Hv;mFsVugpH< z8q1~7^Q&v%e+qf4C3cbUilCKS$Y)wD)113B3cz)Bm;<@27%T4~s^`E64mWok)$dLFzD40RNNo+4tXte$Sgl;IO0)N#=%XRf2Sn@8=SOiymg- zXRZVUp5l$sHEvBNF6#OQjj>;X{Tb?mT~UJEHprPm9<{&Z>tK{u?5^RMmE!DXg)f0B$c*}sf77!mM^}<;$sK!3LkYJ zz7&bEmlXLeEQHZ-H^9Is@UF;I7fBVx;nSU~1rxpAy5UD3a$1pLBsY*TNMX=xgTF~A z+kj3|l}pUMX-iydDha^Lwv?Y-&4my7SPgyrjNPmY%38^GVg(llBXaLk-bEszQlMrg zmL>B?XHTZOYpoHa5V4pK8*%KQ)JC#Z0!j`fT_kPg2HN+tgJyH#GRf+mr{3Pw?iz%s zRK*u7h_jc$R?ONBr_}-y+7gKofa%@^9sx5twMSsFZRArzJMuoh4 zo);uq@uiK$;v$ux5;E;@@7N0@d_&E<6TkRpPybXI4HUr%-ttClEFe$E7gxw55#=R4 zY0rPo6plf^RTuGz!tig9V@>0 zGE<=?13L1f49cK+d>}*Iq;B;%)2A;Zpk1#h2qVzUwJl77quP+vZ%T#s=?42M?PO#( zk&E~p`P=~*Exb{Ski~_8eV@zGIge z_l^)^vRq8znV=(P)4|e!yI1eINbyqq5Ao6WXm}gv*#g@b) zRgL+-+PD|>&mt<4y|XhuxcpkBm@}F?nQBv6NE%XFyR)ZgGsgHAcmqZ){a$AOIzq#7 z>%bP0-z2BXQs1p;zo-EL;qOCv%*&94G2rXdt{}wF-9a0=`2La@m~&&XBpf)R&zQR4+~N08=y`{>r@-L9wl zmt)620RcXL$cc;qj-79EMC3=G2=A%k-XX=5LJyT`gG5r_grATh#g6h8B|jI(*bMDT z`i@7aG|zmGlm^d9#d{=07QLo&3 zidoe3g#OG*v;HcAY|6wwIVF~4cYM-<%_A3_+v0X`Uc~kPearaxm+dhHZ$Md;_H4F_ zrvg00&A24QM>B%qT%H;omlwmQ+Idqc{Hx-kfnJ6-1IHenC`;$Xfq8CZfYdJla#0e| zKZUJM{*dI2PxR+D`4mhRwpIjD}=tz>)`pJ=S{a`ig_tKu*){SS}iZXAndar4f|h~HOI z7f%gIbbp-9{rnGV&Y9OR%K0SiP}!-C{GH`X@W@nlmmC7M0H<A29V>Ozp`Gzod!xKvTP8h%ZiqZrQTER+&_$aPxd3X4kaDe+!4(jJIok& zK|QfdS+W@B^u5Hs@kd~csPgJ=@@rP(Olw}T>YXBH({d70-6`0A4o-_>j=*UlM{CG@ z@BgHXaC3-Ls-Z4oO;T;MKb1TI>22g`7g4Xd-w$sA(%FGxpvzr{=(!vA-4zmyC91;! zf$AlDBOKd*eAaE-SFjbP&J@)6n1#}BZxUdd6`c!9vf^)&f}7zcwRFD;Qo3{OpgrJ(?Cvg@ z^4m0666$-+X=%>;uxkpl+OpBPv~dVJ1*!pA_eLim+xmisdnRVL3)ai+BTKdRi>xs4 zF*#zI@;TgM5!6Jz+W+{EZP{`nE_KzT#GtO>HxrM*h?v91DrKeKp{z3Y@cpW=iKJzt zFg0iay1Le8S54nnETpxtECAdL=T%Hb8H6BZi`6CuIpo5a$A3pVRYIW8>0Vmq7yB7( z4{h6teE$nU{EMjnnG}@|pa0?D(%nphieQ8dXhMf6mGVhf&va=*|`HD(N!jT!E=1=B7 z5FTDbX874P;-FctHXGBIP@nNu`lvG#IPYsKpY)xAF7aGeOy>1l@x=B5cv+Y;r=%tF ze{o$2kYt2CcvmkAP&pIFVb$n&%^sqfqoO{xXF$H0rH$dOLmE8^LI7cRnW}-qRABf0 zwc%PD;tabr39R<)$p}+qktjTA$=8j)GV+s}s3V3jLFA$+T_Z+0Z+tBJho`7^{Jsa9v65q1$8^*pd?jqE^9vLZaol1Wcvq!{P?c3IiA=_PbJO1@vr0`MPQyy&3>|YA zJcl*qFo{q1oTP{ zmtNShVoWB%{%DNaMa-Re&si_GCbz+8b%pap57usBOstIbBQi?w$o1&(7rtb6r;REhIL2zz?#b%Z zC;2EF?ygQa{+yR_KytuyD)?&4gf!mS%?R4s=Xo2h?Pq}p_2C_QBERR3RJAu(*0ikh zf;C!&p`*5rZ4!zpHpjo7G5V1_VyE6?G^-lv6augBRAN2ykY* zBWEp$vwiB?kbVS-H2Vv6$rY$^;d>n@O!)40FQN-j?qLTQ$4&Bvn(3_)_EK?Y6C-~2 zmCBSPt8K2%qIQ357PJje(pN>?T$>Etq=aIX)6rsR%-xM%FF)*4&$n5sD77Pcd1YBq zsPKUYc7l$62V&ek8eh&AWC&a#XmVu`Xcio)PQo=>j;;+_G-GJqQ0wb^_7t+52Gw(^ zRA}ZQ4O@`JL!tLc7Qw7++Aj8%A3`FuH-v*pW8iO-5#^x*@BfKc(WIr}$Phg!GYwN< zDs#8nFJ$kQFg9G2g6`Ah+P;m{{`cfZJ_?Lm8Jw~EihyhEq9vL-AbuRypp)bB$ENQJ z@7{HJRvYjEpox~hvhwLi0w*`Fjn!#TgCt8YeO?lT+5h{!r(dl%@5J%akZCcvlLI6J z&fc&@j(#g~joW^1nHU%wZ!U(7Sd2{Y!u*}C6=5SShxmHqR07|jvpveGs6U|O{BtTs zgwHhb_TznxJIF!~Tp=@{+!VJHY@%Z!owD3NL_3;T#*D3884z;j2;!GM`PmKvHP9^|6= zJewHGr#d{?GePf*RFmvGeqC^v(w@hcXL)|UKKa@=Npt2@>ZtMQYCAskONn!NBNbR( z*LXU&FtXd`bq0_LWxDIV3^kJ!)6gE8Kl4R28i9ptqGIYDSv7yKmsHQ))!ADD9!A#$ z4S7mW^Faotw_K7%+Z*xXIkd*ENRksKa;}&y0#=>9e>C8U<|6}|H>v>AZ5pw#k9Wm( z9@wa9<2S=(M=%{ahEeKXCnNr*UB0t9`O`JA#ne*v!7?>nvh9z4^Z1EDYFYJo1kV;z z8g%B!{YEQ)B=lCmo2pX_V}fY$Z4CX*}6d5z>W z^_)oN`bAtiuPo{yE?4;Xv6l;9aC6IaC(Xr)IJH5j(NEQR>pSov!Qe2L}fjsFf)Nn zqzjsD?|lsu+*IP$ zoU`p5AJI1tMgP5nlC?Xd)1&FaUX#Dp_8pZj5xou*e~tUHSIFVo3^b~F(ACKt=ZrKV zi#U?Dy^9Q+XG9z_IXR@SmAl4O#?W?2cCm;uI=-e;p6P!7J0y3K*<69xCz=IYu6^P3 z;&9`7$$Cs+;+!q+T>k@Q2a?+9_Lp%StK)p#tv-+A<5}KGF4%9|lIzLH%*I9qc>@BH z?!~!hNq?qEJq4*`3p=~adtA-JHHjBmrlC(c-ZMa_L(v5S&Am3M32-tP^ZhTp!{2t< zDosE312?5pbSzBX{~cy4!@NPCGC+MMi;$sjiles6AlS=2q!m7hg@}otN(DFjYb9`V}Cf1UxY4k=+b&>@~R0zKNS@`!X5-q;>-QHl!WR}wa^(zqB*g@2uxBe zuA9~x{pQiue`N^D3?=X|Kt`0jZ|@aO!S7$$?t|O^MX$8FhZ$4yu#hU3U0)RPzlvKd zT`PBpH7+_TB0(>#Xd70v$z9lKoKm8E<4gIUBo&YZT@XbeH1}>lWoK}4Bdvxc+HJqsCuhkG zARd~Cs1VaWVfS#Uqb36ARcL0YZcLCiE>16iS4tK>v49}PBIUSyrEpT%lZ{1$$>sSB zsOXnvS}PU5^Uv|}Sl@a7OJphkV_UVRuLfq>?<6nR^Vld6{EITMU77e7wdYHg(d>Sb z9Wq*$7dhfopUB(@f!hi;f%$hDe`Fu#-bD~{F#O~s50yKxJlnST^v9I>@Ik?*?uNZkvo^BNfwETpWrZuAr*`~S7ac$0#-%6)S5Czv1c|?(GK(<9nvgm z`!)e#KHgjRb$3Cor2y$N!jT;)Euq;yoWCPE-GlJRdGD#+$_-jw^%gRaJy6A;0O=d= z)ho&Ww>rbg7`5u@JM>!*w_1&??j&+|I#?`ej{c{{u^E~y%sX}V(}_kHsYP*etBs(k z0Y_@-uzg{$L=&1@pM2KEkue1ExM``C_vx7Mbef()?## z%w*5=2Q=Xj6Zh{=mMe4`h?MP7fG_-YU-io23%K^GBLVI_Eg19N6gd-B`tEzBtHtSX z&El3VOp{;z8u9+4rqGxlsfIbIA^?ELsI&*E^uRBtyi8tuIlAdKc^wck{!8{Y`|O_? z&hId!`~(<;m{wn{+!;65wn;oJ_9T~dK0BBJhS-z<35L=h#m$HU9&{rW4=c~>(lJz6 z%F8>+k<$D*?Waudr?ey{<)s*(%@2Z3Yp+2|+N&$s?FN{~9%H@UmPxA6*39L0orq9R z?wqRKmc7$X1c9#n|7!WVU)b5_-%0LbWrE!Amr1QV&r`Id*d8Mw6(>w8#CydPjeP=8BT-_DF5r(mFkY$e=QtiX;-Kk^LRrwUXP zVLb{d|1S`IL$e`KeGj*tx8y+MF(&0~o%)Y}Mfswkr5KxLj=p$PtlH~6qOfO7Do#{t zY{LjBT>4NXxN@6&zrN-A*^6;a`Uuv3?mQrT@qgUw;<)$27sgF*A!y&0_2Fgu=|_0X z?fu1$(^wUfdnF!wUN#THnX{_RaYjIf-r+}+0&Y17Og@)uD({f?cmKSPcPZ`HIfWiy zTLn z#Vm`G3h9Kmk=4@IXQFt>ruSD|TT=k6j>X??QnO;0N1@U{Z=C9aF-%U~52sl1gn&c9 z5kGEAIf@^;UTh!GKelx)>hGOIp4YE1b7d$rc8D(d{=jLYjWFg}heO`J&H5y+V4H&e z)_)XBKxAeAf-8~sRjLGLWc-~VE1miG0A4Kuf~!sR0y!G#7#ZNKREO#TDJ{!gkcpW$1u*{@rF!jk=>0VyW_Y)KEZ1|UAYHBKVVbg;`9P%+e2t}J~q1wlxc&vgnM49B&`xfuCfWJ`kjbwbQP&=G*_}+AMK6%@=1Rb#CbNg7j(Cs)| zQex0Hpw2B){?`15#I+|abzjf_AJ-cD4rv6P>O>EIjr4E|9Jf`q9skn& ziwwJsIB=`kL4C;T)?9BrtK{cZP1BW;QGuJP<^xUyvJ-L$V}dg1vq`<_VW7q5^sNcB zScxOQCkw+tw?m##5ukg7$2Iv6X&dH`q;9mWR~eA@EtDRSjo(T=dqoae9Lnp-WS@M~ z82v{li4}@5bdhmpJY<}C-Zxh4#Mp1ksO%-F2hMphpMAe_Q>nQO?%J=A74Jkb+LY76 zlucxBvmDGjOQgZYpG6Ncp6UQz=Rxdx(-zn2Aba?Rri%jhOi!~WclNS(@2clTD?63Z z1t!+Vl78fW7C4h+q*m}X3&{A2vf5To8P{SoPkQ=5tt589fjkhfPsvsD(sJDM^cWmXi zunTqOsEPNUub}hgf^xppqs;)#uKSvMBwzLt?x6Wwj~Q`zFN0B{oNWl)to|_?qKvbSGEei@P;yC+3}plwNJ;+Yu&hQ0a4&P(>wA%k{Dx_oLFuNUN5$x=tt)> zF^kRQhky4pPH<9l4DT-(bcwapNFxNF+d2vGC)@X8>YCDqOh6?^czN~50Gh-0#Cd0Y z0VeWszwBEQCo%Nyf3Z?PKerf_H*>Cf%l$wPJBh5Blj7e^@CLFY4V{MJgZ*ktu%|k^ zZ}G$W-T^)V?DjQ%9iqW%Ir%tUu^}J8n?9kBjCh~4CHvtRH$KF!i?NK4L+sf*paV+<-2U#(zH#zxyzkiWsp==f3Q?Y+(C zO|Y%PE$H;r)HsOCR-M#}|8xU?Ub%PYxHT3kDnfqFWqy6Jw7`C>&*xe=nz1?~(pcW7 zmS0EZ-gg;pgL&v+^5i`_d#L7bX&)>9AJ*P7Dz2^T62^jrV1WR^El6;82?Pu74#C~s zArK@;;jY0U!QF$qyKCW21&2Q5-up;@Z;$?d^sgG60W~;luf6t?Ip+pwuFfmbnCvJ} z-}9~_Xf6`#pOSDsWq!X(=>NXB=S_Er)y33NZ}g8eCH?>Cejrm3r|{f`!a zk7LQ(T_>EXx3hJ-v-4p~;)bSRZ^BQd&3nI>H5Y6JA?fZj8^*^di%BV?jQYH>mO5l= zbY`{9hH_i9qX2!x(GPN7Lg@BoBJWqk7c`eRXZc zS>j`KPu*4#2#^R-VRSypK77}En4|>iY&iiQFK*woK8v(mAELLYw*V!ujK}ijEyDEF zV;Od(*R+bNeF@T-v8loOMmK2|RHso+yqadej_=-lx-%4=PMPVOH!K!Vp4WcbG)n~hd>{G@j@X`Z>>~s7Rr%Yd+ z#&+i;(Ey!H=f;8v^Rt+Dzx{p6wQLxh#)?ZyH;&u(KFv0p?~$pc2ub=cs|7Gn-0uWd zgNtE|SQx=n9jwGew+;%eLiOi!>C6C7P22Rl#lnkcRLGwup7cPD=h#=Z0)JeDOt-j2 zn?ad#ydGL?$|GGyX*^x7V-67OGnWqu7gIjJaMhz_X?rIP``}EJ?-R5^hR-bbWwby4PI z*c&fki{(HZ^4L0#ph7`{>Aj@Y&?^j}{2Z^6dZ|}-9L9m*V~W}BSm1JA9ruiuXTuM} zwRW6HdPu2zlDj9L;o@;A00#CyRDd5#`z$mptsD!L9Da5Td)HLD0<(+qbTi(<|GrJM zkor3MMXq7y?f0Rn*=qS?IpUfItpkX>=N-Yu+XWSsz%TUpObF-oj;|tmTBKs$fCYMeALr%_n(;?5_IyD^zus3$#d3n$YsqY{otRH7uZbzlZ|ujGffCJs?{6Q zlS0!jW3c^&%Ef*y8z|zl--ruGnalZm>IYijXyUdu6zZ&npTUes5m@z(UMEB)@-y}$ z-X69K{mKhJ*L&f?&@s3t;Jr}a2%i;r%5eQfRO)n8Jf{&`x5+hC{tc9-U-f(lGxRNH z_t%1x)zZ*|@ybhI*L?ZoiS+`0nbOSuFfrNGlh!o!r;Noi9mClw0|;6D%dR;5Ab2Ht96>CPUeMjzCm&~{=uS}G*207CM&SB#%h(V3-Ayl) z2O#h9tXIhdSV2EkBo*xL5`TLVo44IrVa2~SnSBEN=9Mt(uJA+X%cR(`m>S0x;XQG41CbI{>EjRNl9+9Jg?#FFw_+8|d0fRs$w zy~IDm79R+Qhr_INksSEuO`{S!wU9LGuT2^H?8i6> z7yVGBxNZ~k>)!clR}9BNQlm8Fn!s!FIb>R1@gH-ekFxl&ARM=u9y&(A-vU>>)-N9W zvYo#C8op&-W+p@#{VJ0G;(Ixoa7>2JJw~J_AnHX20gT(=+j4F)w**WrkHNGfXoHfJ z6++gPe#bh~(15lBGIK!fo=KQ&UYOS0@%X5(GoUSNDaHzu+cetD{(4{f@^BUtCTlAb zzI^E81D(-tci!JlmJ7n^)QPUr*XsAziT-eBBMn=w!o-oT!M4>dSsT%#zV>on+zfra z4`(fw0;l~+LXo1x?nB|R3OWE-zqDy4<(T;H5(P(IgR5n)Md24&T@QiGjZlbqa?UVq zp-@6vPLZ?iE?|b^7f)P-MJ!_n|ApwGO4WTny$`fbV8*9pnM8{O*Sy7&CjBFe6; z0Z8vcMw`u1Q^_MQMk}DWwc_2J18f1!2$VHWa?3&;VQSm){=aDYEA(fwTsE>inT#StqcK`8Hbkw0 z%o$uH8C&1|nt_<^7z;KgYT7C$dm)WPGUkhbATL#TTZHT&NIYFuRk`SO1TJk5O+KYj zL%jBaO1@V;Yu|kWL+Lt3Rzhnw_;3q8rbT&P73{gZOMECrhhPod3sxT(H~K5FV$5zO zU>7f5)ebtdP6w+bh>W^+Q}l#UP0xwarkW)?jajGyIL%?Tbr$~gc?EX&+fEJA}H=m+IA>a z(W65fMOKYhZn`%Rc7*#EY>MX*C!9LRy`UsjX+rDy7;MyCQmJ@(<9#OQ_tZww+8Z1V^FuJ+sYjU+HTK#Dbx3*HbvTcNSA$*c_cO^;=kRO zjD%sKb&rwj#` zJ2~aKI2z}t6QwuTN2i6p5y>voMLOp*Si9$U;<68&av40eJ!?Qm6E4a;p-_masDbqtqlTv)E(wP**La2n-y(R+lpS*19_ zaw>kMkJkY^->_8PkYLI|-x0f8ATo3!PwT_Oz(S3W^^8cp#Cj1A2FA*>$3+^652*kn zdLfs`0zfKbjdiJCw5WbdR&#e2glrr@NA;ehu5#*@dS2~f2c2)Xp5CafHq6o!0HC_e z%CB65fXGDayyMObKgnY>GN`q{po7UO&lGWdp?F~0;P1I!Q@8v@H19q<{lz;z@2+uQ z!J7#k-`)pv831*20FR4{Jj&v;YtZrVa1hT)z(RJ6rk2J@ZJjM|o!h-4=S6q}21F=Y z6K)UA_gdc}V|hG%v#G4_ZCGKw7Eq0Dda zM&DUIY;{|7bzFhcwy`vw2aX6d!!#rI3|Qi0^8K=SN`7B0$D(t1EkaXC^&T7V528wr8`{ zghdd7Dm+us4hf}yNfXFTGN4=AS6f0)WNjJ7R>T>h404ODpX0Niuw}RnhScbWno4!x zS7yNx+UgSZieVpm=`>whZNu9xk{6QQ^SJnBFxyh0srQ{*DNh1PF8j;RxyK?}yB%6% zcChL%(Feb8Q@Z$EG0Bm%p!DrcJ`jWKM;FMXDL1^)8T0uyOED_#A_b~NOA>!(64MXe zoWEY9*Hz)Hdtu9G=TggLHwI`FH0Hr?XwQ~nP~(%tw%RP)KCsE#k$SI_#@l{ATY7VdBYq^!|72y1YC=>eJW3}=(+=}&cvRp z;3JmRZ(4Ztp}U=@p&Z4y_dr8ZP(ki;ywx%O%*S^Jl335a-)oyS@-DOb?{+IC&~Alg zf&RGhRUx}$C$+9Q=pB9~lqod)H)I?_Q@sw2&3PM@QCdR%6!(?;`4xUBvwa~Yw10@83_JVrwSl|VaSniQn+vk*sYfin#Kf8_* zQ6e9?0X$#ZQ#2mttW9nCX|~-vBeyHE`$n|SxvB2(?b|IOj-Xlbo?iCRlPvvZ6>Xd< z*i|U5D>CpePfx7-VwXH%CcED4xJBe=BIV;b1)a3j{KR6ZuAa7L3oO{*Lyeu=P|SD-tG~- zbHZ=0x!795@4aWYlD-dEoNY!~GR za&Zl+5N0KWq6p;+g{Mqw8avv9O%68}un zEBP#G_(uY*CSa$Rd2{JU!x=*hXL-~j3clahQje52yNbI3;o?~_i-p4MgZT!Luc*ri z@Yp4|qv~#b17c5aZ$q1IGJJa~p{Uin{Sq&*>7*_7W;-%DYr12u1a9eml)VSKp91HX z$o^DgSZco{_qrLb)S9^8bz@ZfxwB9;$EvG4-9m36`I16*(6Rk1_pLHiu z;*MeYqY-|%k0(=c-}Z}jFUeKz4NfIMv9M}T7A3xLT2*X_y2DvGshDqaGdue9)q`@BJG(%sR|6%zQZUPQusIu|o&HqrDG zTO#98i+xOBXpm2gN^`|mDKBu}@C5b-I@eKyK6XCs!wqe5AutqbAkJtsp8c%P!=sBm z4d4Klv1=an7QPf+U)x;|sckL?WJao}^i;b)@Ei{;-_^^?48kNTKHP)Vt#H~^zMb~4 z?lzPynQOULjrkRce%B`HHvyY(4J^;1K&MZLru;19p268UyZqU-vz%DQ%b-W-C*8yB zvti^4`FYhSsg&Q1LR;2|S{oV|q3N|b^s(kmRKp~P7Tk$crY}F=(h$Zd<0?b(~t*Z;h&7~~lvPkO^wYpM#hgF$K89VvflM%qQ zxua^U9;3^5yOR~88r8iRsU|CrYdI_@<)^BYB$$8<)3w`z80r3bHv5tL)kKvX3dg(c z&dk%lJHh#X2r6HPVwt+i=D=xQX2=&3JHes}L!e1;gFYr0pt~=02#NZQx&01*y|SLL za0mCfJf8f7f)$&=8Gt>5QIBW!zrq`BFxxUN61+oy&(UGIF{iP2pwN0W*ZiXJ$KL+l zXL`5t9T?c3`jgWrbJUD?F{AKi0l}_@ajl|ZJaCW)iiFFxb?_S<{YRKmw}WN zvw?=o{n0*!qe88f@R5lvQcud(JMwXWzXJkNyU^5)&WT_f=Q~xLceh(D=J@mkdwux$kxf(siX7-p@P-YMxT`%M~u+D=Xzh<>CYYx*##^F>6jWLlZ7~uC=pMJ=lvRuLo=*i)5n-+A3$Ps-}I|;Q+8H!7X=&Qr8$ew`%yd<@at|vm0w(D1(7a<2`F1;u?)8}_1@lim^2)S?^|Kj)z6SQq!8XwUg&U)w zjmKf5;kP#z-RnW#0%n2W1cqUPiH?)Z7iqt!h|@1JS?>fvh`I1@vF3Cw2IGl z&rrZWoM@2@(5vhuTQ)!3?3Hs;YzGjbTNWU4RF-xKL`;YG5&FQWk6BEzc!Ca~w!BAf z@U19(Wv1XX)DFAU+H_QC@PVc+R793*(q7PSA!VoM&Zdz?MqCAkWtw>nhR?azo%Jd5G);bOwDn%BJX*v$9-uti-Tdjc7_acdm;fMmr2wSox0CDmfxKfTnBt&3hs309ho5k>7RpELB67h-rnlon5vzych^R z6>^x?>W0M2_&Ni_GR#pFw-Voj2hh@z`x(9;ps>ez0)2Oc@e#7dFMvO-Dn$9Y%Mgu! zY}q)K)2nPb8NAS7$m_bNQNSaV+&$L6qniPaSe&)**C^N`EY)@pM`mB{5h z{CDFj!@nuV>Iy*P7CKo$E})Wk^yFf=#5g;!S0n>-wt86gW(=Uk!LCt}05?VO20@j- z85g1at==T*eWAI^$2L5%?F)C}I?u-qV*xjZfJm>G!sS|FXh^7wTcwb-$YJWtik3uk zEy7^~%RlFiXX0^oo)mU^EuLiAED9ExGpKieBCys~xgh29x3P^T^ztiVR9p6wj>v2A zKRXS_gCrFFu8%{BH5{rsl(^7LJ|OtiiY`RS0#y*2HP%Ra8h5{o1B>P>VB_+`bcze5 z`HbnR^#feQ;fY{OZ|Zv@#WRxRP(aL>tWEbo3>)LSLP{|;dWvTP8Udm8ET@9-`!AReKUQ=m$#d6uAsX2Z3Q}Zf`dDtOM$Hs;zC#) zjP{oJ0=~^DI(Y5kfLi1-yOla8vGRHv%^IDDBop*_Gxs%oe>xEqnj?F3Dm)cE%Vmbc z0pbDF&=Tali+!&}eRO{-5IUrUT_b;D_x}<|HpCM7D$5~|p6~5cXO85ZVH91_{+o0zIEi zb-IWNJe2(=>ml+%XwM_XDTCMgqpO@{&1FwJZ50>YtCG)!S zf9nD`Jn@_i_`>PqM{h6q9+u)CK4jO6dO0mQjdmU{XJ^KsP`@IwdTnzr*e?^I)?)e zN>;V>z!35E`LH7??_1!u5*GGI!C}u=P~2qp(n)OH!zuinUUI>vGIut=@&ju$*<2s) zextTBZrv^Era~w85=T~{;kcRH*R_m>6Y(-o-}!nt?QQ*LZ(qxQxWj%3XBuga&u|(s zZe3s+ts0N=v>owON`tEs#UjD`m1mmyx*V8tX(#(h^XxRBH*GLG%EF-!)m22y=*=G0 z4E`wA&Ok~jI)Qa(@I*>-hvcUeh$6i+VZ}y^5l~;yLQ6j zRnWAb+@#aYPV%g32exXM-isu=z6LrZ=CxvCwh6oBM*JjP951kiX%{_6Pu~5snk3D@ zR;v>sEw+3~qI3ZrH9x%)eMS)`uC#hbvEGdH^gGy{@`1ek0vA@`R(~^(TuYOhM5%F3 zzQ4)yt_L#crtvk{aTGk3i9*6N%YlY1l7?TpJmS*jF8Z+P`-I$4?|3w#9=Av%P737k zP08;4heqCE<(wzWn4elJ*lHX*U0?ec24X$g4Gn#V+M6IwoFRuvS;j%i8*%WpU`vN5=_N2~Idcx8QQ2H{m zGaC0NI7X8+-~5ap@#^Q}&-Vnd9^CUAN`j|kj5)|Zb1HrnxIk=G^q)@cvv33u-|iv5 zKLi;~3mR{+2^x_=GT-Mp{SxQ3?t|^~YGi>tXD$U~jF}yEoL$==_v*pQZqG z`YdvRS^Il5k}67>@Kaa1)^d{S{Q+NOYylH>Gkf9ScgpVAW@g!ADXGIq>?2>uIZVgR zE55@0pe{BfDZsY;0oGiA;nE*BofGCnjzPB0F8ChG8R1?0CFo)IYuyGAff0eLknpSCD(WGhp zyWb2i%PaC)K-jms+8CSE9})09!1U_q&4X3*jg$hT*escWoPROn8tCNdNLUkB7A9o5 zOgN~fIic{fO1j$~-n!kBXUf}SL)nE~dGpDg%OYeU%afbCBQ2vGl)espuQ$AcakeD6 z>#%|WT@fE#kB!T^#%H$90u?d{Tb8;#u7z(5U5<`Qbdu5ba3)yS#g}Z+sqH+Ba1xP5 z9LZC1PtSGYwxeyZ)7HGB>$q{dk@6x+eN>Ty%zfJt|kA9@p zY=<>Mt-g7(2qvZk`G)hfC;R(>gNjml1u<(5sL1(J_8VHR>v;rV#woQ4tmDQHd`W~y zX3^SK+ZMVFhoQ#>or?>8JdTsLQ@fuP`VJ4K2;XNrWg}?V1)Q2^B%t(+x{>U~6F_#U z@?;#bh^@CNopp6ZccU5LDGk3TA{9maGKAZY!zptrw4%$V<5{PQ|6$ze(qD{9NOqm4 zghT2)FqjpipkXKmx;A!l`?!zqevX&9TIMua;8f_V*ssoki(?F7Oy9_ne!32XkGfHQ zmSClbQ_uQB&twfI;PhDP3fC;@P%^Rp9Ui*gm?Ay^;Hgck^(X#J#~|uLYkqKJ%1IBj zFi{%nASBmkpgu5+)Ot^K#i&6hiTSJ;*^fQeVkru3G-ISiWhg}#H3-B0CMwx-iB{M% z+i&QN{zyN;U-*PS-&uiuT>{GzR-;9h_?L#+A8}x|KUYau+r%D{V4-rc_+$P`_ZPv8 zifLY0+e9y-YfkqI>o^XTJ9;16K|X}%v6lVg(fsOSqh{Yvc?P%eBm7Y6t?8i!m1q#` z7phW10VgKk?d}q0O(kk6A_0lbcVDLx7aktFV>jqd%dl{$Rf7omU!jVao#N5a9JNN@ zBS~Nj?3G&;QoSz_h?Dek%#FmCFYcX4Mnw+h7f|z7p;G2)v^e8!H*DJ$ z8xG_I6xuux^8vwQ97z&%T}Up+>(xcKZw5$%VhZJJkO7BQ{Ad5nUO5LP)1i^VhF|*- z?b%3colf{O(k_;lV6!Bk&4>SR@Ud=;k7-8LV!Ao>0O*Zb6Z)_mcfrtB1DY}tP%>ZB z!GJ7RQp;=L*&B1{<+@zf2H*bIk}1!|lc@#f!oaASGBeM}%J&U2fIHgfodh1-T4i3Q z{bSymQ5fLS@AN98uD^Ip*h_q9jZU&D=r!=|OIf;ShuxSg^wn^Vpc zP>g7#WIdpTUMd9>?dN<Hv>d}jZrV#gNX(%MRXsoZ_P!p z6$Jnb7K$@oV4_*~y^*0VMm&cwna4|V8zE8(>B1JE1VFPG8NiV58=0N=ePA&uj$@Ii zmc5bun zWPVN<5wgEf0Uu8BR`}VQ?Sarv0?h`fr#R{WJz1;N+;se3aV8#JFi(yzH94@w}^{;1%> z*`zNo?{YZekv~0zVo~fevzozYOWwNAO(7h;%7`tCE#xS98BxgNYcLT3y%GNUNXbx< zpNBh2<*8W7mxZU2Y+)>$Bd?fBC0)^|-!g4CK+aMA&|_cOcK);Wei+L~UW(;#!tbr6 zghzn1QWE*IhnxC8J)HO+d%_xz=+#qOQqlgrJJ^i67+!0mZ=ze9!&j>b;ivQMw$=0~wMKw{_mxgSbU5g}5VF9Bu0ON!rJ@fuDs z_Xmewuv4g>*HoC-X`azEvDZK+h>t>Gpkqv-%%#6*ct?rI=Q;`Y0>Wf{Pr837E90TU12f4i4Wg&B^o87^JEOqofXhXl#X&Ie%hO(P7rQ0 zM+=Gh4UvWhOH0Q9D(eGPP+3F7z2T#KG)m+oaqc-mC`)({HP@0^o#E-Cs!zN8n2bqn z54B75x{X8h>eX|@>22kz!IZOUl4s%bRgQOX;d}V+00Kjy|6hCJjf(@NOfvXcDvH`^ z&fl{s;P*T|9aZwPZ@(V}QkSCOt;cs#6z0$S2w=K5y1w%pO7TjFsd!MK1IFJaC(=Lz zZokTV!twbxo`cVnz;lpVa2<)k_-k_aN5*oX{Ll2~ws*c_2-PpKqt!nYGbjQJMhm{^ z@M0{VMV-S5X_7L1yqKoYi;w8YqTR>GUGT_Fk1no;obO$-cSnUp z507o6v5+vDgwUBDFETc(hK`SjTs>XO?M5#=hKGk@Su;;oj(>UE1aWikvdaRhf3Z?t zoK9VXnHe5z_PcSJ+NV#-#JoO;EtkcNgqA%x3Jl#FVGNv{jb6+PnFhNU!$n1Dv zVpGK!rja`9b-`WK!Cr*{Q8>h*m)Dr$gx&cKW0P@m&eMkEI2S?LH}Tuha5&rwXSoHW zvPa6YX>vC;k6jjOS@ht z9!f(u3$}aoYvXSiI1vq(*Pq5>19Szh6@nYwth*#Yg7>^m#l%6|8~q<%3E)kZw4N8j zb2t@uYS%J_dl-yY_y$(Y^rT>cWN(x+Gx#OhsDfuit)~<9;ys_ui%u_wZwgDN{Y3|A zOv>RQ^h1GL&j2~eR*w454{Jg$ScUqy{@=wXoa4*~h)^HrF0+!5?L4feRCF!Ki%Ps;>t~06_*)P_Op}(u&%~cZh92= zLHX4HVDL4-?p4IkOYxAATsHS?@MpUhqQJctHaUrUS{&;MhR=Kz^Ucki?1u!7^xJca zkD~Syr@^^>1VlvqJj0V--;luS$i8kC<^&uDg<-y$naq#H1)5}%?qquSG@py zO?I9aTwZj0P1+H}&0Gv>+Yi>CVztHA+!5+)?nFv%-vI2+2S>6K{%R}j#P`-2{D%J5 zr=uN9V`NwLc07(X`r&TC2qrjiA5raumAd5)w>eiT92wg<$|ixnw%H;;ywgpkeKs^0 z128np-TwnagG))D`o_3OF*9)aSUo=S6I9V;hn57%1WLP^UFUH)kW6gSuHf+;o^DZW zbOOrZvVq(_=H8bQDI(5en~bTKTSnd+U~?j6g;PvWWJSHRCc;u@-uE;<=ftTA%6AKwzXcrwyXe)=g3k|!P<0ih*sx$jnu0o?~knWSH5734uW z*>1faQSLk3fN9+ z)FJ-a{i5WjYq5+$O2h?os`x+5W$-xP^NgkuC4r*m^HrpPrk!r>I#0=>w&NLjY8c?R zL$BaIS}4*}8NK`;f(r}`J^pOn-IWfnWrph(D(^K zP-8cFbuv}C?zGKu>n!eE9E{48v;?SV~{s04;^#~PpfjKWa`A$CJsXc`JjY+h>_ z<0Z^$0#1mIKHSAi=f8sb^co6NIi}SJAQ;o8X<#wA@cqdWA6%0e=~gGu9)X}$h(nQp z<4-ig@0tU@@bbb?yS)_74Gi9hpl<7rhifEVhC_tL&0l4OfCsX58;o$&FQe!o^8L|0 zYakT#aV0${LnQ%!s`9*oL?%_6J-`9f;fQZAa`;PZG)0(;N0Ed1`^A4}eY2FA&Ec5} z#;7UJj6#xTh!ol*f#SZnI`dt)4#l+I$n8JF;(5$@%JhZM>+x6)*TuMlGZyz}%Wz6b zZP8^%EX{^f*ebAxQ+SYAiPcLT;Y^g^1g@Rxy?;+rYk5?Z)+(F*<=1gMFl6lJ>9T!T zuUB|sB86zkv#uDZj1tb3&TFP$z`1Cb#uC=g7-(oY3!7jQ2-yF11Uw%8{-YPcp=;i4NxbQu}@VZ;TuTO^F%GngS=u2Pnpu%@!?TR6(eZqpxw zb=c!U1Puq{Ji8cPioWL(Yr923_vOs_Z|L9aI(5DDZa4!nYQ2!~;j)fzg+&p)xrsTaX zVHh%*L8`G4uysp~o!TSQQ7>{$*}Parhk%XqSK{&K9DD_n)8k`W*2YN}^>e32W>%wy zh4gsyIaz6^6BWv(r0+mV7Vhu_{({;V?s8>2a7fYTQ)_LbUpo>$ojJa<9+PE>Y~RqA zPO5)9uRIxI_`UI$7NDMbtr5Z4`Ol#X96K*yEM3w^v8`8G-Wf%r9;_i+yBTR8MTGQH zW)N@$X26$)2cW>cXFOknhSC^G0JnbdoJBb61H`cR%{`JuqsLRyc0T(~6mqtJLP8WaUgWCmsV z{0|QLc85P#Kr8z8#SCE_!UW;&L8A$JL{n6Z!`04wAaFmO=21@MmT?bJ^X{f8nE67a z6F?zbyX0JyKa<;NUUs{H#;=yZh=rIOkQVhe%I-h>=@a?sC9UoJXxpPrn6pNo2SdEK zrgUCxea@d9&x!;couWMQKN^&q(7$_uql&gpPhbTu=6D(@nFde5<=>vFD7;o7*E2tg zNtHMe<3;~(V>88~n=R*NTd#QgUq9ha%Jv;%egdId3!B*ubd@1@N{AVu)&T>DkDty4 z*S`PKiZu%th`?+^;s1`eOUm~ibnU!RsZVaIsTVk$6=^?E)G(8PFD?^mRSY8187S%$ zdnI%5U5#iOshB!tlKh*JoDZC*rryo>ief$GAI0`Xg4`3Ld9~Vh?&vTg_`+0zPEjZr z{L0bj$x7m_c(I@gKZEeTQs#y;74L2R(xt7n+)qdzhp)FyN|{}HGg|Nl(~t!2g6&aFKcULU0bJ6P6ttX1$I&;N`nyjFk|dvrG1GyH+~{O6zK z{5e;Q6f(w`a|(T7)#{F)A1GZ)M@+cTHMW*Jz83wjy%^kb-D5y=ml5TyaoTK+AX>?<-cv z9w1`!rC9!`*`QVM-Yx)+MOB?~vKocq{*vxW(!&MymuVbizFuZUpqZkj%dJgP>azWU zmVJb}A!Koq9Fb~{=_uKceNzm?)3Xbc5DWh6a)j+-qf?<3- zwS?8}zp|9SYYiZ)`-JGla&LLJdr@W(o*Ad{Zg*+^IUi&JLTJ$sOqQ>KSIDkv%gz?niKpW~t7GB|7Zh=~yh40;aM*^i z>i^FHw}z;U=fBNUU73ethVgLY8*WYoR61DXBAWvaa13wx*aLObxc5jDI~XSkc$p_8 zL8uA>hh1dX?UJ#K+(}YcVd?oxb2S-L!OQ}e6T$je!~Jq}WWLh{YTh1)`=OEzUyE#+ zj4cMJB2-ZC)iZx5YY}@Yd>6%e!$(g&oc+}t6JXXo?$8>KzoufsrIjmI6M&`{ya_6& z`vv0pHuy7B;FZ<&WGqP6egZ)S{Gqt^-Z)3R+%hwz3ftoQ&X!EiEwRuvj=2&e)NOU^ zOdk6{o8;-{z&UUF|F-MjlSjp{XtAZv^3acsXx5sU{7m7jqKv>-;m$<(<5=?eh#^zC zOaJ2mHC%+4Yb5=9H*km>B6-*Px4RSgbK^i$8ILrK&bWe~-SWAT*&>UIVXk-=C@tGZ z@CGkXn#)jIl3@kk@NA@m>3nD{KeVYQ3I6Go0wXFuk5^uzEndO>_4wNTI+|_7?MB^K zeM&SRME58*0GTKC^2UIQVSA7UyX88#h_K~+Tq#rc)~U4OK0piWXR;&@LzU{8rOo;K zAaU32tl1po;6#XQO zy$Tv47UL8&)APc7@C1ewO1FaE*+3Cb!(Dr#+jN241(P^X3J8NqsEow;?w?cLzuynb zA8IzS?W!L~>}2DgXMfqR3K1wRP0lW@B85Z|>1Jw^37bvo++^JMcLIm7P>6v;|F23f zvi+>PT}h@zobOEN({p@xCJ%_XwV$-xX+Z3JEcdas3NHJ8WY%555^jmMVh&X_d+|- z^uw9d=$Ow(BYMR-y7LdlT0;z_(WpQVo%7__3J;a@m$#KtdU*nz=J8(&xRC>wGKM7- zp~jJ*qF>jzUoNn<%p@*s=Mcc4>)pr23aG`&RX{~hM-mZcP0+e(vKF$k;|_|q?6VX| z7XA#1Oq&{Oe5)kLFR64^OguE6i5DSqu%(s&8~PsxRL1dFFl?(@eZ(bRfV+cSopHDi z#O>!_y8YV*c5wTAKsEg1f)N@a3me01zP^=y!bJCgXSKOP&vo3zy@Z>Tm65L0>7T9r zT%-F(w@H`lJ*HW-$)*^z$)*|jKIqWfv|CkL>gE5ld`vr}V}&bxGsTjymeckAH8z^7 z*fzu5Ufb_TjU0?`3dbH_qO9PivEUi9gE#8OS;cqPbFwk7q+2(NqG1(mdK%7#Le*NT z6WjJTrIdU&l!*x|QZ{=Dh$A|g_OZ%vrxVkO#x+BN9TQWDZ3rQ|@lpp$KO9&SLAP1& zbtM#a#^EQl!_BRvJ?`h!Uj}l7py)GGj|&6iz}w^V}G-thU3-d*N1^~maO}d zf8O+8{`$Au{_CRwaqBgUtzijufu=}Ue^V}gqM+Azlx_2Ud1eid0b`<3z%K*aQ z+00r>w%pFHS%}9?7H~S_+Ye#5xxBu|u$oFl<7e*b(9h{rbBuTc(yb`&*5?8h$pZWGKg!GhgK@S#v?C?E3)#p2 zpNtqs2Q!J7?A-y=8^}S*R&RJZx0V>nh!dnR7MhyR?07cy5!|KW0{C79W=Lu``o6|1(uWru|O?!~qm(MFA0 zL4DCX`tZ~!--Bw&M!X$}NH>n`->Ixk!uiliRFGduK|&)sb+l!n1D~4kRM% zIY3jOgi2G$xpIp^EKKf$1ZPRG2toT=S^n^Q1bak&`(2E^hqA3OCFs}hp!q(~~J~)e(;<9GV#Qi}=SJ_DA5G8&G4x|W7mh`CP?^}ld8K(X@ z2>)vfT4lC)Z<0VdW-7-9 zMHH@5e>x^YCVfP2Cf-Ivk$^`}$V`8l`n~x8;B7`yn`}KFoVUaodG9`FY@p|l%X;6N z70ZAmMw8q=@(d4FPhWrP*#Cx|r%flDItF$}48bnNb@Iy!j=TLJ6qmcU)|s|+IgodI zj*>5}n^ayzq_=@F^HJ8rX$}{&Gl>hy5aazD5a>Mb@j52pVVrz-tHjM|FJr6#=q*WA z;{e(FR^SkwmDhitfB(7af4`~_Jkahj$vXXyRO`R362}GOj+pEl^se)rl-#$#F!)uv zH}jLR@4G`g6YUq)ia)et$LyPtE8te=2ja6=_U`hSIceSvFB3;7GAd z#WO8lcDoxdPGz*xAHV(oXP3MoUsFp^3kN-Sh5wGP|NZfKhBOKYw1lcGG;Bc0PQM;8 zzVZa>vyiUmf&?Nn4@smDfWJT)UT9xWB~ zE=7tV6#_k{tTxX!nV4rn*-YuuIZ`PG)jj$&ZR(qwcnWqJ7`aq3P9BaNlx&ftK|M$4 zE^W(BPz47d68}0G1|y%D`0RSU6IUU^Nya#VC3Qcy70-}7l3)SBak@97r?YrCLgB%Q z_?yBCI`(E#0Y^^<&9KOWST;SDY+o~wg+n9#N5%fHis-*Lh>4#cCW|RlROZNdS(LG2m=n7!IE%^V&dyF@*ZTKBZw*S<5WGI)SDPC^4ibqP48(TZ_{ z1>H|SuocLOI-WC8qVe(mlsdaC2FWx`)5`6GP(FyqGV+|AhD>rnlmxuqb?r?aLGQL&OVky{ZwS z8Qv5$UKa~+Y$JCL5dp2HyaS4ahMCmJ&};=MNW5O-=Wh`Fpw_BVx~CJtq5r#k#4*5h z2BB2l>}2}p)0bN>x@gp-MJ2xomiuqB{rjh^Ky(SjdgHEhuNI{|sfWs5H0U z66(vo9a16o4Q!a{Cg6W8PPdfe_BkKdR7W@X zti@vX+WXqq^=Uiz{4>_@!{xUxap0}G0(i0957M7u6O9XuWPTWEdYh-j->O9zQ@Mfn z)`LpQawtSj^voKxW;WPl9{$7e7rUnWpsrdi`rV?>Q|$90Be>hJ(xtB`X{Yv)Mu_Vo z0JX!3*i1#4NaOYY^9}#|aQwR?AwETS^5pB4zvs6Nf_JxgH$W)ZOd)NJvj3yF{N^dI*=k_XGCp5H(G7Cwh-gQ1L8fIfnp3HF4w z5qu|QBB+)o^wn-XH6Ha+6_dz83Yx@0oLaEex?)DyAV>Qap#@f!h)CBgpmQPlzip&9 z=$px7i6M%o?>|_?e=n&y@oiitc=<2CsP9Vm@lz54!#;G(g)t2@u=!TtW<4;%Vz8g+ z<0V(dr!iSrCywIoG&eIEq+Cu@UTleDHbe+5zj<(#=c60?5Lue0RWm}Wo8cFZ}Uh0ZK{y?cFK3*mcFMO4PT^w zFZkl`5xf17;ZOev1jpPTruf$I_DihEy zgS`AH;nm?29@{#PJU<=S+vn)KgY$n|muD9@OxyUX&YArGvEZyc0t$|MKu5Y%5-qj9 zfNn9Fg`$2(N2!EH|^KqNB0t;Q78T_6L2h8T?%@)kz^K=(!L} z<UW4W9xKMQbZx%3aFYSxYS-*JCi&ee9K$N3V`9B6n(mVW+7m@n>!i9>VW z;kUkdX7G4CKLm(*Y3q@CgFL#YG1R}v;qB(3E_IdTYan#?RMWoUv7yckI}sl?K%xHz z*xmnbH~#0RjBwySQnqKMa%$UTC&A zW)bpunAFNkPRzTl2D0x!(!PwDZ&XqEWKg&_`!nL1CjGE7d?C7ZAsX6-twL|V{WJ9( z8ft)%YQ=FM(msN@&lBAVK1;(VC(Wgl`^2dj0(^Z`FY7Pn!?AJBEbzvBmQ(&~S6{tQ zWnmzce(NLy2r76XrwsjiidkN(<%IA&eD-7M2Dlv4EE;R*~ zIIF8T*eIqV_}%gps%ha5$&gXw^};O144OBbULC~#3F4LZIWH0PUtsNVhPT%usrFwE z96i%|U@`)MV1ZkMrLq!Fd0BbRmVN6NN+^bvN1L_bEs?%8OVVFuz1ApA+K^V32Dh2u z-~PO%j?XG0whIaAL**Q7%j0cpG2yS$(W^_iPEByF=2Mv?nsFZ*S_21e!vDZFe^;FR zfUO4rypDH$6tJg^BfuA`mD}87b;!AyA89HNG>2ELRo zp40eR!eF~EgKNB6K;g!ZvqIt!O9V|8^%|=4YRNaOBJH!ZAd?lnP`(IA>BX;Gt-8WO zfB2fVw@S+lHTA6oNnx3f=RJtjPe$hofzm{a22Ge#s@8phJ!lfg1O4(%%X63+Iii3( z&ynJE1K?r$!}XK|==9QSI9!s|uS@Jto~Cec7d(-2y7xV>IY{rM*j96_(o)^O1|E?t zw)BIt9>u3OnJ{Uj`~P|sZvkLi>x7qVvhIgm#Ft7qvKwz=`hRa~;P}5Ozv(S&n|kVT zm9%1;sC?b;)pN%=V`n{(WXA9p5C_=#^C0;5$EDX;A`TC6&e}uX$}Xu1aa;r|9Z^N= zc`aP3$kqste@&&2N}(0N1hJ(8d~14>KablsVYQ3Cz7!-CXkSg7cM~N7JJv9xPU=hlqTlQ+YoU{>_edLek4j zC4a>-@NiF~LX zkL7#rmz@;(ZIYdn1-ZM>13{=(7Vm!dzmeZFqP^ZOkDnF)t_V+TvCN-Kt}LO{wvg-? z?(`Y~d^Vbq+^p*&E<5Ki=Dn>>ev z2~`Bg9uWFT+*S3m@xNy&CpsGPT4W$BmsKRFMfUe#E;(5(+&u7N;mHK+f=0l6H9Agq)5ARJJy%Pm|brgI|dJsP;`k^x_?>g z7X!WnRT}Zr<7ua>rmSW&+oCR^dFf7tV8exF0Q%Y7*o)MmHZtdP@Ofd3yvNp3>&oowJx#o?(|e1GGMp@HBahaG;QpKRM}u1P zf~Bup?fTE+N_?0Yu|COBLmHZW3lU&Xs^Vs*0MDe|21E+?jEc3FGgB0fGUj0C()(%NrUa#mkpfTCf;-=3}L|ACSTtl@VuX%;8B_HIjeEo+#KDi zjk23iUiALueRU}oxjNa_+d52PFnUVWka0{5?5K&hF^+$43c;}7TQco6%LNTiqjQ*R zW&88OfH7(g9-~1b*Se3tLy)y*gc8S!hMZ0lZfbgtEz9T$d8M;?w$w@9ETcCcbbvQa zg0|~r_n*@}RNT7vcbJ9GILV(^{@CyK8@zmhS)5PU^ut2)yL8z;=EN)ss|QOAu%N+A z1o|C>08mKAf9n~dn8l~tM`vZ#Rk)7<8cQN&bp{CC|3{JKli!d2{}x&LCC0{qsot$l zAAAi<6%dJb`(Bp66>j3x+ofRp3$WSylXA_5bZ*R^9Dhh#-gw1h|9g;P(w4`7X7NOK z^?K{$Q3R)`mf3B>N=IjRu}G@mC|4T6;w)v($?^rGa}1T3Q{OH7s>P@7WBo~~tZHG0 z^~xA7giMt+xyXLzG-nqIS1~LPB<}z@;X2`e=eHp*C;A*0$Q? zB#9r+&_$0^gKmKzj|6Hh8b8-7i{q;MtyaRA)h^G9yLnL;Z3t>I8dooRF3R zzFoZYy=>MkfTHW-D8gtW%6ZFV_EPAQ&_#7s=%6fYcM?M^X}0W*oTa|{BaM@xG#5VM zY6jJ8jR5DlFkTo2Myv>mn>-i3x!MuDi()g*?qEW${-QQsYjbI;MaFy&7G zo|@KTxoGq8v%)XDKipmyfO*%*dbM4#{5;5V1#xKG!*2^dV19EbR~62uG~U#}kVH=g zzXgd1tLjj&Whwoh-oR&knRloEoD#~j7Foh-LM*5Oo=zW;32*)GcpqTFw{KW*>lc|< z2NC!#hYzcFmrpv)ILsu?-OlGQTw-H)WX0`jUQ#fxuSYCZ?EbO{RU?9`0oMns_Fl-f z`z$Rbr189MMB4^b?Go2GN-)goRGM%x#l$uq>AaKuOWF)KVa}nCt9mRTeYWu45%t8( zCatl1f#;hBfb$htyg1+UahFX~?##?@$}W%V>1X>y?!nu&;t##uaCvNnbyDn9(IvD~ zIBZjw-q?vmorE@OOfBFHao>)4Z0dEq{Y=bw&hU7$*@z#{TDx9FT*YJHYY>&eK`YmG zFz9{uq1E)o%r9U3i_ERnzVB@{)R0M=IFuj>zZ+PZo0FEF!*J@Tn8<#4D|7%O(k$l!h|LTym%8D^H80XbFD2lfT89 zU*!K|%$JVLul5 zo%_nlvvo)dG)(eZmAB!s8o0Yb8{cT75qJ^tSr-oU#SrvCD(kl#WPvaSkVezWbM z#Pma$>9yml5KV3_#if@*e%~xe5C3Sz`>5T5`%yq5K0V_1Bg3QiR2mL%>&#}ELv%)4 zCN@OEkJ6?if)K8I{^n;V!muz;dGlqPs9+mK6c5NxX}FD$Sg0#V#S?P_P^GvQ_laUl zuFyf+v0^t+h~kwnJ?+JNN>5?M z-q#nSGiT>VFo}A_Qxv5B`sdG79b_*oBpwya3yvru$QK=-f^Vi9v-14z)WGvOymW=I znvRUP%ar~;c`N%32kWU+`_d{og!LMZ_S1eBvRoG8ZTai13sR;Ie>BDDa_IB%7F$G{ zNR}j__}V+YZ)R=6$h8nsJ`PEXR-x-I1h34_{J+MyuQwWZ&KNe8iOu+EoCLN6BJ301PXC!F0Oux08jrC;*<3e(CzFI#~L4f%ro${3M)&y}msK z08IVSre%udFgA~R-5k)=8jrw%V+PLGq67jqzO@+%t)o!q&E13IKhx%9@!b;tR0oR! zFEp>AUP>$vUB#P7?J>)2{`LQXMw|VOe>U0UZarkiabC8RygDs2UAU+N>$}3J_>3in2#z2=P%k z*U#}6y=l4Naj}$;M4hTaf{tI8JeRqUqZ>LsV7ug^qabJYXIre(F+p5hGo%i9y$H0Lv(#OV^byS4##Fjd2v z@JhJ1`&o!ZdVZ1jvqitInm1Jg|0)(AuvT6G(OCrAchK4_t#RP^_pCBeHp=vu+@O?C(l~9)2dt83FHbDExX2JJ2pjtE@ zJYT4e3Ms^V)kBE54O@V7d?5CR0viiby@+!wk9c#KitN>?wQXalD}aPPXp7L^YPO>5 z3Lz)a&?>>b^|MmwrPsQ8M2ktBgfnSy3-|1^E*ryhGR_uDIwIPjS3iI@>L9X&-X|wT zKXiZfGpo_MIyjz>P=PR+5)-fRBb`mtsr9DKx|}LCX7*3tz;vMhkaS$$ca|uH@47zC z9C!Hqc>AZ}rf&MZBioMI>#yQW2c`2oW59(@IyzH)ATRWGw>sG01oLCo_8>&7INMtp zmyJ@WOg6&P#Gj3d+#rv{2M}Li$(1g_+Blw%X($^K6*JVHt(Pr6tsYg)$jJaCs>6G* zU7d&*227^08}6-n-gi&$n?Jufw))poX0{7U;Kg3~2)dI@!JJv)T_G^TN#RkgQ<9}# z)gsJk(aVgbr>1A{EAUrv=*mU@BaA`#{YF6AF?-RywirL~fkcspruN82ca!(7|1~24 z8>`pp{;Ci_VzQlwK z=W6wmTh5MGosSfDL&hEV{-C+PAiqS6j@XEWk69|p5&cRapF?AlF7 zftVF_)_*p^s&w8tbGa5R>~*<)vK_Q)*h5pi+`2h&zmq$;P!Q)ju6h6l;ya+i|9v%F zKGV55^20v;@06s=w~EGG6FiL{!vAmV?w_AxZt$fYl20=Jt?RH4qs=}hp}#>UoZQqV4!~>j zV5a{i%RaU1;9{@|1Yq4ND>cuSbugp4kw~Blfw6k3;n98!p=VW_LpXzwbmgyN%@th+ zQR&jJzJl@;bO408)YAOapSC0VHVY_Z=+3JwUYb_|S_DTOkE?&D1=wT<$cGEu^Y#f$ zIloPrgvJ&3;R4nA6~Yt%E)|f`wMS5H>o^Wl19Y3A@YZXIB5VzPXchhNcZuutqCZ91 z!=yL~aT0q7x^XCI(x&AxKgt}q|4=9N=DiQx1q#lF3@OIQLFK)9^*O!`cGFfA1R#*V z{pCvbq@ngOnc#*|v|krb{dL#9IuBpZOOx@Vwd7U3=2-0yR+ElLo?*Gt93*l`9uG~K zvF_DT^O-WB2{vPMT`8s*s68DYJno?A9e1t|E8V@Ow7B*ggy=m_?iDTBF@ua|p&R}@4lqcqxV?ESZYq2Fsfg`Ggl$J$fto>C4LA9S<|9%{rSvX~NF@2L5@ z9PB^eos97Iu*2UFEOF{yEgz=P8x;at^qbi;r!zMeJnMdal@-x~&Mwn=XQ2mc=(sla zd7uvjV4l{k=!9N4=3VlxKZgR1R)tWxucKA9rANWG9_O1nZ7!?#p8M2`RF8mC31j3H zERt>FcUf6%vpMWF(u@8O<5_+d_scPMYHUQuI9(oT+-S78?Ng3DE^9J_r*+rcgp@U+ zJUpMg2x3bPDEp^dV+|}@s8*^D3ybgIdKZ=240I4o&8@jS*=7xUFr%XU+C5sQd4SixHlC zk)Frfvh#k+3{9K$KBcxJGn(sVnYI;&(H~=DA z?EN_ymz1(=2M)iMfJ96$01tBStb@xupPg@i-1OBEf)IK-FVXZ9UaO~^TmG!&M<4x6 zBRFEIzd9>6IN36DwM7Hc_1*e%nHmx`+wukOva#FKixx9Yx8i_q=6;r4k|X{u1&5PC zw_E;L)uPQ%Lq#6EXJEee za<<}xNwyxb?4)&?x8%+nLm}b$bcd8~*XVP53U-0_*HW7aQT%S|gDUUiMcM62rXl1rp3}44-3S{|Wwv7r*$b@+?44;otg`3x?2bkIBE<1O1 z3C`7~o~WB9Ksd%$I&Eo=B_55OZCvzjp9IzWul8}(UAZBv;z})5_ub#vdYGf(4Sgp& z5n4UPhBI1;g4XZx{71(J=-mBBy?1rc0rD8Wt6CMiR?@A8&|P2iFkQbv=`%1w=`gQvLzxlO5r$l|uJ)Z(+I0)qJq_vy#ai)=O5=#1cZQYwY3R@`|s2yXn3 zH;C~D_ieZ+(?OtGk6?Sqndx5srR_|n()PZEQIXy*wM{+d*j?heUX31w*m0!iop(hG z-sM`EBWk_%#?Pnh?N~;aIfT5c&+bR1$gpYNxwK&YA{+1Pg9zIh_j=A` zRw8O-?Wy9$$*lMG`Q){QRI0~Jreg9_xaO?q{`;~)p``H*j-#%DRmjr=1esbw={&q? z`(!M=x8`j$+ktzf&3v5mW`1EXUD59Q`J)k*N$t1C7pJ)Uf@c7dNYgwfIUr1==}h20 z$cy_=#QKX~3-_astS{4Cb~nrM zetaclj=XbBP3ART2iyNP^1@V!m@ke1D}*1Lfd-ejveSC9rZ%~7`f-_LoCaJe;Vhqr z0FYu=vherPy-+-z{jR)}gV%HR>b&21C$6C?l9?sC)49Gyd$B8a<4Z0E5A1`sBAH~iS;sg|>AK3+9=+jkYdL;wdxfdxa>yi(J3r6h{mdMN^>lw{U#s{qo z=W$|B4NWqtN|J!#7YgZNCzd#6k%2p+OZ%MOwVH2c;A3iKZ<4sF#IQQ_3@auEM4jtk zCK$u!_5BZt#`0-m=5Hzn&JQe1Ft~cjq_{@%H!#4?f(em%LsH(-Agc9CUVf5r&f>65rEzM%s3rJ*6&V&@oUFN>^gQk>5x#Qe$=(ZT z?rS{Lt9R~et!&ch)$9{GVktB+ADi+e2gbfFuAe{$DYg0eYn?tJyW=)IHh6bCa+X1K zBZHG+#$x8`yp+?xjO~Qs%BEogzzDkuYCR*mE`ZmEG2id9y)E9=cl939bDHb+gbl|e zN*yn)=IFn!CoJEplwu)4bD}+EfcLs!$OD_BSEJoZ(FvnV7OZ}4aC%XuE1y3WC2zk= z9le$}=)|e~jImZFOo%&y&XnWfnqGA}RihGxI6XdTDlPWbgScI{INkTQs}HzyWwVyI zOZEZ`#0)Fnl^{vv#0C}{ zo764Teo;(=Yc750zLZU|l_|EH^p1-*cD=45*=vhw#AYVb^>UMhsrcG8YoapF2uk#t zgBfu2M$z?^JNNhEekm}O@#_ld5$@@!TC%=)J7#g8eXMshGluTM`@%H&G@&;^P3XeF zDPQT7{~A?rW~^Io{f>>!{;kLKQgQXasg=K$wQs^$0KJk`6S4?7_8 zvm6C*qG%g>;!`NsvqKm>nSS*z0xy4@TGQopA~MBKbL$rRq7; z;QJ`&1i{zsOB9zxp28|Pw-yV0T*ieW{Z>+-^fbhfy`^SFT$Zm%C)MB->n8?ECy@d4 z*B|6Gb=&KRWQid|3oMx)MTRF~i&md1%T!rS(VlQrx`hlME8ArLh;6cq=){j~Qs&nI zq{PIK)s6bL?fsI1smtNk8dlU}hA`Jr0vuE7_7^xTB!Nwcdtz5e@PdShC*-#4JrX5b z1^M=+uZ=!DMs|qUa?=3%V`av4FQNC^;`6GTb0v+}lWW>aokv9K=YaQCruSf}x$17C zRV)!wbzu0Og01}(vm8>L}=CO1a`~g7v}zQxc$3lY7!lY z``LrUuK7`$X$A$wrR1}W#WpzR9!?q1k7K9{30PCz38nO7T+q{VsB$ScU7X_c#79?#J1;6ZkRtu;u*);c7#7z5#d4f~+MxFD0A5|tI&TtaeI5^gO zHEUA$+PJfa?lDF8zDIibT#teC-M|Q5zQ|xFP4jn9h`@E>}8bU zCSYt@ihsv^Dn;G{5RovfJVHGJf`&$oi1_T}|nB8`1&-yRlzBo)^=Eu+(?pUUB%OV;sU@ zuVlEl9y1XxviPZn&9>)>D}ZZkCE_VZxOBIVZvXvkF9po@uurXPeXM@1Ja{et%R(7* z`HA_#7v6IL2uA2I(E3}z-cRu*w$uunF##=4Vj*AlR`#qFUA_0T`y}J)3?R{s=!o;N zKox`W7+J?p3S`~u#4Xuu^bIK^T6LCr8x#+7t@SsQ!yQzzxhV8M_Dc=;_n`>sOr@}r zS3<3ZqL8giCY;|WnTw!`+#VW6uJIhtMK%IhUq%?DO?3&j_Gm-RIQ1qt;^bm-kRrlw z7)Y|P80LK-Je;kV2w3{*6-Grws<92UQnWUZ&vI8n-Szt`;|iOfrfu$ZEa z5K_|Bzj{Bq7$+Pz^8_=s2fl65D3pEg6x^i)s`ne^sWF?A&I;?{U>;Uq2E1p(8}Q*w zUi_s*y<-L&1WD}uEcE4UezjSkl?I54w_78D_lKcea0^bBe)7O32KIgKG5S*|Kt-g{ ziT&IXoznpjF1H0*wi*M{(@Z4rcV*622%#eWhjJSJVV7j57N6He{Ci))4^wt zUNk_?(6VW`(jh#0zwc9jxLxUWerU^6bUrU{jmxGteRE7LUr=P@ zo60L5L`S@#Pr;}#a+5hTibLcv?4olt#8nw@HUx1Mtaxc*UDM-M`66~v{$QBgfGq_^ z5jGzZ_@zd6+N-Zgb<_nZ%Ce$kS8^D;ztr4{Pi;LJYjZ!`2|`Aj(>V^$k|b#AX1$V5650t8?d-< zg|B*)Gd(g;v=D??z4z$^d*1U-5sj*WqSP;9SjXH<8$!x*I`;-8&iYo#fryu^hd{nM#@02!PlizFblp_No=sDkLT3xd0;s z$^cw`5Txbk(R|C(_5gpBokFu8o^zk6SbstOsiw9QyV&m6^aD2rrvZ^aAynHK74Dh* z5Cf;g_9U%aVSpc3z#`P}C_BBfRhOfVWLV4VJnggT@Ix+D znn6U3E+}SO z1+<{E24HCy*59=J{)6dluEIzlo8Nxx)eFX=54U^sViOrnivlD^-6XqwP6O3r_JHng z8t&FSmJ>OCgF>x8RSyIceMIBd3ws0bU0SxgFz5pSYM@p%nMJ*OG0N|)4QLa1sGJNr=<&UR+UC9@A2qqe-rH;qR*7HkOCKIo%BH5o-?Wpq(ufNh{ zZUYWb88Fa_*i{`;TNDgU+s90Io@LA`e8w@rvIkvOND^X3lgiv>XMS~+buqyIks`B5BQoy@|vl>mKNf&B2dj=UeD4x)Ef6ypgpMnMjf=w ze6cR-G!jVy85G?dWFDBo z|HZSZbgQY(6QFUz+)$ud;y5{Wt-xkKNjaA;D?E9k!w-gbpL&d(rPx@(toB~+0a_fm!f7(mf z%qSSiBf)=$O>OGfUQo)8A^trQSMU(kfU)tqlt2_r7VEz@ycRR4RKYae*`xMohP!(E zBVS_}Tz9YJu*`VZt$tUAh@rzhw*a0=x|Ea;-oIb@4-@4dH`as=r0;gwgYvI_9EI?V zM`=a{b{Z=d^xpCLWeYGJrki9A=G`Cmi!x4wW|yHrASuu^bw7|~g`!RrMd%LtNP8i1 ziBxcT>t6cl{3guy*5$j@i7cOzY?|kMkimPG5YYk64V`1}j7p)@e{1dj+Bm7>1A-+K zPl=4brjxuRRosIVYDu0RgaZ-#e4JHyvXPw}8%WfTp3cdbc;&;uk^;dBNsF!0O5)up`kK2V3pNpoy09gBtN=B~M?`jY8DFJpDn0@L|HH1?doO?kdiw|8n)q z1&Y70{VMF!pzW$!i?&KfN890al3;$OS4^F+HxYe2TuRrXb&Y2p>&yMq)xRX`=_g`h zP136(6bcy69Dm<2nwLx+8LirT$LSq@>tC+^pLf~KBv)dT5f;9Nwd^~hv)Kw7K6e@e zAfQhUx6gi%{b0pO==`iERoPe)nKz1*Wib@UnH@{P(`rOFXi~AqM&hCfix`TUI;zKc z^$^5u8OL`AZZ+TY6D%6pkO#E$<+w}t0y87U428|K8&)sPD+W@aqr?S!Ag2)iMHh2# zc7Odw>he0%ZkJ1r=92F|`YlII8I0^q(Hs$#=fbHksQttPw@R#MU5s@K7_!nYFL#H2 z0?*9*cA@kuy-a`yo>97M06a)Kj(#oQuBa^Cb@W*u7eylCb}+br`>|4Dz2+-Ug4<Y>a`i;&TMX#2DcZ2r z-AN+t$yMZ~qde>AYo6i4EiCorwAriRBm75?Bx?_``hFsg@1|`}Bd19$T1fbq2KTWU z9trK1wR*L_{u&dt0bIdqF9->c`=CZ>ZRD2oBE-i9^Iib#HI;Oas{B#*Ye`nDVJ*mY z&0CSc)FG)I@l#^GAD0VvJ=LUmQxj@fU2GW*Cb_JAuXrv9)dw*Aa70R8=j)Afy3;oe z=vA;sFbGgt_RrX5U6nPcCdC{m;U)~Xq^jlFdD_3ov$sa#*@UD_#^nZligt{s&fO9O z;vi~>D*t5OeMA8+7;uz;PNvF^ST`qOpjd%|Z&xdmyIZJLqe9?asvmRE^jC~+)9wc` z%Ud@MMi(k^v!F1TYofGRDS>a;KZ4S#w-%jwd0Fl?`lxsPvPgmJ9YwPJl*21Zpct$) zzmDE2E$_IJThBiM7g-p&fuQ(_ALuS%@4~*wgi%jWbHq)XGaJ0}d^P$h%O39@-vWS? zmvG}bmZW-}4f}hFPHAhsD!PD7j_ruOk6u>ohd=d?6tNp*EmK2w+wQ+2FS~cNIT_eL zJ9a6R^2@HCM{FOQds>15f)ptW)WO1?hb|QZR|B`quJ3j5`JpoAhdMLjv<1@Xd10Y+ z9+-rAb7C*YD6U$e**=1qTns~j^%Z7^e|f9&`CBsfPO-`%>*ba=o-Pn{j0576|Rp z!z}H?y&Y`@YgwenVQ{oWGL-Xrj{a^f3!Q=%5b5B06Y0Q#UE69SNAqn|DlO~QuaCG* zPtb8GwA3ME?M*{X4gNnfHwH-+2Ah-@g9h=`1%00~H-F3eGaG|PadARj4Gv3Zj-?Jx zuUm*wbA+Av*y*O)CkBWBiA#XX1~5!4s4N=E$3!NiSW+oBiSQvTsS1p^H5vV0Jb2kN zwnH-MFuryDj8n+YanbryWP-b!&Q79JtsDGeBY-FEJezcew}3Z4luV(0>HhMi-GoT& z92U|Cn=pT*IJZkTWIr1pHk`+5DoLh$koS1eafttsfyc$>^RnsXO_{Y3U5`7}PxNgi zIDSyVa5u#d%j$flj^y?EM%fuk8v5_zhVa9UfV!0Hf|uN!L?SEv`Dnoa$>WwldPQwV zlcMF6qg{TiFh)1;&Yc<2Qwia>RTg-q+O_nD$cuXX2-dRMVWWx=p5 zsIGD4)u0`?sJ38IXoKV892s^J3d2kCF&u9iKSjJR6AeEflgUz&vr$m#C=(3w1y8K9Qgd6eU8Y(ZMZ;@&V&mx&DvKzK_3R~ zj@N`Gw(uGWQzfVwR6A?4>IX*2Jor}@K!Swu29v-`n@=@o4vb9KyGMG9o6)1}y;jNa zSiZovb&ZV#KS5zR+=TV@@0E`$=slwGG($In>*8RG_q$JUScZ9SzkY~1IZFb9AdugC zyIldG?q1r~@1H%+=e$@b!QLJE*=v!EFVSpxC{MeYcNAcli~xl~d(DTnb)nOIF%tqv zKfOy|qo z21y`@?ayfgm~Rx@<0%ksp21{Goq28IenR(?mg@1> zvb1lvS32u1mo{I_Z91?2K?8E4eZTDIO+i?-^F@v_#@?KWPb0)@k6C%Vw0tHehi_3* z%h!U|{MpY3z$R-WoG6YEv>9XMm{dU4lgfoYpG+lXGg}v2A9{DIdL8YR*jksi`t?HJ zqC_ZVdHE7jbf#P0k+VO#gmT(&)fxkywTsOd{Q+HtIBmCBSW{oP2Z+Ca{-B0Uq0Miz zjiKTw2j;%(y-4RHj)93>hvRkG-QgBZN6b9@Yp3&X8Mub*4MYSRX}^gMEmvfbcB`-w z2>VNNOx-_{V=8ZwV>ow`JO*6QR!X6R+WAs$Eg{ddL_qeZOrgXp!H;FGD)&#@Gshh0 zCMfJf*XNfCy@lPIALSScB^eqyt>+G{vgWJq30U|;+FpOJL+!B5a>O}%zGwhKeY^21aM1-`=X+$b)TDTj1qF? zGi3H_x$av`370^C%)}SpV}AhpGak>YP&%=-kHA>vzBJKh{5hAPyvC(e?tHGwSWXl{ zu5(|N)US(9Yn(a7Sj!U3|HzLlm?Jh)dK9Rl-DM;vNWQfr~q`3&X-x z#cZqp3EvfwMU`SAUw?(r!|Xt5R!P<$Htp{|W8Hqv#_}iPemGmUDDXHiyD{h;Pum8%%;9 zo?#@+l}Kt6MMcaf!W0!vg7?}j$4o-fT*L4>q6R$Hos&|aU zeAJ~zKx9JQ?1v)j69Ulvm*fSrb^XHl)F@EDpwSy8624Ibn8~8Z!!N56u2VDdWo3pO zhh>k+^{XPGv2|m;UGM;esnkru6`tjlrAhKH8822nVT{d4hHZI`R=veTk(_2GJeZxV_7(LPJ zT?&F}=jW485ligZ3VvM~ji|`D6i3Mh@R-NpI>i=x^F67+@;ME+SevLb;tKolAt)<{ zgil!l{X);;D5i5*nwOQx<^+7MezD5n)g8%2q!93cHnNnhJ;TBX=2*5^G9KK?WqYwx zmF{Rzp=MZplX?3W&)Yu{6>IDpLx#f7XHRcZ6HHpc$CjbP@gXKMNN=KnCLSraokWj* zepc+XsZjW00x8nXipP7nEiMz&oGl@0EZ7zyB0&u#^s*cB=J1Gt(n^U4SGk{qr$jgU zIpRjLw3p4f8IE3R)I|QMO2hwANjW$ce|TD0NQPreMAN9B)=k3m;*Uq&-H6zcD7sqh z+O_y-H2{iHQ=ZEu5b~q+6K=I$8kCX(!cFqK<2?q{e8mOi;&4nbzvkJlpM|Dr54R~p zZ7EyvE@GC=UJSR6sy;SN`Eb$zn0(k4V|%BrzR0n#J6)gDcqJK}kB#$sY(8`f*2*GJ z%FSF{k(Oko^yJ+k6*KR<+LvGVh_@#h3-+;`v?#4*#$`-Zw%xS$)z^^s><a(vf_t z0n;2Q*M{Mq4U$g4Htj(Ne95upj@5R?lLcdK6?G2ga!RCpB89tvdZnt1IO)uO}QL9BT>!Rscnn@o|cc`dZ0cS56p0AFpq`3qdS|tP#n7&>ce4q-I5IHz) zvMGHS*BSrR4WhwhidLxn?rdmrw0Yp3iGjV)reOQF68&=2(Dqz!&9WzBkmY z=L_|hNKQ{@+F14lcoUmuUfH?v*L$+RRE#7Jn~CtoKhhg@3u=nHwd9b)*PFNTa`H-v zc)%M?-=&(7%yEJ7r@$+)Nh9bryEmn|@gM4pa|+zU7I~PWyBaGEQ2ez4;omQC}{(T|nS zBm0Zl0^@)ryG9u)vH;|WeCkLX&k?bk^~?6HExXkW%eTbjGG{S<$F9D}dsKA%uX1(6omT(TG{#Dox=hTj

      %bW zZwUSvfi&h&sCPn6R7Im0fz9^K8oXFH!oz#l-&Cu@Wgry!< z59xqRixnCl=6^0A?1dGq{9pwH<2A!4RkjaQGyMkFV9KYLJRV(FeDhgr3w~Wiq{gd5 zqV+V<(&z>(m^KS#FZo3H!)K9M8j5XLvOUQCslHFQ z##l`z<14h`^vQ&+&Gk{lui8c~zUk zNwUM;7qbiyZv7GAn9_?+onspA1fk6>Ts(##5+|mejfltOdf%$;lO1g3fm=u<M^9$2Q6AMTFJeNUI`M1wHFH~M;Ga{LULPY zex#-s+YV;=*Gy6xdj;zNIKM463`|w8n%e%^)(yY>#!bqHZ3zEfYA0s&@|4j;vZIR) zd$%;?Xu_k3Qw=z43cV8ju>@=&O%`R)b+CcMk&>%{@aL#O%EyiX7gn%I@3vandW3$6 zYPnU;cE{_?PwkBez6LM>-vIcYlR`p!i6LKw?7T->v?e?4mg+BkIXWw=#ABd#)sy!K zxh@v3)l==n0lqR|bjY}Dhni#Z9GY()Mzhax|8FyYd=jPq^tQYH8IyJubw2{%i>g-G z^c|(+LgqV*ynEM*rajNPPCFvRm!v4uvtl>=-o=L303j&A<-)8Rv9Xwo8GGn!fO)ai z{2h=Y|6<+7O}gqYptNa}6Fv7hi(!lBcOMqcN7la0EqYVK3M8rM+uWPKCC5XDmz7D+ z+APUya2N9C713RyLR~hA+nSYX&nTrnNw+I_Vb%+otUNtRA>-WeO(%s!MFf;-~!vOEaz3%&2>wA}Ld)ANl`{m}g!Jmus zJkI0Tk3F_Y04Lq1tCKm=jSuhoS-HJLU*U7?dF&Fcm@62j5IR;9)Uc8fS1hqLU5-;5 z(rPcGnkAS{sXlj%GtwIa;+8yTYfIGrKJ%OFGu7Ix!(8jEIjob<)K%2bVeDy(NETuR zy_6&l!0v@cLM)ikp%A<7`2ty4J{}0Wrp)t#tOeBB$T4Np{=Y?5ou(x-W8HrZEmAaKsWXv@<)$@Fu^Z8OY)QLW0w#yb=J$DQt zo4RwCfcB-Y5{5hRo`Za$dI#mxm`Inokf~YWvUqZ-0rs&=%h8EyT}yNer5gPtqkKJ# z!d+iEMp*j!&yj;Zjz+5tASEs;N6UDOQ0Zw%GmKsBu_<8&T}^N^)Dy`(+HW+3B( z^;y$*l0&Nedj;)#S`xj}keRG%;IV^drSEN8(VKshiN_J@W;`rc4cc!$H* z5Omk%EIjbm7SHU6^p8#LvWH-4W(2K2a*TuFE!ecw42tN|JwF&peyV0+bW`G|-k<9h z7mnHjXFHe=Y>eY96a^6}#l4&f8G$R~jt*?C{X%~|y*+A7cpv0T1Ud>l3LWF?XE)Y; zE_b2bn~ADi?Gg#gwo#IP&kBF#Z$E8o)YbBSTh*guqCQs7aRzLVY4`3~|6(Ja8D&HpXdkP&@(|UyiX{)=qlgC+;~|67TN! z-(K$l&G_9{U@s!06|9P5+PuaYdVuxhZhV!Yo-&!)^si6n|GR$qu1_K6a=2{hUsN&F2 zG51AAcaX3jGwDS^PQ(qMqMQB_qc@1AHg2=ZEA2^_Qc@YG<2kGY(_4(#avprirq@*0 zLWRR66Qk1NevBI0nYMm>){VLJEP_{3I+3cTEh%bavGh~~)@%O_+`=G7`Zmh2+aU=~i>mG2W0edzk7AHa`f*F7K%r~F*FM|wjpv94UK@CXBZ4nge-zpxCU z!7VoJrH83U<=h(2Jts2i-gT#*Cs?}lY~gVS*5Fzn_QX&LL4?!!7!>TFLS5Yn42>T% z$io}b52mO_b}CPZA7<^gAnIZT)dX?vrzPojQMFk9HY?KTZ2@TcrImaljMQ zsJSu+U6dU&>2v{_%d)_Hb7^babh?}$Wm~ODp_~QH&#J>>~5?`V5v6E4z+X) z2o6)R>VJX0QIfKLJeu}LW@GG4n|>J&@WG5TVAQXQ-0SHW2_asDv?A4r0O?AIa01-V z>ghnP#}@djPxfwhel2`Uh#J02q< zA`G5;GK~*-O44o^GI{>xDS6)ZJ=T;>r5mygxb{y!bx;BvR`nvT=Bc@8SQ1Pr7&Wn3 zotr(;Y+HYOnTk8SVeAE*mWmJVuX*49=(Exs7l|3W_keaV=+q&s;9Grvvg6)}V*B;{ z#e0fXM!d}FHeE8uYEGwyoY6T_-c9Lk=iQGZ5k;Bg656BypZW;|z*?g)UV48tLakR@ zI^c0sMOghfeIkwJi5s960Pd?%uS&}+$^{l7P88>+i*&Zia79fqrI2UHj$fikK2~g+ zXo;6Y46h1*FF_6Y&y=1-(=E~fgoEy2EMrvyLjTRZt#8|ogbwU+*&?9RZ226wbjlpuunOZWX#}?vYVtdD?nOO5p4?a4jbqEG zp;>o-#{PVfa>|O-rtwAll-*d!x`*kLZ6r}?W$MV@OSj!(V#@>vfmzMIQZh`H8uHmG zb@b7zk+I#R2+Eo+MfZvD9}N{(XLB2=(uE1(n#b>97)e4kNb-<$r2YQ=Xe$)Pf?_hD!A zJ>JgOa2Mu;{f2|Hnnim)eBIt}ya^I%2L=bFW|%NsSv zSw}3v-RU-t>-FPWzy@SLrk`(jwWu+15OlB;;&_-=wMx2dzBY~Ni10iotIa6a#}LYUd64C@ zTybp32-t@umEXSK2WF3zdrWM`GFYl?AA`S1$ zKn-LQ86r-;)^2bISUzKDD06{ZvzMV}i;sGTNZy_XDV&cmfm}Pxa4%H4cebVD(VrKI znLndBoHb#s3RtY?{e3hoDk{K-8}%rz(tLoP$&!@u>w=DHf%#zy6=u?2nDbb{bifz4 z9|FgA@GkTlLG32pRHg{#*s(f{-Ysgi+~;NDm`N%bKGbNLiMT9lELTw+;ok0=YDJS{_Yq` zhaCbW`K^=14N*b&sSw$L{QDU8Cc@ToDg#*J^p~GNGBC^!?4~a~awN-;;YspTPST&9 zH2IQi9yB9AsCL=CaXCj0h{exVOOvgrU&@{|v3~SguxMlTy0a);uS605F1{EoOHeY) zO|PMJ9^7)AdiUV;xJCpQn@^g2@-I|Uf+Y;`n_gnlv=!jnt8Q-Os+^M4n zX-0oH_hgd7O+~1VI%o|QQZI^kp@=u^6Tt%?t3A4eV|ZCs2hy%9^cxjP1^@@q2_?|E zzPk3?0R-&T`CUtWX)UvFFf4gp`EQ>-yr-m+!|-p3Y$tRTL;rGy+pn->`w(2}XGt zANi3RlwY0b`x9C>y8bP=$=HJ|oc?BcY7Z>q!RE5i&tMjJK|Dxm95UXgclDP2Y_#pZ z#9nY&->=CRxQ+>?<8oszbDN$D6%^mphYGCb3$6`LOsNxji)u_2F59g33^O8LxqPPT8SX-DmyRbjz=kIdx=A~C z-KZQ6E9ISgt(8V9(diqTBnw=S818hJR=nz~j}@44GuzjeqlSVz?RJo@%4oJ-!y!GJ zmd$G26mE{K+x~@Fz&;NpG9hwyb|^EP)4NH<`Lg%J$4L!4?uIQmXP-iC=O0(dqZo#G z9MXPwPzRU+kFyXrS9UE@1Z8rPGWHm*JHumH#7=DXD^PR5G#JcSy<-{#mUd%`5@91Ct;d&Z)2+v*-3JJG?<;gamQnE;e-6+VDi^*j za(V3I+_n5wSf;vhe*yYEb#bp-hE=~Qi%N4nL{;bFJSuX=!g}beMJO@%c_!pBKhfcZ ziJRncstn;wQwNC}dR-BTuiS~_c-rNhboOG%oUe7&%4~z0bD!Dq_foaF7FIww#i2S% zEtYoq3-b-(n^okMRk`I9V1&URY^IJ;=ldv7NNqp$z31{n#~XGR8*sc^@l$oG{q5W-9Eir0iBeONB|qdLpvJcqWcVK4&eIR(p;z~>!fvwBa%BSl^kWXU?qg#s3v zrBnb9m_M_TjZgdHOoPXC`pX&l{>2nq2i;c}g-Go~`%{^cRT=&8de%KGY#$NmIIH_k zzYP871&HdU>%0liSxNLd2mA->yuxwNrz^!^qEvavmLm7tyqWCrFX6H|0SRkEY=iZW z#g-Y#h#g{JINsMOn;rK!zgm}x-J=N9x8Tytms1eg&((bC{BG?b4d>Md*%ZW7O$v71 z5Rq=dw|LySqdvx$fEvmrU0`eQierc+GMXJ(o6iR3Vh{48AyYSwT)KOjyjmR>l&AKjDG;>NxXTbxNhq>1^T6~1 z(g0mCz`u8hc)7|=kj1?h6cv}CyHK#GZ6bEv&&Z-8;Wv)m8Oc*0INKH#<1OoRo7BBeV z!IibroUjxNUw9j_5Tb`Hz@^YdU!-^JYBb{6NQM-$i`{r;47AXW96tHz#DMGQk#0n9UkPKRPSSn0-ZAjlY~_ zldJWjs1gjPhSP-*n#x%K2K{&G+$>d6a^%+^xIW?#KygWnoWE>FW_EpadEfzPwu5+m zh{$%m6j%1+GLZOs=Sj+q!vlZ?Nugf70+iI^hZz+WtL>|1xGZs=frp4xp13iH!SLSO zWn@n`>}0$lBOdd$-P+Agoxa{1_cm9oxsMiAtYACi{M}ZY-1-TlypTNH_dZ{Msauu$ zcwW^SBBHWqJwS9IVI(8xqd=wUAFE`&Pb)C_K%8Fs%?X*SNs`V$>T!+m<@+9XI4(i8 z?hjw`_-Cw3_GsDWN{n--JL)OQ z={X)Pmz3!YEzl^=Y@vt@VQX-&te47B=M-B4I~B-GyFlRN&3KKrfs_^#xmgN}is?K( zdVC=T;jWeY@>b}hduXbX6@FVzGhL1fH+J=Dwm14G%cpy94y)oVEYf&Et?D=v3kA&Q zYrJKKYc#w{PuNl_W73L?RvPr`X5QTJ6v-vBbwLe;9!5E6Sw8J1V(FbGuRM>MH18Q5 zl3y2wW&xUC%$A4I4~9rBwX8mc@S5TWg-1%HJKu=;wELCR%?o(d9?A^j$oD=k@umed zN%3UQC>c~P{9bc0sZgRIM_n*)YH3NjZGZ6QXKd+AV=9*Zy-xj_JtMtqb!6ic%++a% zL5wcZny}~N2QghUT1$=QPR*`%)MTaRpRqk(;7_cf(Zp0)b5(@b<$A+inIPo4yv|Io zwG=*k+T?c2R|qpLt{ixpJEL$e*AJSVeL5%gudd)xizR!9>{MhqEgD|dzT~ihAjkG< zhL11BRMR;bW543R$)ERhMhP2xs@OKLcj+c>Jm*xlcZT7Si;e9d!A+)#hGTisE# zYiqo5c(Lnvc&O&TloqWXVC9}lG4VS#beAsk-u#3Q>tK7<7Sn{D9j2ig;|xu^MV+L@ z<=*lYXP%1o4)l;UNnPmMo^buD13fr4Ujj`83DeMp z@g41sTg;@E=GAas`Oq75L`lE4ocJepJx-UVZR_25Qd^b>6Hl~0Q|c)e7>K;Wy=*2u zm4Xh86Qg0z!es=l0{GRg-<~puI?H=7Htu~3+(+CGznV;VL_NCqebQ=DsF7GyT1tho z2IKUi_r6tF#F92_tZH8*q^L<1kI`xI0zPpd%<+610;udrGdW;QLI7F-@rC{!SbXQ! z;ps|*(OpI8rdO$9D{rxoaSU`aJU9uvI!R(rLk4>EPnGEn?XR5K^z|9Hye@CaJ zh&|=ol6uDT9Y9?_W3g~u?oH*Vlih0kGg@QKG_-2&pH>Mt7+<0;=ALJl8;iiH#DGT( zba5mrn0*;%g#7x2`78rVkxk0A-z-s@pFy17s*iP|e^3CHBE}OZmyB%Cahel$iD2xq z%08Z*Hd>E`@+*5F7V@R{>R?X~DjKUwr_23pgrF|A11wH6zY=5@nT+RhrTY{!t^*u| zR%<`#{f-enTeL+;8C{o|{#5qaZ9WxwS@D6zS1vH=&+g}{x0tOXb`&+fX!okbd~@52 zZ=}A_XxF5iT>+|<{bL*fPly{ip)h?pDhl^=KdYUUj4e`vkVNf3IIhHbPE7M;9%?gr zgUPd=$AG$BW-1reF8(xyXv8%xg(qzV#2Bl`)1PlamjNw53@Gdk;Zb%OnxPDC@y6{u zx+_l>&03K4+87L>-?dOC=}Bnfk=Of@bDqNxFX}T~fF5PvPgi-CJ(X(31AacxmI|%n zE#;nIqO_Y=>JZJCwU8@rEOb{gfo?K2+p@2D^4=o1a=1m_LYLRXlZTn>Si$=S5i2Ew z;`8BKabuVM!SOdLFqC)Ep@yI2YsE&Kj03DP&nA}*rTuQK7>UXkaM`%|q4839C< z+0|Zhj&u4ru?M;DD9)6>Dd}7bqu=M>mZPZbfc1-+?vJ_RmZ$G-C^I$lJG=?IkWPx^hYc$i$Zf2`) z6P+gi$Lq+slWvt!l~6PZRX)Z_{oft_Hv9H`@)Wr(r7PvhjH(Mwk{zUO^{-7z zrlv8gmuaKU&`g|Bc}6xctSQdbcg>QD?+kA5=-;kRz9|{m1C{dqT%jn54<8T1+qbc5 zzC|r_qOAQi8eG1pvUVM*8?Xs2p_%ogo+;DZF(=CNhxCcaBj#Bd+>KYVJ zIDOZd+%yHDI7R_aJ@v)E)3aXs0A|(elr+k}*s4wGv|Kvkc~*u%mS=(QACi^{&G3^u zd6-YytVc58@NJE!J`m~1Du>S&ml?>Xa8-|h!b2qcm+}?H><4+MXzW_cnl;w5k!soN z_lpn-T9ZWIlo@cJkx6SHqj-5`s@$hkZBSri8aGE*#TR5x#m z3xj~!$GV@Cc&>&{8Zkc@J_oV7w4a^y>!|W|oc+SCHrF{$j<+YO7%t{D-|YR_ zShJTdQmUJrlomzGia`$#JqUP3&c*5rb2i-{$JHEYOKT&hD1{mo!!+T!b-ya2GRQaL zK=#=$LH7|#5c}1si>C?N(_a%<1SHwV)jVw0Ke)kPg-_-s_U0br>1`|R*oR_|2)uiP zcCCWEx4>!D{+?OWtBtmTH^+rXN{{l3(ftfr~EZ?IV zWZ^v=^echm_fulMi)oIstDM8>m(7#?jrPe2o{7P*QPkNh(8z-GP0x4>I(I)`vGrw)2it}nZ!gc zMEn`sHow>E zQh*;Hb^|PWrklv9$cw#^mpr^V)2sNCa>qq;0If&&9PV*n~PA6t|XH(Jnu(@_34*qJ#tbSkTZ%| zgE+^id0C@6c{W{_bbJmC0^bY(UYaO~?pxt*$Wmt&f95ek6S+qH;=_xGqQ=4!{QcR_ zG2g1U>tDo?kJTYBR9%1_k`;}e5U;k#e&fcY%+qr_k(Y%2Tb;xpO{CXiYB*YelBBBC z+YE3zvubIi+uIJaw|iC*?Y*wgOllf*erV*)F1%_;rGhC~3LKl80J|(gRRl$D`o-}2 zfxYIE70iG#$Km&iLuNEjv!Y!zuo>z>+f3+^Sh5!TqUh&9L0R+-Is32&Vnx8AffX0& zCgkCW(ixvEXq^)gqN1ddDftZLd``(SG~Y;TXbVF3*pC$EhKN#Eg$2gxR(+i1$K!xy z+QKQ=bf`}I_~PV0&W>U~He7&kc$&wQ-K>1hZnNlfIFTy&B}A{{xK>3UH!IU^c%`EB z<97eO@_ujqIY@l#cliw7!4EN`MV}@9)lQ}J^OG|-*lL#S41f-*78!gF)@c$+Tsnbs zpKK+t#nL+2GGF;GW049e&=4drOh|PzvoR2g{17*G!8lL-dx8QAfe1|nM}$C;`J&Bk z?j$5A&uISE!h-CiXWi&X_5CWHA#ySCQMes#M6?^sTIj6JX+de(NX0)=WBF@~HG)uU z=85o74I1$(-ItjU%9u%IkKMamwbibPixV`=d#p#hym?$9GdG@N*i$-gVejw^5bLFX z9N#nmFYq-leMiIEv*G_9_M-KG3>iq7B){3^mB+z+vHw?bq@~kh&J%-`$IefoB7-_$<{~oyW&pTUWc1u z;REX-bv`oDO3@3*y*n>1^Z=5}o*sXaK&3$`nz;1h zMZHRu0d1F`?KoSxK}B5YlFd;6-u}edl^8HO2H>C)bRjd3RCS9E$coXha%dL{L_eZj zkctPjrbYU;IOP%D-_W#PIR)YFQ{Vfrj7_^%uAhOcxL%#(+aLP{W0M^Iuw97}{PE-T zQsR;a#`9#V71$0rH>jo?*uq-Kmj~2#9S*T6dxQ`14?JVxR-`26#*CS5BKpnHyx!O} zWU(y!eC3{*tG#o0t~b?C8Sbcguv{|FNWm)Rs~V#*!jkt_9p=5G!S&ebdR+?S6ja0m z;s}%U8y5=eo`^eo<0SmcT9=%S(&|Fw$AjPmx>+njMk9~YL*4@{B~=&C77L2zm1g;? z7b;(L$Ky5alNd{jhp$w|BUX0#*C-1iM#I5t)`I`B5b>G~10JWt=H{1cQ3&Xlm@B`Z z!9unQ0?1Eu4gr?7$sW8&biwN#*){bS9Qk&X0DYH!4F?B0`FrC~iE?OW3%Ivf9bqdA zpRb4fV99GcadAiHj5IM5X){+vwh^&Ii?ZJi;)v7qEvGbvr(*x%HvA2T{QVE(UoOp{ z+VDqHq1G)@EAQ&;;R9$6tBpZ={=$tM0Qa3?F|F1W{ykHAUq76$zYs@Jo?V>x5l?W$ zJ*@{GWbH}@udp34SX@g}$a^J<>xKt5Hkm-~543=I9q=b0UMC4mfpMNRG*|{(``)3r zZLDoJLd&$9$ag1@NKD9*-V&|oj!DUU-OeyfpQre&e4Rc^Ix&WYCBe2p3do(^6l)Qp z71Tt;;@~{JIP2Es5hI*x5fWH)@UuDsE5N!-9r6z<={4am87%S?XIxcrYTb`t z_OILilovE%@*haIKnml?^U$i{dWO=b;}QamOq;yU(yVmVEBcRH{c~OvSU%eYM7o^3 zmDVh~S+p3t`DK?F{I=_4ZjN0CCoo@e^|0XO+Yi^WEOov%4=#S-h|sGRRs-mLiAKdv z&Y|nHTAOq%vgei!({r$@^|?B8VGMNYT4BfOAL`O+6EIh;1xdA-HRqs->FTNz{#G^A zgrZ-cUC)^>1G@<}_AT0R9J>60a7^y?=+;oV;X%S)TkfMI>#kq@x!PRL#`tRvZzEVl zUadcI>&S}ul(0oY2R|L5ZCCZ!i3{L=KoLC~v>uRg)Ej3Df2w#8+2J(JCzfsUluuVtG(dbej&evQxWh0MlpwYQ&_cX@wCT0;B^StY)Kt zbfEYgcl$Hz%{Q5CZyb}sa-fOgvUnFOZ_QHPf~;^Nt(h@{Z1Qq7$~A5Vt@B>C#CEzq ztp@-i1S%)zTT?uT_Dg4G8TE|7N>fS=+#}rTe}#R}FqyK}W{mUXGdBKZR;ISWH|9-H z{~y`tn82JV_jCW-KSlR76|Jbld_?QW9u#w@;ot?;Mn*#yVp9Ky`&!$=Mf~5Fpve2S zNyMf(9C5R%gn_Og>&K0Y^a{z^zgboSceAl)mIQv6yVp4;L#?{WCbv)AcFUTN^v;rB zEqsG*y_>x1C)gPiJ=yk{kk4hfA&rynZZ~XYYo4Jv1p$0`XNJ!mL%>y4gUqyAHPkme z@i=#AxNbh3?oYa4re8;{*lYqKy2jF~3&y%9-qrNLn|l;W>Z!RT{c!e+*wDa1x_Qj; z)?}5>$wJ%7=JyJf|6zG~*Nfb@-;9R2k?UGCSN;+n)8Z)+@hLzzm5=caM}R_8A(i{p zK}vNYC8$F!^lPv6a`y{;-KPDe?ucPEa)ct-Am+j#MmXY079V^z3RI<*;c~T(=I$$8 zR0f?XwGPDgLk&N~0$fI)ixK5@ye1lMHz5Fq#r_J7BGA@a{-I_J{9(n0G`a2T2sZZp z;zPwg@~PHk{NY|Il_YN5gcKG*L<^Cpmjbq=MVrE5?@%KW+$E*GgA0Ai#@LE;&Ikgd zDnU?O1RH5wduzDM+I~Rf%+js-@wv((*+Jfq(}m&MhH4hxN}!!6`jvKlHfKt9*5WhL zJd-6m2XF{p@x=@NwbfP9xb-5}XrKR=ab7_ZM&tFdtmDF1LcGTO>V8MrE6;v0$4L-dr+mDfNtYtrS{<98E9E8+nfFag|8gk19h%;(jDWoyP!{%Kx53h0Kwdz_CTL|p>k8A z*G#$QlAA}sQDu$M=%eR4un66g09^Ph$8%>9DQw^r$S}{2yPHS!_fmI=+h}1IR?h0fdD8<5AEJ!AI~mwD3|7%X;5G4 zgJv#~6Ely2zBeAL(hS021cN_D_K{IGYE~^V_)>{n6aEY9GmhXcr~S%>22NHjQc4l3 zxmGDX!>(rZ9$EB|HrxRA+Uu=0PYyp34#viKLaBi%xg1ARdpkfp%S=g1D6?;m{8X0c zikqdZ_oY`FT$;pJPP{QK6HDfKp{bXw2J0y#=~ZOP7!KPuC_x3k66{=E?*=TwZ~#pI zUkOl3*?89C#$ipuO?>~9z^|}3j>~lUu@+0Ng{r&JKgu|ZP!0cD_0M38^N1Ut zTv&|Oa!7)TG{Pxv>sCoeQePhQv) zT2uM>W|P6nlS`+*I!V=TIfi_N6w1I-&|F!we7O`E3qB06^)wodU25}SnEgz^FxRhy z`QsofL^EdJ*{uA`;P9~8{qrBxVEuNt{oq}F_UtxpZteYUNd;f0hdA<*?=F(t!ez5y zXO6V2!3_+80~T^2VSE z$|s(+sdOfYI0jD2hP+Hz8$*@9f|aZ)qJ7KJBDI5m=le1YuTs}sQ;r;c(oHPbfw3T$ z3IQR0D)PQ%H3CD5)#_W%pxp=t%&XIjU-^-#hvbz)s*EPf)8_0kd>>z#>2!|&qoTX9y}jR!=%Pj#NgaKf zmvpM}ks6myJA!{c{45x;65Tn^a`+7QJ8M69nRKElvZTqnSQb*j0x|XEuZF{#LJ|43 zxYWl~H|=5>EE};B+5&J~#YVpKSLp14#Z|A%_%%DV+grluzG%5aaM^ri zAks8Fo*&hdvdDLg#&=k5B#(d8TLx{Pa5an5bJ>?FLsbU*h%9h|OH=sFAdH6M-Ho?J z@ZTo4798BVI5^jIVa&0oSBf*VJ|(_;xmC)1P#9>-!#L6;}PpqM#=XStTNd3DrQWV6YNC@!8^xbw9vqz&a5N9uxMbca5&=cT{;R+c;C4-wrqaPMk9)hr$lch{! z%%}(upVB+*4rhe2_%HhDMsvxOA$Nnr*3jZ1fnpghrD$%fcT_z#O{2IJg7Vq}NRpL9 z09X9YaUe@@a}7qcQz??B6QOVc)P)bMofwCK1{IDE+^?)z_N3$Q2mB8Sc>nU0AAk7Q z*=YdMkz2ppiyQ0L)+PMYD*Wq*fJz~HeCv7RV0gYq!$i*YK$nzulx9`>V9KyfNMI%_ zpN%p_CODKkq4P^jUfqsIVz9UeAH>W9(I)L48swM5-<~N^=5lU^?e0kBwljTSyB=~) z!@vLj+wedM5P++ydlZO@RlbOxd3S9X)q%_6@4Pj(MbC(yvg|*cC)yi6V14&lbolY7 z525xey>I29FueWBUcU(BO1AdQr#^-jb+9B z3W+f2)^#BX`4t!e|Elb9p_y-xd)>Z98;|t0(q;ogpGxqoiUo#*NxJSF&_zJU)Hmv$ zD!NQ?NHcdjv>^bB6z;!`vUR-8B!w?9Fc=c~=Mr#WwGI6E!>eljpoj|4^v&=al97HR zUG}zknD98$PcUyQ_Gr1#MnB*uTTDc)DZF^ZfJtBOvF1!*L#KKp4>YHX@|r>bfwRDI zT|!6&83#t{j`!HR@-8G6toC4L=m^Zyw`r2ToZ))osp7fWOpGMhz*Ogqv3ZAa0sm`J zmY*s6EFamYW&Aa?JEhO(D5>m``DH-VI}dW=*#m4tX|HGXcrP`d>qrOXt*!xMz136j zU4=e!7s7;j8G(Rs*{HhjawEwFQROi`!0T4PWFnW5IGXDi zoH@Ul>@BM=9$6GjRI09-*zE(s5F4U5y&H;trwK`Lr_eJooaY{vCxQSEpX_{e3i=Kr zStit5MiwrdMV4^^EWHWM%O;|KkN`qv9Q zAl*+#ygF(*OPpSa-PyP@P?OKt(_dDbdrh+2H^5&D$yE2Kk9qDx4dJLt^1e}sX) zm85|Shkv)A5ZRx>ixn{f^1|@83%RAzY|l20QH?N zl18*w&+Q}g4y;Yr?pdGown=ChQZ^!-f3nQEvYY`#OE!~D_wf9?*ihUWPMfJjNaXzt zzqXDjgnL>fY2?3+yM1<>XBy%Z0zB;`@xb?b%zJA4$7a^!FXW77&S}{@5)%h|kW`!N z%x1qA*M5sLFT-|-BqSk#%3YK7ftG=61Zx;gD?JYelpE2-JHXaN2HWUUfORBgt9qPd zlW(j__etqOOi5!v$2e_r%*bv^ty1|!c7;p*#O1T)J|PcH^c8PEQB^`q@jK=v^0;~e z2=GC_Y{n1Fa}Kt-;eo#*LC$X@K@NaO5UF9inA=E@c=aRLx);6HW-Lg~$SU4SKxCRd zUPd~kY;DsbbvEa`Vyc&1!hUo_B8w&MtZ3{_=SPO<@-c&pC?U&A>C_>N#=&FHNlDrn?}Pi zdPntj1^)Gav;zP2iNDPuSK$RFqYBw>Zdz?mRE)AJZAXod1ke)wc%Y!;nn?_jcke9s zig_c{(fY>jND7`4k+wrRrg%tjUr&<79n$V3YX`n>qQGwm;G>=h$*x9QMoM;HX@LMr zGD-K+2tIs1*IpXIwGBH$=6AZ*Uw(D_+uDyDAw`HknP1#8OVG?bk1pJtw3)Zc%jeHw=0b zZAquMHvSp+V&FbaMKhHKHuIlX&i^@aD2?4tO!CbVO(K744{xRGiE95rU38GcAr|5Y zKY7y*CQuCL_l?KWB_%!#?U2o8(>wNI3^rg_q=W`W&4T~3VkYt~Me27ocJ^4dbJeZSI4GUnQ_T=A0Kk|HVLtr0&nP5X*NcQq+1eB3_IyDLR6WbLaWJ z@Oarz6&jYBUyRD6?)(bKIf;BhO4pA?0?k1e+A)=iHVl{jWI=I;hptsB;X-Qn3j4a3 z4b(BNIh?Jzrue#2clupz`W0W zO>}HkDY19XEp7_uaU-kiz-3^LjWlZaPm_SDJx{}7eTmpRtcSN2LGm72Cuvp|^ z1MB5Q;MxQOPjzn@UnpS;iAquIR}Cg$2^rlG#Jv*~v^-T|NGk>lk^jFUnFhyGL zQ}6`Oygt%$_LKW$WAmrl`k#-P*X$SIl3BFrAi4j@ln1`)&qh&TlCU*AFR+%!B2MLE zbvCq~`xPE!5|59b)P+rPC?oKZ{0L}G;n}%y3^1`oHNErYz7aJK6zskB!ES7f%`@q0 zF$(wnby~{mUgG+Z2qKz?ZYv*lh6h47v(-G{rX@|2!KIStgc;SJXw-qOaQqE7{WqdM z|HP@z55Fq$X25N6v!-dm^0Go!-f%|GSw_#-eL{abLt<}A`pT^Xc!j20y>2Nw*$Fk( z5k_?|1>rKfU2>PmoIgJz2cZeHIvUqs0J!-7-6;_acoF)TSUR50x+P z8RyO{SMy{pcW;x}_mysB)Bn>;Qy6*f4xmo0q$@JE2a6jaPDJ%lCJ%Y#=eaMm_lIz+ zfW1Q7N7tD=kKhO((h0P)TpFc^svaI_Z^5R)j_x!GM@2)c`&SZ>h}95XRGU5J5BNxQ z#>Wf$lBOLWji;qaVzX>XrK>|bzvAp8)`G=~MaV`UnmWXo*41*|LMpp6hu@q$0 zcx&x-z{`B(7`!hxCF5d6`te#Ur#&aFupKf$E~&FEk*~K9W`7nf;jx;~Y`~~^BJ#aM z@7!#RFBI=~2;W)v?GFsN`OgdTCyx&xs}r~t^oG|QHnvZsyA%F}Zv5XB=;q^tWY(qv zG}c5k)@iT1K2gib_^h=?xU>_&W&YtJ+8oYifzA#`Bb=RYwD~*q`=#V|?ES3hjm={& z2-tLFw~8H1b$V$QQ#&iq^aF;aN&1MXW=t-@+5G2u+rv%!*@{>U5m#+9ZN%@dqepg7 z$q7v#EFFj6@!x=%am%%M=-%FyWVj>wZhURTVyseAPk@cA1NY0cL4IQ8OqMee%~aB( za^p_iN7z`ZSXz&m9*=ok0(*k*eEl$947nz+J2F3x3sHvB7nqI7_Ndi7i$aLP@7>c2 zyXsFr-#EbN1e6T0TS@Ti*UBa+E2qYJri-a!B9YfdGj59^G?9KZyKQyF?wG&=D!tus*IXjc!RIVCch5Dx^P+@0a#K>6zBNg|Z#5RSKOfspa-iWkGP2MA|^C-j%(R0O$ zkcX+pJ|GWTaT|pI%IdC*OTx!}KToO3)9(+3T?3yDa`82sWq7wOKzM5B^vS1Re5TELv`Ioi zob{1sqx~}&8`Oy*Bp7sk-;W>J=TAfhUH(2|Pz<|3O0(%944Bhu-NjVRSb;732i(LeNn~Z*UuCai1BjZRT0;n9nvi|*e4FxbhSI5Z zIRai1+i3@)zE5bH0g&bkkhm->MiL9K=@)J3@VEg7@46o6@vM}AN_5jMcs4?LOZ9aW zs@UY}j~Ayz&X;{Qper<|v;It0y6V*bZN#|F#dwVRwS4AR_<~rc_hjJ=S1a2k#q$+@ zljT3{5^w;4@g%GZ#bGPHhO%XFr~2brKDJNggO|**9QHoOu*O}%jI<%{J988a@AK{gvU#E1Z1`jnt6Ny2QE~QB>h|Hnn z#FbG#drobUqgELkQ@ai|a#WStaZ+0Vxi%VBPYBKCJq?n3uSaFOT6+pp9>SF5)Vv5( z@I>$WmQ4nQeNo+c`uL(qsOu|Z(0<2pJ?q$*AXTV>E9eBCA{{xtkI@6Jh?pRqT2PmQI<(^)_QrbtxMrMZ!?KL zNIunI%ot@R|BSnmFy7oitF$Vby9fuTdaY+=@3@93T?oVq$>(wN4UV6B+St9v05!Q> zs0APCxx$QgN0j}i@7?4FfLrv}-MSP#NQ`g!DyMbtw+BjlXl2Kfg+0$#@_CT!pI2O` zEUThes-`)rjCbQSHikd@Pp_KAWc4{(RMiMzZ6UHa-kVqN=9m%e4t&-P3ek2wFe(3$6(MU`l(Ip>cPy`qcGw}r;YA& z!m=~hT9h}pMeR)}m9F`o-LrA6+H}i`3kA}OvMvv+rLY@%&cTU7%OTIYlVA0o#P#PH3{#0_Ru@IB8U>v>$FMZcL8?&bT&LnQ;x3CSQ;R-s zv!tZMaG)NHQ{G~JZogHHK5qH;_kKlG|M3Kei(36PYPa0OfAk!^77Xpic0u<}lrh-Y zknlL;)b1a8Oia#sba52Y7UJdUsZYl7}V|oY6VLSCIXZ_~5C80Hm&b8@b zrIXpOBoVMF|y~V%2 zo(n{axrDyrPQrhYjnAT~u^wk~v74I%iS%qBxLn`+MU!{<O!^fD+$};ZdzC2xi(7Y!{4T^9oM`Gw4YSlo2#eEp<3uZ zO8!DlCvMdMJ;RC65b{|+jltulpR_L+Ih1{@2+>kxg zv%2zMEVNWBu&mw~<=L;C;;iNsKBa272@~X4(N0ULKY=~@IL!s{Ly9oHiiB>|#-h!o zrfp(8Dz`H>^(C4}Qk{Mf|8`L&#dp$OVU$zaL>+lZ&ju_tr*OUlHZ{|T<#T9ETy-!1 zUN4+lX=f>Ss>yX^aKlN(*rxHJu-%&AA%a+(BZc`Zr)8&#VDSy?0(Zq@+`UFfyJhiE5$x6RW&rwLxOz`s*5S|2_UR0_x}a$GgU# zp;xx#=|3)wCT)DKxDmJXs&U%e107=Z@de;h)Bo-ZBJY1V(3HS|rk9TQq`C!c714Ra zu)KKbo1SU&9Bpij<$2GQaa%`rh78zv24(ZxL-dJ@cj76xA^poU4I|jgU&aR3pZ@d-orv=uzV=9 zDkwOWrvH8K=G4>CmD=cc^++=5LgVk838#47#yVj~B<>1kJ#G@A$n*J?`qI!x-0jY* z?Zl-nF$gToQm6MsXPlBaaeuYJo$1cBTkfYr2`h?H*-op0q!zwErJBt>D z?o=%qH%jSGi!=aG?GoVbVC*Pv?2xq$`{RUv&4RH?ZK&|XEkHK@W3X??!zE_Ifw5pW zzyv9k>tfUIR`^}95_RA0X!;YD2{wh@Oe^#m0SGce^Q>5EsIk^@V>4twM>vZC1hzS; z{04EG8KIpH@{}P*7-N&InT^oR{2#jBGAzorYyVbJL}?L`?iLV`j**fEl~iIBhVE`g zq-$mX=@RMgF3BOK8|m(5sNsKd-S_)E+xx%X_X{6j+xReZp2xA)zSjQR4;3mNU5_$7 zwdGireDxwH&iqlzxAq93Z<4Xr3W-Mg3t!W<)5x!KRh_{<^E6T{?**$`J~>_)qIyo! zxK^UP3_0ghrQlqP275&71H#az_z)||eO0zt5C|fefWN}eQI|kpdt^D)r!|M8He+8J z^~dy19@bl#<-Y;*sF!>iWKvGH#t86+oHt+V3mUs<(y%4yxi1tgVjYibbbS_`&;d@p zD|D`D_v1!&1grWS8TvEo{mJ0QpAX1t%Com=X=o=vODVXho&}VWWh$$Q@yNRa319K>XjFJ)Ai=8WuZL?7-Gu$vi? zbJYBntXi|*{_*iv2dkTv_IP7g1y`_w!(XbXrPb$N)t@7BNY=aCORubFHt$G~ts6p8kj?~$kx?9`V*uusG zOh@BaU_tuir?zzIh0kCW;%>3WR)q&wpG;c(ceA?yX zHC`p^^gr?0y41Tg8=ib04XlCgh(eocGqB!|C2q}iy(_FPS#}W|(fsUQDW{NSzeBVS zGHnbzc^X}rjpPaiFff0s>`L+r0f<`2yinfs@f_u1sIljwlBCSyM6)|9-oWnQh;Tu3 zan@avQzOuPbC#%_D*hJ*@{CRJy~ogT zdAhB$+!@aCyr^8W@bg$w2eBI?kmvn@R+L!O^{r%upFrm$5@r04gtSAn8>JFlI)dgW zgllSvIXIxCVJ zw*4(G4y2EPkK}GK++_Z?)m{9=GpuCVUUA9_xl0af8?lO`M73yvN)jJ8QW0AL+0)j- z?)y_w$2qbxy?7JWWqd?dmAos zk8aH*)ysG!OF5t0;>f>`)CUunY%;;3NC^Clmq^k$_FH?9tz7}vEce4dWJ!XZb?pE* zJ}%Jk9eWEuB|Dz;32|slDawQH>o1Z(mhUqo1XI3BgU^B~y#=-m@~_pe>k5~t|7KQ=oiqj<*MN5sW- zS3Y`o#BwTiTsuk448vbNhUIlnor{`DHNPbEowZeGwx~BaPP%XMC&7r4v$icuDV1;? zykVy+=>5K$Ia{%keg1llSY#F5W|-n6CDW^u|9;56=R|%Sy`>zE|8yJRDW!-n?IU9LuP-aMs z3`gM|0;>!)Y8)Qb#RffBX}rZEzwAeBOrFZ7fCgF zZ0T{5A=kWf{1_%l!?`d|m)6p14_x!lb!3np`$;EJm+)PiX5fjF%Xe>lmgx zvWhq38EwVuFbBxSKGS!O8jFF(ygmis$Re%y-)-6dk;lv*JZKBRRH8#^m{5~m+Kb;dRwv6C!c0wY>uP%+|(w7+6({$4pXlTz6Il*ScP0A6Ql z^g;%778AHTvXAUs#4w>U=uhO#%5@t~IX?(KTgp~N&XPD@!*}bfv%gOqZq$3V9VU~= z-0IEj8IkO`8MTz=Ep;9G!5b$AauSXKv&8N>soGuBhcpb&eHsnW%-9DGQkwwyZ7oQp zaNe9~=IicX9KFVVh+Ki`o%&KH5Yn)r1P={t) zZsKE08zsv}E4!9T%Ho5C+YMZ@nPYcco~w8`3JR;}V)D zL+2&Wu9w6$%~UZ@EzTsp&&>o@u!TV4XbTM5DDweTC@Sa9z}rdKe9g%*Wy)$%e(hdr zz>Ab!C-Qc&_Sl>j{Og@8W|j76dy*q9k7htDpR+tBxvuxoVeMry!POsH0so$1P{+jm zpk_s`l&jE}JslCxZJ<{PVpoSm{07&yS58}gw$}$srF5sx7JJW9c%AXUg9{!!7mtSj z*2sh2`9?Vla~0U6x#IAF3trxAv*jq@OR?z$s9ni;SjCN? z_DaB7p1_w^ox?HXT5IcfR=0Qoy~XhnKF!|~N8w+gleJr}t`07HE%egeL#KGc6KDAI z_g|(I&vc|Wu$RMrAg1t-^OU^Z_GZ0XR-UjJA0hV1zUY3=?KZN>||N4QB|rx za8{uzi(j5eVqq;?B{DS~z;!?T30x;dtLb7BTc=1q|815CPeYMS46pUsaFF3idOxEt1tF4<0Le6=MQ zgDxqAbMb*Gn-y=`uF4}m?GFrRY*)>8Ih(85KXk|&*mJm*R$mc9Oh{3kpEo%tdhuVT zALtwEx?XdU%&YE}AGWx0cfk~mZe-^@Xwc%g)W~fclrwmQ*s3_Zt{q9W-}u-|kf!di zUSrPTgY%ALCvYk&(=g1F=?%;l*6&t+jcxe42VI7_(%r*ET0!6CDkP-B(67}pKe?{r zK4(IwT)6x`f0lR(LaPgim}NU0i&xumxk7J0b#ZfEbKV?X`F)#tQ2J}vUOA>3&~eK6 zVs)51yHA%vs`>QLky(8-aa<=c^_^DMG?w*QjS;yG=u1 z{i+Ruj`!e;j$~j?nl1P_(SR*>T-LKts&s@~SbCdB-NY*;hWDpMx^_x*sP4*Ue(uCm>PTnkNmyTCQ7*o;0_-M<$nB_b zv3QCRp8VDGcN~X0QRCk4`lV7gxIcbv#1<2T3OXPWaUI(j6B72=w!jN@Pbk__a&4v! zjGr+X*_h#cGGSd>q*td}{I*A%-y?6-b+{tfxz+3O;|JU8nJ1gy@FA)e&<_EK*gqPw zAVx@&>t3MqoD}mz0CFy*=A;b;i-;9isW9XhKae%LEpT-6Ba6@)m2 z03=i}^(|jA;-Ukd>NlTRl=k#Aqd-K5N0;WBQ?FrS%ni=yPcfdWRd4EP9hl-g!7gBg zg<#R)n3{Iq@kpn%*9nyCWDPctU_dWC8CdmF_9+>mr-)`BPP!hBS(nj&+(VDb9smIl z%7EnQb1dI`@ro$>j;VTZOq8wG&N}o+%C%u9xSU=B<}L2?rso(cKCCC+oVU?(d*rj; z!G*OFicxz|hp`{VaOKHAb(tX9CA#fni1R?u9-taNJUU32QtS_-4G4Z4v#&_<@)(Vn z&*Xw$zgbTFJLM83weur+VBqRe+OO!>mq|+h%T1o!&r|-6XITU%1{RFuCZm zlYD%`y{`ttUlH0fb9)ef-YTn73V+uaI}+A2${xVg_x9O4*c94P1k#)CF#SR?-ka1i z^ld?wy8|tc-Ly@W2$bm2FwLzz-$F(#eS|2u0BCW$RrXyVN%|JGRpa$K-OH>qR0V&a zs0@@*;!dq24tKLh_BP#+_}Iw&&XNXCbM=(NYB((+z9`47VQyY=JVNqN@Og@Se$w4C~|Ds ztKU2IX#|NRmp$O@u!=Ssk5gkw1-#%sWI=aj>w+?CYa~#ZKO_+I``2OBNBmGQ>-w+D zd@_5jX!oqdmo{913ZS#@Plk*oG2Vf8KZfIw+-^P{P-=fCXmt5rweA+X4g_q3;QZII ziG+zeoE&D$NY}k0jlNd$dLGJu8u(Zi=eolT`!CB;OG?A!P;B#f!li{+%d2HyO07E3 z8ZkBXS05?~r0DhART2}foTY|wKdWhz6uXv4>tBO3uaaofh0h`%YswWv@DJ$z)@54)xAZnb*Sp2hGgWA5OUjMDH^RaX< z4qBMo6LbOlw2OIpVB_JbqL1yBOTk{HIt}5+i|u9Vxd8(EoEH}dPX=_-FKfFiL8|EP zvqrnC_uN@4zB1ydwYC`}3>8CW7#?xDcts~}!sNR&^Dwr#QDaHt?Dvep_-eU9n7I#h z0{{eo_{$4tOlvlsIoGbncsu7nHWdQOJ0&v7e5gVrZ0wCXaz(%C`0pUjraAodyu94G zxuR7=pxi;jIO&-r43GMugZj>qvQ`kBSG+y2p;avUy>h6+mkU1+sC}vw@53iuwd!#z z+^rF_2m^v3$ojsWzXVS=b4Q5A2Owka-A{AYm4r^*#5EoL52plQb3-s`$qW)0yr_g- z;Jt-y?pLOHl2+VU@yEx@&49ftx5v5XCeX+`cHFvDAJwSKi{|_gaa8y|IWo^cT|=yR znK+H^lRWX{iBH5co?J)8%5J9zANCK=FJ~s69NN`aPLq#CQR8PgY{GHd(|sKX;9XN< zh{MNF(brj@3tE;+%eXX#yz$0FLD%TN+Kh;9;CYy_#>$BCEN0w1hEtiSpZR`6T8yq6 zinE?xw>hW-a;tLn%d0U7x@`cWQ~J3m^02Pg<33x0#L^|FXly8!oYA64J#NrLttl-n zo$t5t_ivebSaXbfrgLzR+ueP(a0FjMb*a7&!w+m|ke0fKiqZ87HE;2D!`#>>MD>`F z|5GQO!YZ$+U^+84sjdRK9@M4Be#_aeDpB&9fOG zwMZKSt}fVqwmytlU=_bR0?DJHpW7L{LT`}?hq9R+#ihHSZ1qo6#ixBYYY)5 zrsp4PJiZnHJ~nl1Aw)k z>&}&47L0i)OI;tX$8Cp4qWg3N+7~)3Iw*tw4=$7h;Np1S_JJ#drh?b2 z@a{t|{&xE(;1J&vy_6k*6nR+MJ@5EeB%0uLsp>7>pHrjqBZJF3hx;hS-4w)OPlj9T z<15KEMer?TUM0?89(`Spi@)2x>1ny}KOVRL*+}6d^y%21D2wto(+`pc#` z)@~H@Y2>GbujO=wnbAp6P9xSE)4|`)fBDXHr7Nwpp3pknmYjW9Tmos`;lXr;57)j6 z+t0OgwNddzp)8Jw29$NhU)bMn~5+D?7O|mqr{UOC6yoyx4h?j-P<|iF3`bbh! zPxUh8ED6WSA{&YZ!@c`hU({Cay-69DR-{;k^q&N?UcJ%u{b{ob;3%Ft$j_m!MMT!; zBJuaf!MXl=6C9vgbL&@|gSUHT>ar4f?&{>xN|#MTBAsk2ISU)w{?rt3iJgbyjj^isO;R*3ekXck zxE`Qdgy6huzD6*3GQXjDMJCS}_e^q(&{5=-RL6wAuSX|aRfE}t`YtXG z!2nBPbD8>Rk}<7E`>b)j64rx6NF3d8X8I|mq>M@)W7FX&LdmGDR-!9| zZeOB$&$zunH4>ovUcd;9L4Ytv7KtQ4>s6umaN+7rGk?v^Cx zb(ts>JnJd6nI}Oaqt(>laJ7gZ8X*O#z_Mu59poX#oA#?JS*nXGvByG)w(& zvJRL{VPee-*wX)Rv z<>Mw8#hg*U#iTN{3Z7ZXH>d|vKX6g5eYrdkhwae;RDBzWQP{QZ(m{lNtu~2QWdicW zS6I_{i)fYZe@*qd*OQ9F;)evA2P67R(ne5IjJy5cMK8SRaZmO6i zc=(>+?>Atj&-Lho_l}bkFjD~>pTpsjfgqA!LY*gSjhE)}6Vs-ZbAYL_VzMXY1^FtX z@dz+5PW5Pcw=htBnxngZc6LnP>yz%jS`0udXK-(J>+KjHX6@-Yms-sf=r+pt2CJ;n zV`*UdwaKb@a<2!%R{gq^4i^viCM>Do%WJ_mrBQ(^3_p!1^3tTD$@0c%RwL+X?KU?W zJe@ZK|FnCc+DQ}$S%zpgA6K)wWkae~n5nC*XVR6g2VeXmcu1YM48ca)OYtMr1!&dW zhR=d*e=usixJ_+5z896(HGM!B@$=_TgBJwc*i6#xe)qZS*S>{pCpe(T#+9vV=flf=Sonor=+%9 z3kuX&$hxW1IN%gcfUxwO(!Q4N5YcbsP=l$CDAUYTdK|+HZWjlR~dNr8CSy+1DDD7`!waJ zxs62v!{AW-c`9-d6JHr5789Oax z_j83?e;Fj&7cqr6hbnc=R*n1-N)0^}r%AU>`=o%)DA$43fXj0c+^2oG78&OmvF*aj z1ThAso?V{v(@HG``Q2k0e!?wH*DC}0PE(~wqbK!X)pbJ_25q6iHp0Ggz9n}q+3!RP zxKaK&CnEzvyJ}pgyai0^6{fk<@RB9Vcw>&P18JI6wqjiYDOE^ zZg7+Ni$1h9Ww}3R5Di{Q>6q&9aF{!C{uca!nIpLZ0$@YCBKQ z+jFX_9dDkbs7;FCCrR?MD8l{QJbm77V+Bl;l^>LUDjWHG`gk`{$FgYyiCeH&aIZZ5 zp8ZHqNGt)98`uXD)l=p)27|xK-tW`n z_I^%n-VZ(--4=?<8M?*s+_b#jg^PSP*|ygr&(5Wm)waqJC zlq^(2mQp>cRJ&CANj8q2#LLkRRXr(g=9WnG5~jQE_i@DgRN4J*|E`KVrUH(*r1QN` zw7i`Dh$)v1torRj;BulZ)kXg6eA^Ou0NovLad$BTb1@6K9(*Ae6OJ;?)mIs0)_C)v zm#ewKX+PzH+GI#&%jYYeB-5tuVtPNiJZyU@>JaXHNqDl6jgOw9UNi_3pXziTEtOc} z*+Z(JS21pYWNkmYDK_z&(N$UJQdLI-9mg`{ki^R4)Q!?{ZLm{k2Pgwp@@|ZntNuA& zumm?K?rm->v^hSGNh;Bw4rM|ZM*kzMTzfcka}Bwi5Os}N*^UQl|3abT`9-!)K%uin zu8rm=G02fo_y@|UTwc{~utWbRdvfAhKuRa@>&(NU$W_Wp zGg$4n%{b5X!dLBER$}S6Wbd>#7A&$~v-IX@>(noipTi%c89iv>Eo)Ku8>#d|p8k@M zh-bp8`m4R4;Tzqwx>cFvNP0!unTDfteD;XX%VAy=f$r;z@%ZKJf*0j>@4F7tmu=RK zfCNsYBNEc==@)|9xbQ^Y!)|V~o)=+U5c9YcA?CrC&rUK@!m2GAXq4})*F}RbQD#?H z=}2a&sdmmyWV{-{q1U8u)8`BZP3q?=%X%D4ny}|ak7#+qt3Er3)Vro`v$uzKr&7px z3=rN#83wbn^rwg06Y!89q2XYGr?njv8Dm(0utO8*r$~76r zWvXg6*Mpl`%_3z;BUP)~2U7E1f6uYMIgVvoqnPR&>K~J5Whi?o5HxsER;eKnXb(rC z915<)WX}f3mm+VIk|~tolH%9p;f70M7RI{{Qa$orVPI&tzU+&7&j-OyE5-9nZMFJP znXVNULmmu;uFLC%1(7JFaDkiC`%W_&1G-<}e)QoHx>H+AH&DG)kJjydrd%uCU@-KU zumam_?#*+coh+aDgBE1|K(@2g=!yIaU+-(DY@T;t%FtqmD2E?5uT6#Sq|v%C>N&}D zF-+#CikYm7x*HrZCcBD5w07p~utjJn98yCOl-nPh*TWNcvq*~N>Rhy41nAqWs@|e0 zj>atH1;BkiC-I71O;~P3i;d6sb9-nrpYimbCXf>GEYHjHG_(7fD4F}8%p6DJKEraJ zFR4y$8gYwW7}2~;H7q==h8_a4Rp$BKXKC(`~{n1F}zV92qBH<6H25VEw{!agGCB<=a;l#Aff zK%eqjq_aKLFpS@uH0leEW(pjNp4f^9<} zR>-R!b-_z5?QNt8LbH;NkYysZyMHZY3b(>Nxw(CU!7nnnneeerayj)b-izd9RH39( zKUSqBzkP>7#gsndSI-`*OfSFMFnZ(=(-GK7SSIrVeF*yr1S;CE#IP|jgG{#A%N zVilWi2Mg*F@K6IQn{R);Sj}7nPha4RThJbc@R>FI{Oh)a9IvnKgew;RW>u}C)Rqy1?F|JWKLwvO84qU2cjbghywkKc3Hz~^!>^y~z zT1odcgv)FvgIsoU>d#a=J)Gt`{>&`rWu$B)KjBkbK)NN?{&`u;?M01?73&!+c4|(x zoNtFPBHgcjaT0`&>g(`J2B1q7E2h#r`(j7APp6(4rmp58{SeHm-eUXvxKpk)wzL$R zZZi8i?8-hn1`txIF3EB0ZoFv6QHdChvMa>>jm&bMPfC36KB<5;2zj~}Cf3)QA+Svx z*$Jsxnou*Ti2uB~#l?PoK+?nSxvR562)Xzbbf0XBg6Vu*8Jh{Y|*KUjruq0A_RfMNs1?2VRho`g- zXSc@8(pqwoavBehSs;a4AS_fA$Mel8v+R``l&8cMUftg!5AoyAsra{+GjZ+X@3G=t znw%T$`b3VPBH%CePTdQ!jn30{Su485&2*Y$n6yBElz#q?4t0lDE2l2r^bq@N=VnBs zc&hHjiQC!6%sFFQETGj#=<(<{*EHxvK1tnKFHXIYpW_l2JNt9v-0>UA1W>BF7-&fK z_sJde#m>J%mqR~KwO*BCpVf^g2$-da{iy0j_0Fx@FrK7{@9w@oVs?1fsY+@hqF-vq zgZBv$b^!T3!06KKo&NXwgm5Y05r@GCU&PX=P1GG zNkjOfy~jT&Vgmy1Nq35!&pM=lHKn^&+EPB;`Fr>ayMhn?ETjd?$?F+zbdc*>9qvl& zK6l~DVg6-T$vQ-6f(zOh)b#9Ju5*-fp)6JQ)Ydf2vdPcmu(!b%F42qB@-Ia#4sR|8Es zhxjC0M|#S|etfWjARUrex)_YXby_P@H5yFktbeb(b&@6v@;>CE?1W@jvUrO!Z<+UE zQlmPU=|IEjaN*?*JMS3tRa`|nu2>)*#|8Q)Si;Iq^{G571MEpo9JE`zB-fwB;3ay#i!;?TNyEh*)59| zb~t5`?%Ns>dy8<(IhCR`#`4q;cv)Hlp#>+Uy&%96&p#m)ZW zHc#CKA|D)?FnUwr3Obc=OxfpJMw3-5ij{e;W@?o;$>R5s3jp5+95Hna-kt$`6-1JY zy(YK=+o6X2LURKprh~Pga^pd9y9L#?59rio`aG*lsn2mebPP zNcvM$Em0p|fd53c`;Basb-~EalTVxMWE0WIiuQ(0$$rbwF%L2ZqmX z`LCi8r29i3^?5CP5l`aJW|6A$vACPjVM7oh{oH=GC&tQT0?Nq7|7e;-JmhOsECC3& z6Z-w>SVJa0rMI3M|JnlolFvCdY(4AI=I-B~4j2DiytW+0%Jslww^9q}jvm=)5b)3r zZb*r^8tRt*=3V~2@EqRJP&J7MM)?(Ix#uudRTwch6VNQy(4x{nIvZ*@cAE#jpu;6d z_Dj_7;FtC9@{;oxy*%FYt@&$jA#!8awQm8`W7 zA7cM33g*T9g24IolJQq!T8CjER-Y0(hMaTiH9J4!FF~?w2#&{6r+|vn{XaF1@lk%> z9a^H-=1o6BiUlW!i%~z0q@WGP(+L9J2J;zL-~K^U0BZP>=nyVYWXdTbi7ba$_&}s5yQRi~$$I1;J+vf2Rlc z&xVAVwO12WYcIFSY0H_m^FnW^fxuKdgjIp=M-~Y-tp?Oow1ub^nA6_D>KTtiKP?z6 zF8L*GAQe!h{A!$sZvrP}=ka@M3uF?j%WyTfj75r@vz@@1vMR~;E&x1ZEeQBQXAJZ{ zzQ_jYt|VRyUNnD==R$4gcKynRl}e>Ae=lNuj3kyqwusB7aK>7y{sQrMWD&LDT-I=0 zEv@lD;a1!HdNeoVaY9 z5mjTBz4}-xBc&8rlvlOtf$ifpPUolX$Sg z4+dz2S_BMr4atyrpsj4_4J22qAYHN&`*9R^M>Y(+8GMcu4WdRyKoz9HdTuN0Ub3s+^X@V6PD7!P4m00r=s$>Y&U^bpu7c<92HI z&%S?(vQ=-=68aQNP3gnvkNRf`FNKN=3jqoN#cFIs^R+Q@_9RX@j)%{#$zh^$w?eFn z4f>PJox!3{Max;02f$vB4`ZeXw|7l`ENCaC+x|}Q!zKmfZyD!hJ;isipdk#|v8;OE zVff^h#G4YSOqG};NUJ7i)Dt(V4h9T=iCmgSRrRiqV)vnnU0G8?du$$!?voN9v=oZCa1poFwzY7uHtm{sk4}{smiO@;0+$E}9R07McLvr@xwno;fd{fetePEov1VL;Ixh>nmdt{^N~L)3>l^T! zU25TP3#0F~9JMIVrl0vRv)*NHD3U3X&MLe^d`0ncm?)4Vj`47@q~nknUut38IhpY==zFNf$=BslrSe+dQo76YH!qMZbFq>=&%^}j12Y{c@orb5 zx15ay^BO*&-rHFBO3{YW$`aAlTbIC-YZbHf`x=_AH+g*#!4*1XzG9xbYp%@(p3w#v zPgc4_&dV2l?tQncU32c9t_xV6BHAo4<1 z;0(7IFB0|QNl$}rFC=9uJcH?DXm{X<*ij-%b$7Jaq&6yDtR#$?8h z6R?Iw@e$YqZ!bWchY@r1DO}hqR&iBsw?(Xq=nehtR3VEZ$ekBlA5qvZ=9`cOOb?ELv)_SeVxCll-R+qcIvIz$tfSN!rO7<~w|E{R(Clb5 z?6Twxt@aW?TZkVw+#q>}&Zh9GGwTra7iHL_{`ryi&v+Ew`U{jLv&IL! zuGV6KEavWs&iUj4=*f>8(M4I@nE*=u((TLHsH%T1@MG$`lQizUAnkgmz{$6lh(U=)PdF13G6m)?*ag*h3J z*I1&SWh;wkN|96l$V2j{iG%|%Ag@Wq)JW9Q9yil1>icar3h{kVie;=AwPpB+j-Wf% zawwB)M!>7qvO;|7J)Jp`ns}6tf%n2s^&tip4LEZ!wBu{qz0mivaPAk_uXRtJysu>4 zjQSE9?kNYhGX?Nu;n#!Ns8K%Ei;&&Jet)ixCu5MNiqZ)DO@hZQT*A*z)8UkM5b~>E zsfy_5T8xIMUw_}|dPCgqr6nD0XRtb3c7+LDPAKuiIYf#L*7vIQPz%pC)|)6^V*LR7 z<5v*CDE2Cr++|d^woEuH0_W>QN>dZ5>pB_8co^pFfCBklqAoW3O4}*$P0XYB6P;Td zA2X{>8QnDQ6zJVXTYQ$Ece_!kGzkF3kJ<>L&?~MJ4Ly~w-#-ohnIs!?{8fP3oqkpP zMXmazf#hg;cC%sOi%+82y}&Z;#93pL7SFq?bPN2t`p7w8hscl`=E=3mtTsO!%Aq4K zOF5%AKGtQe$e%qikn8zeOUTPh_)^eDv*cH8!^cI8N3?1 z?6;!Vv(wd|gb2)16t8j{h*EBmw-?v*%~$g~D18&nm&IoE-e^&1=U_ud^5t6~iFjs| zRBbmVwwR~s`S*%Xj++cpdR6*DGyC4WT`-^*T(Vz3xV$=N(}z++vu*4PxOF#x)Fv32eOaeqPy$@Kz`?X7KJ4${)c)+v!k6#*WJR^e}7xw z%(QJzRu1S{;^Q@qj9bi)Szm5rnBD#(Z#6in4tuYiR2QDoDP|a|FWrE*w)Z?v>58n-N91y{cG{d}n-}w{p#_Ql1TRrTb883b;qME2{?b@iuL$ z^Q&K%8F9{-Kk@)XvypW%B;>dwb4M&;;uA3j0ten)t$IX-Us>*4JLx?2WuNU;E40S= zPsyDSK4ezku5i|M$fcf}DyCgD(FZg&#skS$EgqFnQRk1sCzDUOrk;jY10df!hrtCl zuvg08ccrH$xt8M6@O3%+$SvgGB*Qn5ho1#(4B%+15%+Rw;0R3A`M^$O_QkL721Aa% zl@GAp_b)`!{;)-&(#gEZoD?`u2;@}C(u%4S92tRLI#ThnJ&i-3oIi|J{95GlIY^y- zDm@feI8O}_v{4^$E;K2o$*{-TNvcjZQ=g9V33x6Nd0eij9 z0*(afH>4a%k6zn7S$^>CV`L#5*Q+d>6ZAk*xNMB#AzteHr=#zczx|S4a)Y?@2t4)b z1XwTFwhEm=?9J`(mbfo#y1sW`pUUU1k<<-W4hFV!=Z5Cwq7KRU1lA-1`iOy39N#UV z@0&C!WNCk7r$&dW+6H>bcUZNVK)LfB!v$*!^37wfHx}fb;Q6y(X_}+fzRUDegy_d8 zQZ)BA{)`Z$m-P0^Mm{D9&D@wm@XCBCUAL~-`z$FLP|Sks#SUP-k$$ zUftSseFwsOC?j3RjO>KiAQu#8f9r$yu9dnxPj)?|oHLJ!C{$(+MQ742_A~UUz1#f| z^)T1gaqS|tKW2@mr`yg;UV#jTB1P4K$;YvZ?3*1735j@agX0#}Ul}QdX?U#MJ}|-L z?oWlRo@fx$M%7>hido;a_TA5)_OJaAo4=ec0`N_j4Y%9uv{CDzVvH_d+WJWaE8!QF z9X-lj*EU@QQ&*joQMGTceeS7;0D`kyIHJ3b`O(toA1zA*$bhuI@V2k{6ZK$&2+-2R z{9Pl_P_!1co!b0{g4I)p$McVM>=bOC&Zo?MQFx(=biPmTz5#-&{C#N*c-m$gzcN?iW z4^IrY{D}qrv53uE%iukqbo0nx_ws~KU2@G|HRT_<{gp^!9OtX9@Ab#giIYDz?242D=tRGQc5X7$1^mjE|K=I9c_I>k?Y+M+JA@~w<2 zdKnK%xB=#PQ1ak*0h?azKeE=^EDhvoT%3AO<3h?E`0Dp{FtGJVzUEcTO6!og4YrPZ z`~T6M{CxI+i%JKI#s?^%3f0*XPH$dIt~D*LT@w_^FE07g0%WJInjHGAbUam{HIbI_ zLilkq$V`W+4QD&=sPcamJYujHRbK_i zj3`>OmVj28{6fp~gqT|F(ySUstN!hOIJ&{lR?jziciMGQO9o_bl3cf{K8w`n45(BM zey7tD1wj%Ttp)NBN6^4k`h><&2^jlq;~L%05K}reqB4^SjGa-+ z+xSt38`s@qlAT*BQ8v;%Y{|8-_>n@Se{v*_2t>`VV$hPdW{}t)ztpAC{rHW;81U^- zd1={rK-*`!+szfs*-QfZ;`(aZ>guOJ&h-s++8;vkeeYVG6M$9UB2*eas#w(Nmy-v} zZ`h5t*oA5FuH<|A`JqfF^MbhSj9-0oDw4W@0{B*6!qH?+PlOhnnD(zvy>m|181-#H5cON1hU0>+pm7E|XCqm6lbe zf4&6H*2(^cy7D*!^C-Wa#qIUcP?2qHpi7H_Buk?nV1OZAjNB4}TJL~Yn#WLsL6e7n z-?{%qHwh*n0b6q=aTk27>YrwSNNW4m#3%|HCoE?X&VdfZ>2#J}m0dKw@ljSn49H6M zo$2-Le*~)G<@5XXHZ{$_$mN2pM@KSb_HwE3P>h|cG2v9q{fquziB?#k=SkU$Zq=nyejUIzz;Y0EJQr>|GsQ=D_j%F04r)Jlje5cpL29yqK zYCAM>hXf`8qNNDb2NbU#IPvW?it8iUjT*tadeL6B`ne!i$1FoN&Vmr9A~ZbJ#JhPL@z<@p3y-b}!$84Y!cY$A(JWrivT% zn2aQcLt~-~gQb`kKdDnUy0XV*6S*IXSsswi48Ozw5T=w52-g__#>AtCEt&G%AMU@S zesC|yQ9b*I_`UZef)AckZkWFa*8GIED`o13_s13!aw_I+}mro6G56i9!@ zwO!osUC+6zXt7Pg`s)n=&*weIj?V7DjPTYE9;*KIk+GJw>O)cVihYUThNMYw%|s>e zz{S7%A|vvu<)FTFeo}nGNL+Mna{UTU_65OJ=8qqGjz7hA@f$xEFgV&dW^kO&B~q9p ztvoQtp4v}+gK9UsP|IBbbcEyK+ayC(9Iw~$7_z7K5Sz4*Dw0gpucN*``NimQdL~8P z@Ai4rbZ8r2pd5ZUV~Y-U(R=xrsemB z_Bhnz^JH>w^Nk}gyc3V|DM@*<%aDXv1PIx(|Lmin-*{KpISTnPujFA^SMTMY$ZZ`T z!GY4SVBo5mABcqa<`o3kChyC+ zh+i$HGkDN=P?YsY`G{)FJX^-+-Y?KYYXl3v+{cD}^}hDgdU|PF+eE;#oF47gzv99y zvdj}71MJxoTrCW|nhmseYmj)|2mJfCNm3E8c5qGKRX3ohcj#XV9w#XBe<%wvRs=+y z;4u*J>Yj_m3^jXE&pGVIHSw=r*>@L5K}*Gorr5g2r%ip{Irq*}`$)|~oUPYZQF zR1M4H`Gj;}S#@DOBbwL-Y=9T-9x43obJ5cUk)H7z$J8Jd9z)5O8lB_QOc0(x)JyxO z3j1zxffdi)n(a#R9iX-7Wa$3YHmP0=9|Tvpv6BPykEDSbOXz5=U@p2kqwje81z3e`&4bTOQ*Y08-+D4z+HyXzzB7_#t54-2{L=6)J zJ_%lUSYLF^Xnw{9oDx@VTp=ewEx$aq`_D=U^WD~4;}zZ$he_GgDYbz{%l(GiwEm>- z=I-^b*8ap9%|t7R$l1QI^>uTp@ie2R~WG7o`UQGh)KJU_&yc%~~Re?0sI zHyC6VQQ%zqB_*GTD)lnWYC7QXa^w^E`c9-M(75Mtq@iR)bdU>B(DO_QAH28XcyPO= zCdxEWb6HM8tJ9fDp7%uiBo~CK$e-{ymB}zP2mUNAHPMgyA!t-%DOC8<^37(R>S5b^ z_j1RPQVDpKwAYUi`c!kIu-)}eEl&Wh>K9O%=(qQIIF~y*BFB5T8P-)h4Iz9M&*qyP zb0m#?VeHdY+lBgR#Z_cL(^p_uz&%{JyhfY8nk*Bz~2cS^S~{m%KG@B6IZ`>yv{>-i5BELdyq zd*6HS>)QLeW{NElp_mJd?YJ2T_i$Mt70(Ikb98 zI%H`?C)V-&iBGt~apywqVi5&$(2OzMlumd(K~DlIjHlTv1@!k(%oCGWT!7H-(0ptU zqs&^JM38T=&$#(TODMQNWPmFDw)8}!9c^`&LV<`?eL1_icJLW2NiMFc8RB4YNZ@VT zzQ1)4Aro@Z3ra#m=N+cNF{$DE4(jgUv~S*hC4EXaN;Hc#JCz<7keO18gTJL zg{T_ro|@X&R#sh(VC|(vMwLc$Ssof_G_tE?b3zG&-PDs;^0sx;d ziDc91G?!6qWazsm?x>Kg8$G$`RYz;PbBDUCtpUC(wt0H&rm02NZ@ZX<=4_-{$lvkb zo!XDblbWtyBv7oI;h6q8VdT*GQ8+J(fqTGK_cuYpttBPKjT13}?o2(a8)@E5zvBqa zc7iV82?Ue38JvLe8!BCe6La>m;r%+yf~toPb0yS~9P-;fQdI9xXgb18jDW>3DrH^7aNbX&@}zBPwrye>N| z-NgN2ZFGZ`(!inVExoCI$w)^`6aAP#gX&Rzq*4zeQ5P6~KSBdTP&sDy?|<2AbK6uN zEO+nV6vs5gzBiC4o4C8FXYRd3KWtFw~e3XEd&(ZXB z&XS=l=CRA@q+m1-=F^!;1bG2o2{=xg#_6y6h(x$Lv;~pja0>bpK85*LC{4>W|Cz%y z^(KDKlE)1C+u6%ZRnLv-N7Ov8_r;^}#6K5874clowLw|S;Gl0z61Ei)$ z0tHbjBExQjmGj4hh$P?qM$4{S*&}8{Ig3*XX9T&WQS*YoZCNj~FV7@T>khaMqo-;LntFnh`WAQRSm3b z7l$pU2sfdv>7bj>_D4x)?)rn5w}}mL2tC9p;nY6LH#(==998&17C>;`PqKY(iKEUU z+xdO9Sf3^;>XBZIN-3C!VY`Sa^`*ZyjZ(4_{q1M&d7+u4AfeP=BCn*PIxR<83rXJW z-JYfVSJEuaGV=44utbM@(ofr_+;q3`8Au6sRxn|JFUo@D%Q>}_LyPCzW{nb<1xc$H zb)GM7w!~d?B+)K{VbtqkLy+^nNNAUK+};N#>EJ=_f_u^|JRiNjM4$Jz!OLZ|-^mcy zm7Nv3HUA=(f&mqf8DqO7wv<+IImM@~bLWlAjcIJ?vu}C7-LzBS(wz(kpQI8V9pOFV z=!*B`Nq?26=A*psxnVOoTgbJ+a%8Py#@z_a`F)-n(=!xN3e}Tj_YBDSK55K5i7;Yb zBsr;6=<-C?Z0rrqo+&n$gg5%f%s4BTsc!T{vm5%iSxPt>(EpGsE=p$h8MGm4V7FX9 zNxqX-KDC%7ZPa?yE^ZbC-a9B= zmbkVrn`yX8e%!#LY#t)TscAL?TSCvx_U*iOSNHhN7~@p){;;S%@6OK-JkGmwmuj;O z((EI$Id)T-E?93(-o3d11lZ^EyFh5gVu9tCtvFXqjL?)%Kmu2D2g%1qy{9xO`veQwi9ab=`MM1y$hC9dG z6-qJ98`Fazqd})`01tcz0NrN1nzRh8Ra~d%T%Z+}u*!URneW3V2ol${*g!2x{XE?%Zp&!A-cdc3kB;JptgyWcrtl4|snb(&$v_qPhnr z!68PjBd3^fAOT2}odQN9HzcuIzf~6c9 zftYvu98Ouxr*j#QMxFp5VxohrF2K*k@OkKiRpDy3tgicZEq@)LfE;+2ZqlNEX zr^^SSmt8^CZ+Phr>i`D2&+p2uszJ!BZ_0SDOJlIITLY>_D+HNotJ*8g1I+U*CYtsR zCu$s44w~DiPg@7UyX`tSvp>j9>Z@)gG#BV) zI-kT@+gv;zNaKEh*+hNd0hJ|#(_swzkz?dOiRL<8OXJyIMkkPsLeL7 z<<=$q=Q@ZXumPmQ*-Ek^PoqaCHybVGNgs`TF7GwP1CQ?|Ph|U`CODT+-tkxZ$M>_fKmDD-XW;#L=uY2R?5&Z zwIm+&kUZ^cgBgR;rsZB$Nda=y){3p(v{kUHI9L1FomX=;nx50I9nIWkp8-tv6@YQ) zsTqMcuK(C-ZlghXn;FN;M>M0li?a3igD%^KYw=4 zg@r`Uw&HXpE!<~Md_8}XtkFa@7zoqF5CK)*vpegp@5@f!8*s@lk}(k{zS-%UhWT8U zYD&9yf0(m&!SrtB*S(Q6s>dBWyELxPFRuO2^~y|cRrpOP@4B#g=rFU``W#uRNgre` zy7bOcP_0&6;d{Hm+IVDCwrUBk zKk7rKDkv#7Jn2JG2lKTudh5eVI5n4aL@X^+$Gq=pE5;x9 z34Td!N6EZG%+}839dyTDC0+EgGzAGcW(s^R)2$mdVZ`BCfVidZ}%22zZ4<|?hxQPs-5Dn zoharK(w^nnzJvFjO+=&lQMfSk6fO~JC_+t=(s&q{woqz~y)0VfJm(J5a_l>#>UDYI z{xgn9e3A|zRZU@YRhEyYI|5zTegBi$7r<@v>Dw5j&?|0wr_n#Qk#ACV6d6EvJ}Egl z8*5`HG*|>z4iPgfb%^Ak8(EEFZB8YQ+?c+7-uCAMe)s9>L-iCoIbqmmX;XAteRrr| zB)&*yUm0I_7|REkHj-kXrCulf{&z)>o-mYam4CJMt_spm0ve?NxkO)r3qHth^a1l{ zmq!=cP{?|p$gJZ>N7qn7m$pfNL7~5uy-3~G?)P#+W z2Ah}$C<(S80FS4CD?OM1`y-0?BQ?JwenPy(SWJl?7g|YR6JF2=Hh@g(B7|J0#U-yQ7(-zv) zGZ#28VIW4j&{Y0@6im2>?(&xhQ~o=z`*7@BBXwx=it*hWO)$mh#m@Sj&CUc$h+oLK zFGgEcp|CBA*yW!HE<%Z`{E_ru`QuN2C(H<-$e{-~g)hHEF9SB%jLc}>O3Ka`UfYwP zj>AsjDqK;t1Ban!8_c#h)`9b!aNJq4l+eZb@i^#vKyC zo{W|9R$JBKXS$ATvF0N;9Z_3X*=7VkX?mG7b1mAz zvtP+6T5{tONFv6pfVmr0F2SX%|Gi6#_hof1vygZ5qIO2diZCQ3TH*xL8XzIB{kw_5 z%$@u{Sb}e-e_Co2ebPZ-4k)JaU>No!Avoc<{F2A%#Y}TA%41r$9>We942sbJ3C}H{ zm)Fd;H})K|PPQ9%8fpmO<$tpDJ*um6f8#V1&OLl8whR>aK``bdj_PA|*GU&_*=@34 zi(OxP<#ZO!itj;%1mfdx6C`x>J5)DI69x4BVF@~1pkP!#r{`}lwN#A8+6(!wiMo7ON#yU& zR!NF|5)G_hrppDj!OAWAgGWjH`5czpGE?t7No$#_U4Uq*4|x z4ccx9@T-ljd8@mSW!`?Z&GOpuddVleaoNmbsAn#xDU*vG6d)f+lT<;q2;F-&RtX4Vwys1q)Abck_~&eqM>E-X-r zkd_K!vMZZb9kLgg#WF7P2$QLTrn!HXGKv;-&HH!$)xsE|&ZNW&Todx!+E~Ja9K~ zZvA@UW20X4EB3j+CR-Dg*O=SO7A2Xs{0vnoh;v&^6llf(DXRw5l#<|-DLNR!z*N6q z=183Yu|AgFMkwJUDy?5N^-^kE%c{ByWr8HEA?z1NLrnX(+IP>w|PqoB?#CeRIH!{gN`Uj0?Is%s%#p^=i$vZD8e zEjCrbui`=#+q3$a8LBu@2MPrJNur1q<-{@_GM;5Z`uLwlzk7;FIUGi*NtO;uUOa^>WksDCMf#d4;Zoan10;U!A8=5+hYR02eP9@ zJYG{eiYoLRjScM?(rWmXsX2VZ)Of7+O+0ECY{EmVM-Rq@1ds(aUc2r;B?KuF4(-?? z&ySOwL29C3sjT36wwn&JJ+h)B3t)Vw$92*7`NNo98GXg8L z$NZDoX$uQsPY189N&T&M{dX^6;EljsIe{L|W#C-gE2*d3jT5ckM)TS3323VT;f+Cp zv-id>a93nR%#7&G?5Y7XJ+s;ub#2!{VO2IpmyCcaT&!V5?R*pV#Y6=U)=uccZ5aRq z7Jhb1ZIrw0r0*SlKr2mKHo-ixNDN{Fw*Ig_I^|Vzp%e^#t}!>z{pRXa`J_mBjc3Jh}ojR-3T>Ge3%RdbFtr@cYC^N*gN`sLf^if#YNrzlTY9N&G$6A zoUZKlx7&0{?e7&)UOFU6a>`~oZ<02L@a(>0I@o=*$ppOZqS1g>ykE$D!%D36OZlHu6sytk|@~8UN{C;W_|4-aae_fUAX%9W~)ost%7! zgRaZ#NanFOIU`6H%}~0eZAu-)?WV!_5wvxQ?B+Dab%}h;rSxW1M+6DiZ~teO|Lf@j zQ{=2yS>MfWR7On_^5N9$sf%m78`d&q(tra(uJ<{-b_L@HJl;1Ljt-j(EO)*#^+w9DxhnD84D;dPER*{75;n6{ zg&{N|ylet*41N1lgyzR$4PABfW^-R>>;e%fgbOcy+KfJ|!k~6?+7xkPiW?3CFHt+i zrFvPY^(1>cC9X#286vzRZz9POI26SO&|9BxlN)f0JW1(GC6;A2>qY~=HdYW-_L+qD z4F8)KsHl7Ci`bp8dr)0vDuVt@wK@KdyqzyF7GBHT?79(PP+rPM^s-Go`BmYNpK&{R z7{{p`?Xc$qkm0$dfnabDs7u)On61e+K5C+k0wOCIjK_5Hdi{_~YRabYdncljti$^0 zEiS({QZpW0p=X!d;N`ZlexEmwv-5x88RGfhz}4?3rM=F+$U`v}<8{9oDQ|4n{i=}I zxYK(DpCNSldsw8>Wg@HB7*GlPWUaG(H=z6)i2Pe(^Zd@0bnUUmiasYAmIl)Gay8nx zK-z~Qm;4UyS=2@c#{EYpcIAxu-vUv8em2H+B`uYDfmq)0-YeU&Q%gy4Xj!Tn&z>J~ zO^b0u0KEdy?^L?ym~|Me6efA}y0Uk#L>9l^rMW0?A%+WPG3bc`&lL3nk8vM@3)*=V zw;Jf*JV#gg`b>?bKB*b@*qrr&<<1}ohUqKzQ4R$yeq0F|HKyTx>-e-*_3=v_Oo8*> z%=k>DjZRwq6TrnI#=d&qHBWLb?YZ}zti4@DAjjJ#L8=tW^mw%m$&^B$?2qT`Y+Lk1 zvz?-k250*chDx8{w~ZE7FNiX{;}vz;)}-cs`^>yuZ})0q^yUpsrqwMjn!(e^7q1#~6`4G!AhG-#iY7`r(0tD*8nbKG-dSrVVI8I`eSba&FX z1&#OrBz!wGnbqEd*PS1QtRAze=6I0@WEz zL%GL19~wgixZ2~4T&Y2&Z*x8(AHlgPc>$l@j8&KaDBS-uq;sqPk#8-Ko$y(!4Z~Q` zS^Kk;-QtVA)GGYKhRcQbVjGb*8Yie!hA0BQLAvo)GTXN1?S52~Sj%tsizH{v`4bf~ zTeF*?b1hW2Jyuhzn=3CCE(PK4g(nwRb+};MRVX(BPxOAVar-41@@NzeZ{JG}j@gGF z?!wQ3;l|S$n^`KGf(X0kyy~H}VuC;(=mJF73B}&5bPRd(sy}4lo5k`Cii4wAqm+4? z+cF2I%PpxfMTKb?RpM6W&|`8#ukuDgWQt~E6Dcpb(Yxm!+x{FQ=L^V=xCwh? zZiS)NT6e2pHJJ(@NK9PNHgjHlbLab*jd|b3J~FPX^iRUQTp5JHE}#6a{sD($&`<3) z%nCfQ(Uw>sKKtzE>!t(Qi{fpwb;~Vuo1vHA=R+mjk4pq0GnwwdDtrBheLEVt(D%{E zAD?e()O*HURnxxIcJYMG2QBz7)&~skU-&h2qmRtbqAz)SpMrtVO-K~{qfO%OJX5r% zc$3*o6|d$ea}b|gi=4MTSx^UCy96mKq2V^-w$8m9+0NycBsaZK!_VXVZg>TokL z_fFSm_p=DG4%<9cTQ8_H_qLx%p~X80rM7625IFF0vo^d0>2y~`?6YQZ&?dRZ2O3ys z^HigE%0B|F>LtSgmu%*%F@<*cpOQ9XJnoXO8Q5&2YXC~uZjNMb6KTh}4=!g;-uDDc z2x&z#t$`B)W5FH4rISV;9F@H~x{lqX**Ch&wO4Xeh&(+8@*KVm|u)F&Js!C1Kc-*_8K#ZUxqp*F_@U_(?uGWm_D{ zXoDkd0>7p#lggymJSpweW^A6y<%CZSvA#}n@O*DR8=%B$JoT=BWPEN-U-Y@aPdo`( z1aBcDY&kQT@u1?d=V+&C1wD#*W<*E-+VI5OP)5=1o7}pLV0vjjgr9`_<}3LJOsN_c zkNC2MON+LH0iEPR@2X`!y4fQ;`q>wV6_>6TP;XsRc`>>S&SX=mHhZ$7Dh8Q#@Bdd8 zr;S&>z-#q#GQQBa8%C)8u_aRu{V5I|qqjlTsYgpXqVZY@0yb4C&I9eI=Q@j;6b?Y- z3imAJa)JEG>$&00q|$-&VpIRAA++gL;{XYo4^9CsCA?JiQ>ru^a4UH;%GJ#%3g|<-T=)G zhPVSG2&aS;Q0gKpphWTgq3ca5uOIgj67BCF6n)=$r3(E+E`!rJx}trN6fX+uF!cbC z)N$Qh!J(Cf^t>7CAaX$;gbz2EspTPqyQ>w?15PMqHdi7!y_T0ua@-48VVjC2gX6^r zYo*)YwM*~bCIKZBJd-hu$^Z?UW)*+6j)+FYKMQ-FO(YgVq9zzv{P8#=U${-a>|`tI zo~WMp%eXQP1Lucu9^jF64ng|wExVa2=^uscOuZ*jLaZ5knLG|yqVS=z#nW1Mt$IstUy9_o!wPO)N zJzbH27HdrJW0#M;K(jAYJ67Fg&=kh3$u^{Ob;84N`nQiFMw_tgzo#9mJh2xTE_11? zqZ=hY4I}04zst-|rqq=z;*_nDqR80(-8}6pS(!zD7dDoJ)$DEnN`n*N!pUmhl0_cv zfh+`g0Ra;R7U|FjlfhE%OL4;%1iOV91bwLHRk2dbCRvq8>S8O9UAuJir{D6Zw&yX)Od>f1HLSC{%VYHNfw5>J z{?S_k4-~QUGE%`(1qN)VMG&$03}qK7@R^)^wPviiE(`u{^ZGF!!L}a1i?fS{6?@aQ z7jdFKFCdI33OYw=#^Ac?iU?ssaM}0_|749ZhGNCH2j{Z1X(l?5ddKhgSZv)gJK5g) z5~Ixe%~S?be}lgPMSra@zBT=62^Z2zSD@vsY8XG2R962?nmOJM zKM~wIt_IPrRQFT!i<4@E!s0+;i9mM!O15kl1h z;6E07q`X1%z&86+vf7#QUPiM}+z1OFrOp^q3Q1ZTeok4m=*+3Z`rqqFVn1g%)@q5qR z2OzKQV~+cryk@7sK=-qjzr!?tJ)vz0U@Y`0mIHM#%C(DTx8vqDw&<0{7pQ92uPnnO zWu30r8f7Oaz8bHXuFaV)!l9j~$4$^LuB%9?-P7Bmk`KYo6EIQAx$& zjeNFK+`K&NnkP)XPA%#?DI~z;D6y?<%}cL;Drz5e5TE>H^{&CoAuzl}>oBvK!I?@0 z9xKg}m96Wm;FSVXpQi`!wa2v@B@3R1-$V6%eluoXTsy+$(a-9fCAjI(z5_PEl#-Ag zGad5`;0G)Rl>_<6p&xI)W3B1Gp4$v|iY9 z1}o^0b~ddTx#^g;As>rF{6EFV+l4Duq|&JviasY7J1c|D`bT8o-!0j3)t@EtIxX!8 zp`H!B04)G#;P+wwok#Japdq$k8e2YZ4{Oct`(=zhk&?+ClxlRT)XobWT1HM%?dE}j z2Mo2%$}oBct5dNlT)tR5gRv#`0$nxSw*&^XZWn+nSjLO#a0VI0Y0eniE32_c(Jg=6 zgbUwK083TP4(Rx{U+MTte`s+dZ6@&gXue$Bttu|$a00B+f`0n)pt-X}#RblB$7P2i zV4}RRkCsRXu?&J)YLg-Q*k+;a6^&xZSL+!yLqs0aCZnF(?#=o5H$45tLg+XKtbg? z^B|aMBtuhq`e0j?mU>Hx)tUL|ZL(yC%U5gD&UjA}{iD!JE7fQK;9ggzg^z@JanPV< zJ%B~IFMnSa{A&T-M|#x-o!X7=PM1T5#P(-NZyJ|`NnyXMe`CStFiWy;NZXsUQPKyG z$BZI;rMnDV@?u?A7O1m#+-=(4h^eTrss29kM2kd^2CL^S;j)XIG?tFo z$2uoX=(V3U@Bddfbk77U%rFWp@b9i9PW`T&G!l4S99KueQ2rtQ*M}u_U*#I``*l-J zDseu%mAbJoPC=fHdtT@1q2I{QhF`SpXUHDpBRAOz!MI*83s_S@uG=~V@uaMWI{)?QrK`5pedt)AFO z>Mz&swn%Tqb-`_c*JM8YjgE_=ZH;rrW@{?`Fa>1Wp?UiW<>cIBfyGxUwrs;OlFXuk z3|{Rf2H=sH!rd>5j%Me9pTo~TT}eG~{M^&KA0wZowAYe7p z7HeJZ!_l~Uf1<)FN-yC@4PMm!<{++#GJ5Q+0oL)k`?R7K$^D_dvgPForxWwtS%8&w zf?vLCR$=Cmf3Ypb5T%PkV;giUHIbOSW*@ReY-Pn3Q}xyRBR`wgp>_54TQ^uS-n{x^ ziV%R3$^qm4M8Kkt0#JvUTwaRYDa8hmvd%aSO6U|00#)%efH%f&Ujjg(9Bo#rXs$`t=li@c zBJLmZ-cMgrPPVgpV_!&pp}Smei{OdmL77p{z9uK(;aq|4t^$%LIz3;RVgc#I78sMH zv?26?)M_${o7RwQ}424!Cq8jdZVpCx4gi(8S3<`TVrQ9 z!>`h6l!dl1FnqevhfmTQ_E z{Q4>Ae!N*>ID3WAi_`x)fz;5ODgMgX`eJ!UKaTv#M@L+tmn(I;%Ncnfs6k)8H>{Jw zlV7ppF`_sARy_dhICzFA$-A}zswWkIX9HufdR*wTjiJfoHBb*ZwB)Ohf9eF~_il6o z5o2>%1_&D+Y!xyBE--t2pia9a-xMGJqm2uHgdz&(7D_X&$TOE#Q(fOPU5#z_l}e|1 zzNF{Np*S^&G)j~FTiI)Ur;f1W+oGcP+dES0*2z0#>`i<8mNj}ubUBT;S`vHj+UO?K;>xOnuoB*&KtB2ZH z<{of3L>J~zX0xKo3B9WIM4Rkp-YXzAuBVhuy3ILQqjbs{;UVe~_FRfpf9C#B#+AYP4l!TmF)2r5>u?oIlc<_H*JWafC=)c6%Le*|bY?o!I@eF5#8l#nP zyr!)<0zrcTbu(o@aiAw=F`%ulX>Gm^$7Fbu|E-Z*ndx9^Z+2s_J~Rwa1CtvokMz`7X$+mTFGT( z;o23VdYYQ6FnbkOiMw&OhF6bZ*_o`$%+*ns7_aL9=6jt0fF^tyLn#GqXhbdtxs@xs z{sUf(+t$bf;;PJCY1XcOPyG@ELk}-_9`#qG80x8*hOwkIo@Ifh~>KIJE~o`K00*$3UO$^F&K=WswYl%G-E0TtkE|mZl@(q zjl`y)r9VB$A(T3{#Pn_T5LuxhbKIx5*T)1LI<5ulFp$N%3G^JNW&Hor(=zMw`KO*1 zr|a((Ao+k!)xw3H;(}}^@13$y#pEn_v~fbW3)-4=HVk(gB#NHQ#8LmvO!F^D`qi4H zbh=3l5P`c;QHIZ9(&91}CiPimu~#@w%m=w8iL3K@(4_yw26Y9HyXibwxWdPY>aQYD z`qP|65`-W<-E6MLLC|^gRT8(!m%0LlD3+=P_Z{8YD#%_A9LgJd8LKJRC2JX_B3Sx^ zI?_Gz=M_I$93JEN^EP=!JGrrVw=3lZW;uv!x0Ogr8RDcR3>B~XYHI~%DBIPP+TyjD-1l2uj{j1s3ZcH9Lmo%tXWvoN z!5>Ns9fQ{fP{NRM6!Mu-R_0LNY~&b%T>^oL_xtET#Zwk$= z$-*U1R-*9r+jZc}c+UMyxh#Unp?F2x%^Xd5&mVRSkrRm&txpAM`iSiGl<8Q4d&M;v^hW_e7#B7SsDlsAeA zmO8E!qaI@touzgD2u5j?k;tlN7M4!oh*I?y`K8JF6Zvt37Jr<|4drbL7rp}<%Qw#2 z<$nQlrIp$&y)#jKPZ=alVEaJH>j`C4;j(p6nTGNSSRXv>V{IF6{;m6$nv3GRY+gBq z9WHa-4Qcm^+H3a$W@nTSf5yx5AObi0*ikqeGQ5GkS=59I|`o z##|{Z8Xm&Sqlg*@xuWoacQRNH#k`x;?N$e7s8qo`j zy0%lfZ>_{tWxIDfDJa$W0)0D4RN`pu_QL+Lfk#ewQIfo@T*AS{N9rp9Vas|!THBB{ zQ7z4`QFqf#Z`Uo@fP(zlmTO5$g_nhKW(uH>f{~?P2%9Y|w@F!Up>|FcfCr;~ND@x& z^Fgamm0U|=Vz=J`TJ>7US6}0L>LSk9&W{$V?Weg&VXDvOohu6qE z-CDu~ZQI1QZfP62Yw4RO2#mNIP#&+b3tDZrRRld9pN7$^-D~D5_BxgR4rs5Og09Q)cfGy}Qu!?o(@xA6zB-}W=}#6IH9~)UYgB)`)n?;9$L!Q$;jG}) z8G#%5{>^{y4fwAC32geBooOiZ7&F7s!cC#7HL_k$3gp0t<{4cqWh(f^!+LFF>(}+r zeNL+lW-d=_E+|6df6F0;HNy_hr2f!N<;NQv=tKq$u_AD1=tQm4#-pfARGCtlN)u3r zD8%-S>ljPW7KMffFv`b$*qJDlW*HcJ9@@jzj5hVYbFata_+u5GeB27i)RN%_Wz=r` zd8i;)n|!G#aKGK2{V@5b#*{eke`ri~Ng@AdjVWS_e`!ojcKzSen9@uTT_M_W8Bh^$ zbTZoCgY*vMk6qnxqI$35@L|U{_m}G=&wPVp=Yt48j0WjUN!ZUNPhnkxz`Op1s!wKg z(tLsO{s;--)gsx;NH6;mI-BDsW6r4~SE6>Ot@arsBF0X?3?~X#EUffn0OQYU8M}EV ztKaj5VJQulB2?eYf*oW_^*j6b09lQKkq(><<6Exvb$*w^lI0*j^ijTIX7P;ldVMLj zl63z}uKY(Y{t)QG?ZURMF~R zSUT=Apw(TUYsRVM@veJhh5^@CLXJWcG)%GwlOcW*2UVBc4%RWfqNSbIRiiUbO}W1P z)hpSWRvP-=k}##;2`k2PgjbAsPEATw>ER!0{OVdyE-pjy(dW9TBPS@US=kXipX=60 zyI!@O;g*wbD3(sr^J64Wxkip^_we#e;a6hbVaQl+L}6LalZhrT5ASCQN*%$JU^om@ z8}YR~n-RM=Q`xJ~_lSY0v()L9=(NyA>_3>(&OfpbH5Tu?i4|+W;Sbt9GFGLDJ{z-8 zZ(HZf>U^QYJg&`DqnYu1qY!Wp97u!>m9$;snx!+e9eSOjjyhhE=ULTvcxUrelhk-> zq!UH5eQe^*<*A;dhIs&w6j2=O@LT^{xU5v%!AuAYEz3p?x9DCYjpOFL_LzAZ1&~4> z+lNf_nN0fq&wo90eUO`$cug*#?WpV6%#IKhy!B$3>{oO!i4HU%qz!!R5HS;U&PODB zlu`5#!6dLZpdwyG5nX}!sq;~rKt5J#l@ib@X6|ZG?edwc7<8e$!8Bc*DvTIcFmjNf7DZJvsL$9WSlLqR!?SaRIz}T_U~aavuhqO-kqB-&h^nR^-(@;!8@Zh zl?nktu4K^66dQX49lt0tdp0t8{{S>ypuE;KDRXD`FUa0>x2TZwEPRuB5tLQb6>-#i z1c0E3-`{8Ja1(&_myr%Y+lBZkT;vj>U*VR2m(=Zi)N-%DFHEI_LHy8T*{AO=@fsvt z>+H)j(Y?|aEUh1mz1ESx|we^7_iqno}EO&+W1gw@e06X!M?V3K?WThn11fj{>R`20C@dtRPu_k*XW@G zZZOR;m5^OBF_lQR=k{109-h+-|9$#cHNA>=5j5Td4l8DP$-L%@j#?kY-O~8p{x(2% zvdU*TIcTEhVu8+jPUzRUObyFdd`Ze{M}Ay!KeUZE6+c=Z^w2*EjPkwG4LX>5yrm&_ z%9_NTjFbocOF0M?nDd5FffqQ$Lw3;dR(hC&u=5E1xMuv#bafY`^GMEsFk~C4xriU$db^5BlSf{haoe81u;d}r6IaI`XE zBr1D(OCsqT4!6-Y(}%3rMv!kqC2s_M9A|>L7NGMI?o$u<#?d9w37-?2mas`l_E}90 zX~66HwjTDPDpJSPN`EFJ+6hfGP6A|nLJspKG2g>L?(1^`GmON%_D)yw_Ed)-kRTT( zd9_^bR<34@-OYWEnQY}G5=_}I>~5fU-3%3nb!X*_&R0?n`vkZ2wWcJH1x|%jSxcj) zndeCmc}us;g>0OQUPWd8Sz{yPS^6}F!zb4kQ2s=P5U8tqyPNAg!X1*vO9%u>xhdCl zRO$}w46Us+GQF~vUXKPsd+{b8luNACwEEsznS_wUk3`N2O;3tNG%^OT*o-;-q5q-d zyd{LJl)+EjG>GfXDS5uYNgIX(E(J(ULbmFMs-cU{nwxXE>^sf>xe&G#hfBp1kIoDdaMuc1bEO3vro$Kj?U> ztyE;ILdB)6DukLHY}Lbjkf;l`4~9+`d905Juk{>rLOg&*c_YPAa>cACG4j|)8JcR2 zMYMommnPt55Cm}SezzX2rg~qZ@#xvCML(^LwQlOw|L6q`gU=aj^p)V1G*zJa!;{hjwAS@bj)+q)1enbfT8_`WSTP@=FUfcvU(|r7p zFav2Sg*czPtON~T(ITnNy(HX(gP{W@$m+AqPMrn;=c%PSg*Ly|j`(C;C-ewvGlJi5 z`&*~6;8u4xswA%ii@DjP%t}Y=>abHmDD1rZTx2LJ%Cjf$lBd)6mwfQV=X6FX z^TZd#ZaieTy0HD9g(V*ocSQ_9Jf=#;QWKoqEEhfmOB@b(4ZCg%cHSCU|15GDn1!zP z!~mcF8++yPBmeMe$AE`dKCmU73tm42A@d7&j-N8Uij077%o>)YUGjs!)7JHux~@f$ zw@KIHCe&(kqfRQPKi!7BJQ=KG>ek4 zUBnC5@!vau0V>M)*qj=*6t@U$AsO2)-8m_6i+UkwEZx?&vP8r(!#oJpTNlS^Mxi$7 zk!ckx`$!#}>oC}NZ=(}1Ep{9HCWRmr<}#EIEm$%3BFK;Wi6|y?2V}Af=%93lZnxHX z0X2z|qv13_F9Qc>gMgC?E&S0OS2QGnPqo&vZz*Azv@<@{_m`60)^L`H>{J`hl2nTp ze5#@eX}4Esf2kv8 zeQOekYPk#j1x9Uy+|R`O$IO z32)YKMcvzr02|?ZWjra&d9?w0l$~dp56u4Np#N$ z;grdefyw2a4=13Nd&^VJ{|@&7?w+bwS4Rx4NbzV$^+=>JTAL>Mj8pBl5#V+PTvAaCq6^J^US%y=*>^fnm6yuqGE5=cq z1CrG%QXaw9Bdv&H1!qgRhwAdaPv5i@=med#_IJhr2fd_TB39?uRE^$|e}t;G@v%3^xt<}31=mUF{$C0F=`+)Xv% zMklS@H$+RrM2~-7N zljGMRJn3Ps|B>!zo9Cw(%6|uD`^i5Qb%P@55YV;YkZANNbySisMzt{_yTT~;bX`WN z0$+QPh^#S*xpl`B$-CqZ4oh)d`t*I0zK1s%byok|i2AaB_5H|5gX=^pEhIxrZ{k&D z%Sfv82V-i)PbMB@wBbN?D5UN|>|@#aiw@%YUrVE=o}DhDvuyRTDFa&XTb|s?_Q}Ps zGlnD;mQ^+i{pP4Y8c$-hLJT%z`HS=+qmD8=4bZa&9S5iOomM8l_8z6DHJN+W?Mn}f zmIs?L6+v_oqZmxi?kvKekaglQo|aFaK&*bJpkZyJp~Q0ffez|ux>df}G>G3iQrE^D zFG0Mx89OX*#Ujo(<<=-+J8nMF*T>HHY3T5v%VRg6Z6$;~(-JK?Pi9*Z&M|5xq7SYW z1R&-4Cm|${5?B{tQ${E>WfHRWW0LsZ>_>?c$Dpc`dpFo(^4~Ln)}j`%Xby2W_C!gv>$g&^lLghXb)e%d$qgQHWvm#qV7E~P0r4_PW3q>{w`ORFc$lsY`nW|WXR;?xS z3#m%a+wG-5_SScF-oRvQ9M3|Ax#ZvjJ7*;mO2vTW&|#*;@#*~1qw&(EWBu}nv2VI3 zj7?TP!9HTye>~+lo}L6v-?U$(e5nYZs=m%%bP1`K7Tak;Gzr2Q?@X+XoG#S{2Qd^U zW8B2eg+jPaYX*PK-+W;{`E(J`H}0_dTz!dtdMCy|4AG=Ob(JY1Vlh z$N&G!7jV<*lqvVhNj}l(fN;YZ-0eoOqhDCZ&1&?R1-=EwNohiVtJ^sM{XES5GI3<< z`Gmm`q1-R@@$rdDQsCA`7HBJWM~`FN$wmib#y(*ZOkbKQZW-Fz?8Fs6uV|GJoC!m3@y6baO5TAr2mCI%dycTn543xicnqW3?;z zT>C>2ROk^@UEUCC%8BWCPpPDxjPg+M@KQswr12RE-xW8CA8KE(Fu{Ai+YmHkDqB>T zH-b6Xwc9+3wem-k-L;&WA;f%lg{Oh|OjTNOGTDQ!8d;-nNs8q(gWZhi6kjTk1@# zbCGXa>WUPGg3t>H{)#t3ISUA_RP*MZ-Fyl-d&1CeKF4dp1>uYxM`@ETag`oX_P=i+ z)6u!u?-!zW8KO+D8A%{UVY^!L4+H_|t|V_sFcVZ&lrvaW|4_o%;pZ zxdr<`Ift3P^PgBF$*3;Pv-7FV?%Ry>Gb*9Nkl-eRfiEfeu>{_oV(0C)Z&~w{F9F5J z-uM}EvmC1F<+48};<|0Lkw5sOLM}Tl*y4p4;XC1d*^Xy(vK<=iFQPisU1luACgedg zpVOb7-6vRVA+W6+^52oG7?F$sAf z$I81H(ydm5T^n#X=)E<6KVorK(%7gQ1vF`X4#V@@`9wRS8LLzl#2UKhA1R<*9VPJSORx-yZreng9i8XTY=w2#-=cja3{e8xtKTWUJ#TJqw4 zV>ha3uRrJR{Pu|_vidnJc9Y$rXY7J+V!JBu&J8}Diln0g>#ptJRKQJ<-FH%Jb-y$x zsfuSMUhPZdIBfJJQ2`mvwKZ@ImY%gh)R5yQm1l6p?Z$VF%bwfSUQuN5R2(*0G#vNJ ziOdlB$Blrk^J$zeXv4!~;jFlEte!PiejpR266NDatMgrr?Fk?b1k|cldG+-6&B-zg zhkGN!Xajt~&KCvQc;_dm->ynl3ne|M`s#73>PS;1Z=X@rZy6T(Pwz2sVvW#yuHMS= zDr|txZ>K?X!mbw<9wf0XzCT`iHWeK^c<*vE5)@BrB6|KBlGtl93uIb(P_G&&x7AG#(L7@KuS*2cF6AkfF_T4Lqs@|O+ zR^YENjW-F9ea{Xpo53DqiwO7PUDfo7l9~Oht6~9nSg6~D-4Pz-5*QB6>O0QXon}ebt@<%tq~oOG!gAZ@GYM4SfF{BJG{l%P#?h-h>r~ z^KJSvt7fA{rd)cIhE3+wYOkX3#q9m*Nio2#L2hy+ zN9dg-j#ZGS-cYPW>BrCgX7z=fyuAA>Chzvw;VfRaQd#_580if;70JKCa3L=7KTV3q zOaAK6`~25qLd6R@B|iBAd~$=-yW;1oSu6>A3O&?R&b_?P)M7jDHSTlw{(du3> z!i4rxH(tM}{VO}+C_5kGlE-01iyJ3%&7nU@MqLeX4_63;3GJ`IU>^5wcj(Dkyh6@;yk~kGJd$lX)UrWQ#oS_99 z=-SCgW;L0)n9cDrDX-g>gXL(sh;)MyypdwW*A)fAErD$W6G{#j8h*q zrC+c%gp{x};DxjT%MFD}oYGbkEpSwukEu_B4k>DM#MMb6rtHsVzOo9l;KmVS^H6&p z8OdC=t+u~|MduLL)P9d@zg=MP>K#@VCUZrX&U26f9}>+xbt zq1MvOpv6-47%hfGsWLd@n>3@ED5q$=FCq#v9{!bKW{-5=?pE{w>(2w2)mi6bkm7h= zL4YpixGTQ9-;QmeupAuKCzGtpiQ*Q-n^8r$AImZ7$qX*V?bU`xeF_u7j&&e`C927V z_*?$eRo-*-5rtO~#+q%pPv*4o7zZ@+wEUitsedf-1a>kEIbKyuuR!H;a3YB)9;=$WKu9D$k*IS!*&;hy&m_Cg$I4Qb^dN6-d2tCIfe&B< zSC!_SX1dQ?scl<#oc8#=JA4nR#ur*@%@8VI-@3x}o~75;&Db5)XD}dV8BCjvfmRt? z?@o4f4G(c&e!v%+-b;lE$Nh$OiKD2nG5y@H3q7RnzSeuz#n$&YGH~l?@`6{+$mS%L z84;5Bwu*(*9=2rrE8H2xU~-tok}J{New`e)bJmenk{?@{imn?~*%s$XTI?MCQ#tDS z`uc5uovd4>UFsR8RW;?p^j}7z%zM`XqxZCb>(KnYP#%A5s_0Gkxs#!MUd0n+B)e?g zv05mT`k)S2FKYw?npX!PyA!<(*`BoZDSKgP>iHu50r+7bi63!BV!Varm`$USk*eFl z>T4K{kb#*_5%Tkqo+OKqFo3-4wr6g71-F z(NYujwNSs(!yn&J%+hxw z{KN^uWy>JkAXBlFX~;4Nn=D!a2IGl2&-*@7sk2ea3d&>k>XQ?Q0)6qP+0&@Qt#E5g z$YM_X0}?)wuHU~dxwW5X`+UO_A<5#P0~HNJ<3byYqV2R9MyBc2fe?dgd?9}v`T3CX z%P1{aymzb3(M1bYBYmpf1Z{XDC5sk<@Saha<4rBXxzwWR1R7)_g!zOSK7*Rqbz6|^ z+bVozwNZZ2#%FpO71rj;Ykx}QaH3ZpB~}|9Ng@)kztn>cwqfTiHGk|R8P)bm_0}|) zXTilX?<=%yA+C9-VNI-q^}9Tg1dras4$FwnrEKdhZIH}Dp9q`8!>EbS=g^H#GRbJ<{m`b#s{Fk8Or3zr_a%mn7&Sp^sMGy13$? zlMvVP4ijgvsx))Oo*lM*x?HYEz|OlTTGfxn81;-kA&=UBa_+=PiFfAjQ@*X}NRvco zEmH&KM46JvfN&epwEb>o)f8Oq%;1gm3Bc&bt5IPU~#h(@!KlL6taS?yCh1YjEe@jLP26 znzssH!$ncVo0K_{l0oWdCsdTiRqv1Z&H?c~f^~8k@nBRo*!PuxB#()ez*2L%h~YuD z3Qd>bu=Z|rCT4GdjDs;J?_K!#m*vGFgE3+UOOD$xs&J@e$)Nm(+IyG1UE(N>!vVcR zFP-HklGat?+!unWAQHaP4*A2_>h8*Xyr zCXS2UgrEX%vN`DZM~Z#|Q5@~0d@L$w-J*IGHbG|nPK64OmP7}TbJ_;B`!|}hbR@>N zVz)@!G-_1D{f0fMot0>98Cl3}<+vk4W#dTscE!FAjFs)XxbkqYz}4#}jCD+5_fUJ@ z<@dRzsRAlREFZ*@lS_XiVRR#V0+;!gApHSTL?J#7UbCVliKszWMREc7pc8Q`$af&q*t_TjXHmP`Rsu$ z!g%rb$a^3NueG$E?2wHi%CrS@+JwLR-0pxXuOdsgYUITjSIm6R8PR1JvY3gfZK=Vd z(=mmfE=Cj6vweS20hZnoBV31SBCIy+$z0|?PqJpSDch+mSor9$+b9W(Ta@jCXCS1X ziS3-epDP(HH@pX%@KKKAECxDe=Vv^HKYV7{xJKHV&T)`<2BNX;_Wp3pA56=c`oUn7b2Sgj8R=b^RU5vS3P?!H?NHv2$o0mY>kO5_wWH zVLCdMKSil=jf#QztXwYHs$Cl8NVqXGzJAbx*2~EbpoSE4%sK4f<4{~fN9^xdjm+6; z0rStV<@F?;yNh%3+jA_RAv)1@KWsuf%1aApLPI*1R=A;lc6iVZk9*L8@Y)8k*oY&$ zlj`n2cWr}f8;t>jw%8ufFXteB7vb|SP0>rLYhkq|ip_2%{udR z$E}6f^*>GZMx={47^Fth(j=os1LSr*Nth6}srOl%3^G_9$xVhMPkEaC^iFw#l0{Ck zyjl^5YwBp)Y8QjYJ#j-mmanL^O=O!w>TJX>~pvD0JBOA2Do3yT|DxE_PHO zckU{*8(monm(`Y?&fppM#}?IX?%G+dc8s({ROT)JXxG*|-(0ia+P=Z-JusQK>Sm!{ z|9L)v)b=rxG^~>e&eWb2qabHgmvCzg*{fVMM!2y_sS@4MJ+fVPL4V`U#m}UXG3MOz zP6yUgxVN$bB9vCg;dYV2>or#OG-e~%xjtOHGK?U<_X87^%WBH)Z5rDzFp@;aq!U|G z{AlVTibb+kzn;W{OAf{g;9+HT>-l>AbQ)D34rFFkvaBegvUP%z1{AN(&qBXsU)CJj zCDHraoGRy&9Gfdkrx%KMM4peFRJbPT(IjZb{zqFW8KcQAexte44)RK|u+nKOj>VMV83PMeYS`p&>%J)junBCKf2f zsG35(9CKF%2cJ0q?78hdU_ysys&pz*e+-$~Acdi}1mCrEwq<8*+PXh(k0Ehgiabhu zezsbDEI%|W*hmPBvXfDi-sf|PHj^Dxo*D_~PvMUVoQ0yV>mah|b@h*|6d(6Jw zCr8J#Qb$GI1qdLCJijx7vR%wQ^H$|U_?zT?LD;lKcT_&wzfh^`$vNAPm2;r1FspH= z;h-g4+>;~IteG5l`_q^!W%;)mXG!saBMl(SCgakFMkF;9>;+>Pv@3grz}5N2wiIr{$erUYlMe1u&ETOQPi$P0nKII+ zCb$#dQQ*?}wC_4nQ|5i=s?K{Y8!m14kTRCkwgLe1jU~-Iy2p3p;d#F9%c;kM{ z?jy>?>MSenxIa&fi2#n&Nd3dv@>-`{8#l+Yo!VAb&lCSKEZ9Yr+jXNu!*F%V4bA4b zW$l2;PggF0UY>GhCvcXb#1FX+S(z_|#T|Wg&kmS)-7xI^>eW|al1KffJ&kLecO~BC z#_GLD9}T^)kq1V}97BE=ykQYbQ5wVhxRhuDs}Mb}M%M-K`{#yXiqq(&m&b?_--aoM zALUq@u58-KIXG212VNPr)RL%la;}6aJ5;{oKU;3epT|Qnz)&oOQ3Rg@t~lB(0_d5H zXsZ_}hAS;q7K-)H@P%-i zJu$4K7MY)5TPZi?)1bl+`z8CI@g6c9Yk;|Gx;$~kcDefX48_jBKAt@IOUxEB)?L9(_I$Ap%gSX zq7jRk63~e~jv?lA^>GWr+gjKI@_OaH%kFZ%BOh{(P{W z=al`8q?!0h33IdAk72sn`KE+{#3aZ$aWk%66Dh;hrW49Y6H9V7)gAg%E$v zbRXOFI5dvMJa=>GXS?0=;SuhbL_&D#U&)}q=$Xv-S4+)Ya=C%gQUvEQ2FuFgR`vvK zaD(y{wS=ftn#S)Elb5FEJTajzL&mVkmpTMAB3a+<`O_sAJ4)QYJVPusp=}y^<4>ZO zZupS41*>38geBD-vgd|3ejqa(wqGWKeKnsRBGHOKR6U&C2O)kKiF)sFPUDA@yawuX-{V>t3$eUBjwNo; ztLwURA1X0!;uxqqee*WCEeT)cBYQu5VgHO2d!mt-U=rYr9^%CzeJn~V^>peLbrbHs zHq1$9*Xc;lonLbx{+PoS7E+OPJ_5z21n=F%3j#5Qj{&Rb_n^r3y*8%Mua=HAwuS;d zc+$*_v-ugY`!h<$i)^`(k#|LcA73hgzr4 z1!WkbcM{U{jfdChP?)$D@P&ScUfNy z=A&%lHa224-?d@g?qn6yEAE1O_q7+IMp3pdkQe)YW-~1yYdbd+GSC&u;>!TA{5l(9 zgI3yI7n9|$EYNNjuc+-rIb>ff?j#(yheZR3AYIlDJ`_wiT~%i}Ugf4&2ds4ZXf)_# zF)oz$bE?f|^^XzG%kQ%5I-SSpYepp}QlnJwa@8njs9YE}rt2OMjZ8~>6Ss8F;a|Wk z>-F5m+Q+5K2?Rh8TIBz45h1|z3gVc9==PUl5oLhkY*-N2tu|Wf?U-?FDd5mhuP=6} zX7ui))lV~&ITI9sm{_;J3mW?J*$_Az-~AB2Fj=CLWK(5A*-8r27Je4J!+t$LcEtVS zBtX^eL!)^J*bXH?*pR7OW1xm`aFMm3qwUspaIdf*Owr)VRVi%mf=jM@Wn0rJ+RITX z*zu+p@~-U~8nP0PKNj+?lucmL`}mh^e1ZsPE`yj$p-UexOUAmNetObR4H_gaFRo3{ zP-}*tZwRlOb^`B7YQ`PscVS#4%~*ZF39e5rSC}1&9v1Z=FF#=K==jLiG=lKBY7k8n zeM0QZkrd)=SI0Lm%W9q>_&RxxLidigU#SDEOPz8C(CLK}OTWxGbSMXjeN|1v8i;7b zgvrzb%M#+`yz)ND`>&5Ix7OXPdN|4fl5p!{*Q!N?<&kt0yU!xM(QA#70ckeZolLU% ztnh2vp3Cew_^2$U44T&8!M^CN93dmL;W&Z05gRUI@w9ioee3J+migA3ar%tVC}PyM zo1y>I-n`)MbK5oc^$mKuND#Y7xGh%fxKUMyeH<(V)b0lLW-6k`DUN9(=`!cOZi{Y4 z5ifan2HHde?aR+&rx1e{JIK1a0L9&&?r^K5P+7!S&sFbWC0Kx><=aV{Z#_1 zM+@jJyY|41k!}6$U|04kz&Uz9dB;5gtVhTPYlI_zF(Jp8yKdS(_Te>b9;LFXc@<>o9HQ+j1sF|ojXPpWk?QIQ*dsbSRO`<* z4N;2c;`~nL^SQqSWzgMyeZ+@*Pg&flgyz3oC!%2)MuAWa7XyEvhG(Jq%arW2wFc^+ zD?iL1-BzzGCFX{%H++|A%x8%8|AOsblz9=b#}i8n9bySx)&^r5A96hZo1aV8^p<)Q zHvXjc5$m_rG!{KxeR5%CuD@DTP8xVXx4zxHfw0YzG+c`1%;Y1|vyh5y&LWhsVV%XY zu^0};ay$3?1tm#5t!ebld?ZAf3_+E?IW57UvO;@R@uf}h0hHj|OX;zT8mg@XR%nYw z2O6?5yF)bQBA%v&qhYxXDbN+~v-P}#KfaTKC_LE^d{W`$V*DWwG=2{TZ~ECzYOA25 zCCxnY(SeZVFI#mkXo2q`jeZB$_+$l!+<>v)B};uP#;XIC`8kmCG9onWWN)R1(umdD zLQSMEdqmxMBrgV-=C?d1<213yqS7aW7S&)0u z%eOqOlQ@C<7_EaF=T;_Oe>9OSUdclh>6SM(Bzd`hk?A09Qqk=u#KLI05Nn|a5KZft zD{Tv2_e(aii&ozJiGmTU(h>POB(w+1D`?z2D_YP}S~f`EVe&!p&$-~6+O;rGO(C`{ z1jMKGxm?2z=U*uXq}M|O-g|dTXI&Rpw({Z1r7By81Y*8wzcuVN2rYs~OLfk-yHw9} zPt;~Wzyt^mFnSiSxjy$ToJc%##=E>D z#vg;YkFJuOn5Ag5*xksP+NN47TDus;|Eaa5-4y48s&=^vlrO3Ai zaC1L!bjo%oe?~`0^NHJVi3R4oMq=AR`;dPH-`l-Xs+IZ_@F(1+kAB_WbQUl5wob{a zyr=GzE1lN;)U)iZj8kD6D9>ow+{9?*@TdSJ8Xb(U^$Qq?k;Hr?u-K~oouZ9e{5JKe zFTfX>sS13Nm_$7YHm-ww{2%FP|9cnrFkK0Qw}WXKEzjf#Jlf=2y&Fe);WR{ZWecKT zEw{S}%ci&|nDf%30NU^j&U+~bDctF>f|eh%1eIh+lI#6`(CSqt+U{cIpg>95q7hp0 zlbuaj4%d+t8@*2h6e z1yafx-5%D;c6O=3tf5<7B;NFVp{K!gAc-HE@Hh#OMf}JpOZS!n(p4%0&!WOa9)}gg za}Lwrk$MevS-lZX-Ie7fOl@sdGhLC4WWBszw@WX1zJ1yDkh4gNEIR;7fXg>6&aC>% z>zAyh_W;Qju^RwY1#!6B7ayfz zVSM$&2R_jr({X#Vg&|X({1-kOMo_ajxD;lO*IZ^ll@em zZ;at*#OR0jQ1t)GBeQy+7*lyb-!bNPkrd3L;?BDk=~Trao5vhX)2*=ZPFir_T75Rq%`oIVHSHKT$m2&1r1Bza+OnSk*9{jk|=`q7rkjOMi_ zFo_{4Aj7SDUO@Gg23{PNA9xRQU8Y@Jtoq6b$vj>9|>=cb{ z30%xSPMy~e@ty;U0L$u9$L?shbqCBUl)|8!J;Ni(k;oaO_G@PXTsIyhwI@e8Yyr`^ zIm1O}`ADU_=?Z{c%H=4z+j$t=?rhV-^xed|!JAjfg1|rz%*T~YtF@;ScF(=K@cTU;l<+M5uVSWmP!cxwqz zkH85s4$Io?nQ32~Kc>6!S}l%gj~OabDW<4*z?Z;B25Y~wWdi`9tdVXZxz4v zblmLPg+{r5*X#RZCA`K_fa4JO^R(+x>AnNkna3p)r+9(^gM5g<<=J4`Z-(A%b#{w^ zbnD;BmNJj&jE-XlOx6ygt5F zF_e(X(10AoqR%0nHoyA{GYCf57C>EazM>w6a!r9wf&DKAwB-ZhO8|aUYN6XN94@!t zCh%FhK*oMwZMGE?28@KSJbysgRJ;YFG2(Z>Vh9UZ{*0+SH-CP7Errw5a1312;lLO` z`u27|DP8Q2fXfCxItbaHMmZ(V+`32##i{-Tdc)7dv`CHF+8wrwys$Iz9xQDdvuMsK zl`H66`|{+BXw8t@?MQjhnvI&}7hOW$RM_6XjCN9vvu*4qt{cPXTiK1Aq>uDCvsQ?T>|m%NMpG z0(q_u8sZ*T`{lc88i`6a#wP$mZhi|a!jQ)~!AJbk}Tu zso=uYok->@xad^^4Jb#&t9y;RR^!qHWUMRhz*bAnC~VY=DF@0JEIY;q@OsSG55V-l zcJ^xDCoMe~IM~mq@*aI~HKzNbcDwZJR!YEjQ`+>*cBNJxfiGlwBbz404Zu)~*j;C0 z-seny>8a2`aGZ%xWWCVX7)@6a5sM7OjjOvl(GidSuz8$f2$$O?Bz)U`e8cukKXeRG zI`ZSY)~L3sKm)`wJFI+m?q&=bX(EdL^~WLATg% z!pn9Yb69la0T5C@&QaK?-ymOE&l586WwTI9JzsR}uL$%c>E;@36j?12o9~Kr zW6gy#bw&4+=D}xve@QH?JvagPI z6+QBuI_6=BbL>8{Me1f36S0IJ1|=iF*`FD(RdjhZEpkEz@>o)Kb$>s7yu3xB4s7IQ z(+SaTDkf2a;tC$ir_oE%x2pf=xR7nEaA)q_{R^z@#B#H<$41g(U(w~c3#KP%bJWWH zyxq4(01{C+Q8N0os(fPPjjl--QW!1v{|VNBx)0WCYMS-SdZMa2UYv@DP+Pb2e1mAY z3Zmf8H|OtxOpU-3RIWQUUanVU{*>up`E-v6dfuC^g4V0g*2}KK6)+!ceS>hbw*Z1H z>{W-VupH9M6$MhT&QCIT`u46&geu<6M+e{r5IzMgSuO|GgX9dOs_4x7i2lTOPN>UX zKwY|aW45FqV|GpwHtO-Wn#OlO5*xooz6<$EU9t(WS&RA%NX{|Z)wUfh70-}6GHUtA zH?tZM4^(lIgyi0TKt7|A_T!1ITfXUEIqVBIv?Tv1!o+u*UfED`ez(DoH<@xRzMaEZ zXh_iwSTU$YN{E)TLnVU!UWC)6oUTbeNU5RYXy#S14DwNp_d6w!wxETz)=XVDK$*8T z$L;>+h%h-v$y*slGP$s4sa3{Vxzq2UQ(@r#%NM`J`SfobU$myeVwJ`xMpRiE zT~JrFy_gw}RApQg%cQgBvf2dTC>jSucO-`W+-SG`LYpOt*B+RY2D2ZIW9>@$NmY%< z2Nhz3-KgOuhMsgZbco4l&-vDksFjb@bpu+(VZ_ct0M9@347H;mX#ldd<}AuZ|?}S@}oZof&2L?U?k|wc<*tZ1v{nSc=GefWDp=-3jO40@(9_ zR~8)QA-Yu7U2=&&vcvn?MQEyB*V(W+k+x(H+IhIIqyQF;?Dj|cJ$1?28*)4sXL-_p0^sA`b{4C zx*cux*qcUTUjIu%0=QI3Z{{X&z0=rAx=OERW6IGt^^dc*N>`3E;5X@PrRGp;FqUv* zBKep)TA(ju(VrS{J82NE*!bW99uU;k>qar2|NR$@4EC-&#HMqo_ZKVsS<4llnB6%e zHr;ONRibU5A;?38QTbrLAj|z_lVGN#r2q0k);kz&^P;C|hCOQ%K!FuL`>-C(a@gYg zP06kA6%ie5VNm5Hd7zWKo@q$k?1!}ay>{D2{2!a{3BXGr2mT+!>x8mj^k)cpCVdJD zfsAElkPm4{9AL9Ue)b#@aqa5&E~H5Kf5?IiG1aXbs$zILH^ZsT;8ie#IE&h~FXWV^ zYKW6G{B%u^%ii)G_72Y!m%SFW$5=qQI5OW&RESwS^VO}5{`ZzTHfwy+9kG$j6B69D z7OJ;cL0XPYOPe)rqFP?omd;s!1I&y}>rd6Z3p6vOVm1V<2Z~fjZU!K+ecbZWs^3on zNdT^GJh#NBmJ;SSY1mMUym&a?1R|Gzamta{{y|q_Sun8_6=PujBIi8o=dW6?>D-vWFwwKD9IHMIG)(5kVwO19M- z-fBO9Mjbwdi^=|!DHCCyzm2y%fyNYSKs~14qb{H86t1-&wUhNUAx420-RSAsnkDf; zRmqk*)D_TiBfts{S7dofSAsHOKgM z`A#|ZRjdqzY#v(ftc zGlzv2paxRnj!3xQRJ!FiRbqNR{R`YF3TROT5lH7Vv*ys1xyHz@l{=d>l|&Tn9hJia4Bg4sZkXhT??Pegi==0}c$f=IS_^a5Q+gVWFDH z?C4ao;eNei*#oL80qEjFZjWW8^U5%Cm^sYxO8$wGn}sbL5c;CiG`v*}RO5J@k&V0}9tOEEw)ehkVe@R^gJZTqDWVC|y(4Y2S?` zI{IKasH*I6@ix2a9lv_$Il|kv;IX%ep%my_|84aL%gCUvR71;qEKPjF=@j^3B}oU1 zr0<9+4@njMXuh-1)*@X-JHtx|g__K*v@HN-3{w2%k`(&X0+wHuTof%?y_jWPuzqX1<9_L-Fl-t-Mv{V^O$E3_c@C^5gvl%_*+p z+~Lvhv-2{yC^m{(dV+UPU}$!Tv!^F3-3maxO;~!OvLbnkRi$f0jbria&1}9Fy>MPZ zyoh@nM#lu8Wh!X_tbwf0fajW7@TjUvwX${vP)@y0%VW-69|truIk|P`%}e!=r-U~N zy{E?TQgb$Ld3sp{7yEz+k88_5y8)PsEi>#8WOlz{?d#of8HR14yzlbsq;!#o(zKIj z>tFeC)ITUxspQ%Do!|Zytol?*uGL#$!gS|%vA9>!Ltn6oXOOc^{>Ik1AFPXb`}xz> z)XND&z0VpIcG5a>^@0^-hm_O-H4jg8cNLzR@En47_=#3yMZ7PfqMev;*Hr@U zI&&N|eV>8Owe@=_PCv33(sTKm;#|b?_|tEViDq`oBpTWkLC?B-wY;ZkAE&0{#{mYa zIr15QASprMi`GPJ17yS2?2IiJ!K#1Atr#v-GCf#b( zA~Q{GD2x%UdT%wY@u#2Te>j=q#|1sl*fo0&b-I%suN7fxK~ew*qr7t|A)u=P<3Wi+ z-U$GC#>+sSvCEh$A9D?VQ@e)U;UWkc%!?9QZ?KWcKLv=m!?-XIc=SJ_x$UmLd$WOGfAJNUi)RCUu`r{n z5ILhNtwb+scU2YP2_wA0-mCe!HN@<`=<;BDi2U8}AUa9o8CLGXpocx0RUh24xoO<{ z=km{2NzBs@0WR{KBE^E5lEsMdZyP!8-pGu{#5G^uFoSJnzB*R|ynkGytqz(Vf)kDj z!S(k2E^13~b7Z}JOQK#Y>+{|0E$d`s`^#M_TL5f?hHfmGuMfrO<}?rMjWv#WCkn<` z7{)?vl7OCXucg=4qLbIb1YxDw^ohS)4-*wWH))iJ5qZ=AL+^g>eL8-o&es)c-pb}S zU3*QTUyb3OKUDAaDM2iAOsg+~bI|NAcPsU1Uvp-}+s^B;!ELH$V%#kE)yoQHtk%^{ z@!~e|g6;&9zg4L@eknfp>THpWvDF5MY2Zu3t=L^-j|K!`qL%42Bg+ejq{MaaOTaMa?s!0#?@L}5Zw zHCx0>5nWh4Yqrjhs$80)L*C}Lh-i{Lm%7U__M3RFsZV>oXW8dUI=#w&TLA$5S2d9{ zfLO(o6obDw@9oS9ptC{%3P)#^-s+8^gy5Vu78nI0j|;n9aFllqLM;R&Ed{lurtf4l ze#^Ks+Qkj0$+3C9?R9|=z)enjbUlvlj=M{zJE%<^Bb);d_hV6s-L6~wu|TFC)NH|n z9OU7lM&lysC7L%db~JTfkeG2N1GDx83MBP-M$UuZhZzFl)y>=6gDow8z7A@SfH&mL zqpYeWjVE-Gx}vPb?*N0zF$mdbq4CSl0 z95g6C{{-vygU|u2|A22up_BP2IY=ec|AUqg`&oSR6EZhSZVdJAdf>+WM!4OegeQYB+TdLQiTfzQ7{p8C^FoWM zz#$hkGz94)^@Domky`Q}|!1cAiCE8o&L?un9uiLwyU z2z>3^e9RfV59!IEE^ip`leqpPfz1pPxXS*5Zm@4P#DE{RqUu_5^62(#`roSKknRe5 zmO$u;r7KPosiT>`si$=(9{KFxQdqu*#06RC$C?$v8C81L>|dcxd4v*|+XUA;aLz^6 z!Yn#1K1+>W81%Qy8TFmeJC}+Yi6{hyJ*>M}+pwP3>9D53@;R$~=2*I z>}&q4GvE`G9o8#eUHbI?1z?$5IA$G#Tuub?&aoj9XZsaRLWh_?PQ89{0Ct`1p3xz0X?;4w&Qc< z6P|Of%Kq0mjpz+^*zAozzqd|V0P40|$$3d5&FpXOcCystVUBh?+n>Y>+iw3C+KnZ9 z+*`Hw$pLG^ekQnd^~rQg=Z6RmskBM?OJn%E#Gg21!7;XLjS2Yct=DPW9@lBxtpB8K z%Y+hp1&fag_`dx{txtX%yd>|*eY1|h;7MiFU8py0?eGhNq3^Mr_xW9#vwO&Yk@dOv zQ)AN`Un76q`Yw62c^cp0%Wb1AywCRek=D{r#=oRWaQDpk&A5T6ZM&iFCBG1YVy&fE zC=rRoCm<0`VCZEi>@Z+J$&)4=Tx-teOXkDNyBDkSvdR9fyq_-TeM4%YrR1{Vuge4R zt8FRqKjL^rme9-Q4-Woz*4M+irt(L*E)7K|Y5<-g8zpLVuLqEi6}#$zN!9(VT+i#~ zjTm5o<2FB=uaRs8z#@{l!a&E?)byXjY)5vJSifAvs#f8-uQzHYyk|TDpIgGwvfpvx z4?E-a^EdeF8XuAePa32@dw^A$J%85Di1wGV@5I_NXeJk9zprncif}+Ikm~t&8|Kg8)s}V_yFnHZf zb=lrT{)>BvS00GrmT%2D#pVzS;m|~!2CT>@9%M(`&PS=7w0VV84nM7_a9&L%YDjd? z#$!=&-jOR|X|9(SMU|3msy`xC)4&ONl;`X){h<)cL)N>e&LKgB(gN?Tc<1tRbtfE+?4-zW2_7r%=Sx8`7sf7n9-OE(k0QYW*p+iL@bSfibpUIu#BKu}9S_~?#0 zlCnipwy{Lzu#vUS7DwF|U!D`sp{d>@MY3MgSq<71phEdsrHlqF>)cqH;=Z2G>#$2i z!La$taH!+AkIa1_G(t#I;fKLvydoY>-^!27(1f2My@sa6iIxBS zVH_g` zWlP%4mp~1Ohqx1>m+Fbcgy!jtrsseliAFe^mHSCxt;p$8MfG*+Qn0q=n;lqPJl`)` z)LA!qPjuzii6ah(hVDIafTTW}&roS$LiZVev)8m(sVYGsa{l?fZ{YsVQr98e*xGT7 z83VkMiZ`^x8~=5WSmT)A1YWseoNPPE3_w+R&cE~U|F`)5Bh&f&Xt-V9F8Kus+%jHa zte&CicY1;>m}bKQGVbOpJ2d-a-}N_yDmmNlY!?KO`2~wO7b^NI?JuB*V|671QzS*# z;&LQKW_R=rIlx0Bm`|*~Wt>;rWH@Rh&P#fDf;LPg{P)-%Nt~<|nuYE)ys><>yUt7> zYFo(Tsi-H!NcH(H&Iig44G{q%t~gEGd6oQ8p3c#S>@*^bSoRD(=?|3nFPq-w2}a6a z-lPEsn1gyWH#)SQ1bN)HFfc%#E0&9-o7uY?nX}mb+?>1ilnza7u418&Z!}i$7mNFG$ zwA1`9>nDH8FI6Q=)_l%j1~QSk95ZTP-k8eyD6*TW5c|caXwFqN8Mx?Pm`V+#DeI0% zYfkCg*x)3QU~z1?pNKtq4lEu_Rp{Rg{2-o5HJd7uqyFrg3TpQi_Y2Ir*352xBH$UW zFT6p{C?mwomrUy`q(V*4(_v!#(P$$I0dT%U;a_Q~b_ZX86Ps^RSEIBdacb9dXq`*- zT!u7g4Ek~;YxlmX9CyMum{sBvKzzV4Uj~l3_y4OtV$kLKCE5VLdWsL!wLL9x4*S3S z7=)gH(1Vkl**l%RV=m~Igcl;VtJ+KT&UcbaiV^LxjAGi#KXfu7F{W z6`)s|(ocihH~~3ICWBrgvRx%qL4}a=vN2NSQ|Ni0egj$Uk)Ljj#9Esd%`3v8k*WtW zk~k6=GqNyf+x?Z18Ay0%Y z1UGD(=p?~VV{`lV_5(V72sv?y3j;ELJ zPj(quQSa;6U{pa$B)3cRd|^OpE4)nLZlb_gQOmCfKBv~B{ioUTLCugzd_@a?89zOT zrZ!(m*C43-<_#`gp{p>;#>_W>w~0Q%K%Gn?88Q@w`9HM1bySsW_cp4igeWQ92qIn5 zv5*vzl9XC>Bhs}1k7g>|Ng?58lQn>f6ypDM7R$xaKS7z<7Sa(#SPHiO%>}_qiyXdJk?5L%q?@`mEyd&|G>bdewt(e6FGQv*?e+#3L0X=(|?^$#WY z()2S0`~t>ESx9Qz&6MQeY;=GY#O#BDiEZG4Uzjs|ObPl5Bk?#A{Wf{WpbIlKR_83! zVBnIvH&Y!lVzen4%P4uR^h_v?k1Lv!_$gfU+fESv+hUu#cgOh{BzOYR>>kt8OuvSQ z(G&)@N2CL2CHdBh`THfl&`7!r1FXtIrP@(v+p+FUem%mez68Sca7+iRHdj8+O-W>bV%4o zS26D}5_kNUnT`sgfe?o*HTQMJ=P+4^AAR_K>;$D-)1X#$3*4DVXZzmltJ6K{G(Nrx z7JU`4hswURg7%1L1)){K^O7%Ujt@mxd(P>Q6IX~Bp$CjYE>%=>$qmimwtu57Gsurs2rWJTh9Paifv>1^HYQ|lwFaCA1YUC`&_Ij&bMQ`Us?rTxKdObuxW%(%x!aIZPLmIE+aE#e3NU+FstmS! zQh2Z`3-gDyx70%eVQj4ynt9O=Vw@aSprC+)JzI^F= zXeQXCf$6%VL;!Z}_z2#WzIj2?PXyk>;#NuK6`y_$+NC4+Y{`^lRgZ>G&r4Qf;+#XH|-6@AQ46)LdsaFG+A$@03nRVwAeL3b`WK- ztNpZk^YKVu@>Kw24H`x|-i9K?Tu6~M;!mE6%zh@e+Ivj(zZ76tD5Wch3&@FYawiSe z(CzMC>}Ic0|7F(O|Gmqn zM{WDRb%FO+cjg~x5$Z&jPbb=sFH`Ma1|h$M447Dm4eT!g_q$h~-9al^%a1NXbV6&7 zQ^kI?c`AK|>x!)vYmLjs?=Xg41?+Ij*`?D-0-9RTGfs_QIM z%4PjpN}v1-cY1V8hLEw^9+1&90WCqmNRkRqVJhJS!FMI$vdCDiZC7Rgs}ujpQTgs? zuWSCQE`OUC{`yamM3MXVQoU(4Zl}L>YM$A$yC2L1CFUM5?Df{!+fqcs=u#t9~W< zgn|~E(XoCTSoSRXWhj-Lo1bAIW&|u<-IAE+>8jBqsuK*LlTrU4JDIBc&Ug0K=c#5g zE(dzsK>9zA&cD_*uNPkTBop0uY+^xa_?HOaO?t%f(9K@+?=X|D+! zcd*35#wn7O>4ZsZu^=j#puL|4N@K1+IJ4A>*!mCey1j-YQ7Ej3w2=8 zQS4Aok5;CP@pEMr$C##0NK>b5^`Jb!c_<~1J8h{NkFPspf&HMJDi>rZy@BfZP%Py1 zt3O5KyNGF1B+XsQFu_Z6vb?^8EW!5trj;lqi?`4s4;(tp^EzcEi;oKxYVI)qB*wmY zU}^xwp!eg~zy5Cj{#DB4{WH9YYf?VG}29T#P~oHSE8=xaG4IQE{I`+9I^o`+&-UT5a*+B<@1Ac1H7 zE$TBX)I`MaTW;}F1qo3@IWoBU2jNbnAa?5d&b3Z}((GSr8|fX%K)Y2c6BS?EIZb2% z3o(*$TYrCntHqh2*q9N{OWTf$X@B|JWR>mn#{W`PdU9Wt2$DWdOl<*d34;yn|Bp70 z8|j|uP!jq#XN?vz+#x1f4E-)lGDn(3M$9Xqt2!DPjiftzTVhdgb+}HLFMM?Qy7b;6579z zBLB;4kaKpA8BK!HzTpGU5c8wu5+GsE*9hvz1OQW9# zbdvnrBUHWqiRzCjc+HM!QS1WsOUI%}>i@;VAW&kh_zJibq1r<1^wn%<&$B+r!ZS*H zy(o6agv)mg{=>ikjs5?}z+n0?n~tJ!B?B|B-&@%V-X{swof76UVICJB>WL4L=u~$9 z&V7b7oPAcwQmA+v`i+aUV1!AfB1MhDRyu zLn#rb@igd8?mE$+tV+H!2dZ})9C6DZ>W+7!t~4Sp;xt}`_Wu0TO@!+8 zq!c&yc>P7N4x(*5Ob5P|E6?iAKc#-#!W=Z&PeT^_DgTm7zy+@@z20`%qTjFLp{o#$ zEAa#LA8aAip4&aCr2(OWAB0FP|5BnS@!IMt4Y2hGoKC;MjN=&a=X6n4vfB>G^jpa( zc3xLb+;jge)37s^?egPgLO2>QOaanl^4tGucrfR?e}L!T$evfE%xo zu-HL}Loq;PteL94^AstRn5zuX*0>kZ7z624I?FD9YK-3oD6=*Z^Z#9BOkuMg<)n*=3Di$M!tL?GzYVmVX81Jd|&_w3jll9r7(*b zNVHXfY~OS9jylM{UtYhO@3WT&6Xj>_Hz9Us+W+cq&5LBmiS!4lpJXC)pZZTyzwE+- zNLVx-V6x0aL2}RQBJoy|G$`oQBIR-2Kox?#v0q8*Q4{2{rR*Kx6-eSc%8NZeR&$4# z^~xvgq`y?PL;P4xw;_~FT)|7fDjR#LfqwL5zwD%~FrB>7*33Of<@3g|B89RqI^fzr zEAlg#Jv3ArN4ZvzYp zB!z|E*oSP7&4%>Q32}9cdD{oFbz+iu9Amb<4pMPPR7}F#YBIr}bdaMwxddQIx968` znBuSHw(P554U6PY+Kzu~I?eE5CK0X*6ioCCZrLif)Cvy&Fw{Rx@F(Ek9LT6%QG4H_;df9!F8ewzxn240p#-bYQ4m@i>Z{rZq@Z=o zwhzy~K79=7$-D}Q23Mu@3OW}))F#g6KW)$ax|*L5q5^JOlcwNsJ%4}ONfa*{-2iDDuN6G!z2s!U+-|x~MN{=@n8c)cQ<8T5QX-e; zaQWZaOn)FfB7FCiA0w>R7)bG`-B7%e{I^o*RZIS`h~9HGlxO40{WhL^y2@&<7T_%d z0HKgz+fk}4`tyB4LGDYVl|Em+7xpVzKqD>4^_|ZqMq7yV%`sKTh*Gf5m9muFL>Gm$ z9lK-&`K2|r9RtX*Lze)ARX-V`?Lb%#Xc!0D*xJ^`SVN-xh1ERPsdU^X2uaw-Q}CEx zu=-`78|tC{ddEtJo}EQb+%C$l{X|Yd;=vQFQVlv`B-L6aHp1Og>Ej3r&+oKtC0c(- z7?ooYs6w)?g}7t}6WM<#7?p2^l|j$au>hfW@wwPDSwO*fK13Mr!)IB)jznd*1>CVl zcRpiDTILvD@^l^+2F*8A_@+(mX;rrv0YW(jodyOIrOc=9 z=>sXir_Gv#?%oz=VeVjt7&NjMES)?pg}a!4{FBGDGPksIrU&>oUm=I?n!<|lJjdO; zawqaHAMvG0ij`<>8V56BMSGZ`Y?@8{br_&TH1LJGoT-}HGX zj`dhM;_KI|v*sz2t;EC`Hi3F3_4R{={i34bn}){nR$*m|D{}c@U5xdko-BmlT?G3da=CO`(K)1CHwo)PvLE> z>9BOg17pjXp`F5@>Y@+7sU3{_f9e6Q_Ld=4hL>>@l@XwFz;)IpvU3_`sS$UoOuemh z(ja;uxT3Gum*{GukK5>K&9nhd+-UXP_pHme7fztBLVnxU*nmRnlb#aLNL+>Zu_*(Vzy?aApKehC$b zmIPr}4LA<#05oy3i?m4)mDw)hjo;+Y&aNb_faBG4F8ZR$-rG;X$D`EK(o!C0Be>Ag z$q>1l;ld=-hZBJjjfBj?Pu`NyKy@%Y9(XsBTdA@iikTjXLEizLQ5&hjhD2+|P&#R^ zyo|@*7%wr3!;5w5B>i{(%<_(;q?J1BYFdRdaHCkESCR~u^c3s_&oS{h62s%tlpozB zXUkQ)vo!M{s6DeLimOW&Joqz~k5DH;uMI>w$i&TwnEl=t(3Hz!!Z zCAcW$32~q2O9F))Mm1f~h&WA#N|H8Xz>3zes@<8;8x$jb*Dm011>mg3kfVefx8c;d zjyGmC&Ipg|*RchS4P0U? z4Xe?+dsVT;>{k(Y^gVriVuiXdA31+`eSr4oojMtSf z*#7d4v(era`8H3lH4tWx0V@BT^V>vKcKL2I*>jev`l1w5DjJIedf=V~tGX4gd^#n} zv#%RY`Q1d`qYK}9yrT0Y)*o~?)OL3rMK^U`-&I#o^48^*@ZVQqH9IE0i|+51hkq;{Que7!Y=d7pu65>5=k>AZm=J7FuQI=riwuwD-~!~NwHr|myh3~pt?%uYWF6*YXLIWOU>|rw~Hi;!$z+)%hmEoN*$No zY=m8kg5v5@dMj9g-qZ30Yh_mq;T{zKEuAJjUFO0^c!0t$Q`{|8)Yt;B6KTzoM9!Y) zn%247nyInKSsoN``= z?cMNEagtzD{Jm1MS>GqLHFPv*m8toM^Zicz?$}il(d=26d*-6`A5&?L(Bt#n$;B&2 zGc`A~{BX0a;Z$zp{vQm^HQR`9B7HH;g>DzE!Lbw3?i-Ybx5Sgku}p<8&mv`A{Pj9%%kZ@L{@M$TLoPzP&y=v`7FnHXWR#H{rz3mr*tyaJURh( zu6-|52R_0W#$bp62o)YNaM8#&U)Lty{jy`fGPjDU+{IiNz}I+JT;La>%D#7&nzp{+ zsZ!x%>O5@RrOe){brN-`6pu%#B)V}c1T8pK`OWy|Kv$NSnce9T-l<1|Ah&XdMl12e z<{VwK0`1-cc3UqYLeMHL@$Aq>5gdOR^(lZ6XpT}uA9u>$w#1l@GeMep@`fEf*xrGX zcloI}3q{dx#pDQ8S@8xO1Z%#%ZIzm}** zKlM>E{!pev;1C)upk`5!1t?m`}g_Bfy}G!eedaR@9tF(J;WWow{rcHPru^B??lU9fbI;Z6$ca8R`rVe zi2J8>0T~M&3+Q>g$+Ib9qd$U}1vFLw)tS~MJ&2E{Hy_^XC%VAjHc{(;gv0mO+pqw;x|kcVpLrEK);|;PYO(e zteYpECE}wO;tz719+rxFsjbxWp(o)uqiToKpMt#tv$J;yvV)n=JtqYpbMKb2@zy*w zNEjR;kTWAa=6NO`uRvuNjtk`IaZ%#Fk}r2JCe$4>Mi>YC$+6&{mz>aUCB*SD`g?FqiX_q;NSSUCA*5cid&s5z{#+A+JohFbuLV64qT zbo(#n4j8$z{O7eI@wjNFQYNv!36bhgUIx1J@mnoRp?dJ$W=h+_fAwSJG_6m66V*__ zVgEBI26F-zuT98V3NSPWvkm=F{bt3lN(!gPXSQ282=ocm0qA*{c{RxEUC1LpxbZ>* z#gcgs_bOQ6V+0_;SM4ry4N*l=dmR(o5U{LQ%BQAso^L1_LwgJLupE($iqrvecJ zjbJe-D&dSp`YeqVKi#lW_{efL-*Jx=JQ`D|s`uq#Im}xcLR2wrib<{AEAJ9mjOeG= z*)l$V7c$POP1h7sxmW?k#H@`1A7!E|v3q(CSDoGKpN!Ws<|xYbz#atN6b-UYyL06- z12lP(<2+5S9bt`5cZ8{Sb7y;gx86^~xE(qTcip#-e&J zR|`}59U*wxu7@osjNG=taD1-?$2qGe?RxwqERKt(b&AVg;b`pGwiz|XU%G$CvKwRU z6BTx@B7^rEwYTbp7Eg*(fCtR1+C>6V z5h2kOZa$@x9fU&Xy@^7xwg|)Y$`Xu8ZxH|E_&1))s%PjA^B99#zF~EqR+{27X>UpD zJ)``o1deZg$Lih0ElZ)-}+gFQ@5oB1?iH&^LY#VP7rHXEUj%W>egib2A6 z6yMNy0EB(ywAP9(!XdaF1>x|CnjwRU68W}?THGvz>3ti6AIxg8ptf%|S5O(rrD>T9 z>3dyw>noqkQB)w|xL+1q*f4K?FEE?IJrFWox;xdTq>QVyZi;X)YxaVTXF{1zF@@_G z@EK}^ua9)yZt`O-`-hh1k3LUg<(l0T3gB=#^VyDOBBCXD1EF`pwT(1yc zCJwKc`B!5cf#ON1^1cfp*jwbWfpopoHB>ke0owzUkQo9I(K^d3z*M){s*{X3RP>&2 zfbTR~O`Y8t1vB+S(`F-!JrS+suDgprzAQK{SoX=y5oHwA>okt|L9dw_yaOjcZ=WCa z{uW-isLl%JW^}SiKp#XA?U?7%D739wld$g==SLE z2dx*IN)*DzV8o$K&Y=KR!rj$mLk~xlhkvMLFjrM&2MJdpTR*H=%VISAOM3fQOR4WIR-XDcNWMfqEX_ zpm6KAPEA6Nj0y%mGEQGDBg*A(P55KKB(f(5=a!I{NX@b|ra63$y~ZqtG+Q>y!99mB zn^}{pr~I2=40S@4I%f}--5h#4Vya?fs;Zu=&5mzbe4~=n+nk2gy!SE*fcr1)C zDYQNC-lKXQgb^BV!aSl2@h4g6xv4no)86dryGKV0wN}n8$s#6atJQmu$#0_)PrA{T zpWU%GwPnk@&c&!#AUNGN@3gHE&)x!+;*Iy$tKacXT~7S`kg%i1ca}{i^$ycDWqoC_ zAkR+cWN_$ptMOnG_7H(dQnC%ibMMQHB)e*pXN98D<%uEK<-VQ-s&zsqi3ltdCRJ4AE2L8j93}W zJa1PbEtF-Cmf3yTG?_ZRO-PpJ5Eb$ik+=4w&SX9yUA+RyU&7e>-HByT6E}IC4HMbd zjT0$oqU94;1tXmp5d-G-(VuJHayOQqlQj6xJ?PuSZH|Bgbuuf@4-GxG80eSDc7gln z5;6`zlaCGLDHimXQ$;r(-0vZSUW4R*n%}gltTzuP;B_mb&lO6+%ov$8-PUS)KO6Oi zNLRr!7w+;*YjcELR!YoOl6E{#27#+Wiv8yK_48+j$wkrH?<-+|f=h5`-{V}BQh6OW zz<|!`A{jE~at3gig>UyCIkw$|BimqFt~`g z;#wu1(;CfnFu6YXtoG#N+Hq|bXB||skpxY~zymIv-nU;+HoxO_>Gs`0JVCrize6>G(gK_=D(W@hTO@Vmdk>;`4fMlQZ}$@gg~GB;{WIt(;9 zN!k9iuhr<*!BSw1z^xLRbA;77Nf@8IQ2HOwJWS<|WqL6w+~Q>IL_yBA z;Kc&eUT>0Rg>Nc{bfTyt$xF5s9Yu!HkK-hT?s8HrC|9@vP=dZ5xX%4O&dSJ~00VE7 z$J)Yl42PB!J4pK7jt%JblUk|;+;VyC~ zRssk5_rqqb&puIk)|@ZZ9Vf*=<4?Bd$nfvUc5}XW@*>CB92QSKQO9_iosIejG$;)R zWpeW`O$-3U)>0g@_ZJleodMV{F)hX?CZokwKf9R)BF*-fwqIc4LI2&XlNZSW%}Z#~ z%m4*&cQuJw11Pd54CaPZ=!8^}U|Z<3p^(F0oVcafazqX6;{2C}SUk&7dcnHhh4!bV z21$HZmt)k_+A$&To3ez1B;v1FUv#$r0w+`rhf-7Q^#qf-!z~JPn zf}qfn0NiDC{*7f629SlU-Dp=B9n4>^Gt48}_v-{6{va|IbGUH4t{6@yD#>u)a4@Z( z&NJ@z@2t#UBg8x^LQ4B$!C#RhP5lce{XtM2AfUO!8qw%7s zzT%UEQ7RKDwQdsSZYJd>vb$)Q!vgn6qfzaK2Air(>cuyHUTjWki{ovNdbUag&dba=H+A@)NJD$$l_?FO)Tp+L`+W8# z%(D-|T+Fbka3Per=Nfih>Jw1&FF4%^1#!JzqfWcSFC%&kBdfT4?|!9Lcf3zDV_{gh zahk#r{g_wW&@UWf-);Cz8WDRL;RB|V8}(TN3! znYcdXZQp-BC1ilEN3yb(6ZmouhAqZ z3)(Km$oNp?JxJF<1IVFouD#~xKz7Cgl{#JgEX}S3S_1lrDek>^wa}-*%J#rOgZ|v| z1kD7|U4I@JOgUP$HME2P@JHa?!EQPTZ z=uTSog9QUJ^(Q?GEe-XukUD`G2F2A(*qHL#;JKXbd6Z1u+jyfL#xvjtk1;9qW^|rUEQ0Sf!uCfhTf4YH={FWqW<3;eih7+;8 zMH+3GZJF^^dz3q|#Yl?vCLYJ5rxHOggRkawhs~nP~x#p*0;q$wet!J4K_Yn~PE4WQ1gTndM=%%8YgG%DAB&?v$ZrVSsX z)PE^ZP+y-|Cnk;8A2I??j0z7lA5(a8cq;PFr<(sH5ZQbU3ni~6|lX*W2jOdT041EMl0T_iRs*}YRz@w3LC%ts_7V- zp=KW*D?fJx(X2A-3qdo9J+N_yu2JucCau+-Dlb0E7{)~=eW4=Y!`LI=ue9#8EYh9+ z)1)dxEs)c*>n&8AL)RRI>hMtDVz8mlPK-;dNVT}&%X9t=dBX*~x*3O?{lWqZqWT>y zq;hZBBw>2xpm|ChJt|L3KChrrJJ3=Yti03CvoFgP^ouD17F-N|r;< z&-=7EhlW5NSxcb3L1*LATv<_Ljm)bpo$MzZHyB5EYLq-Y+LqGZsAw+r+_WTjK+lr> zf}Ws%-{VZO{>Zm)wQK|L7T|;oC@t6iwRqLl`C~3m1%YrmoEl*&@o&7BzW*m5^4GTz zk#fm1Sj!Dh9;YTiM^ALY;{q75A>lJTUr)82m8o#|37f^`YE5aI*`D=M_V0ct*Mx{e zB6Lbym0#?ABr_042xEUaRP)%w!_)-SfwSL}!Mdw-jkcKyyd6piUGi1-N&dqwf0V@2 zRFYK-CV_Qjj}2Ng@Z~%I=SNiZrbEQec2RD|u%^t*>EHGXKo)vvK2eZxTMqdU)e8TQT2EubM{- zjn1bQiFecV=gu{gM0|`|-x~%r1lB7UV>p20 zALI3A>(fGXLEo3b%_}j-w&;8XGe12pryYYDlgbf~xSNG?cNJ>J(Oj;q%$O-2#tmF3aZw z$8$kMZbCa9s^5+EB3~0-Ua6?%0PT!VKY`p$$_pYT;bM2VKBZAi_>)`~m%fLXrVL}E zTkEcdYlqD86`of1UyNB`q{OI=2X_)%%%_O#WO~42j>022FVUofc5l%NEbuv=b9CMC zDm-(@W9^c6Q5cIFIF;Y}6Zp4HIK}JUN(m-X;q>{%3~3hCWCt<%>=HaGs(lxgJ5*8( z4xLI#pUdq_I(olr-;{Q1M}b+zNzVW3XS9>=n~5)He3cqG2 zscS*kixzj~9H05Df~314hXZcI-!vyVWaO zm5vF1D#qmI>j|U0HuI)ws~`}_4NjCGgYkSKaft%1n(&k0QhO%Hn4dR7!MQszZG0;uTAK5!5~xL|66Po0Ilc)e8`*bZxv=>2*;)M7WUq7Fm6|~ zpCLvfL!R~N;~J##Wm86@^$Z`#7V zSomaxVpM86{i^-D)$CK0J#?IJDr&m%B_hmz>?9HaL$5x5{b5pm)|wuhJZK>sMADxI zvgvLSY-<07IT?P;2?hxwX~4Z1%8^%&%Z#!Gr&m~qd%R4orpU8CeZv=Vc?o(Hfm`!^4;Mo2mFYrg&a+UXjBmy+`#` zOF~b&7{=LY|n(X`c-D^xXS++d@{~(A)c%#l?npX?m!;OeDFJznl*q0zLHgcLi8^!`7&#!)a z3)!xKKEkd$?Mgz81E8F#&x>~+wKFP13D#IoYPqldZjg;nV?k$NH{EG%8^pM@b*IH3 zXJo39+L8Q}`U21=_jfW2a8EJY!8nfRdk!{eBr|>bkBjpBEh~F!E!v&rjRsBRS!51h z+^+RW?HTURK$A;2DfnYPw`_uLKI8_3_o$3xnSIy9guK={AV>KGHXe$@yXYnYr@HvR ztLoqN7F)*WQQR=KhN&|sP zRqOP?UEG<{@cr-fZ7-9~v)@?Ezk8?-d*8@YU{lDtqVmxfW89M29gdjBrPH$5;UGpY zr?cT)tR(R76p5!H(aD6=A)~PX90S&4*cY=g4fJMh5ZbF48V$$|ib<=vpE?Z}q zu$?Y&prWcqlS@q=1gcKU`CL;CHO@?;&$o4=0!m84py9V$j2<0%ATY0Ui-_CuI3JAt z1T2o3-YB)?HS|>KR z=;^7-8}b~nimIA&WVGJ<8}ZLJ`adt4EIY5&b0ZPnKOuZcKvnVsSpS6p&Jq2#a%geD zBC=y}dOM9NxK@lo( zw?eJ(%@g#9$#C4I%f5U|v9rOO&kVT*>RWJmkP_h2Yb$Y4|I)9+SMcVbIy8Uuq(?5+ z+H&>P9ag@ND8oR^oK92cXP4Xzjb(a)1cGA2p{kJ|4EOzGSQ~(E6BG?^bh&!m8;1fE zqS?3AFl=0a@lmsY+vJ&lQvT8{6SK+1DMu8ZoHO`}#duEDSPKv=Oo2S~+`!G+A7;#Z zs_v(BV8~@zCty+$*SFbh)srhq$8oAJXkBV5bxr-%mV+i?Z_M%6vl&cT||C8h- zalOa7eP!+qMEmTSbPCgIt$WyB3U7_)+0o1c(eM@TYMS`NcTD0 zlxF_qDm({L3_e+*3jMpbrR3Lr@7LQrD;Y}ssm;&s?%_g)bYw5WrRaF%)*}W0Xv*cC zz0=!HES!ITZ>bjho!BCV`#qv*qh$5FX$VxmTexzp0bv?QKS*3P&8F(HG1g=W*rIo8 zJbDlL-7u17!u&J4!yl#P)s&!PyYAgipQ^<(C1A}l4d}d?)3kodpY&z5mj!|GYJxr+ z^#}f`^EQiadh)K< zi<=W6V^hT7AA&~Dsk!qMFgMaFoNB7qE!W$d-mzh99+yyFAr``@Ax2AqSk56&x_u=37e> zA&Azv6R`DAc)K^q!QG*p;nNR5r7Q<{9a_Z=9ZwPsb^sTlqh;6QxN@0pp6$9?{e&I6 zce1z~yBxRJU#Z=tK@^Ufp2@aDL@KXyB?G^7@T!HH$N=Sv!5UQ`z6LO(DoP_IySCG- z_&e~eenE3_q>rr2$Df}6QXDeN`yjBBja_v;p(*K}`e*5I`Ndp6OP4Ow9evN0+F||h zaA)4uF((V{dxUvWaUxuTD1A4%d3+y(m-24r?CD(I*twDAQx)adaK7t{nJR0_zPF=d zl&8gGpWQW^#V|EfB~W&U_3`dUEYVnkKxeGu@c8rQp-FQk(M6Uwy1>SHdvmTOp3DN^ zZ#hTDMCr&R1;3lwT`A(GhZu`}HWE(G@DX9?{wU2Io1wydg3U3;DRAkNT4f)JUn@FO zBW+-r&Bz^SSNXQP!M=Oud|30M69P$Ia^G6zyGuqIJ-c1L4)aX;y4K1i_u{Az@vRwH zIbV(n{Y~dMZg$T(ZJ3IL0t^O!8^`^1p6Ti(cd#C?+gbA8ukQj`4S9anOto@B2H;Fg zvgChH)wo@}Z`h6xnw7HUCQA*vLfQmd`I&k6$k_n3fjvq2cihpT zOpQIudS#|ZJM}9F*O?g46-P|+is)CLRX;2g_o@^n44dr$F~OsiwQSOM%A(2Eh7D7q z6D$;g6}DHH?(5R4oc^q79#zScYoiYn4wPE zr1CzasT{(l>>!@(mXi|E;TtXl; zv#?J%7;rImdk!DB_ zOXgr%kjrX@l&enCV%=O@4uf?1lHzhwPE>O2uZtCq@KZHjs*vO}b^yM)pDJ#QNM?a^ z_5v*jN`4*0T;6UQtuveKd22Q&QuFN2`Jp8_-^MyeQ?{RZ469#WOm~}9vng||rBWwy z2SOBed3 z`0=-Yyi&0d!Qr(#?_sch^x`riPEW?@oFo0odFVsdZ5O!Os! zld$1%pv2eim2f<2V*B?bd@6DqY{0c33P8p=vJt0&%mSxtbeQll!65nIZWI#oy(7A$ z$0Rf926F6`ppBXA$yDBo0R7h>SN(2(;cq$?K|zNScEoDAvOFJYyV`$9l%ra4zzniT z`^%kwP05UFDHw@Fu`K-1e{b|1xM`7W*`c-Evhe=8@Fd+IT(k91tN!;yv$ZpPVqk9#??w z^C9nxmD8sS^^r20wpZM1K0F02)OLL;YIuRCy;~5x<2>SWtm|eHDqM~!oY0>tPxA(0 zb+fhg+A8#OqM^WSxAuNV?DNu?@a^qQzb$?)5cgwUBW_$Un6VA&Vk{tf6M)(q{$yVvA4zqzmETf@$DW|b)^+Pf1O0{O^mivYA zCLYQj)I8#Dc1yQ5dQJy^>f*RW;v^m)R8+;vqrmYAm5R*}A?JB%J|Y z>6@-&jJiP~xnFrU!AsXD91fZ|DNNn_BOEO%a8ucJ>BP@5S~pll zzLF1=p44behhf?87S#S^t}^W@lFolB1ZnZ840GHJn$G#-T)3?`AqbiQ~ zC7*iT@vjg5gPi|s3G?18?luuHZah|BFVp%3#2K{$Z=#8Y^Y0X(OU80``qD!QN?VPc zFGE|%iDY)Ys+b0xC)DlCo^?bt?u~*ove#tb3>1z#{-2Gt%U&k&+HW@?-oygo5<-r9 zUNL|n{*40!z<$puy!ERWHtyTJ`C#ZE#PaO%U%i%#Z8>6F3ZPQ ztSwM{Zb8`~0(tAG<%B6<|ElVle?Ay(A$>WL$9*@pFiyYG(k$*$A7(rSv1+RO=S%YXG5%b z9AID)HUB=pi6Uxzm6U^c=g{{Zx2cq;*=54d8PE zqj-9ViClx6xSI_`U|15>=P^8`dThMOYc@=UOpnV45XQtLw#mw5d&w|~UF)^aKCClJ zS(kQJxuBh%pi?P)RmQvfWam*XJE;8<2cpS5GfB>W^~AS##)IdGWN!6m;i}d}wCn7; z+tSamBK2PQ6HmYdXgAc2^e=W+&h9_Ji`VhtJ<01i=V0q)U)b=?)%3Zhbqo)YvxTYMgele~A6$+Ts#Vv&KIfk{C!)sdL-*GoRE4GQkNIqRwHsh` zVYbWIEd6c|Y?BQB#Vqzl&g#b)Aqz<a!v1P<6` z`t>hrV8s|VfbhyFtd_o4B;Xn*tO)A>N0S3c+?j?&*Hd=}3%0#oHP{cg^WY6-y$oW5 zQlr)=3Ru5CwDLl#2~W(raU;yD+xb&100FH4{bGt(`oI&}i3!n+RoY6RB7+zzUFD@6tLRxLiJ;+l!mDEX@Q`ApD7%9}L9k;~-%+ zI8=YYTj_#&GP6E(>}Oq?V^RA|96QQ~WnsMqdhPbfrAwvb4yr)rl73f&kJkA65I|iv zLI>IbK&RrC=K#lwTf>O6-o7}#ud;Z5?TgJp0gtjL137j6=Nj5J^&YCPr_JY8oMQ?U_BGW#)@t0b;` zbGjYuS&j|5F{ij=qrdfaciByzvTM3^xke`S>}uvmy#!3vTqiCZ5cyC&2WsBiiMPd9 zO<|sA>;-am?Gkndr6=+RSL z5$AWPej__FbupAD??gmI;ZtlxQQVU8L-1JVC^R7@ipi?yTY>4ML4|@LTm*IO_)UPR zizo$|FwmR2+XrPMDhd?S*x4&sAkkn)mCtB@cXc^I`l=dX1;yltkExM9q#}WvKSx3- zOBZ>*fckDac!M2Be=WHJ#z89_HvnE54N1n5OR1;;W-W1+ey~DyzM3xKIimS_*$Xu+MzIV z95>Cn*0;B0GIt*97i65uKP&2`dpuowM^J3QOry#U$rDXtc(c?{6y8%;T~`t;8^_-B zlcg#{$o(VQa_;cWi?L#LpAYAqjc~e-3eHU?J@uc3hve4paW{!@@?>TAgOPqHeT>z=eY;W_5W9`Nt z)_iyEl#mx7nAF#tSNBI5P(2%{Yy7JL?l1mF8DJrxvKtGXtX2vWt{IiiiE=^2{XeX| zXH=8zx;1K7M2aH4i;7AUkPeA}fC_?0?;^cR6$m6END~N1uMrWD-g{H&5C}-`J+x2* zfj~&kgYQ~G>nsZ+C21pTGHhcy<@Y%ikBDT%0H`~2l9~|8?Z_f^nLR@e*Au*OSaur z{*Pp`xjg#iZ){9&QI&FDkV*b>@ge1z#$B2-Ik1EX(R1XmB`#=X5vKDQCGhtnd76yH zcc?K58a@O@?8Bfm&qWIr9+Tnh{cj$-6a$O~XiobFU}$i$y3bO(F}_3|RsGC!{E{5H z;nc%s@I%;%SLlXwf2!a>J&-DP{V@J4bO4)NBRn)t07lGD^_ejh)UKkGk-Jzc^#*3_ zn{(AGw@)PNc2VlcM7QerCRmHIH8wvP(NrmGow>U(yI=wj81A|>PKqtvOQ*ttZhxEv0DtKZmc)Y=>y*I8=E|IY#hYui8nkL3RykEeS6H!zuy8SnClwye&y1|^(S@z z)F_Uk_Lr7zXv}Dz_kz}g%5|HJ{SC9UhPC1&YYz4&#sD<%I(FK7R=!d(uOhGfQf}5O z8QS|>4_wgfK3KLoOsDJ0c*#VHBgAc;{&+PWNMKH$#8-ebG_%Q6T8b}948mq z?SHISDV}p*t~4r8J0MoB?WR5-TVzHG9M0?lwf#i*otcUD15mez0m%ekx%juD3vKro z783snC|d6<>mGX)qmdxIA7vr31rOCjPHY zZv|w;#USBi~Fd;U1frRYrqbA<3ECy)Un^Xu-tyS{}{Moua=bxsMsk zfZTUB1)QqPB0z%I+eR}_mwvsxwj>Kzbp_g3_lMamVRu$KWV^W>Q-{w6 zMabN{8jeM}QBUw70jr~&;b4nB-xU|x!6V|C3p*|D}z zgFX>0RZ_aPYwDlI4QSH(1L-&~gZ7)7W0%gSL^4KxznB;gASdr9jA~```IQv9+u@L* zILF^#XN?dKw>cmi-SinGpaG`synFF7&j&ND4h>+3;U&)K$;&g9*}mdysnub*+WwI3 zp1Sik%iw!WH7oaWTmta7{AUEt^$m}Gy2Q1&kyDP~mFxZq`pH14 z+c{z7e}Vx>2(fy3UQcTX5c9Aw8_)g+w^(eb7 z>~%og@<3e^c-E8Io5~wUoR}NpPxS)_#henIQ3q6Y1BISzlh&7?T`kqDd@FQOAi0BIK=-ypC4&4$6;HgH4L#<<3F2=&N;xG+3@CFiQ{JEQV?Kf8aUcZdV_8PTN6U%YV2J;oz(>gTIxUW)-=Hs4t zo_Hcor?4W~q+Uo>cGe1pzbzv#qdhjsKb99Tn>K_SYs9AjVFbYcD?L^%PN9!Djm=zSaUj!G-xlo)Q;F z+xR>fl*0!^q@Rn%$I5Gsolf=RZ5XErA4n53loecC|ihyO29TrT78jhB;pqke}2sF69%w^m)n^(8tcC^KZ)3B72nwD_qIq&TnvT1>y7n|2ti*@E9pHij?BJ!B}ClipAni+VYv=7s)r9EZM3^F z6{1%XMM7ZSCxu_8D%PhxepOo8>GC)LgNe13We_6^nfj@Ogb&cthU2|rDDbmUo_r$Y zA7*{MW(=^}rZ33ewL7>5ZcIDOd^k8uZ2yQQ5lxm65267wnNs~NA2fz>$G%wfib2O& z8F=Y=QJLH?K3XR#&pJb?TW~Xr9f!UYrb%1MPe)NOq1!~+4_oaMa;>dCI$_}B9U2cD z7q>aCL|vTZQ^{M_vMUPh5{KZ+tgd|!mm}EW8YYH~(hXR2_AbufTLfSDtX)M5(aqp3 z9d&IbR0$3I#sb6)vW`+z;Cd~7 z`gvwTz~fz6pGEsyn%pNNikHW7`9{L5uD%fl=MCF8IHL2HxB$OqQu}nn48PC(p3440 z!N}y#L$8j5p$@W{fUOMf<^%6%nbw7mf)XfX>u$}dIJ(c(CO#-Cg>8RdF4%vy@d!CF ztVJlJM_SF{;vKCua}~aqPZl)am3Wrej+2!6TvldwIQp-4nZ*x(YI8%k#b-eyR5e;% zm+H27_Tn9J%(t?Q_3Ig5od)jERb6)E!zle)GWnZ485%w;z>ei|T6t53O?X6}b#sRr~8tPjZ+XwEQ9E=_#o_M^qG4*byVytX#Y^V^Z zI8+|Ag?%)w2KJIWGI>+dNedlq4;5>43-Ik z2<1!u68agfV?4jE4#lq~pD}QI%ET-K>H-2!I3=GE98xE1dkwJcszWI$A)mw1{tw!oj$}wLI#H*27<1Aj z*eap#aAE@hso0Xq&;``QhV6t;`1D05pe_dZHL`mGMbGtrl3jh9|G+D^{^rQ#(#0v5 z(UN|eQDM!g%Kfr~he}~i80D)D1+^5@NYyTyLSc~Cv1@n2fAsxkUE-PDw- z6Es|}2SlcLmC!7;XEF4Fxv4TbQ<7Hpg;LY=A8y>T0~iE>&p-HgkE-79h0b2x^iL?_ph2)coPYwX#l{{c@;rXhqcjOJB zgX!%b+s#WT&sL|#`jmb{9jETbgaDN{a-#FtYx5>v=NxBszTezU{A?VXCa`sjT;Rglw9j32wTsQdY|@h2M@XwHjM2WE0~vcYomOzRTNCMi_YNm8H6wK96DAC~H_%*h z8ksRD*n>#z+W^zvj@uEUYFs7&J#0CeD%VH>$Tydn-C72`9J-Um4`AFAvj^-CP`8&^ z0z3+Dq2k6|EypV3J*w^t-&J^J&Pkj3^W7)%5y3aIK5#STqhx5gNcXLaYhO_?GD0F#03{_ofubE?~|i_vsR=6y^-cX$;o20+5?5I zMSYj~fvj^Su19;TJHsC^qocB2ETZ`V zMSAd!%6n&E(2AFt_(es!^_QaSp2GY$cq)c*Kn+WC-sB0NuYH0BWo!1509%Z_hivSQ zj;b4yCwu<7yyrL9l@i%OD;0$J4RP--PAT*X_9pLh5@NoM;2&CR!=I3QV2LI?+dR9UAyyje!7_-CZy}wa^Tk;2?-?-#Fhpz9G#g zKn25bYZ7REhf^e=4#cu@3Z>TB1i^+H~UQGX`NW(+Zq{~Ua%IU#+(nPzW@O^LKT~^ z-KQJzbLA5UbSonaBc(cuYyj@&EP_ukX%qnHbBpgu1%q4>ZAFe$5MlWJ%hqk* z$!?QZKjd?pVDE65(?9wAitOf6Gd?yd)dv|S<#Vg-mz zLI^P7mqROE-l$(PD{GU|K=s(k-uN+B-TuH}6flwKFtDg>DaGgzO}j3_Q|Z8BOhYD* zwELGJr9!WCc2HHgt-DYfB6#5}uv_r}^Qi=(=<>F*;2(A*e@1+#^dF?!U)Wt9K-C%$ zsQx|ey_Hd2{j`I{t!&6Z7e-;clVk_Xv^rH&3tX#9SrVmPEBEV`DUy#2R>AC6Mb%F6 z9+f6lIL7@FswOLTc+UxZQbn7SWea2^Sd ze+TS@wc_arv$1$qxDQ=UeP_SBSR;M*X>_X8yGl`q@zL+<8E^6i^wmEi!$rqC;tU)m z5+_#rGd3CyriHH{a?0(;eh=$erCuw!(c7#n&|nTe+0(Gq&T86eW1bM|=8f)`|3#Sf zr?Q`{cD}SjqbE)nD>16`hC|+h-K=jz|5y(F{S3=Da!>QzS}wL^PZuO- zx%76IXMz>4F%z&-n_W}=<|nV+S^2O*w&YU_+7fE}SSl&Bh@~ogxH$n-@aCgq;Fo9D z0^-C+p9Zn7&k68v$G_&9W&=r=MzIR60CbLi$su^xnoqx69*z9t{u}U~XMHy3_Ywyz zhprZ5Dz2O%L=Li*-Zl&HIx0VWs%DI_#`=Y`K?vLJ+UqZk+oVJN8+N;?SWC+3_EzqV zae;dTRYx*YB+qmuS9S@2^;ec1028qvv^zM=AS5tUpc*-?G!3!mq!JIx&2M$MWPp5xjpD%=(RxMjhv z=&Y#r>Ny6t&v!2Dje(+M#R@uR{}7W4AjJBN_x*|<9o1St3kt{Ngh-Zz z_^2~frq%quy>d)Tu2Ij^l*JrP0X?%(fn6oOX4mErmKYni!2l~9{P<2iey521@Q?{; zlK*RuLdQp7*65o4DuF*aQZJRKn@VDb_t<0cz?oB7)ach{-BRcSzFbkVME@gql%Xtf zT#N>T$p#g^E!c>+wHG^BO)9Cww4ye0P;HiN6=Q$hc!c;rZu}hk?D29ojHtPA27g+O z+On{d2xPM-QzX*z7SI?S?NEr0a$q;)FRB#YSw4uW`DQm#I1KpPz0z0$CWX26Iz`5e zkZSp&CZadss%A4@p5ssgtSHO9<4UVlvY5MDP&F+{gB~$~RRBuvVKmb3vW_-Knqwm# z9rdLX6UHcPzdc)8YiLVU3^D1-K?i%Hy+Llp^ zqGy03`gOkvuXF+6g7A`e^!M_(@u@Q2Ir<$7!8+ewXC*>_(M3CdG>{aP?qY1gqfDEG zIsuOQi^uh+fDrQI^E}PYk#D^S$S@lH##weZg0f?hY!5p15NqT>>t1i{|NWUV*Xf} zLlseJEG+R3t){kdNvaXVbcm>$UU?-^Gr{YqFKrHWbO*K%n%w|=l#*xAQCmw&l7mu&I zAvB_EMq%JSq$R8r85%>wt%?jQlhTaGOx0Bl<%z}L)nwxomLh7X$yf|z{haC+xW9^p zgNYC4m$`I3)&@HzJyHyUR{)#W@K`~tl2|wH)G?#1()>>~R2_a5wYUA_*@B26k)YgxjhZ^2JdI7KLa2 zu;D6g59F@sm!wUO^Q^znszof3t6nrqF0M_}8syubr-YTxroQ5I znozE5=dsPP#vSeyjlBv_re{I10@T_so1EM403N3w)z?`HlnGtl&W;Drqu&O4^vgpH z^dg9&dj*fX+@}rKjpzgH)@lmb#{L0(v^T;4*UWzlGXOy6S9=<2J{^Ec$r7J5F71-^ zCx-a|s695_X~IiqGID1ueZw1 z+zu*`~F4MJI%c zQRv&RLqopCY43FlOd4cUBE!Xs|Jj24wD}1>7t#eAvxu)?lkv8;mJgz=5HxEuZxfl) z0|-Kpi}i|uN@3c6oTx(qCu-UUbMZDvY0&Rya7uM)^o~NYU-VsrHxJ`F;=R~fEsfWo zIjoq;^Z2eP_9q-3-YV6B>Mvzm81sPuE9wdgjl`7FXTG%OrG~S8EtjntIr_hnyAZqY zho^tEq0xV22FmgB8@~rV=ifO0&AXMRuQb}>Ezh0NC?)6^ejxrQ3$DB+BNnkI8|xL- z#Ruu>zlF3zFqP4{e9hjyd-55fdk5da^*ifr`U|X`k$wh-p2EXW4+J2nXG1P(0tRb= z4cLvo>bi=FLaQlBd&6y2*r7!^upRZJzo~V;d%SmDHtXG~L+V8`zb0~^iT1lZMi2J+ z?B!mDMs`I$%rwjx8u!2w4<_XN-fzB=zECZ6R0+VyGo%EdOV;f;a&mc6QRpf#-Nj1? zgY-cUEi|ulwY=_ksba{1F?gQ6_ z`&dQO0<+wXqFP=$%}d_fmOV+WPKlk--0ka)JV!*mcT?^KzQ;8%HXe9nVjDXcTHmnS z#Y6kCDl^`ATy)B9AZ*I6sKL^#J)$RUK$WSfblt={{bN{O_Z?~l*m1$4=%rQLQX}AU zM0z)pQw1Pl0ahNKEszW<#5E|R9Jv^Ul)lWW&r2)7P`6}A8W)=0IB(W|ei<+mKC1@R z$LFCq1ujcHk%&dmnXokw22JpZ8ohlz!F$L~ zb|DKUDzo`}*=@h)x+RyCpm?6FUGuH;2839IC?KB#Moa-nKh=&f&%?jm+lja<1fwg7 zmnTc}e1(quQ?`*-o>?)1y>c0FDwflotLJ6 z^~Jzph7!C|Y}zxUzR%flrp2@267ZC#G3n@S=WHhD{7}CViUFcuZ5!I05HvcvN;YLJU^4cN*aGam%x=^V+S{df zQZ>^j6w9x0g)M!8W6DlS`cr&PoxczJvzO!(PyEj}2Jgm)q0uAtds?<-{@R^*0W-hI zsZz#gS2-lla=iK~3O7#98an#zHFhuXObeY<>$e`d)@Y|rwWb>AIrf){8kk4ig0cRM z_Ja=u%-G0k_P=o5l_+;ST2$k)=`z7LyOnb*Wo(z@0CTODe^{iSxd39?FEk<%GOvfd z(3u#=tqcp`=*tD@sXzm#4Y8#G#hOU*uyRG2M~~E~_l8(;rE*b1BKF^e^8dC8Wa=;D z8Fm1L*{9cQiIB8rpLn3zjpWvBV>#S@U3ct9vM5YBZU+-hms7p--Sr^hK8{}d?jez5 z#nW=4u9UDLV|{cyPq*($=8S=$QY>eHII;Cfy&G?P)1uC2_ryrda?@TSAG!n8gaGhP z?$a};3&1V}sFZcxU?K-JQHjFsmdL)IVZ2(;tvS>uU~GzH5a$#=uaLUBZH4`DvFv3E zoTs~q9EIHe!Ms3KE4{b>kgh#k8^)0J5gw>IDLfXMt$6K8$*R?{aGMGKw>GW|&Ig}g z$R@084>3r!jecjZRp*A`?=_)qt`}T{L3PdBgA9~F01A1um^T_`kstlc2TyNDk;Y-nm9YQoAo zXPPmSVuxjTCNtQu3Yt(Ap3WUIB-Et2J5t4pdB%!TaRc zb?MPo25rq$eYrS%QSR=OuM46EL!$OGlWi{&O{oH2! z&IG$_IF;A!O`A7D2?VPMn{amm;TT`kJGTo&Rx4R?Frd}(lCw--ZUOd}-O_P|0?vk8 z@^=#|%Sc`K(io*hc7|t@($(5mJgF;6Wx1iuu7`q(vt!SSl@hp`?5%fx(o-_?RWjuX z!1i{v_}hMmOwem)4u5FEbWjCRUT=!fB}D#Eh1+-BS7&MaV=^wz1elEP{4p6ne?jRl zlkq3n5`3>7_kWEJ_xbSP!!zD9?W%%uVhiWLoI7hUe-G^2Is!1ejq8Ws^Y3f0=@VZ4 zDA7_m>Jl)R|0cjF1Nq?D$@0|@xx)eMu(Zp3f$feXT;Z$XFt6Odnt1l&|Jxpm1c5)n z&R7Gel3_DO4mET=8z1rx-6EyEoeohbmXf%(2S+;$JwfU-LbFuNQWL3nA24Bv?5?RX;W4_x5*-@^ zvU?Muw9wb{7T-tC)tcTzYvQ~;VmxF;$?md!llS(&8;Wyh8#94rTHR>HWoggee0*q| zI(kL7RrTkWq9(yx{5vIpcH}bVi32^5Edo1ekzuD&K(hz#U>MwryZ3pn}TWVLddu3PWFIGOQL{o zS}>n9R|`F37O4F0&|pI~;hfy#Fh-{wpIDUpm7iKj$FaYqaK^U*`8y~)#X6gccu%-+ zJwU|-hSnO=&6bw?v|wUZY;{hGNJuJj)b7~BA|$dzhIg=A%K+To4fKPv`#oP4mA3 zUhI#~!;9}?tpBof4yCOvLDlwkvNN|TZ(nN${FX^q!v>k&?>GJ)IW|s~ zm|47Y>Nx*@y845rr{t$&fuQG!3*1C|@QHLMol~hU$7|6lw6aLqN4no8>N>C&?tYP- z{I%uAzbi4-`QeAFIuJCr1lN7-YCz0WBX0B3=O!c*fxN(^-79<%Fbco40C&PVe|iTB z=JL|+`}*<>3g#XWcRJl5|MjO;uL33%cH`wXJ|CmG)hYq#rt;TF&1UVo{xNPt*aI$u zOXx`wIY5adhV+fS`NWs62Pn%#paf6IQmoGJRojDs!_)0HR%u>YzY+)%t|52gI!0e0 zKn-8=28GY&j_N%oOKiHtaCqKF|NaerCZ96RM+oiQo7|KJN2}*`D9&Yh+K%mX_{n$! zdI@<(R@bp#K1>=C{hUmB3TnKkw#v)0tRw_{Za%ns(pB&*c`|Uf>T?o_pnb<|F@9jOZr;DAF`TH=X%7N6o|JORiR${h1Io zdot`Q+fDigbn%M?^8*nz7B+OO2_)7S&&ah3>IV>|C8Z+q+(?NZMZ8qs|EJH$-(%L} z)Kh|sJCT;Q{70=^2d~o(_B@adOxVs1A@YLzUKw8kgO}1ZY9!j59BD$kAfKSbZux8% zS19p>ptJdHvGO!Ab02hmPpK?SK{WAjmKjtz4%fP`AC^K%C+{GOQA!VdoMj-ma&%9! z6{d^J++%Bc3RoG$=)ei0WE8r+pcAIbL;}#0;B^vKO+C@YO4nn|qCg4Gme`ptA2gmI zXeP9fw8{Ja)WW!oaqg^VaNKsA=j_*2i{L9El(KLN@3GK2dQE3gg>29_L0SWk@)jD{ zi<)f>sLNA8H$Xgmev_VkpO%K*?M8Sa_a(JTM73M!M>vkxpuniaf<}c)b(FJ9N9e&e zk8J4ub85-AL?uNtDAMH_x{b}ww&>b5M>L9F`=J@4;&-K)feMBxPKV!9s?GYG_*r7< znFEl9z;CSC0qHt^5J6(@z^N16*mu<@XX#EDvR(H+YA^*6D4GZEYId*ywru|wOMSgg zAEITGzn1zgz0TulqAr@W?bgR1rBc7bX=)k+fCNfyNljT#`Lu5BN(=3>J00EU5Nz(- ztuAMaFQ1~JhQ9kl4i!V%-7NX>#@?NGRZ|iet==&`vVPqFIjHpBfBx30QCbeoWS4K6 zS6FL%7x@>K^`bk>)jdwnlF@D`SIcs3Kn+}xC~RffW|RF-ZRXnkh>6(Yv!%`?yF#11 z{L<%b=G(JBMa?ex{2Gt?<5lxT^py z?bQJ{pU8-&5*_z{8o#SyY#)n|XeFOQvV}w)Wv;ixmkcN4cIG(acX=A!Odp_~sK+aT zA>Z5o@z9V^(_Zf<^kQuw&&Y14A0!3by7wXU{DaYnAHlDGDl*cN_udQ5I5bdHXa@~n zzj#S8QJw6{sDgTcy87#wTlenWqn6v^qn0}vIbq%0=;|d~j7dpJk=}Cm)w63@=d+ud zVIv~8tKVG-c>J#yFU5sh9fnNPzxz-OvgogZ-LSr8Fg(WPS4~;>ToZo%t1NTt_iZXt zluybozH^xyfw0=AX7L_xU6NWh8Z!V--kvEwdh15#AV4B?f?;$U(L$bso_GRp-UpQc zxYS0u#@5oL_jp<>=u{ZGKDT2}{oKH44TrdSyYlu>Oj1;rYJQDCKK*=);6$oopFCgY|5- zitj!CdO=LMf%YUHR9lL;iwuqHv9PzO?dw5nlm*Pzbl9>*x~PG1LWanGN-U?(4Yh;Xl0G>ndTeIq)?N0miMQmBtVBR<$tYwq*l+n_ z%)%BI-l5`qnCy;=tqR{^^9yFYF*|Yveof);daP$e8*3po$PFif;pp{dG4o!enE8i$ zbmus!|HJFyG})6#iRqcX?OuA|#GIK0NU}cts&%h5dr`2qkS}gO)!M##ogS7|Kj^-{ z(h@crg_=c#DPYm3@4ouJx&-f9wsHf3yK^~c&MsmRB*KT6>UDT@ayKxN({ila5H+&+ z{q32>@kW)vK-LSM5o3tMoK;gr5RLf_YoIlKKnC@w+54?* z6wxVu_F`h$gKEgy0xGuo`nGkSXEC&d6SQZ$$>Z6QZ5$ypoKV4%lMM=&AaQ&FGl>y! zMFYJU)GxN-HYJ$5%Wwr4YPMrK{MHdx;p!m0uUlnRmenB5zAqD0F(Cp%x?al<#Ao*e zB~B}6L{u<*Z00-`ScHPFh3d7_*B1K_9P;~eICayV>5L<+ZlR8PkFjG)eIZfpjh03( zi8S3HSKkdhrU)+X+hV{DRxGFld*Qg#BpP$}=a_}y5gcWogFpV;1NH9@7w|p|a_+i$ z#Ieq!{PPj99MR1uiwJ~~wjp%3XaHU`Q+|l}wEf}}A!u)_39r{c3f>tK=D**b;)^fd zl>GfIr732cotS+Of$)I_l2$vxVAFUQ@fwLH21Z=O3KP`Si1=t2F{U*Cs*u;gdSRWT z7p@G^;|59=b26@3h>+@9?2PUn%;|tV=l)#}6f0fY1`b1?d~eI%1-lYI(AR&-Gy8p> zO1kgFO#*BJvgnE_JzC47Z%HrM8CcCu_0X@`0+qXvSH5sc_|3o9u@!CK;xngxlR+w%WgNVan0!@30 z40`c+?xmZak&K;de(NY2E3h)iVe-Nt)x(l8&YN=Y#is7O{sy!S0TR?)&p&2a{-Tw&UpbG=X5@h2}}KJrIt&muc7$ z8(al0k#1Sy?&b;5{a1MWZ>JgX18`0FfXrMrqFDN7cE5vg1m4sX)%TqRUn1gmle>;# zp3_`x`-1BQ+Kq%RR&Qs7B>vYf_EX_TLA%RmZ2S#kGpXgz1Gx>B$y@}UM>P-_PXaHJ zNW%3bo(?criHJg3=tXvBJ9hI`@xlT1Xr0q%!_n+Wr)24+7>!z|P9LNh+WC5uDbsl!*-0Tb`4Wmvp5figZa>yITyfBIIbr?I2WiL2z(`katpk~ikAy6!?H7mkOtqxn6(Lx z53qplAv*=96V}#xe}X_b-?j2?GnD=wZqh*p)$)`T;$n#&eAHO*vBgKRk+ba8|LNi5 zr9Dk<4~z#QsU+e)AgMNL9lX$S>+V)5?`F;~y$~i98Tv|@FqFQ9w3k)!3yga#7@v`d zpYpMCl8K8>X>!}*B?KMhbf0FuIbWAcrT@r)1QPo$iAcFcy1I)(MUk+sdi3VIo$|=) zW=g3TAdR{DIpr-bH=(4q>NlB%t0o-lHnUq#%K1Y%qDPnF3<{->`r-V-mdJZo?p-ch zFKTKe;88GsAM)jwJx4%hWYB}FdwAM z;fj_E=scH&2&hO&))TQqfz!!_1E9-vQTZ-HaS9c-{_M6)^%m{;v9W_ zOOY@v+)lj8qGz|k!Y(1*c+aPWVVTViT`*I_bzFZz31wiE3XjrVU<@e<+QFI5$e8tr z6a~70^%`wxfmEgz=g;+jm&(L|^U3bjt@FVssI9Q><&TNQ!%q6WmWY=xk(}x+TB~MPp#F@d{qkC8UlU%SwPj9+rd>?2Gzc{*3a=3;Vl@DJ4Oc0; z?-R9>jhT+oUtt;Gwn<5xliiI0^o@ZgwQH8F6&`y|3#nyA#7K!Y*3^k2Sd4u9!xV7+ z>|2)}+1r3A+ci5`4TN$rT(A^nfyXJCK7r$ed2F*_=`@Gl!C zMh(I*Zhw96aKKXl0-kyv9#k0V69rr|6|;`uy3{gx6G z8~%zAJpBJd%F5($tx=N6Wg+IWcB9wxe@m?+is~ACa53Omy`C!L!s^M4t~9k2ZR6vZ zp03bt(nirLX@eVfuc>x1(0Ef<&4swl-f6{un!tcV0+W<>85y2A{>fTE^n($@7KN#0 z(N91tcq)qpB&-hTYA}3cnK;?Bi9`b zM3l^yH4B7GG#Oq_?VjKIGvJvK{~}w^<#V9rHvMLIiq)l8(VmK~>*ZBWg&k@gC!tcV>sZpAV&JW|GFVq|=;Jn)3ECud;OFn`18#e(ht0>P^k>7{ZZG4=`X z1v!rY@OnK-6U^Z{+4R+v^)2tkM3%SFB3Uu=CN=VjLLp6}q~s}|WtpX2gH7JNqWU+9 zmFSpKIj)x5Yf7;CT%R3!`V&4=vK|-WoeRYD$~kr-7iT02^>ig%T8yC7`}Q{NFWBup z#WZFjmzDVEt8?HR-kCtDCGP%+1O0avk%1!<|FlunL#l7+OV@ zUG{3cZO734{cLJeEaxRVRP#6sIwduU!5P`pY^64zpb>x6M(vdLt^@|Ti!SU*zvOd3(7m}=x=*i{4GG8~>zER@RFG3%KNI7VTXhE+#XyH76^T^%#58pY*g*IA0 zphp;5XQ*fntKf+CcdD4qT{>T9Zvf=(U9M^WCVTMQk5^s{@S5p_CDu`0jD(^;_>XHI!HhCxIw7 z+tu&#z^z7)`7;gf^J40N`XxxRMLkHwH(?^X0L505fF(*pX0!PZgac)E108NMQP{1& zwHXPM{xEwEDI*R!BX8c(dXwu&s9xGD;o)WN^N){whpWW6EZGkj$G8xU8=qYH-{QiT zRG6U06Y$!!_c-Z@!opH3 z>>&3gnIH9)|NZ5x02D>e`;v+q50&L2JLj@h^&9IkWXW;#(w5D#9}^FzNRK7VhF>f} z0K}oUZf#h-Zp)gs3$OHPaeFO*v|Sypt$hfm>zo@RBh5K87vyiV^L=j4qaijgi0bRj zf%R_(=~zA60lr_)Egn62?uS1wBo-B3D9ne0^&%{!uPx_UNQXs=tEqfaNL7uxg+1JgaLAc=7 zt&>rms%(TL#%#E_X;~=9n*sU;2rngIb31Yh34Hnm${x;ob1Ci?HjJyMF~Gf;H0uRr z6*VMOTznpO{7Wd12|0Ga+k!naNIYUFsqB4k#Sz4`De>7Kp^h+fcL$lUS#kDa@e})p zdm}dQ_#q{2qwV=UV}b+%3Yra6oRE;5&wu>) zO7y>4jvv*xfDl^k&6?qnaOX~ky}%E(n4-F_E{lTu(Or{}EdjA9i6TSiZX=6c8RBxV zs5habDg@+QeRj$g7^s2I^LpA`%~ zn$~NNQ#;u{ZW)cl7nYw)=Cq+L*?=2L9J+0B?Sj zo_=nz5iU@3tol$E-59%=e>7>te&L1fOkYcmsaZ>3oN3_%1I{qRA|ozI)Q+h+i7Bji zB4urJ=+#yr+-HGtwLK%S_h?X#WCg>8G&Af^n6O*jr7Mf8X_;Ry3U?}I*|MVKLMNpS zV?+b7moF;XvVG|Hf;?TD2>Nu6&Pu zM8ObRBRNPP2js5${LYd)8Md-ZiV z_hkegS-^G047q>pmn`PqpybA5!8aQcm!!`N1bO0o)blU)cCh&tC_Cj(HMcLIKD$yP zv4RKuhsBlLt{;S$= zqB9*XeIp>kT*X1-?l?D(3m&YHpb+wyDIropH1h|h;L&VXlF@ftrZFg4Gj!d`qq);tLRfW;f)^LC@kC` zm&SFZ3+y<+(0f&ghMUilG~~TcCYX@E!I=U~lE))9DDm^?6&9J)9pso*PfF6!xVYVD zos7l{#x!;FZ|L-brJpycTsW_R<6mE3U_ay1L-RPiUB;*xfS*+LfPdK5r zFHuR;a1jWDa{(J%#%J$!#F*J@5un5pYAMJ6%K5pFE?)e8+w{zjFy~%t=`#uBN?%$Y zwr^SFv@6@D>oK!KTCOmj{f3_&({G_ss)rQz>=5!pN}8ZP7-#6ZAd?yl$*{1a?hkF5 zUA8$Mv7m1b?)Oi5wm-++{Rh=zNIz-*85A$I)tGHxjLu!EKG+odWos5s{BiyuUIs)8 zb6H>=c{da4^~*0iE_`It?dfIl6M?3C%P3G?_t?p^A{H0ug#9o@d`xsN$$0swuE(QG zExYQi5Y^wF`G3_E_pY0(BB^9AB+_6T(As}HhlflTPM?_;8Z};k)iz>n$RpCm=yzWu zE9P`*TuQ3#O1sU4#N%O%^143<4J%8MaJlu$LSL-uVM>|hv@J?EubT@l!9}IWTd}`j zXLoP(_9giuOPI?9F@K|dQrs>t(X1SNP;wcBW$;>2zQ$#DRE2jR%Tr)q2-&w6GMnmM zFU{WJiuc`>zPxVA{87=?Snhpc!-f6*F?e%XQ4{F~y41-&6~|xH^wA<>`SI*i{w(~_>a)5?-L5~-{wc$xN@ zP8N3O2y0}RQvP?*aE5ZLFi?I$5S3Xtv1h!kIEc}S@2C=f(vtzUgrOZA2#ceLexm!h zl<@wzRHfbgXmh>=Y&eaI-BQ5rt)j2dkGI6)L!d8C4|ErQx9!Fa<|$!jZPLV4wIEI{(DrGJ-6^IQo?RHf46St#F6ax z)Ad$`*X^wDcmWJZ*Knyl-;t|hGF!AEAM_49IO!Ck=@b+Q6tz%_7e>dkItX-1g`oBC z?^b+oCd~?iqiZB(j`QGUV3Ceimc#+L3`7@ky(dK`EU(bGQD&#aNo`#{gCw2if1N8U zJUb##5yjS4(w<^9YKb+a{~mJnl1#Ckz;}cQ#PG?EX{v|fHPFu*M}hVBm8yzBpib#_ZFtn&(KnMf` zLMPM&2ptk2jq@_|?Y+PGW@i7+xz73H{D)k@>&pACwVwOA%d@WTqk-V6==QwsP4caz z5by9Zc@?E{X5H4AsS)0yS{Kcs9JBfYD{oV((NZ6_P_&I~?HB46vo%A$K3kax!uKZ_ z`fRnf&zyD7hapnAT@a9`n9!jY}j)C)QjBpMH&**KG-UU7jQ-#PyXpp_>(|# zfzim{2Q<4HbcFAbKjDwu3(ny0G>PWnm6&rQvm0+UEW(TB--bm{`g^pifL3_J6KQfZ zLtl@hZlrL}4LnzFnL-}2XZG}@5&H7P^}0PKVm-rV$KE_TfPjtn0jnOzbZN`%v<(>O z+OpUMe<`NHZJq!ZC6}n82Oy|stthB8dfsL!#EcoQq$#fdZgN|#eO{Hfb)vQK> z5kzJ^uVsx*n+GY;dx7aPd!eXiLH?`xZOJo9ze)uO`Vgd$44zt>zmV~Gun=zYK=4Yzf z*`yPuCMSuv{6+|- zfPvTpHo0fvxAE97mQGQU`-jsR^4N^L`u(sw;(SqsqTG73vvTNeZ{EbsUoK~BvnukM z${jO|&D+vBO}LVt?owkh9MiQzjOT;wjZY0pEOQ~vBkNQ>-(dT^--P&pwFe9d==nWq zyMB>&6vg{(NXWTv*lRI!aHZ|}P4?F*8tYj%2gK!$nwM}sV~>)EK9&0XR{PT}a883Jv+ zrKif?CNa37N*^oyhc;irx>EG_Ew+ArPuikDxY%lAH3Zghnf!CHme>i|Y2aOLx!E0u z@3X_Dd?7Nk?KalC`o5YwZ;Kj(Kz#2j_Hndthp6VJj^4v-K|La-vf}zn4N;^2H48wq z!pEbjBT0kV*{3W9;#t>JiU}(v!`U99XL`OKh%8+k5;j%{z9^HcXXod>R2RVks!DHi z^?DajQDj17Q43_a5651s35n&t4_vT`?U_S{kzM3I1D(>>IO6N#=&6fy=u*i{DUEFD zY#lPnHsf(<`29lUSz}&r$B0NYBxgdmSAl!@VkM8>|#EnjH^*!`S$;0$dZ}QoHe%C1tz3X+Bhq@hEYS ztcFR-rPv2q^fNn#t1ab9w2LyAI5$IgwtnPR(e1woD+s!0c+h#%smtb}A;j_5HdD8v z`CkMc^F!LljzyL-+?cCllCKBIIP>M;VyrxxQ_i+H5+Ec zHO;KMnD$RBgUYRKCFQMS?{QGzn+S@M`4(c6rdKWnc)1P#Om!xk?JNoXTCwsvt4cm4 z8g~k1U!Saa)a$oc4I&08b2X~&J<)iTrj92$HyfmTC^LpvV(Tf|yvgY5# z#Z|3j*+OkpKeJSamz|g3Vzw_=s6S89W`Fq{Uj@q*$n*#Okk=zwSsGB#+m))*E8FM? zUF@gh1ukjP3YIH|SAF)2GfsfdAuh!f{hADRQLi#%Rb{_O(5igh=HA%ZR4WwDw>sm3 zjb=5{^GMa9YF|glHBB+4ix3BtWav0ELpN=rVXnlZOMC}>kd6v5n#k)uA6~|v7S;Ty zhpAZ?@>*9%ww`Z(5B7{RZPBV4{>{7Y3wLV3&Q}cvVN$0kFzW1Qj4(m%v;jEO773v} zRTHc|bz{sp%?~VW4Fx^xg|Y5OLq3VOLyIw-CeTddGoMjQIp3Sm>)2WThZ0gTm{qEF zYS4G3aRo%+97Q1!4K4Zw#a8tz)yU)-mbas7J>$~~2U%M@6w2gp?d1?GZSv$R2BTX~ zW5K2TsR3Auc-@@V6r7GWPYY-`vD#z1%_RxcgqJpX^MQCO{_=ku%m4My4~^RmW+SG_ z@W}1#(B*)sL$DfW*H6uVMu^9DhwdKPTF0HC4tohkLTdq`e`T-g`xiq2Qcf48?QBI& z(llRz7yNK%wh@kPVr?_idv_YfkTJ!+kQ93-9{+=JP?T>xvASG;{@xvrt{C{*1#Fbw z6RLtyVK{~|2xc8>ie%uVc?C!S)f^pHM^~`>b4iu&tT|s0Y=6eM6}E3-qDnzYAj7Ug zFv-2|+QC|JfzWpbjWAxExJKRHs&8{qs*`)9!>-1IcSxE55_4_1*LkbH=GL{TchUV_ zfbg)gu`-BRdGj$F!m4oR_G^JO-0X19vwd9zsQ-+Mf}pMHbr^T?g32bx-JA7}yb%RZ z`#{y53*N`Wg{+TQIW9dgL<7RzxFuUoJ!rlt3p3T|l!6q@X8LZv_mq3qFv9)0ihQq@ zB;>Cz;L*0kkoE*OqVZX)`c0;i zBhCE8s^I`ciP+B8ECoTK*?Ho`9fRjnvsG}f%&~Zqu#7*)2PJRSOjc~JSmMi!T(*k2 zPnrB*^rA#j(Y6yIgZ1ygyi%;wN%M>5@_YZG&6IVwaua6s4kr- zzcNrFP6T4_!#7n)GhY{&E#~@*yr~o{lvuEw%mn>XIW(%_M%K4W-rw7|;e!2k__a8A z<0m2``Almezz}UW(|oFDbda4IX8c;K7HE~vy*ZundFtX<&z;`-}?v@3tAvWP5VGG6L)f(sAz?3lS z0zdfe1dZQ3KIL&J)&XAK9}3%QVR-FL4#Ie1-dqL8{!$Ku`a2wIN|$B^3~W+#n}iEm zuGx<;yRQn^owQC|r)@UX9#O7CF0GD29+m;Jf0dFb1=ZL1^QyFnrHDC~LT$Bc^*`{Df7oS~v!`bFJ8)cmG zveFRPaWL!W0H_ko2D-zmP>5l~!!mX}HN7^gje={K^c^9eFiO3rv zx((lAnb*-nZ*8tQMn6|>3vNk5{Bv9A`bU%9J0_~B=(lE5-eTeIsIQUpA8_g2zC(SB z`57r;fvKhY4mI}}ItTCO?oPAn{*ixM4`z{=uVt9`+IN4Ej4&_(CxSZnEuO2xX@)1{ zly}86_2rT@;wO{hq7oik_qMk+A&cv*SvLo*99FX)VJ7&ofv(-X7S|L{mV)P8*18KD zY)PSDOt;_s=F(GL?^XW>)$51!4o6Fr9jiN)8-4h2ZuklyX^NdB>@dq@vno<{U00O2 zc9y4ARgdoJK`&>2g_4;Az zn?=GZ3lOKF)fhf+k=4#gs}oZ*9~qyCvp@6TpBlzPDL-xVOv7SUN#7;J03?X}@v86t z?Ub|*{O(dbaju>>gqZ~P1jCUqaD<(96I218?(0a&PbuhXU&=Q{wcBQ;yP8D|2VIIZ zg2d~Ehic3s!@4U-`jx;6rvSb0O^Rn2r_IGF>=-XQEsUqmG?`m|U)+_QEKZ6qY&dTn z#!6ar$SOA$g9JzUoCEDgh&O*!|1jO#^l@h9nxXZZueZ+k^n7zzf|&hO`lD^lqmM&K z{7Y4Ktd)vQ-YQ#}hN^aVnuW)Mxe#S2gX7-#=Bf(l%~f_O7U=A=)e@{14aIN)G8zli zOh^LzM|S_q?={^W0n;vUaF=(Mel{PaC+g+%`RltPD2DWvU(4p#E=!$FB+n#5Cf=-k zehM9V9=c4gds~adJ=naCSnV1YJ+)Z3HB$D)wyV_-2_y2ND7^yawdxyoK1+T6jdHj% zXG+d*9=JvapsE{b3*$*-(9X01)xyavn0MMO>sIesG)5@1=bM@C=a#3P2Db*?xcYWr z*P`A3ggi~Ww|h$pphR9cc?rN7hT#Dg#0{>&$&)XJe*6<5ll;w2yP_(ukU_1gcIq>= zU5olw_L%LLS5Ii2;|^H@FK?D55p()rLzBFqAHu$1PWxV_r|dxP!alrqYDR8&;sF>$ zrjw-6MDoa5&_efH13^JN_}SEC3UgHN(TEf=UZZ$3Mst-{uV%;K4A zl#R^ZnP$qa_?JI#xqvZybLtA!qQM^|7AM?_E+~+%D1@89Se0Vv!hWlVUox8%IPNcD z%RWbYdxq2M-nj1%Yg}3DRqR|HpjT(N3d!t}{7%^rPA=macWHmxf!meOBv<*Px!4=R zbw25ygIEbYiP$EMHDtgPD$$#*1nevqv`L<54b1R`P0G>z*5}>uCAIJDu{?sqLbMZy zSjIZ^Z8(PyuqkS!`i<`Pt*=KpKQ8tQa&gwAw*HB$C8rj#%gQyGX?a)zW+rdf>e*hb ziJsTi;2da&F!qH56jSN5a<8+@GAazb~+LY3%Zc9i+djiQqsZ{qQX z^ry z^0Q@wc`!dP=T76AmNKY|8T!E>0(ScRjn(V4@w<+nT2~LMi~EW}k8L~|IKMl_c5k#a zt@}38CHxomxoMU|dW1BKL)CXMJJsKV_4TZNg^^Sap z9VDqTwH7}CVh^y?Fy2vw_p1x&mdu(>rq$^Ja~onI_)9OrnTQp(_)SIh@483^VWv&p z67q5U{ZIB<%49Rg5vnTN9lvTCGJ{VW4A(EbD1zlVOyx1Lq}JhZ^3&Fw5`*d`@q6AJ z)0F37;$ap5v-6Dt|Ji0&Rk&}JZXXDCp7(ww7F0_bw1u~%Pxb8zw@oYTDcae5JW_LQZXyam~BL9g@#q1#WQlAn2i(&r`4~Z~S{} z(JiyLVm2FoY?i;qZ;e{z}>PDVo6$xN5AK_1sxBxtR_WX5nF5Ta? z|89aQqX5O<3ai5`G;Pr~2avUyYSTHNw`usyz|PadvrkL7{vqu;HSJP?+qM;5d7?XU zQOIkN1e`00p{qfyFOOKJtDTJdA1&n142)a!@72n|`0x15?RThNxeXc05$iYrLtSUUIwbWUxCNQbS0{&pE0*uFl&J7^sym8+AQozIu~@YYkS!NFyd3_Qnw0 zl@f_k->N&g^hLaBEmqiUJkTItZj65YAnO5yS5eyDuY{8wi6jX6k*gLx9A+P>E?SRP zE&vkgPD5uR&p1(KeFTfODGE1a$v9}uP2zm9-S4F)e5t)_yI`L0EdhkhIKF zYB5Fmo{G7mM3z5nk@-Kn)}^#HNoD>5$~b!We+ zJOUKp6QBC&vQa``pwH0?4@%MJW?Mn_aTC5*-<*?!gTivR; zU(>8aUqmWSC{ZEYG&q(wrc8sbHE}1F(+uN-uHW;_4vQtg(6oZCk)!#Y3 z|CL2GRVn*$(<)fN)YU20;!ss#jXp^hro$mgW&bj=UbL(Fj_3)}2F^(?gFJKaAC4f2 zow-+l^Tpz!UgFP}lk^fDjS~O*(RbYkw~6B3Ym{PfAYl?4qtuh0qiEQlv@P%zc`4T`ax7d{%C9oO92gehbt_k>H z^!g$}76u3JWsZU;CmLcrc|q+t!V3=`r)!^=Ag2?f86UW_6n4@W$|}TRC|EI+w;81|wKi3h3JFh*9K(gVsP*Ldk-oDvCE4 z$DZ6S?OLn*(~ile^{9oafbdpUlty*Q=mC5vQ71Wscj|iKLa|P$4ma0Ni4Jh9X#$(R2GnRS zNnbAj37o7dP>O8(d`Vz&LY@MP<4vnbVdmB|-v!o?qeBuO^r&xDY^rymJ-bUKbMKzN zz4d5lG5UfAYsan^dt0064<<3p={=aA&|VF)-zgSv)2 zc-xj`{bT<6(N~$<8@$TV%`%KZ6Uj>ZWOUALnyel+{YAp}x6?|JN=Bw~P{wRG03e`B zuc!S151M-h{480=sZM^=YoO3YY&r9RBc*ME*OyGYKr+>Yi<|WXKCG{!2B>x4aZ`87YzE~<#IiICV04Nkn75P77hN0z(kFs#?t z)KqVt6&NyS6E~7wQ^ZV@&WD?~Q!>-ZRfN~SZ2h4wfAlF)TeMZJ87mn+i`%a7aNPml z2>SWnf1=`2-vAFPGZm>5L5baTL>2t?iI$!K^pf@btpCmd*cV(jbbnpCn2Wdew{4SK zrnx2_=;d0&XL-^Zvjg~G-n;0rhJo_|;gd5}Rt2%;+3fsC9D#Yv$wvVy2+;S)gmg~Y zL|an~G*WO-*SfttLmj{g^>E^&!+NieIFOdRAcs&@Qrj(O(ilSzW%M~cP(l=CO(;b- zNj<_zPYl7^YS{)sxA7^X(;)=~s~QIpU?mL>;5D18aW5n?dXg5DTXl;fC~2Et{O_8W z)GWPSZDHa1%4>#x$35YI&5CjP@4o3D-`y?ZchIB#zk!}_4*mU&&pLHbv46>@)oVL ztEaS-r%h2se_as&dQ1;~e@tipx5xB*54`FIknj09#;X_H$<)YP#hZE2#gs5cYUnw^ z^n|U$QLX`}`*Ueidi9*=B!L}^z)^1az<`sBS?(rqJ?TI(1eCq!45EXVy^o>>j5w34Kq05`<~ zwt@=`jo*FA|MU=m-}{+6U)`&TtY&lksHa5!>?{1&pIPgCS6D~(dgb-;=bni9Ti@B+ z;0;)ji6(x>tF`WVe1AHv##kQ5u&vAbbeVuA6BpATO9Lm3V$?Q%Ws)s}+>0T*%=|lQ z`|;&9)GK1*MiggWqeUdoK$oUPD*`I}xH`2proUBCNz&N$*pT1#$6J`xa2?PXk#tnO|sgv&!2bBA;Z(2SlfCBD)B-LQeY`k$DRf7yMUzdH~tec>ei z+x)0~!_wx6X-aTMJ^@`+T-25;sohziSJI`LLI|N<-jV-0QGbKC9}nsNY7reeJ5DJV z(SF0S=?lU=))o(l$rVFz)vL_y@DP6urXYm#!Q5fNeII&q|KO=}vNYP**J7EF-5>X) zqVIBcL^UVHoii7vARbT8B6#aVN1tqRlxRHFFOsPkEclqh*mxEXB z2p0coz65sw!P*!6t^b>`Y$d%78MdCK6?1jUPjVcLCpqBE0jiH#CWVL(qYPvoZGZs{ z)ymVU(f>6T_pi+Njdtn3gW~Ug0GJpPY#GK3A|iWkpM%WnX^G`rt~R`{$z3I!G23_e zbXj0Y(Swt1b;6M0*?6Hx-++*#)TH;Z`_q7e*Yr{iG8?_YV>TXYI@=`U_nEdpUlsreqhb0E9bz`6$Z`t?0MfZk-t zXx_+m<04~nBk$ksDuNCc2PuMcpoYu zIl&fyZl3!PUh4Wt)Y}@XYjtwal?3;fAe^i|>*ihoUeK>B2Jc2kM5t}~pmaOvuylTis1b8sF&_z1eXIXm&u`Ap=EKtHp*IL4j4W}|x&f%) zmZMh^1D5*nL}rC$hPjV|S3htru9lr_k|lSD| z!N@i(Ro>hvbjKPkyd=JkVjk}mlJ|$a{BWf$GFV!zeb4##D_KW`UOFwg<=k(k9)&Ilae(1!d7Y6_%wZhmecgO;? zc6++H`;|u1nuZlP_PT|s>~hRun{sLlHNcLVSv}lCaLi~@&|5oEKTnl+$PmoEy7Dzs z_A84{b6zl13G3|WCz+wiGU~?6>6v)r4JiBk`UQD2Kd#(pGD&^yweYVAlow*sy-R5zF z4Bg2wdcSGZ`~!9hjouN4v@jP6G3L%o10i=aIhi4R_1 zD_Dn96*8?F@)8q?1Nzj?5?G_T>8wo`uk?<%QgP2jX*5oOqJait`x|+eqf&L8&T9vQ z4~s}jL-*}S)o7PV5ZQqm6MZJl*r-!s2VXsV4gnmw(uzv=&(RI+;)2Ixf~W+&Y`nGx zrx%BVv?C!#6Eip&AmiiJfs^Kgx4qY{(i)*jTKQ1^?aj{rGqU(UuaE^h++9y#^u%wG zhA6lYH5Z$!b~h zOlT9cFDO z4kF76G6)GS;#woNYd#=ehB1~Rqzn#hd?^KtKCFtMJF|o!@7~7JXq#4HAp``aIMPPr zxz+c__%6$1lj(;0S$91c@+L5p(SOhU#UHp^$}a1`v$nhbq^(* z{ZQFk5HE{DumGnwQCfricp__lkfRQSoAna>@YUU3R5*wWL|$YzqbNVS?6d{s!KGJ> zpZ^_E{QJ)*A}AQqKiQ`L+Xm%)cW1&e6kgWPCTt=6)Yt!KeqQrByTJ_Ub105_adqe> zr?IIXQe>PUTn!d8ici(a)|ZuqprwHnLAFaqTeQQAlRrwYeJHMb5l)-)JMcLgFu!SR z>}FQi$)g>uJC75B^-|TEArpIy_W{wj1V2@-MINL)U?vuCPlb!G&RPPV)ka<)9e7Y7 zBQlRqXjo$b(Nhn9gDGcqfl&(dZSPD}fWFX6HxeN*WakV&HUb zG&DO}8)by(@igBu-XH&1zj0a#w_0Ia4|FK&6h*2u*LjZM{*kGdrIpwWp1$&{=&z4M zcXaG-YF6@AWxd)%!%BXW6irx;Ibj2z+Z!b>_@I<%@%RTc_!CEd(jwZL>f%HL(-i4K zhD}%bXp?UK7gWiXJ!j2?<73Q2gN(wTurlbFALk3_E0NJD@9t;83rHeh{qQ@+MGXz}az~`kegYc6%*XhTaVjeB0aVi~5td zRd6@tz^A2)8}SX%eG;p$e!O_w6a>$@i6g#9g)bQ7>6CJ+#1M#^k;u2*OXVdt83Yt3 z4IRi>AmkDTc-91JC86yFZxWL&9$g;OU=RCpF%^j7?YW}kn+p%N3Mxb&adTAf&v`>p9`ARzY>OOKk zikF)L_rP@C0cmEz?6n-_oy$JR@^m`t{2X`*+f85e=fX( zWod~Gp3=Fon&jB69RN|0a;3)+Mr&i18<#3HvbzT2yC+Uq_X_7dwq$9%QBfHXqkk^P zT=6#0`3fLtv?JAUUy%CWm_7@-0ShDSBt6OIs);(VKO*Wn?3Mpvf4opiLN-%G6n7`9 zJm4*2UtkuMl~WF3Ij#QefZh~sOFP2cdqLpTeqL>DVJX+^8t3ke!hfE;t>*!Tj2LuT zqW~yadQr(HkB{Z1>xGG)?o1)x!OMqnf$2B!?aaeDPx6gO!W~r}n0AN0TA@LSb?F8S zGQ`(VV(K!-y#l7hOPs72_@qKZ(G3MZ+^Ctyp zc=1A^nL(D!z&Qef64HTpN%ZPlI#59G(*cra%P%&S6ozF5JykuPB>;CA@U9YyUh9>V zY=wptIkwyLXT=A@_%!%SSgtT|erQ9Mmgat^vt1-Gdcz&NtoS-;jOKi={ZZ|XT(#K8 zA|E31yV~P>&G$3EmkUX&m*=RX2k?*W6`aB|%oViz%H6X#CNMNZ>9sfOfXPvGHO*KR zLdhj<(kjfiATcNC!g!yfH0ka1HR{gpw4=E1*v3HdnGIlQ{(Hgs_n*ZN#2nKCJ(95Y z->pg-f4lNJDEw}Y$f%vB6Z?sj>OGj;zkm3TpW{+~r>XKxSG=%S% z-nmNPk*y8yHy(61C5M-16YrBL@J5kej1X0jf|}k)qDCUetu426Pz0nsGe%77A_-2K zuFeA)!r)MoV(M$48YP*4f!#J<*EMwNFN@%h^84ah?2pa0^BjYg0NtT(i0;rmRN4)a z+ugbVnkuWLCQ!Hd{c)^7ZtsH=*G9XY@HS93$XI1ff*L+>vxP@rW;|MO|C{x-ybWo9 z<7$dctbtCGJDx48ue%hH6CP`mV-)t|2ejZl`4+p%bykHK+T>u#(S+?;LNsNnaHBZ@ zQ2bnh#6MGuF3+o>#)L?&Y+g$day?knO&({d?!^Qfxe05B2HjudyK8^4i_;UA>N1y? zLR<*Gz)`2Ar<`y)cHaY0&hX^D$2r|ngVMSyuvr}LcXa5S%cS$9#(GY++I|p47}A{!dB%`yVbHygj19 zY+nK9y*h?tR@7RjtQ_k)q~fJlWz2_j<~V%!l=;ejuN=P#mkB4>@*~alg^<1SZiHJ_ zr$OQC-|XE;Inva7C%lHgOvTEqRWBOc-6~rcKwuamksV5r=)JgPYDY>KHvk^Ym zNtZVAZ@%0Bq=6Ak2H@IvEM(`;7Zh){U#$0AGd7IQFUd{5XyO_YpObgzD2>}QF_xQ% zphn|sT{2SS0w1I|=bV3-v}fkB4CLhtY4%g3SyrHW{+_$zg-&^O^7p@gVC@Ao;Oyao z;*q%ZeH#N{p8AvCoyxRy$~;mfU?3$PZvYGh5HFWPgHuBqLoLabq|&t}>6u5zP@&uN ziBj)xLkCPg{O&8_I_0eK7Ngmp;e@?anZbEkMr}u`unMb3r0<#igZOWKZs#GuGwr+_ zQ-UqXVsSd{^RZofz53bkagV7q?AC99Jy)WYWNTC;+d0kXb|K(hxxV51Zx zNY$`Fe2b?zwMNe}m`)&ZUYS2L)fsZ`s9R>#0%LGmzF8D_5Z6}DNS+^fdBh43cen)v&2U$?gk18| zf4Sjm_o5AT(s5A)kx6H1wVy~(F*9=~*-sar7tbBQ$uKWNlo20o2c`KG0q5%M4G_uo zi+)xK2`29A#9g{>3{t{{uPv@ITdF<}|*`Q~u?hZZA)2qL}T&eKU0VR~-td$}tH&kn9`Ixe)7~i>Mv>=;Xy`r|Y^k5|PxJhySRExh5h~`-R9{2Feh@V4so~e{R8FL%E znTHQ}-fQbNzcP6?yI#8bx?uBTB{Q>01HVt3lmLORR$6n=9B+qRy77xkr=ZXsH41_h6g?il~8 zW-NVZyRV@S+y!PVrUCC>q{->{F^QW$0LJd|r|8)RC}7NT-{>jRXo?<#&)4fs>M0wY zmFMa*=CsnU)m6g$vT+cvK41h-QPG&qAeW;&BAf)=bWa*Gc_>Mqrt92HE(yi&hR>%h z1I+W|G!f~m&xH-a8{W%1$qw}c*7`?Xn z(-B~hYir4~65)8#Cwuga82b78oX{f0Pytk^wuY~-w9-Rz?jKuqP~%?@`Fzt+Yf@k7 zYH-^a`dM5F@!gr_^7ZUnmKn9=D=lY}cp&AlT6q-N0M|H`p0p1kRx=MdgC?YhnF@t=Vgdd0UHJ0~Xf0Q6+Ed&N3Nm{1 zBOVaELrx+5&Z~`0g?yJPqALQDz+Cl_-+8I%ks-jrYS{vgNkDvYc=oOcZ@r??e#z7b zGpC^(tp}vQ_B>}Cg4gL}TYKGw8STTDGA0m<4@vV*DXVEg7ZeFVWPG($rss1kspbWS z`|xIUI=W*+y2udrm_NDwrLa)@N`v?<<0?chHH6?G~gq#dLc(Sz> zRKgEy8U-?2&|<)pNr)!Bx4+l6r*6HR@86p8l#Vt_EBo4=jRczlEH&R}2u+7f$$*Am z4`xvPJppribmPv%hE>-pLV&eUiS==z4Z>cq$G z|L&~GxeJWZs(9VMz$fRchomnhg}6fwjVJ%Dxo_i|7@WuIj11;CO2pj}1EB@vaJ#PT z4fWo{jr>Y^LpQDZ=?65Y|GWW1xRbpGC# z*W-5Cc3A{R{O}m^(-=Z+%B^2YL4)?T%XfsaMtwBvfe*jmomWYQhSf#}EY}!&+vQ;w zpaH>sRivOEB$j54HV0x;NGzYW3{2o`2a@wY=6Y9+=vB?}`jOrEl=>Q#Dqt?zfm`v! z9x^MzKjl%1o#dW0Qq7v~)F_fvFa&0j#VFqvAb$xQ45uz+X!^wiUwzw@Zl$oYKE)wc z(bkEW-wm)ux|pF)P9IzcY=$CCaABWK%Uj3@-+|#<^y}p1ADbry^V}KbAbMtX8yUA4 zPRmAz`QnvYyDCH5uNR-cQ+nXGSfYLeSNic~z~};~QAw{$9H(Zz#O$ z!uq{zUi98p2h?Jq9z90lmjlz6v2}$*!K)vJq3l;mEwv&1mVSO^OLzX11F|0pWhQ5s zs%>LoYLkuLsx#*q34PJVB}C{|BYdeTNZ&f=TlVGZadYPL7grFd46(#$lG`4=E)NKH2yp^Xhgdz zu8upvYH6z)vb3}dc%C?HNuVcZn1c!%ch+AHGyg$s$~%afVbu;@jPRdl>pmOw#dl>P zR=I5%U92rgVeQwS_h!N^=$e z;FXHKar>NUu;Z@-8}H+#K1G-6j1cZyqjknp(Jnhy&ptjIQ$08P*j!!%Ai*o#W&33M z%FX3inUIw?W038^Y&xJ@KG;OTATZltIGr|C>bsuWnqOqN^_-=(?V9{uD$n)CpI?~t z|Jsk8eOo_1W3GZ66r|-2jg7S?ygIhJM&kdL3FFNz{8R&*d7hQDIA*TPt)W9$sVixq zqeHyd6?bnz?MhCH5KSBfY#Rpk%iQ9zE4$M`f`zR!%0i)mLzdNIg;PjV@s>U}#rol| z@Dt7U4|BoZ&A~@*3l|?LKVJ`H-Cvm7HkPC5!PUL(C2ArIE5hiyt|tTWK)G1~wnqDj zzZi$CB}G*dfJvR?Rwapl4yKrxL^b=c`1=qR32zP9Rnz$DQ&7w5bi_&kNB;! z4$SVDXw1s4y)hdbmhHQ?*b|YA`BE0D^&4bgPzNMy>t4sltfaO81K~!W5_;zs9CmDJ zrL_w?=&SaX?|=*m>z~pChEdl~?82Xta$M^jsm{VMN#dtt^v#8zku8tu;QB+o1YWzY zH8N}EiB$cIyRbc(3xo+@^rF*3UCI_ii)2c_H{n0Ygz1yYkpa^dTCMBh{8i}Uhn1Tk zjMb5QVtjETcCFm$ncC4!_Js+B_RR?QdHa#D4{{*Y+x2z41rn)tsRx-(W$wH%F@_gh z2^oDL(sICQ%W}+QeW(>1Y1dJi?|S259Yze)E;$8BBb{1u5B zyz3`b>%*4GqyKJLy(}KzDV(zz?9}%Gqott=@a6mlC2EMAJH%CcMP#*RD<(HVL1W2f z=V7S7bu_d@8Em&>#1Tbnlrz&arF;hW6DJ2P(4k18XxL|pMqDVG4Reg?H-#CDW zuzEZf6T3ZD2T)I12UaUl{=w63SQe|m&H*b_e$}-KXy4Kf2J2sed!x4Wj*ZwM6K=KY zju4P(;MiV`KpkMr=+^m}iK$er#97t#sot>Mxp)0$@Sx6U{jfRo;#rvf`a^C?;hASu z^`j8Ck{{C>+xe^#BLG9W)3%;h$$#E5xYfcfKw2k4M)TNVssm2^fUCJ10Ar&RxtVrI zT$L`I?;OT>tsK|!YNxH}{%-wVkxj`ZTdU&6mKY5;z^Ze;55VBegUJ5`@+y0G zC+l2b0A07k$eJ3+db*(BD^6yrPGrGJr~hu`Bl5A=6LOLyKmK|RGFo0`X_GocC!GSvyEj#dNuMXG`m1@T*Kb*+>3cMm{m=}ad5?Gs*Chq* zDf66&6-IA;wer3NI>___!yU@sY5^?nXQpalLL#YcCo6#FSYFF3LZ&Xt!K6griq*Rv zdc2frAhK22^U22k4_~Ei^G!7)@IMV?=W5dC05RxZ5hwoqJ@?6j z4e5GN1_L1YTWQ>UXise%62=3zMw+(n@hOBUG0< zz%6Q0Q0tc67!2->=lDz%)TFcy2|2D1A{3C6DZqe-7^9|zqAkRTpkBS4QtvXV912|? zkb0hnEZ>|y47&K-4XElIH}_;5X$97zBL~Yd_IepXK`)Z3=Frn|EmOLVUwioLKt^o~ zUst}PyxL=MV^wiD;mTl9-_hD1EBn6rF;KbEwaPWeRo5lRg^38NJ9+&0ZwHUxh@kTs z!5~H^#J%730Xw9aMbcVb8`|14HCLx4r&4!S2OD61<07M6nS@N3)vi>AVmh*Uli%@# zRmdX0x|5Zcj!F5}dQ&wWK8E>$Z~d~>c7~WSZ#mqPY;*h3lc-C(WUMx>2);6@eH&j$ zpQjjSeB9ZrrC!skdheS`X|)!uPojt~`?c*2wge^gf!};m-YG^yJl!F8Ga;K}hRY38 zd1k?b>Du0oUQ>gP^)#}H{L!$)*$}TEcF=i@qa1pPW0}Q-k?m^KS=R+qtG)r6Ehh2? z>J?cEh8=Jej@$6OC{j8B?!Qq&K`Si1{X98^6IQHv15MN)U?GNSL$dE36;Pi%eF_3TR-d36- zUXL}%K4;)Hw9e^z2r9ZNcumW9ld^l=@O@>MEIRq;d-c)&A-; z9Hz{o-C5=*=@sKQH%d3$QD2|Ma`01?6KgfaIx}MbbFJWiUv{JNLR7^A zxT#Qg*bN62U@lZB?j6xtx_HJ&mLfj>l2QW-J??b0H(<8AGN;!`vgAdwq3QA4oVn6^ zh=6})z&4F6Hb2<^oSBs#8M|}qEO0HmKeFqsTW105k+JZ-(6+#KD?ECtV50i1Xj;*y zp0P|ZgHTFeM8Nl_rEK3MJHSRW??S?O7a754`F`$>zbw6Mi})tC%%O_pzw^tv6>RBR7g`W*0^P<#SR6i-{`=7F` zw?+KmWV;tC$IgG?$Zk0I>umY;{ZmH9VeGux?oT3hm`=r(9O7)8K??V&c}RDL|J!7) z5{Y|#;a-B61t{&-9@5+3Jq_h9lNPE*4-B7f%00<4)#xQRoGX5{tHX79diiO|PvURq zS`T`xT~uYil)jhFZ0dTND%I$ca!Rd~vi!MN@G=ndixUK%Vix#Wi^3kk$-<4k;4+)3t0#}!GU3FqoB{Z3jeo3WF0g9#Pgn=BYXdy`iS`;t z0)$iRc%O`KSme77PSjiL5`v`Fpt^xjm70)DDc+OuEe}%fT;E5Y$iXS*p5dz5`rNFF zHsY%%ORr6~x>WbE@xtk`2)&JL0~c1g59?ZQENAwI+t4MBbIo}Est?zx>*uv^V>z^4 zAW`Ke&UcM17Jj&rOh;*vh$g`@g6|jxlhBO2T0r(Gq+7Zl4ijNz5?{7)Gq%>An-AzX z^eN1&dv(5`8e_eUM>>0tnMppeec&C+5KA$N@K!`C4vUi#-Z^~h>xJEF!+L4?bIejw z&P0!6{&FGn_L@2s`yt{|^W@vfVKM#6>E~aJAD&6An(5D-JQ?Tl+9c}^Pd?;Hf}GO^ zy;Nj@P%vL%O7*@6to=K>x7xpuSw)`8pn&VKZ?Jn6%Nxn9Ip?`A>U>&FbyN;m+nvGliYmJuAspL2{ z7UaH!0Nmn!K+3m0xh|MeE^t+~8T-LX)k=w|X8!5e6JOU{rdFuxn8CLYfIG+~u2 zBJuX;aK2B(d|3bJPtNHwC8wBg{fkxbQa7?5QU)CrZudfTkNKjOa&UvL^U3K_cBl@vJ7Fn6F@pGKJ_Ul$6VlA;3 zALLp0=4?;6UWSa>E&f~+4zRaD;w>9$5=} z98nOL^qt>Il3k#c-ST9|lzyT2*_{WT-qeEemX++_rR;sKVo$pyS=+SVnjKm&9rzc)$$bI&EO-MI%k@Kuwjrs)6qV}XUzZdxQYTrdA2 z!)Tl#J>B^y;`;smPgkJ@W#3ag(5Qh=$&m>@n*|gR6_q*$!UVjmW^2FH9R|~-yy|f1 zgV6kDjf8POW%#p0)r(_{t4nLw`j0}3b(JK(aGexa-I~Jvb@ai@DP=^0z}6#{^%SSj z!nuY+1K+oZG|_ASsz5I!L6KxUu6Mk`?viG|`2A|xN9Oa3V8IUR{v@n9_Q2R53k{|i zPyvfOPW)kNeM&0Ox0w4({;S-#ICRD@N}u^#++V=hNCHVe@`jW4ERoPMe=F?)FeZTs z`*=z%@%sE1-QX|@GNkE1adD*$_Fi_QUcAAGS?%?hD_7JhR)#Hx)YES}jO7`2lG4#w zly`F>j2^>pBzaP~YsxT*jIyfE-=84Iapz^3VC9TeL-DH=nx&+ujgl>*;YR@~wK;{2 z!=A{XD6u?+f!?lX7koM`>AOf)vs?G`UWYeqf;`sqqqwIR4T|lPTp&~Df=EjmZWnM( zT&)ksXlbD{bUZIOFE-V}j*JJCAtg3#l4&&7&_lhSX!+CaBtsq*dKwW1HOvT09lkKa zqO3fgC!bgA)-iAAq-LiVY3JSr#b_MN-PU=;Bya1TXG>ocvBoDJsGm&MsWk@%T~*Ulr?O}U=nFdhl#0tSO*NH{HPfgR@RsRDb_ z4xG#JENp`{O^%pmLT;6y8*)j^8*WgIptqj1?chKgsN3Lg5E)|sF!kJOU%w# zAx!?%dB*K@<)9d~O)A03Z#Q6ARW9y2$JvoxaeVm8_IjZs6X$yOYd!d~hiSZ#!PMIj z=gObX$cbtu`N^{gG20A8zb8u;c=NI?^k*9-Rna=q#2&clMM>Jn`)hE;L*Pf2we#WF z-z4Ju1$#X;_(#k-aNF7-x}U&P^okJSf1hc|M@Ard;N*oa$VQ1096GQayffVN=Tcul z?0yPlDEN<#h(|S+frs6(gBIvaktH(goQKdQy@Q2fPh;wvbkQe4>++$8d9NV7{N3SP zpTcTSeuZ<9ifp!2q^DUocWKajlAAEE$oy#0@d)~i_6A9rze>+>EIc^K>RW2jf7z{5 z8hUc$)*G^hkG;<+xC~FO?Tw3IMw6rPVsQ11jR1nEF#ZG0;#xVB6$4T*$CRC^5pCHj z&%aVEGGQK5Z1R8-ycD~d0&HImgy@mb#>P}P;^)HaaEo8ff?iEc{OobzE#gwMD+sF^ zjoUD@#LNvP@-2KEs%6zu>BM6Lj!_?zT)G5iYPG6g-kuOpf1WqdX3u~HtD z?(D&MQvyFH9)*&96CziLDqS{;Xw9~Xw*IR5C9;cuL4Lkg4HY?jG6q3PMrp=f7!2og z{VYmp>d{*C>OcSW!Oo72`9@LQO1nV%aoEisI*;-5qZ1u2x#@j_6!YXYUF}*p_La*x zG@;%cWcIMT?jlTdk~KpjkY&yTByIAorZ(5t^Z1}OZRx>gG@2yTD!U8$QN-s z4ZKoa^ZA0q&lQ3T@IW8`F?OvdrP#=RTr5TyWE!(t%~QhpB$*R87buvKD*}{qx7xE+ znl?CD#I7h>7z%Du2paqRIYzwrF01F`OmZGv-Bt9nADta14fI{TxGqM69qJ-1y|}j~ zpEwNdA$;SHCt{3@XI#>9^8M0ohDW$(R-}RY?3q1rl@h%q)0C?o)Lzsjr+R2`= z=z)*-U{&99(dpdj)l^Tt7f+u;fJt##Q@cnyV54^Xd7b9zJfaN_Yhe2C81>)Pp?5_7 zskTRT3>CkRWASY=bHDAT?afbjN=<7a1mo%U)jFKyDhkvi#g?S=!mpL`Ii)SC-hH)c zIyM%-sdoqHK^_m!gG>g`|E5X!|?mrv<(mO zFRVK;*9){l*4}E}0r48JEBDvCr8fWpo%>w0X*KVl(Dc;5d<(7GEe&5m?#rC)*kO>P zeF_)dG`qL%EpyzQrwUIIsi;mW?)1F%E1Ax)1f~5RA!8!>!zN5`~IAKY8lOLJ*#}jr>zc#`fcPr4+ghkLjio7juQ5O^Om8L z1yKVV?O$d$GP0*HJMp}S#9YK>jHV)#X?M?Q;5Q@>msVKy80liIl{$+_t?#2vef zX{BOUo7I&*8J6zN=R~~Fp&wO)Eyc7i#n^WcsM9-c=cJuL!wvB=YlI#nU<_J*k?i_& z^edWz*99hwL_=Q_jXBc023Sg%LMJ9|w)Zwxvt2Mh>VI>zM+Hz%1ThmhI-gUO?(YTp zebhcn?>>5IWK@OMB!Dd46yYbsd`?5^ck(SyC zV61V6oS0v)@jqkS+wj_bDUahV29vlr73!%P1;nlBA?dMt$LptN7L41~1m@8|(9v|kE*H)^mwH$*;wLZat6e^g}G=#(g=Qo--t^vgU^X3%J6 zYdx<^4PWXNgS+|nFY-_4tn!@=>eAW#v>jwgrVrhwVGX{D*p!RCu1O6L*A^_Mu)I}{ z+4Idyl&JB>??G)kpk4Q0{h;f|_Vd&p;h4ORSoG^s;nHQ!Q(`hxO^L!?y*utbUTDZA zsp8W2tS-4Kl~-A;xS zkr$b?^_TnPa3hcWvaGsyjS5cka+yn*b_e9le>>G52pjLwiMMK)_UV|Y*{@A&dbW3N zK%gJfoz=%3WH|7ZBU%}P-7>Q)ic(#+X5+FyJ)WC5>%>9^w~6T!E&(D( zD{uVpNm-A)>Q&J}PK>zB1v?HplQpB0BhWmq%RD9?} zg*?tUzaqyCfLY~h-z&e1jwkMtJNWof6^45rF!r07MoAS<^?)Wzug)ZsDc}ZTbwm&( z(swh*q(XaOC93IVhy3@cR$d*1mEmeumQ#*IhDkHuQJX#{R>Qj>cm9PK8Bc%+h?h~F z2xooBRW%G=rk#!l!o4`PNidgsCjPe9ew7pGR#ISyWigBjkq;@|X&J|i%@M)3T!wL# zU9VXe^~$+uan#V9;E%Pp>p)oHeof1umO4};PWxF6y+x1m-JFHm3xDpuKfC_B=IfUS z7nIFuF)_OmVp-2zPE6ovX4W33W*d;gX+DXxMewMPczBhUU@t1;jeQcN;)J%Co$J2N zYu8sowlG~GXNp>fYN&07x#GoXX_;Sdi`|y#uJ^HA!SP6ty}`lf+UysyEs_wpVU2Px0NWz538OFK?(M%*0!&Q?u%hFlGNS6(dnlotM;7HN{a4ff zP_m{!j0TMpmy8u!AhHg6?3ZnJThyLoPEG)LQSbOc9MOPN6|m_`KjSm;?M#=HzZG8g zYeXQ}aS7466u+?8UZki zDT^IoM`P;sjXfDPBXkcz(ozNGs7}Mez2lrplTIlkr^nq)k{^0Ymph6TT<`exil#(T zMdtW{&;NuREg&R=sYEL6>;xGa0!F#^Ktq%n?Nh(UXKc$Y_N{w&#N7emdi{#luR+}| zE|_m*Le&i_M$s2w=akIRxHmLbiCG$JbPq_Lf1|pb4>cl}UdxO~ zvpQ~Y*0G7okK7eniQ1D;@_uoQ+la7ja^OEM(8H7SvxPCb&%&;ws^Tpnln<`o_SA#! zW443E?K$3c<-C<%*o&Df%_2^uJfy=-yH@pRCCN=whZIt(?$sBjLqO&#Pt3B$qbcEP zNs#)_DqqDo?}1AxW6GA&QmyquBlX6hvmMIVLAYU~vCU<#7a72XK+ovz0z>Y^&KAnx zZn#^euugKki?jvx-JsKseaRb3M_5g|_2Wi&`6DD2$!L~^mC-G#doz1aT*1*oNCh^- z&?F~)l%Gx6$fDFJ@z-Ij*Xzc^C(>(w2$_8(AbaW` z*+t}Z(gCXHPSs@O-GBK>!M30cswt$7S-7-T{E2pi8nyV515Lrc4h9#Uxev|HQIAlk@)}+_hf~k&8?o4bx6AXN+rs+?pFZNwVR?? z$&QE4Y;2%ELr>2L~5Rqw}?6(fLE?>|J$btY%q$%B#u4x*p%A0Hj~|+ltG- zNDPM?YZCvA3OJp)k~_uEJz-r)w&Hi|DRAZ5tH6}awLLM+#r~+e^}FGAVupV?!Gr)bEb%IM6XA-|?iC!8CN- zNY6lvoCl;~1hnpx_5Li^iyGQey%$HNvp)It>XlneE}Sw{{yr9`_Kr$r$o-=7&}w{4 zRpKQ5t=c^f1D0c_e}jte<{tk8+NHd-7{qAjFF|k6&^*@7t}dAZq*6BgT8b`_fKz9dI$Um(?_LksE1Fbt`+>c}%J`Otx0}rIy|n@D(C!d(&+T&i?UiYU zkhKPQf!*mbxb7=7^AG^1JO#jp-tA`{Q@sw-E14cMWUAF3&8hgkZ?C)ST>##uNbgi} z``hzRY|@=GF2CRcN5|ZYUYurJDMwaf4~liUit)R`qTZcSgEOwaGD^%E4|~+^)4Xgw{$eV9a^CN z%ax?{v3~VV>am&k(W;=!VXl9dLl_NznP^dMC$-?x@mddO_1(sS&*F!&zdvHe_4`ha zMfsp?Vd*t01N1IH+g#S@&ys0KdDdD&)3R>iiArXh-u3#ba?X2Tj~^K-d&NuR(z2SH z*ILi_eV%R{Y;&iY1D7D3xROFDQL52j$F60*o?lpBpMpT5Aby;Rov50?SvOqmWQ}wT z)Sk+OR2*jmiZPsMg4EphsJ&Ok%SHdbxarKBNIck}NMv553R06^$ll##(O<#gDw>`S zogOPh6-i~LNh`dwn%6l!n(K1esx%isSnY25OyByvYjufNSvB+#OJ^a`4FguW8FCR( z*5OR^11RTgTX_HAINje8E`$fCO_~&>;Uc%H4Vm(F zT0ixRe8eQZMkWcOc>SDZ_#)9NDb*#+Uj|zslfNc#=+~gA!iSFEA6p+1%^1*Me9{-v z5|jv&SrY&qWJK*!vnup|6>br!LYW-X;*`Ze<-3@K`7cIJ0LJ?HZ1ieQEM4 zvzb#S`tv#`!`%A3BjlJ411=p=zvS^JimvlA{J9(-UG&nD6fwmGr3HR3S<=IcA2=2FFFOHGWx$PBmqYKYyia=ak0@dOI?Ao5D&=o2miu5sp%eV8taoK7jx85EkV#h=CDL5+!;wZ zoBg+X3M6K(%ie&6^$;U`=yr;!-oGh@s$6Ap*^uzKU-97W`QZUq)dhFwn_Hm*%)ekv+EIms|P#(7+~tzYPTPgBdJakx=_YBvU3tD=x=C%xvLO>3I( z3i)Qn6two6HMLZ#nnZ=KJX>7QXyAnIr@eM5hMr*ZkP1J;s>4Vj{hVE;pUNSu0o`7A z({N2tnng0uW2Ik8yVz*<)0v|C8ne#ymVHCEdA}Qe@pL+irYL5VgV0Zz|8%xf{b;R@ zVJd0Y%Pf+w$H{t)*)sVZ8%I;cTkHnmfAOmS5Hi26`M;FzL{U&Pkf-J@E;9UDYWy8U z5fDc1WAOQX%E`N7YEGKkRx1rvTnP(7#+sG#8%tQw?&okf9Pir*d0LTGR!WB890?aZ zncSupLxp;oh_cgj`$+U~7KkwJ_8Mj~zG z`DAEWjn?^o(wg)@hG$+rIZdtZ_?-xd9{tOl(B4E$HAV=7+>`2`AN%fj-J=GvI4`Rm zHh{oRlKec`sR6qt*ttl}_jY-e>5K{q5?%6ib`8aoJgJWrnk;u-{1Sjz)lHl@`jS@Y zG=`5to9i6MoSIy=q=Qccp``2i3!*9I3; zJ}G6tbX_BbVqb4m%{Vd7Tz$0Z?$mq@4~<^lnbZEta82hax^IHZb}BS?zd_OwPt$(! zV+9~F|5y9HUf1fZN0>k`Q&H{(Kw_GH@+S@Ykw0FSF?3wK6E!Mz?454tK?=N|Zy zB+=Si1wf=~CcAkyiz%no?d`+uJ89`Jth!~V51X|zASwRH3ASv6(f5-C(!=s>2~Qy; z!C~Xzm?2Mj#JzAS^;y5(>vmJj3u!n|%bjd*Gh$@iE?=~?hr{1yv+$P~#u7$y9x1ce zH4?ZgW73B=EWi0%`?IwVyimQJ9J6<)HMtBs?<(gF+oT7@q|nw|Dw7Tr-yD?yVdPEWRO$=0i4-j6aNqM) z!7R>yW75WoRFa*F>3ikK4@&^ z4Wu=%5#KEyonH1`ZX{Ho|JHl(C&Mc*6wzlvQrT{6-As%t8M+uo2keMq`e&;f!Q=|3 zo$q?%tsSlaGJq&TMY+v?(fRI<+FW;kn(6E^D3rr4&q8wB!XSC_uQ zVj|t!&(2Vr5j;=wcMQi%pr<7L(c?l1r2~})G^{F*!R93Djz$Uq+I(0$YrZu-K!FJ6 zkn~y-9V;+49-?Q{Y;Rz!Jr$7@kjRdro9Z`rRm<};lIm-qRH0>Q(*>;i+N zw&j_ozg&_9!rqI2R9B7^Ec$7_5xhlqoKJ{p_yTnTE-Za3?<8dGRPR%umV5*!PZ7YJaQ}R8* zpa86MjZE&qOOfeh|9WOmzeHD@0Xzs_Qscce8IKCyvgdj)<9-w*Kc$~vm|V%=Jv0fl zd`x9qAIhM=oSMYg%@M~fYTGL?g7~fv;d)+iBoX-5y#fYU~m|CfMd>+=4BGd4W z>iI*T0*`~(^;Ix)xY1jEd+@S2s=cSsDyH43dT4IA{%4sdI!y!RtEPC~{6YmbdS+rM zYI$mj?pWz^nYyVnWqENbB0un5z2(-?!uI%=KXuLj2C95+UiI;dtToth{ouyP_nXyM zp2dh7CM&Y$>2S69?)S&%gy)g>^-L{gvz-&wxPQ|gJcm#RggrtorHxstdW~vuL_K*x z0WQM~)AnK(lnjMF>jc!0pDi4mPy2l`PrHY!I^di-S2~BDV@4!kDaQsuKZgCW` z#GxZ}zTQ-o2|z;vh~1V@Inyq&DcfJRIXg>r)*myo#9>AiO6CM@QONlJY$ zhKt|zl%J=XdlgUjH`2!7(s#el5=?$pve*Apo%aPOSsQ(7m9t}W+3%1vkeVSoZ^w5P zbY)$RRmUd;l!t6T3T{iUeXBmII+in2rA&!86I6Y<@!Ch;HFi*iT zutyN_cBq4*1)Q2qw*CB=p02Z-0|n?GLyYtqPe+rcU7I}V4#b?7rpLsvlriE2wx*D? z1It`?fPN@7luWj`vl%yR6Ov-BUogi%05)-LgnRL&jcrL!|Mb`)Ex1om>-oCoi2mD! zQU3l#0qo%ke7)|1nl-4X&Md;=8f(+_#if6@M<1EqJh%*5IDXQ!uDe z)$QT-(BRJx;8t(aY@8Rb$q%oy?PHe<)0Pk;I@PzGPUECP)B2T9aUpGWJBSZrS4-dQ zR}~seT6NHyC~=j(5630M8_S^=ya%cpt-zUQpQt9DytK*YO#Z8%f!c5*B zv=!C1)Nqwm1O#EZZsbyUhVQY@6|po5jdbsrCH0qJ=-MAO0VHb`GRL!kPH@rm0^I{h zmdwCE3=Ks0JFnX$Fk2$%#krF|!Ew&j4;u24YxuSG2K&Wv@3ZutZHxD@Nw0l*rcpRP z7tj{-wmj^d*C*5+kZpd!Hr8E~W^bQN@AkV!KnWAbcn$wDM(O?`1IDNZnO&x4UJkLn z*7Fm~yE0(jX6__<`Wo}Selo1v-e_xrlI_aNR+*M~+CXbEHgX0M8rbN&Fo?b+d&V0X zVNHVTB9lK@SzgTQw@+&F3V!KqCFr1>L9*h^ZsytPRhJBS*s}932X$rWjUM|B?*|vkp;*k; z>wZoE^Sw9?ud17p#W5_f~&C`FY2N?y%xXLw~Shqt$O<*3c-hs+KfW^twN<0(ytC(|x- ztGYr|E1OYut8e)|gc=VQLMcc$Lbh6g;^d)tH z`K*p^`_Zn((STNubf>12Y6xnqHscIEUE{V5FO4x+MJ$mM=$>yDW;SHIzv}!kFB2}w z8~t_ELqz(CCWKw&~)rT8Hw2y6;d|&3NdzlQMEY(GY)Z)L; zK-NO@2D~+|rz|~k&j}%Af+Dl`jT8D_+2NM+=lrO)KG4VMg{Pf7R`ptd7=zT!UnP-! z)Q3{6#H(W71I#)u=?%LJ4(NREq#Qoe4OV9$qYZlX!&LUqL3F2YWI(N)6L&|NJs(an z`{ef*FFp8X>q3YAW4a9F)9kTaHGRn@9h+8%;;MfJ%G>UTg=(lFg4Bo~%4pj%^xHA7 zQW78b@rgzT(f-tn4YpH!K$_{ZBEBYMI-TvHzk$}P%}>H>ETHmtzugNwpCrG>Eq1yp ze&BXldgO6BJ^sBBmTy-jy{_ft2}qA^PHo(D!^7KJcIRxt-wH?@J&I}y3x}NhUVC54 zR*z7uYL9;K`?2-aR(X}WD79f`@PM)p6eLZ*de~zwQt*z~qQ69~<)mN7K2Ybwa7W(k zSQ+$WPOF4j)rgkg+l*+MQqtRIKJ<(SSsU#g^)N*di>lr68LR9wVLp88@aeIRv{IZ+ zQvpZm9*=%|sqL`;b~=5>%0?bMDs@B{wU@25o#5JlYs;T*m1NajK2fo81MY%0$NA4> zj(?*4E$I^1E}75WnsqqAXV=>Aj%|YTkmU4QlWeVROtDd@#3*p5CNvl%Y=B<`{^VW9 zQdj(#%9Pxv#dDtuVE`6=rPk@WiWr#Ommvv`ii|z=+r6}iFq5fKmgf4r=-o_cnXBQ) zyTirqi9t@${u>6`06Mep^q8ycjhjxsi$UEDDfh5f-!O`UkpB_K$a~Ve}&09TmgWUZ|SF{@y{{U%Jn$ z^64go?16sDF1N4l{CW9kS+hCsi-f2x)MI-p|9!VwBepwy8zH6c@roD-@ni9midlz_ zS#w1XthblVbf1TrmlD&7c}lnNqGlfrmuQC&F<-3JaMm;@0j;<^k0rH6oIAJln$CQ9 zNsFpj9s4tzvr6sq^Rw>rJN>I5v$$LzL~@*NMZTf)xmDGhxo_7lgH)k&rBy>!f}+;Ft%InZX^85^|XqIc!AY8wKuO6w(>b~n4HF?&aj0L5(QWWs~m<(OH$c1 z)TELW-<8Sl-Algu)@ux@g3(eE9y;rI@&NaJ%6A6`Tx6$_+^2e@N;I z)uftfIUL&fWCu;M(Nb9yR3-HsklABZ1CGdfMT*N#CZua=JB}p#o`tF!`gpR(Xdvg*@xg#hx864#BeX-1kHbL>9=6B@`ojrisn?5d^&sKijW40dY z#WlP98CAJ8s?hl(h@m5_B4ECb)rh&@DrGydsyg;(fkj<$gMH1Xx^K45T~kNX3{Cf$ z&7!ZH9LVh6HBEfb83W$rm=uWQ18vL!fQ`DAw)7eR`L_zO_Z9N?JR?DTo>svCTe(c-ONQJO-O0cngA4E#}ANXsOJ?+^1?axe&4t!Qw1nwfImV};>Y1`^%%(`Z{CQztAlH5%yC zFbKi&KmY*Jp3fqJ%FFd!A*0VF7MBQILq>?*6N2Y~ByD=#pR+$VTD$>@BnDaQZsEg9 z+S}!1CGHMCZT(Imq@SJCl10265*ZTjyK%FN1#vZiRAAIH><=ZTGv=tEeneKS;6$Cc z?WTqRmjE7!CZ`|VtyTk(?E6w^ulpe?2cM1SK!8pL7rXlFEkAmx1JVKQs%;mG^=}@P z+~S<>JFzRv;+T_wF{@b@BWo#mdOp9m@>Av!0~9d=E0sx#WR##Ug-s(YRr7KI@tdvn zWzM{o#h%g&IWND~9qyNxWjjavXwZ!lwU%mBiO=f`aGo~^R1+m6KgYgiJP?1VdI!H) zy=&8)whR*x0={nVb&yBrE{v7GNuDP53cGT|c(X_~AOw6$cOTBMRFebeC#Z(UwX&7v25=!;ID7tsU^ zn}Hc=UwSCx^mbBB0%J&>$!x5+Hb%17LSygo>nA+9798byg^}C=kP9UBSr1=hZ=$^V zk~aE8CeAGE9p#JG*Q9P(U>}sgYE&w}06N_?JckpSIs(Bw$WBJy6#w~CA=zd{;q2_#+?HJrUDvkC0e%Jd;e<}b1QWfi@Lf{7y-Jh?p!o7Kq5K(Uk zaS?14>#mci=Fz3JAb=a1R?7C`>2MKNIS81Sn+Q$dwTW7zvjw~oOApjxcMEP21ZHHk zdodKhOT!#11BUTsYiHGtf}B0qb_NZEU}wkQQ>s?LuTQF-_wT8RokolAO*qitmet<& zITjdXhZi;h`)H4grl*^2LoOcMeUqhNIk&S67#5bq;d`Xl3P^b9vlWkK+{8t(HN2?l zT}0>9kOGha@QmzpB8T3-e!9xtGMy{WQEA@iZK~oIw@tY+iF9ljDvs^Opdl)Xun>Ww z)5e{uZ%3UP0|SGuNqquUGRNDtxzU_h&G>15hwP1zgu2As%mWn)Q;sNrbpjeeD~W+~000;4-yIHfN=Wni%5 zwb(nT6jnNeV{9%>0x8wAp8fqhi~kP5U!I`=>og-?A!p_YhFNJB+RXeL%|q zAfHq=Ka3vPsRKiEQ@-gXpX6tyY|JYbD~L^^edcjp+$G4Ve2i8UhUo@ZebD5Ldaeb5 zI;4AdpR~xk`B@#>%wyeLz$2_4jd0RZ&Z zw5bE5zW^Z)H>_V=e>ymG%6#NJZtu*k^F7Zw`96BIRsd*wkEudPX}&6 zFDX7#73zahyS5uVbNTj-rV+%5L5UL-V&8(mJWr>%sIVOFI&GZaX9GA5Upbo-COr8n z;04dYNHc=Gp&1BzsAL!w6l}!_@L1)J8FB&^sA7Rj$w=Gy+;hhvGeBWyb3jisab#d? z0*KDvCh&yS2Xv%*gBA{oRMNi5$TSmRE{+jZLrzKo&;h}_tSUw1Fhh^6$lDY=qrE*B zUZSbJ!XlB%zs+a-f_VBKNV9aguU|IB4QJ=_%z+7Ho*uTfxweC*UdtXudIPc7rjZsln%ti7LZY8rs0X^$F%D(xm8cdXs{i&WvE?4?a|_s>P=9-fL`!e+ro z{#Nx}i9|Px0_KT*nE*P4@ory?c|*sWSA`Kp&-J9DL{dX6yMf4 zTWF!b?@Rw%r#9oU=WiC#bDYG4W=vGJqgzdxXHMFsIEuyV)W7+50I1ZB#?g${*vW?k>_*~j_^raoD?xCpNrTfpP{#EUI#4-Ez^;u6FwBO@k4lgk18ssIMPqYxXG$t%S%a zP>-Nx%E^cF6T5y`JInq=D~?2g%D6?3M!;Ld59|jQ{MWw{OL-|KIwqWEAg4dGcmn2$ zxJ5JU2q8P8K#O2L$JxIwnsqRRe>^x{Q4m+%lGhwY(ggj0Z3RoX~^utexkfYtrN zE;TyY^Sptalh6tNdofOTH0IxRk9|?2&Zor=rX3|f7(D!CRdk+W)6)3@sE1ib_@J)? zpM}H;`TPdEzimJhy~lM4`mGXrkEnya&koJswWLLPh6cw-pL|?=t_nQ!s%}7{_6~TbLS9}s`ML$N^guV?J zp(uEm==qT$KpGv{I_v|EBmByboa*&5P3uhv^Q$xoib8mcNt8Vk z*p@kc94^e1EOta{8KEnS;mx1Kn8!DQO}&SlZeA?2lcD7Wm=vzcvR;u@99bKL4u>MS zDtqLGZ!k7upRt-YK20;ZO07=IB=XW+bEm@MjV1I&e1zPnc^}iaD*6vAKR%yWsGc1@ zQEAKfej$&r<|9;NZ7QREZJjCvDqm~Rn2%z5lR~JBhkZ&BLPg$V2K=SAAr&aIS$!@$ z1K0V%M7}*}isHwW+kZI?TA$kBj}$!X&+8BPfcb*$Ruk~ybCUdDYlRcCl{!P#;ovb7289px-Wm?8B`BX|UwBKu?`aFkkd z4EvrwOFi4IEvFF`8VCo`_Zxb9*Eo-uYI0(-byqDo7{a8q96<`^uV`MwxYvzMhn73q z-!fK6*$_g51eEHpTn*$Cgr-)6qc+-*uR0Qw0XlCIehuPW0%~P!#Q@9Gj8 zt@bT)w9p%=DK`)|XfUfSukV&ROg!2j)rYlZ=oDC&#;MLUrgv}pyWuv2T|8Thnc@S# zV$ttpa-ONvj}3)H1cZy}=Sv>8YUx(g-ex8A;d@1KP4A_3MyU1Mm)weK^?>c-lLF_J z4mDg0AIAD#;C`G8&o4Xx^bA z{VwD=%4Vt$X&jM%lzS6Y9s*ROH#t6+)d>66OX>eQk^c`+0EF4^`RkX#*5mv?2OA*I zZ(?XZkat@M|843EVQB<^m6Kw%OI#~x)1XM8u$<&?mSSRPrWLPzl&R*tqUp6iF$C@< z$6UWqF;iXbD0+liA~4Yzn9vFk7B^lV6j3e*OB^=8c7JqdRfm45Qm3z!T!uLH_MNtT z>7iRzcdtI$%*=4KMrKN}-yhamxS@69%@y)|iGA{t?vziz!P#oj@pxVNr(k$>8o zw34Q%#e_%nHKt4BQe+egcj;hQ%i)&mY3$5A!9AZN+$=Y~_|}@V9+=9ismNjNdj|pT z+0)7k-S&LR^yPx?5nGF=NnB*HbmYr_^Gp*Q!Ffj)DX`AB#CUS z*6BQY=p^-nXM~#;7^lGNkMNlH<=s-W&97GD_gvmTX_dsHp9xQ1_Bonu^5GAN~Dy!##U_ecbq}-hTivi`o zPrGzV{US;bb{NU=2hz@w2yi;wGh*HUu6I6(ftM2l6KeN#Px(#+VaVPvnVacS{%>=c zh;U)kpDY4ifiW*ll$jAKw4POb^a$&~^{kVP1SVt*e<}9hDdekM6i3)FEx~9MLk0@v z>l`ejD<=xr{M2pbWZ`SAOhZ;FgW5}ML~LxQ`ld&s2LB*P zA1bTH>A3xecU`JN{&2*Sqd)be`#7F~=~EguU`5^52K&xZHezMH=RMn=R#MK(_d#S% zgXvDz_uZ~VzqGmH&pG==AjEKCF#`Huf|fd013pHYovPl-&5j$vke(JaAbXF za+fuIuJC`VPnYil-StSmM=xYX#<3W-|LYY+v9j#z4}@^fKRr4#4e7y0BLsBOYnpaA z?r1eU|L9{?OfE>>Fszk=P2I?ZPe;|{k3vPeDoH9{$Z_*a$fIq&Mxv8tH(NxTdjdftB!GTn0^l42=9`Awhe#{kdYE==ZfwejXj2&|6fh~-KO+@Oo_91IGOPhQJS zLoc#{8Y7L4gu|cn$#=Y^mG%6g=kvKPQ6}PjIeJ{KQlWi><&Q?>AUP`y=6=RWUI0C0 z^qWNVZiFf~_C4ui!{@5b`&wQ$-IQ6A;?YcDN~cfaDo<3_Tld~5VPYXa-vwiEhj}5F zR(gK5Y?Mdz>N;o(C_j&#&8^1ILCd@VZ-==0jV=b-hNBgXZik1g! zUQqg5+;l{Lh8Mq(LLNf8bttRUcGEcyNXLgOOq8|mWUHWJq(XP#?=1& zA3L*Z1^i=-ZozC5g&X0y1zM0R%RRKx8I3_dfc5TDTuDX(&?kkyDy36Na1~5bKo%x=6Up2OsJjYjhSq3tchqI}!!VMS07 zDM31x#aJQ7%fe(a5k)@`%&I7VmD3tlf24 z@C%h40DzwI$WA{I&Wsb7!AZLv@&CH&TO^^=yPuGmQgXIXBUh`RhM61`+_T}* zZt|9fcpejL%#vSt{=78S_BRQ}^2VfbM-oJkS#m1o($M$|Zwo(PORtcSXz#xtQ*~Pk zkK2;?))S%?RjN*H&SYu~(g3?ib4*p6EoSb@Zpd4|+m!lW=~{$~Rq&f1`0}P0shVF_ z6gb^9%AFNcxL++@!|kHy!0@#K>MhTo{1=*ZMzp>c{fD8qWM#M(f1 z)DbqFOLQNG%Nnm@@Y!@>OH&`%0p2a@DtC5|?Q__=n*>61L#elYBo@RJ1C z4?gB(lU#z}vl-NmEjv|9XOZL71}U%3-Vdf*;uDzY>NHo9LX1qP4cQ^EF<`dza3Cio zoVJa{NQQQDG+g;OVw?}lUCKYYxQM((EtQxt0F9}+dq+rc7ijjnjnz49O7>soc$+YR zZGQ5&IQNSUO}^M_JOhqR2;~#tvI^v!tX=<4e>ZR{-YNGUIb!_hyZ!#nIM(MLc)tU< z1Xp6)(iG~g4hETKj^)6dTu(Rg0ya!yms8+x8CQREF|2F)U1;8;`iL)o*@3Xf%gB%EI~xnAH?GuA+UVvLokyb1?F}`het9%Q3STP*^Rom4<+Ix zm}HLn3&Y)83P2Ce2pbCLi4QVQXXp4>{j+^S484+ zAo~xM1LFibZwyoE%)r;6vp??fe|Klcy?SRz%pH(%(AfIdw)4NrF-!qdm)FrI5Z59Q zmqh}W^F__mIu46sy#CbeU}=<*;b|msPelC8fuLAEs^K0)PQSt9B_*#i!1I;HP?Vg$I`^)42Ajv;V>u8}+XN$lCyH_NiKbwcCBdLWbV{C<8N!GFZ^-f)++)OluB^-0QkXDadenX^dTTPTn24Ou>5bxS zrA|VzG6Mbg?=mm|52G(>qcKbge1By9;J`SvH{xJ;`AdXcpFZf~CxK`+>5_7%wA1g8 zJ|weHi%!{0-oxdN|Fwfp-g#}Z+*BmmJTNTxfZ(GFy^#O@xN2U7QAE;ro!f2=BSDA*NoO@H$Ft*|- zkgtCFzhw&*XigvoK-B7J5sUv|pMpPn8N!c{J|53bwJjrej!Vf5KLoPKTy{@+@2k{` z_co3Hf4ZkEhAwW<@sKa1h3#(#DG)CGnM8u6;8mpLUB_tFN1hhK2NQ4f`v1!-d}{N* zX5pvGG+v{dxPp^}DY3%q#GJ~&UxR;GOtxFeRSBaf@LxApqJb4B0L?Y8VPqp=Nl&Q}W<3T5v-fXt>TmUM7Aa0c5K& z*`xwYOlY&}QtaPg?0+K~aVemo{PfIb`Kf3Zl;b+1PmDI!Jzj#jF z&`m=8=7f|hIZiSBzC6AwnGqu_60A2y)?QgdOd*Dx!DpyP8E_uf+KbNf+*nVi%BNzC z3?c%a2dvq?4}I6c_*5-hP_f-rguDvvZn$${%h{U;Xu_k@{A2SDLkD@{B%#xsTmS82 z{rZoObp%E(Ng0@YPg<{5<>#g7>fA%0K`3gcvAC&xsXrGZTop$?CLWcz;Rn1Dp(D zKun3EfzFkz6)`>~2IK+JHsN9JsqJA~ta8g%T2v3qCkETupVaSvnhoUKQzwCU7%S|Q z&~l}(DRMBC(c{y2&pu+MI=c|KI<2@@=Ze0Nv?0vZHBLuJgSv`2yrrCqpZay{4ntn* zJo;+UTOg2Y_|@h+g(0@-{cjgD4+uWfZ|g28_QyNu^Y+O<7sbd{gN6etLJc-LyDrR> z)F^WFlY5L_L>nedq#53?UA~0HJr&AzF5yJHsz>=r$VC$YlygoT4$~tbtM_uOTRBr> z4-*eQRdJl6SNhAz9Ou0R%r22d>2g8l>MZN>rE%gVuX;d=#V(Dmd(9(3w;aR;XO76} zuxcX^Q=Dv36t6=~6HMeZWYmz#P z^DoaUb%_x8louy5#rbrsW?Fc$*i&})tftr->*sn$g;W@ktG&T|w;wTxm+ zKAc%b07yV9m4448<24Epl*dK-*248(y?KJbNj6uCcJ2)m#P&kQ%Ynt5Ce-ZGaYev~ zMddPf>m~-A!v5x7x4u+5_anfwB{_b2doK}sAZVk?uHIf;Bu8y(Q3~Vv`+sSlrl6sD%K;x^WnV z*^)$MXZwKEFTh2l-n%O(`*{$%>7uL3eOQup?%Px1DlP+EP8$z8F5yNFd*?I1o|ywM z9s3Y-&rNVNqLhYn;IA6OKr|lEr4KtgezQ3PR1A~LTRML{%6E&8Uzl`auf3>7uJz0V z%KF{?)-RWJgPhpnZ|p`t2STmJ+S`@dr=Yge=sf7NeMWk-J)%!w?2+n&AG|>dp)cBL zg1$Xjq+%rS$G+h1dNHkQdWIKEhbH%0SD~3&g%bV$YczW-bbsPSj5rsAH64W#Y-1U$ z#2E>_1=M$gjXcn&xl!bnuJf7r1f2`w|8SYD1GK5~3TL{p{|zR12vn`tANa^5M*`MK zeAX9yUY7ws*Y|9>KBf|a5Bu2<0y)}VxykXVP?*WihT!FZHc-|gvtAs%TMJhFrd1YF zY8o|svU${Zvh%G%$5pTvZZW;bGXwD*VOUK#eEh-`_Mq`5whqXcOu`0qYN!bxaP_9B z*H@`nll!b@q>|mofAqaTMk(+i(A)MJ2Alxm6?`s|@W;iYL5D%eC3bnFevTRuD}fYh z7r(^7qXJcLBNH3tXvOuHcbUP_e{`&1>XhNoJQ#2PF) z$`T;g>})rx8ng%G}fC*_na z$@Enh(Gy&Zn?O$G#!b0%-=m(fX2YyA_f8AeSs>+xVj57>W|Js8`yo*UroSkJ^aW)< zz9?wmm~)TV+Bf>+b^Jk;Y6S3&u!}Q`XVbu+%NCX+`^Ob1e$04qb-qt^E#s#1p6IPF zva8JJ_a5%v-TSWDH{Bg7{NVi@i7=O^MRd3fzlFX4Zta6b3I+)l+lx0;0)*ShM~-+j z?w-yMkt^T1wDG1+^Nu^XU#CmDy;$bVI9mTE=7g%oFMe{W78Ec0OYr!1Eyo7kSJr#z zMD=si7`!%c1N;t^;M5?|WN&FdT2sECB6&?2pO#m;0|T1|<5sxuOUp#DTQA7?0aO9o zg6bS1KfM`Eq@n@&Vsc~3b=i*ehlu%~4&*~kCd6!kw!qtUX3GdozMdvy8o4;Uo~ zoZ(?n+Q|ff-$R_?UIb1W;d6T3WR~Axa>rW09bTuh6hJ2A{2TEacc{-02#n^s_UT&8 zII^f*45|?lra#=MK7A$!d(_-iOt!tWCVoEtfvV(lamw3yqPq9J5WDpPPUaVxv)2ql z?kVcpLBX;kIsU)ZPKLGDh?khf&Z{o%&O5ZDT!I)?A7aq?p|USwEo=5|5B=r)9=4xq zhFy;fVmj|T1k4FmXokl1jq7_M1P(jvAu}@U^Q;X4f01ImQ<4GDr|sban;!x|Q8ZM) z|LAeV5t2XpQlb0VW{qDZ7|msZ2Td_pjDm4*>=OKz0D<4r#wPh)-ZGZfWh6B!MV3~O zkxb$_)Vzmun$S3b9J3|;EP?7b*;0(|R;0SU6O4Q^=d$n~XoJgnEQMSKb_7OsyeyNZ z>mn|J;_$#KX!D=;fb}odt!W0UNbhevn+v`*p`Y=&#SY%HiX6zU$Jtobwo@G+8lVlz zqb|Gik+B|NhOpfoK20&I^1i{%^2AR!F;~A{e(jj-ASlqumD1ZSSAMaT-oxc|JqTT8 z43ot=V;i`GUH@7dCynin+D^FbKGb??sH$OSs-lNOU{;rx-MiAT+_rZRqAUSh%4zMV zrS|ct49-xlTk^KAREIei`(6FmnopR%{CRqDdHpWz@@U4!D2VU*b4;yLeIjh9g=nWs z3#yq>lnkXx-*b7<%!~3Y-*e7~(;RvT>uDM{J$YjX7fdb5E1y~RW>z__eZ^7#xAu6M!qgeji!(EAU9)% zgg?jN;zNu-Z2Nn_oZjLpLy&H5z#q8#y#pT$b#@pY=cVz(!lcd6?I!F*>z?qdJhg^F)r? zWl(x~nm3YmO~C1taPmz6OqUKM)vOW3+neIyM)d-W$t$Hy#<|bJoe@|7) zWpcDo_wXN;eM8YixJ!7?z3`cB&JW0<>>tE4l{~LUHT6I;$E;-ZGEVDOBXFwUsrXrg0v1FsY;@mjG)bP%b(bmlo1=Gf{LRT0d0$5C z%$vG2uBKkP?CN_r5OZr2adYx7J5zmMQLEYU)ctm zYCR9EQR+bq^l~`IT$@xkAFa6bt^dfrQ|fb`Gc$ADY@^bOO7%k`f;(GgL-l5BXnbZz zJot+>J{i@=RAQe38IpJ4 zeHT^NwsE@?&-^HTDy4od zJ=+ULp;v7+X5-FRT95tG;nxg4|MCZ3k2_=iKxWHW+l6^u^2JuDDvqNf6On73Gg`#HNa+;W6Gr>H;BI}mjH}5(Q5c-3Jx!eekf5hSvS$uT z3gBvzo}Hq*osWM4xdO5nvMM4ZVFX!hwrZ$S++ZnCuvJ^Sr9-fQD2Ut3y;wxoXg>D1y_SaQ_^DaPFpPlZxdGS9W{atENxvfI%LCy5$`JX zVYQ`Pa_8eTU_}9Iv(xB2mIO@ls^9rtU#q_N5)bIGV$F0@!h%6FA~Usap=4j($l%{`wqB$=-D z;c{x@?taHrW?ewQmJwoSmKd?8eXVK2zuq$t;M9zKy$X*rDBm&}(C!SVCEfSlFb=5o zU%*|Xqv`U{LeBcEk}y5u`^b+OKD9U-_9 zQK6EFiWCdsk?wr-2QSl02DI9PWR<*neA*JQo^jZ$n9=zJi(-yZ6%}&tkMb19i=pQ* zIygLM&$csH<2A*5n6;(SGsxG@tKF)a{VDBLZzc($0X2uG*;$MzzG?t zyh>SNhauMe3+nh@kzWWtavI`-%G3o-mA{6--bjgay&<^8gb^FB@UBY7UiX7}x%92L zuufzgGZ4U!^+2HV4y{x4QGyD<^TdJ$XGV#R&4(ZLl(ZgdsN1&1miZ?FcKKDeq5}L6 zXWhAHY~Xn9WRDwN#Z9K}x{k%Lo>iEEpNFT(;%nRa;(C#z`L!}-3Z@qQ6m?szvHHyjq!WPBO$tg`8EEwTkz${53!`z{n0pSJqYh~kr(iqU=l1R zx8{6%yPt!c_7^FpcC*ge5AAEV@9G7!J`*)ySLrW}2_D>BqOpPa3M(FHc?vf#p#ysx zbVAnHsNU*Gz+O%7+ws8sc7g}{F%U>*hB$V5ROx{L=qid!erPj5Xi*pBVD3WdXK6Hi zItb%Px2LLwTV>t3-Q;gTn{FTwVH8$AxJ2WchfLf0i!)tZ^rrfVj+NEV)e~~xYbEl( z?fr|4x7Kt2Ppgb(4Oq1AMG*75du0cqKj z#yqLuK}N|C`4wG44u131X)IoPM(!}Z?r=JWyi;=kos`LcGX7;cMm97cmj4hC9Dx68d;rOw|Vl6pC5{6ev|53@smE-J*mf-Oy7KtE3tE&xB$yITO zKD4MU;Ta(ERnW+&cfHusWoz(77V0u+7PrEd#RKFrADRT;1JOJ`Vp)MNtMp<p?&z4KrXtabCaJ#j46cbAY|-gm4EiY(1onop|FSva42Om#NZ zQDe2;&Qze8aJ&m3j`fWqaFFbhF{7wAhXK`nNaU3IbNV+m4h@D}tt^dp^#xgV=V|FI zYn>E1^F(}zge~E=!zIh+cS=+sHqwsu7|xzK$i4umqSkg{j8@2}(}s(j8z+s^;82;1 zJO7i6pCCgVw~A6eAuc`nRPe8(c4#--QhfSjvqdqumd|c$5L@%HZ7jK&0cg)~yD5?- zQKmQZ<&J`n$pxV;v7wUx!O5L*pB+eitvi$97GUXt1f7eLf+$l7h|85q! z%xqA4IBbHIOs(mRr&x^9KW4r2S35tb?q_yngo|bn|5SmW#Ys<2lGT_F^K~l8^k{oE z4tu%)Q)jBQLiP`F?W~z{Zwy_hNIdJVVE(fwoK*q7JO@N0aw0MteYA?(F&d6t13lr( z)1thV>_?r$34CMH-5LS$Ah%oOYgf7{Q-!D9^s)bHeZkx(2@xmrjZub03k5qY?n5~D zHY)Vgwu@QJMA5Jg_l2r}mvXNv?CRBO52|}?5xeKg-xnHBYWENUCINKr&>*ecNvL6FCn~YOGJDtSRP2l@Sa=;B zb!E$*QLTJ*s-W2W%XmBsk<+t8)u^5oP>t|6|Bbl@B$&GF{z+kak&GxETJ(kZ%OIftII%eX_Pbhk6N#|v0&MV2XMvRpO>=;c4> zyM;>@26Y}IA6>o^a$@Ek<2J2`Cqr!{Mj2dm%zzD=DT?}@_z0(zpAsgAPqi^kMKvW| zr0X<&+Lo`gdGXp(a_&~H!$U^0Tezv8S-yJC7SS7Y$~fdZ;EPI$Oy9BNWObqI`~IWJ6;Q+tr^=0~l#$;bhM#4nb&mZot|!T+_frCIK^mESlBE)N$#+9SP17XebRg z^wKlMPD!XlRyI2QmaJ7MF((yoIGe1;!bvQ$i`5W6fwij6%hfJNovP3w1>B*G1)MZy zNxg^k#1H31r}y5WQU(=1@$YCqsG}bPB#qp$4nz2Xb~tIQ3n#eeTNxe+`NFfO*+!R^ zP}X;`>4e$CLUmi)O?Yr##cT_G;vA7#`Zb+DVDWd*O*Khx-RUr-HOD1;B=XL*84$ev z7OlVjPz_{$5fQgQ#aa)Hhk{nv{%7X?FV-)xiQ#?UqTW2vg{4l@COrjCasOv1tc#SK z9$1a7^nk3j54-k(#5Wn_B;cfA4oV3H!n$I!1h`iFi|}1IY#tV{6q5zmiR5OQG(vgb_35IIp=`8LfZeY40<=Cj8thJ<)1aQ`~w{sckd( zT(@YQE(mCjdM%i^KFnZ#kc*fTcDGMg+lji2RKvS1_uQ$tFZF40f&K@X#GY_GRSHd^ zJ&HkV0@p4p4I`NTL+_n-86|J4g{>oS&bK1pV}d=VY}%Oi$u>X`$AnJUUg6ycGxAaK zJewh?@kg zZ#R$mYGZV3cv64!(%-;Lyw>48DldgfyI!}r-PZ|AV&3J=2UqG58QRgPV&u(f*hKse zaQEC_j34fO_wL4h7H&T93n&<pG9SygPy$upP`rha8&VgdejM5&TQ*adZLRF=U-|GRbb$}TebR` zouMu1Hc-}F*bXb>Fc{4a`wt=QP$vC@?&U)5h}V~<3b*~@Qo%JFVQR`nIQLjIxLzuQ+33S9Dg6uq?O(F~yC%mbrpijk z1U7Rj%OwP&!PLRRt_Bn1N*$rYxx zpV-&}tn9x(8WK{BX2I$jTl_2eve`sHL^4#?J0NjCE)MN>D^gqkAo9JGFpsCrYFQg^ z2kl6O6FudlAf*eC?>d+4@~nKg?7^53SM+)uZdgqG+o3!*x<=>8sCv8A6D;)#XdHz9 ztmBJhCnPsHJhjvLX=wJtNn?)2Q_q>g-1@1otfo@wjDZGmIWx8A5|44^>=V_ZNK~UM z6CjzNS>CDo zA)k+)5d>%S!w8McdTbQCQ<(?iT|sU zCF&KrAt;18H$a8Jv$^dNTP+ZEjQZxBvU~f_G91b<3IzH1tgjo`48eh4Z|fj!Nc!d- z&`;ixGYYePRrf#U4^`qe7Ke0KKpEL}jZQXVq<#sf-sL%QOqPy*KZsZEZ5W#g@$WLUvBtdy;2uzb6iJ?P| z@uG5|yM4PT<8FnjqIMv$BF+blaQ(6b^4leIT;yBcXH0HIDowqgUa?Q*ye(4~JGfw$+?)oNwnv@3N*jn1c8oL2}!HeJc5Q9Fk73OToI_FbayDLjgsQ~l{ z){8o+GoLSa*YgbV=sQO*K35~;Oxgnv>XhT3q;at}c0NlxZ>JVAIlz&m0u1$-QM+3K2*>eFB?VF^ z^a!NZuU3SAjFa5AI41oC!x#a=?c3$aXR)N_QDH9^dNVE9WOItBua+nGmP;SUp6~|O ze8Xi;31X{_%VTya>{6g2r*`RjcBL6?#GVhL0Pe5Dg;U?N;Pqc?BHuS}HSWgQzQ(^8 zYuJYh&16b1%>t97dE(8MHx{KrG=YbNy+A585*gG1$Z6xAuMJ+2%~dpB6gM%~Fa3pX zrj-0Vik&u~UHV<8sur`%sEC3v zPX{=dhGtAKEkQvz1&+l_gkBZi#w-M{l5bej4VqH7zeJAb@N*nnNSVp9(#0#G7;N#4 zo~D*qsTFsvR^!-bXMC_)>2JG>-5~EojVUGn0H15HXsA#Z4w+egz0)2XgXsJO{?1~< zZPF2@j4$Z*(3R*}l1enZ3)%T5=#qFOg{q3;qycr(m+EA3^qU93CC_~(z8j`p>GJ#z z)PE|)eem-gyhFnFl0lDIn-M9P^1!QE-a=1(|7o^wU0p7la1%VlV|5d$y^M(Ky@FR$$tJ zs7bgsuqi=DZR%dz)~H+n`GJ2$^{6@yFy45S))=lK?q@ZSB$^lXZTdtBv>*bV@?|eAFrF{=)dQ*{!O?mOM+E zFBik)L%eWF^KDu3txf%Zx7IxnKDtHqepIw8#(dCXBrC^LueOk!VlpRA=WgoWzjx~Q zAKcvH7oi}ViC#*OT`J398V~E`wVsV@o(AUq#JKtwcB$9PJt~pGQCb%nL?su#Bw-oLT{#M~#xZcIzSu=APbbB_m9w!dS@b2Mn`=H1<4w;MH_!YT(gfZf1P zW2Qf;pdBiC9Y#Cv<{$@cnCfH=TR90SA#$XrRS5hl1^kwV-7Z*L1}?qJFH1&5=DCWZ z7W9&(8DYdKth##t22zDB)-?k3V+C*VQm^5~!n~G;fge8PwUY$w+4Ct^`|H+|nps>6 z-5_r~#7dQ6HJ+ZG#%gl5*QV3?I58PBkWxrdcY#D9#-B=y%{)f`y5y*$;VW4jiTwmR zx|(*R*gOsD+h>w$&h-%OnsTgpCI4k(E`KP?>h;l|m79{d&n9>>M@(+fmq!J=!H?U$9^Xr?ko$9W^{avL@a~1Ko>{W4pqPKtw zR;BeIa>09FvgXKV5mT$hZmvGazWe|&QkZJU&b-qKH_deEbr&{|M#bTHi9ydd{+xbqr zw9cn3@pO&cPEKDP`lv@v1UWqsC45{ECgsQbNu^xMtuMYjef?d6RcsEWewx?n&mvNR zxhfN=`=pj4w$ghBe6`lEI>|;)-y|^{R6n&bHRYKj1O?Zx@{)-ULP4veP~%&$r}12b z#_1D`Is7I^3oOUs(Sp(RGMtOraIVcw4d^ogIN&hzb|#O8!x^ulxXzKC|FTY@<;s& zn$3RxAW__KLI2aiv;D=4eT#co5*A8w9KnN+*tBPW=|(2u{@e3?{Dz;v07a_8{<&Vo z;A6+;qqeGu%MUphzpnO2TS=nE0G2|+WQgt>-OdYy0cY)2ckQ_&h=NM}7w&d}?&_ew z%?CITy2odzc)uVd@OVP1{u8r(!BG2mwfR7lKlym2ysZzsNlgplaQUgdWD>Nz?=!nT zYm_Gfp4pZXvRqOa_cBiuBWRw<_T7npX+BV6fM^-ddA*sWmL1?>b-1Z2K=?JMd9H}E zP_jp^GM`*>`-{HO_cVbC6wo;O?EP%4V@&S~e$8qo^P>*_hnd7y_~yPoWp@Sqjup?I zR{ppl(?$F#%9&R_3WfgA2_o*%Pw}*m4iArterU2*5C0)8sm(3}TiuTcjxeAG9TVg; zfj!}bK~}@$QLu?u1^B{3WeVtMI9LVBTdYhCCTQ!zEM5j|K&L|z#5o=Wy`Hw+whIQ05t|Fe5?lLj=3LcjA_V|m~Ckn8VK<7UO zJr%zQ%>dtGvI$r4L^x{I?bCq%PK=v#-B#XJF{j>p=1XHDw?pmZJF=7gwsgJ@DGS$% zZ(K8!Ks6c4Y-!bRp$1Xf1FZB_o&|FP1HewJSWoXIb8x2pfcAk$kWLQ!St#qHJ-Z!V z`vk)A(B|uJN|{Kn)ivG?z8ro}C~FAI@IhY9L+*Y5V`yFm*$GRRB!F6pP|H|11wV_2gzs4H{4#eBCFTyBB!szTd0Y zuC7kTd}XxjS#99?gN`kDgvuxuYP95HN9l7>UNF0T$sxDNo98QdEGcxA925oJ+)h<7 zQbkYqLoSTXJrU<8HSgrd*m^aN;+G!O0@KE+>h?8Y(gRh?iG4yEfE+2W463DjJE#>e zZ{K#^EbllsT1#ta-^ZrK!55w&2aKP}9BciwqUzTz18Nkx*LQNjl`eGrvs!n*dSwBt zm6NI56tWu{0F1HQh*cHsN8q#HS3P9}ZkTjmuz|Q5Cbz4<^P;qS9zg4O8rGzvTQ*+jRGL&U8<9H z6r{1l@{C&`vGrmh0oAcNtslS|O813xv+5kzJ1Ek7Ooo>4iXzy!z@RXalU@ zwzlwEsUnSD9dhCfFuvu&NG;x#tg#=8^xHV4VvDqP=H};Fw^fvk+ zqi$-tUpz8HT_TM5ixl;pFJyZ{%bS2sux3VC#6~RxSB=J|Fvo7NZ+dPtf>GO6LOVdF zEQS)B7nm`NK?x@%Eu#IndQ`Yh*Pvr60%?~)C5K;!G(=rALv6l44i@l!P-u5b z1hb1C>TCc#8r&WdpUxk{lKZ9NZiDl(5*ZFPhV?*y)a(Y%aw@tO+TCLqhb_ri=e@S zMvJ14y|CPha5+1i#&Le@L6qE|F@Ak-fFd2KSo-B5ap?M^(p}*DZ=621o`J{+zkd-h z5fRg(V*bMe=Gi6ud^v(Dog116g=8cNieY8@Gat1}L4FctfZHa~$=)}eR-$UuuCI? z2Q9-|ZTJ?w9V4Z8lG%4Zxu{gxH`pi5aX-oi$c=J(neuPI&SQ6!(X~~X9yIPL4N9q3 zkqT?0jtAHjHg3t1|6e4Z4)R*1+sy>vp1COh{AJ?NfO*mMW&ae=UV}t8yl~^<1h{t5 z=kH(n5?MZw0LTaqpp${!43p5(o}Dsy8_%>{VkV+|+AMR$sQGqpxPb{EE3Oa(I*Vd0 zXgFfH+h|fjUrcXs*_9QwR#YIUn_*L&G9~L*CJ9{=07>mUNjFDp4pk|tj2GtWMq`9Y zTR6!1gF?zKGVwPc>}a7knK`$DlD>>t$lA+kJyMWdymyxqqX7~(NLQ;wlA^vsMTEF-cKSQ zh?s1!H9v=Ordc+%WNJ@w>Nk9T`@Zo&YV5WUt*z{dKv8OQQ-mSA(k};tvst6qro5&^ z8`KiIUkq`jR?GZNark_n;L`T-!f{{mbs-MpF8oW%Tqzb$w3uw`?m3l^_ok7BrY$_P z&;4pyeK%_Rnn$kGukna4do(p>g7gCQsuvTCqb^qYssmCrEk>skor>e22Sp^uh1G7? z`Q?2+w>V)EI=>=LD7Y)RwF_h_p48^<%Nc?VizI0OR6fLtGXo$JJ53>(0~!cyXljbh zEISlLQb8IfYJQcvgt+?;i8)jeG4|wDod2F*7)DPbxAh~5xkIGfO$S1c?apJ%%9O@K zYYY?auADy}u!pthootkboLnUeXrjgwcaycgJU0pmdDpKOx0b_a#ilWXgb*rv;W}TS z?%Idk7rJ`%@u}mh*nq{)Wva$Ktr9Ob*b5tOwg`4P<^cl3SWWqOfOlE%Gbiro8c%uL z6h4Ekg11P{K;_FFp7Fk4DwbX*6J)owTC^g`nnOgiU1_Ct#5=6U-px-(OU>I$R=^H0 zykVYG;?xa?&?$bS9UNn8d?$V6)j^4FbK>J5G9#_+%FI18b+!6<{KOd>mGPNNCb(03otj&HcI70#>#Y=9wTZ!{+u)qURlsi&gA%?iHcO zo^M?o4qFfIqoKLlt|vC&&^S2Ewg0+8uq^?O6UO8hdRjSHQ-vsJ(p zzMr`ut8!vpH1oH{nFIW7@Hna2hX z=L*#%eYR?-O4TG=nj2qd#?{}C>bIiN3o#-`RMjJ9tVK%nWS6u!4OiyT3U*sQ35a-) z7LJps*sfd~3)l{X;@9LPlI$TbkKh$=P-BDOmBd#InVwdQ_uAS$MsgE_Tc^_x_Take zr$Y4V9-lA9aMCtRHMFDxiMYYoK3OE?c`F~Iy0O9@7?U{03f%as!~gMDA9lLj_^WFe zzIHsLrExnbViD$@#I|AREEK(KLUd|RD7g(0?4*yLfjW2>66E^6QbKIO!LfujYQhBg?Jh08L$@}#3mT}=`{XM{(1&nXJu*SI~b->eYX(G57P;cVF% z;WTXpZ)G@+N5hpa`^LZg06&RU6G`fL^@>#%8Htl`Msr%RGW}?Ri6F;jOm8Q4$66_R zLQQ2VT3M;92TFO*$1(uWfPc9KR4Ob_bw35Hs2?}7&`r_z&XujPJN72mqB|k469jQd zGi_#4*NpHU`}{2(u$VBA7f69V$j3O`O@$|09 z`wN_EhTLSbhkKEmMrl6$kx^EL$ zl-e`MN#`%nDEq!o%+}(Xgxnb*`}7INneSiNjar1ac^ns;q*SOjK7V)Tm^AwSF3_n= zA7`k@BJT$B-+S45KP5X3$KyGRItITm501YS_Fm=Is(M_%;C8#J3JQ-jbE(%-+>(wue;b+GuTDnzTRv^aeh>|~fDZa9dKd5gdb z$P2-!kNh##&O1^{#hFYF!+2BCZ@wP-_{`xxRTqbv$VQI)K$j0&NcUY{76V| z54A{*!gRQit?7h!Q2ILe!xB#!lL<*AJjh72>zTF}J(HKYSD1J&_3DjLy!|2IteLtz zS|9;oG+p@~Yzci*%5GdT2LUi8q zzwY<^-W?k%zr4iS*nRKzd%b9U_uG>GCqewJrRibOr zfmUc_tqY=L7Pm~g2 zuq5YMw=9yYCZXW0m`HIupnjXV4WbYHw=y}`Nww=b7PJ!wSDL>G;Uv*??3GiK>%}VF zSH@ks(E1Pgq8UHHFIFw9gfG?j#7=CLimBQ^3ByP4 zh}BO#hAe^^Ma$1t9*)B46t^i02ZppV&j=M-#0&0yg%Yv0o~>yItkxAOP)o$ZnL`hx z>)|7r!U!<6)Mb=~G&H;e4EDuNBlyP({|9oQ*S!?)x+p3F{60AbM4BvuDTWu_R~%{^CuTzNb&8b|vd{fv`nLJ8t5||u506>s40fW< zi$Nlql9v=o#1m!)gOf(Qk9sn%nkuO!U_mz`UXmND_78_b$AWi6sjZ&n2p0tYO3{5b zM4TZI5sKeX`R=za6(8($8c_b&{yUirJpRvim{Y(iPRO&(q>WE&_h@Zo3Has4U&jy% z(R(svxY{|^8U{#L0Hd>;r`*?Kz;~Z%pxk@Zfl z-I`U~8C&nDc&LOPoPnpFp8=(OI4uWwyMY%Tl|#oc9elb8Jn41kJ>dOE>tx`hQQ3VD zM6{gmm0S|(Hn>_JHXO>tP%=ZVS>6q23j8CV1r~dMesyPOskK#27Nb5vI}s&#bauSM zsxoNzi#&4d8G1R0;F(naI&^))G8)Td^Q&~!r&?08DHi-UusWx;)kK>yTwp1a*)4nL zI?~Xn0F3ZV?EUEL9nnmEQmRqD#M3M;<#J)WqJ(7r3+PhC$FK#qUFVAT3KsxcE!k}EY#;z%`C}|G z_t4qG%deRUZyL@aVMo>3D@hx@znBMhgU@^BF7muTOZR!n{)XGJo-Dp}%RZmcJGq+p zdLB<%0u=TPfvZ_M(9MIc6ce%dr@o_+0b-}E0hQ!Gms7I;`|O-73lJ z&_%~4Wav|*T=Ce~)`=H(O zIbsf4g{Yb5VAhf-^hIx^*iV(}IL+9cIW!_Hs2u8yZNh@l!$SKr)z;$=R#_|e8g^J9 zuQ&U$38k2YnNd-kEu+=C-59K9hcD%vdY5CIx-dqfqo|0_O$_xiW!Y`owG(J3m{RHw zHBzoUqts<-cGEs8iFD@W;vaWLsb_nu1~us7`lHFyT-3t&;V%jZ8qNT*T6~n;$e=pG z?u2>a2b zItpDJOLMa`)&HpkV3jf9-5Z@QQ|8%+q$DaofoC1gq!3B(GBYgdgi`O*pk#^y$L!Sa zG?|Ofqzz}tWgjSJn)Jqw7aKGqb7L_*9zm?dPv*^FUcdQnQE^vL>ASYX^6+4(5D!wf zD<|}cUPS$952l(PQ30i_fc^g6j+Fj*ybNSTs;Mp(Gk^sU}`m?66 z8KOLJNS=Q3J{fAg1NHd{8xdyjmLys(y9!Y<0+T$1p5{ohq|+JJ1hB*0?;75N62mMk zAei=P7JVmbvavUi&Cxd`qF?naU*BE~_Dlp@gb2OOZF>|iQ%-2jH%_ERisNM1bs}HB zm38msBqB6d@KW@(*QP3k^3E3a5&7q3xv=N#;IB}cee>uPRl!hXx@F2Ji?YX1{YGgw z1CSO_?Q|{B96?LDl7oiDFo65B@JJjW!7t9@1#ABu-19H%&Pl-7v+vUW70tFhEO zuk*vEDw~va+Z0j;(D1hRS+L`L=413kp^*x#s(y?J+tpYMF+YZ0lvV6DOnRM#LAd>U z2ch_caE{%9KunIae}X_~2mJL>YSGK9*%kwXQ-Ck|Tw}e{)|7z6SMdn@mA-U?Fon>F zUn8u?^AJeB4tVrIc^P3s0vhJAEuvHM{)M`olK`97K13fCCtI>PoZ;`Z{+pGH&mIXh z{PDSI*I4-p0FHDYDiXk!p<q>au-#D3?4j~QnU(!^ z0d4YQIJ=p`(qqA>)J@Q zq7y^8=WOK-1c9U)F^qgQ6=@KNsCcFyf@z3S^3=>3U@7P{Xw(WF&34G zyvwq1e=L{|kj!u7Yk8+kC~pywK|S{V2Y0%52of=ph|q>J8TSn4Olij*eVhFLa7WOiNh$-@;MKq=(phgG0o(D4kNgxk_dy@% zba*FNf&%%KU!|(?bX%A6G=d#g4HzH@SH8gcUeZ<-0Spm-k=DlkSp4?7%SzW)&to54 zpM6UA%>Jvy`8E<5f&>1e&gEIe7{P|g3|o~l9a+e`cdq)LP2QcLIG<&FX$J#Jy5r{N z|40Pq*o4{c$36Q8Y67cf)~v=y+q2W6j%(p`Z2CKAm?dbO2OUu2Sz1q3$S(nqs-yLh zPFD(%U-@k?x0Qrv#m_PwRtKs8tnrU+Dg)19S9>%0yA%Em-6skjb=mvVRo0gE+jaR_ zf~I}crz=UezulT*fOBUc-%X_EJ})QTyUPHm3<}#JN&w6QS^rYJFabAhCE&cR)c!R4 zM#iBqd;G|`=kpv!Y>?TH<{A%-I!t@_Vw6#t-i|P16U9So$wsNlwR|_2t6Z=u(!K(; z{FFIyL`{HPPSD^{c>YJSkl#x(Zw>GXYsa;zo0r{0v!@#D=JN@Q zXa9Z!gwZ(L>QNs5MJe}BsaO0Q?!wKchPcl1mHU#i$k8XUO|yJ`qBzmls+8Z@zwA2p zP0sf#F(*E=F(#dL_5t<=&6*wgMjg`{LNm!zVZw)(#MW~RejJoVAA=I#uU;%B8Ulv(K>OxKq*N;&7#aV8dkAZ5vX{)r8 zA=hIxM^zA5lsGbQ*qsFxH7loxcI5Z6-jRvp*2^=W>%<=^#ib-_?n}OwY$S9nGrX^Y z5RJU{Wd1*S)JW=9XaZyI$Vtd@w~zSOx>_R_)F2oac$Y?FpQm9rldNb4qEt;zLS4rz zzL#qB2W2fB4*D7vN@t-;PM?Iz1+iF0e^e$e4Aw=1bu;B|BA;jnP-XynfRx-VJeR0h z6ZVkr)gS%>o}G587BhTYK&R^DcV zvj2&C#=H{ClY4RZk)S&~ClNj%Cawcxb*pXsnYSyy?pDPgdbB6s6H_$M%Vis~XCfcr zE5X;2_bJN9WB*)(<5?F2%khG>i&y-neI;Ohx6B#ZIBd@j5X$Y&x}(^q;iX2sh4T$= z4%7JDT{B?-nPpQ-j2J_}M#aam-@jfm7)KB~3$_rxr@Ley z!+r^YTTnK6yF$i%@I+B(nn@|$gh_XzDU2+tL5QfJg~oTlvZZ-b4%rD)n2 zb53uQCdC%)y%uP;S;Pd*borD)JPqIB5grlT znBlE7d7|)({Q0@v^qC;8k~i1#Y`oBF$l&}vm(DX4>r(qM;%a!l(RorL09ne{bDvuu zPmc!w;2|w;s23{;o=7o!t>vqj+SW}j5^;h?O)lsZ^Hj>2&i-Dh3=E$vv7y%~OSVm; ziW68SN@zMq92Y(@qhNX{e6A7bx~Clm0?p;ms%WAQ3~+t#0Q>A_7|`@Z;dA`APu|Jl z=I>Oc@Fd>l-nePRuAkrj4}A>ieXAew$WwOXtT&@HCMizir9ZEi|GX|H%4q@c`lZ+| zy1$uaU2IzT8Ue7#HjP^rueH#XI3kKsU|wM~%w|KY1DYOTq)cIw+60nTeZyqvM~NEy z`9bP@g_^Do7j!=;wxqf2b<-vO;%&o)A1!tkDn zRE=O)L_nO1!}7j_Jcs<@!V5R`gT*Y4t}k|8yjdw8puwW|sC z&*tc+B9OG-3;p*Z%;CU54hWhzm)pVT{d4X+t%uxF#^RrLnyPkE>$S2;XlX%DUo<6& z4eB$94ERZ2L@J#*%hDLQ%sOq=fdJt#>q<9^UiGF#@pfh4ICjON_O8fB0Z;>b^p;$wO{Pi1)t4!p~!)_kVl_^5jMk6a+RrMX-HW|&y2}M;^ zxDf@Zz)dj~tKptx3iZJ@%G49IG&z`_%@ zM1Z2Ts%x2thZ#uMb)ID0gb6r*#)12~&oFkoJ$I}C9)0Hw|H^J3b+@z`QYs*`Y7>s2 zVYWiil6XGK2i4j^R#5&$!ef+XVX9}7Q1|z03@lV$fgg;OFN8sgBie_m;-%V2PmLHh zJ|x=Xy4qDz$6LfL)7})ND-k~LuOveCW_fcmG;by(z2Ww5zacQ&u*s|0Gc5W*I5N1a zBjEiio4Ldl4VKEGz}1pR?*Q~i(V^*jR+KcIL!ea%vIkn^Mn`@;sLLT~|GfZ@U;7`X zYjUE58G%>f5Zs2+QA;QJyZS&hYOHdcONXXd$UyxUxjc=4#Yd`SyU4An`U#8L1V1W+ z`__=NiIjvD&Qk=HzMv)$b@7iZzW-WCCqM;stj;Vblr zlNivGEoeA9nidZ%ZF>eWaSJR#&Qb%rl$-r*e!=rozV$%T7QJ$OTTl0yqg9)^uThq3 zR}dnL?CNodDwV@ntKZXA9;yHDg*zNR!J`b3q*=y=d+wwD=eRt3V1L5)lmc%Evb+6% zqknA$5IO93-W6z?AB!K>NQfVbEafIpL~sdiS;eJ#Xzw3(2epy&+t1KCw{jgv%g3u1 zN{ZP~b)~XT6&{~Y`!$NcHst`ks)qtpmp1*9c1knni`{9=66vA^BEsD)VEtRWTcTOh znx*>$r&xLx>&0VSUw6Sj-d->M?REY0?GcO*up6IXRiNf`_dplk=MEye_>_I`7Z!MP z=R^rn>?&2IM&PqZeePA+TD*tam>3|LlOesz(^`q_q}YY&04@O2X{{0*Cn~mYzV7x1 zVScfB1LT6BFHy1*W6ZLWjuFDcfokFodrPA*8YDB#@VdW>1mI>s>V|%!`!o}a3M6iJ z&tnkqmD_ApzRjE>BI@+;)8VMJ9cHMuj8b3_Px_D!pe%4(k&Rz6Vqs>yAwXtdN<`Pc z)W1057bugXaVP}%Eel2^T>JABR5p~Sm!zk z5U$eqQuhcO|F;SM4vV=^K8Q8p>^l7zAVHXt# z8T7V3pL>mD+vtPVie8iPJr)Kg>PJK5gAa>At7z1o{`gC&l~~$m&L&{tbtQH8PSOm%H)&^1~%RBkzZkuVJN-j5;@-)F1z!YZ4e9sx~Qe&#=pXwi#R}% z55OEGFZCc9oZ%m0h>BxM@B8-2e~1Wfy$%fld$1r%0ZzeY+ou+erT-Iwimz<{j|3`k zg}rnwJny?A=ywB*?#bU}jQcq*+Lb|4s_lQmxB8ZTf6TxwFSqi2=Q~hO6pw=*Dpw%a zRy?oysI`luSL}w=${jq?;(wSg-w^sL&H`gk5sv}gQ|AuOBms{w0m~`4pe97ZvRr>- z*TSypTT=bdRRl8R`H=1%{lK|8lUtVciznm2xN#;J{NdZwZjXJ{NWQe?#(ZX>mxyH= z@u_Q`SGDUH`SU-K(cl|FS@hdKq4DkWe5vv!gTrGf>xaOTD*ol8|N1fhO(}@bQ1Ic~ zA+BJ%tOz~P5GS}cHXaz5^?;X!o>(s9J7}3F{UGXR%oSS|9 zNiLpa&{cBwKUa}p@lL6+!sOgP22>>CqyC{Hk&*pU65ScbwKBTM;;*n_s7{Y2%6j?C z>}7Oz#0lYfO*4vhpvPOayl16-Z#004;*_stS(fm&HDMB>WL-?7F1K&Eb}d75eN>w2 z%~}BNcdk;wNj{0gSk?`dyy*9xJgU|!zxOgMx7PN7Rebv?QQBj3b^m*Jvwi6nzl2hc zA;oOy0YcW#x2{0`_*I|X#PVOTZT{L+eGvfMEW9sX%YCo9!>3^IVGBqtT9%#FYg*;eftTeMiyx=g$s64%5}rA<8tFl>uFtq^a@3@b8C0>@lkx7C5TbZcQDc zghr3!DiV6phY(>PSbuoiMsW9!eq z$y(HGzuaSdhWq_q>vxs4&a~5n-bgsFQ3o7YH$@E`6yi^3?eoNsPh2;tlAm$gT$&LC zd}jV#nqhAk!LEYxTZ$_>-(4OWgLxXNgFVI2#tajxR!`YQkPfO)P4q2`$j*Q_K8<#{ z&TmHkh%7*nVvD2zVpM*~ zBLxSkujF@oL>ZT{_(AXEosj6|V|;g5aG;tx2+V|F`vb4Eyzy~Nm=Sm>4#0%J%4W7M z6Y^5u8*7pz;$RA_muQ}Se1E#r+&osO<7l%Bw5Wg02DuJq90tD$aqK>A|83GrEL3r{ zHJyE#(HoP-rB(JYrSmnEL83q*jyu=xlTj8kPR66 zho$p*s_hfe^BQAjBEBGgcG{P(F(!#i>~eyW0Nl(Urt3>BY#x+(!y(Xq&mmXPyO2HX z1-qZ>5x_4OL3hjC1DN8d!2kmm5#H*jVZ=oh*@g(+u?Jyjb6CRJo*ApQy#J>TUrEU6 zo53GTPjXzJCjMCX249-2;LC(h`s08jd|PLV^VH)r7GQ%;M=R-B6LS>Z{g0`9bVmlz zIarMsBy8d5^0?7lHEUpivo5ZtWtQS(Ror;=+Q317PE8<5$kyg`vs^{n&sD#^$?Cps zhrS-*xr%nP7P&%3E@kTU8UWn50dDQj?{fzy_uqY4qF|_3^*S`6og)TkRDu@`$oQvdK+PY~0HaTr)%;%z`3wK2W`M!jUar|2 zwFr9HK9gDpnlLNO-GZC8wm{A85Zq*ur?Mg$z-n*?m;?5a0YH*JK6~WiH}O7uw@}U} zrhkR6f8l)olOpepS6}$%b`NL`OHWb2WDWOW1vsLVxV}Fllz$$A`bvXw#|aR#qTJY? z@Z(>S|3MirUSoQGv@tRG;K^&#!Bp#iY}CMP`3B8R=*`IyQRmH%BUwuP`lnovfm*T; z*o|3z5&E%{LOUHrs4{07}x1|C)8=V7S63?n1ew%=HiiC5{yRFju z;JPj0WGLIRZnh5c7n8wAK-8#$rwJo9VsRh8SyjAbZCJD7f6FG}RX_+LU*2Eg1`jb= zF$ukx1LFQ--X8`(Il$nTZ?LBzUsY4Fl!7``l1#?%%q6dcAj$l{v-HI%gdzA30wYvv z_e3jr_J{6c-2@fUcxjqQ)eUn$`6r){ta z4zVD7ZWySh)S(FAX(-ROs-LJVTzw)r7UuC*O=5^5L)9z6L4K|97OlW~np4II$U8D? ze+*O;_Dl4a}J(7IvhJW5BA{TbcDf@q?_eUg! zDb4T$TbS${=~HV7*uHLXv#WZ;33+ek2@)8-*bA_SiSYjRNrXoi)1l*FWW(BB{tj_k zj5hRV)EWvKYDE_O;E;~@J^GI#^FLm-<8tH{WD~Qq;=Cb6+vfi??qfOf)}7A*mi((h zr(Mt#6_VwrZ`A++$RlzL%7>JRfQeL(O2ToZ1Yl=24(GCqN#wL%U%&f;orKXYh}43) zM+1VW7{BpiXS0}-=StoX-q&zwdkuA(@N~;aYcWPRrg=l0LEuhFZmb}b7) z4D=<-jP>5!BpWYs>U?{)okMf&L~nM4l5;Um_gx%1$@;yD!BbNwIR-A6BKD_pO{Js# zZqqb_Ron&cM7-#y!i4iRi|K@K&vDQX;JBO9tON$upy}-r;FJCtKK=?VUvPMN4je*9 zZ7e@3+-<&8Y_fwZ$eS87Uu-(bs?w;lT~%*2G-D&$0H$&24`!U)RmsjgK&gA4nF4q^ z_5pn4-&BGAh1HlRJ>P+Cp5Mc)nr*{imK)@JP6)wyPlstBi$=1`_r!|qS9HheyFYe& zZ3>L!-@3T@DqeAOas%Kv!4iS|TyMVe8Fk#Im2h{=EoK;01laVW{%|d_FCpC{yb2zb zZZa0ev}&Jy`--npHk2iUeOV9*Eo$Vp#6|ayT*E?d4d+l>A*vTypdxqq9RvS=q9}0X z9#AGNDD}hNN)jdnHyc<1JU^QyNsoSa$C-h!?E?j$pI}v>-7(7A3Xx8q-^^vV86-oKjUs{pPoJlAb)M)NYLpGH@ zq|;`@m6UAT@#sHo%jcyDy!c&>(Jp);E|7<6^kqq45?e~Gs|B;eUCw4%;g6%zL!~3Z zsz-2HB{Vxjpk*41HYrXhLPUeH*?u>e5dcSa6icoZ5HZHByilt3gnx@bJ&jd2aO#@S z&s<{hXVBHU)t@hgxL)@3+I!=;&~GDZLd1q?@kLkIgO(+3Q=47T5pDJ|N1l@)&%0(6loJSmcVr8WGUoDn14Ms{F?3FgdRr#}!6SZ}5+U1nu zj%jn3y&X{b)V{BxzG~yg^*qKOo5R+OmT!vPCCkfOcE?ooE7}#PGO10~GWbM{&X0ro zb)E^yPv)PVFOJ!qtiCnLi>A{VGZSQlnYc8%N6iW%I*hNL1Ns&_89MZTFJ-=<@KyiV zH%IhQuCkQr&cMcG41rCO&2FfC`PT33`AP~7G}p;!%%f?mncqbhSm$*iIJ+Xu77&|i za(yE(;E6{DboS#n#du@@toMEw>jVgbJNSbOMB3lL56!&1)s^{r#jpZH z?dw`zCxX0ud#|oSYwQ6j;0GkeEOt;sBDsQ*`So)3Eh*aU2WZcZzTZcL44s~8(Iv|X zHl@E?sgDNh6)K!j#EE3faw2mX1!(<)*^L28sqABdv(sgc%^(6;^@Jp*q3sEPr|KM# zbafGP%nkx+6}3rGJOxtIl?P+b3EQgJ=UgAH&t!P1_>4vuB7MTK$E(F<1f6p!+_}dq z^^>8Ub1?(us>$IA#1^&7>H@XafRgv*H)-z}?wjeW4pe7C>{9yHEXLfrbw5uG%Dpgh zk`Q{T?s;f^r+3{Xcj9>6-Vp7{6kdDCDYOv>$v%st9TyF^X5A zrQrlHu7OS!(!H5cMlsQJCqDK#SMIS}7R>wYZoi4%Ft+pd3`)j#3j3NPvO#vbsQ!Si zFl9;Rq!pQQx~8{J!Nck5!R_YcQ{qCGhkwQR5Z`f(LI@KEL{ifk#;YZ%R*o8!w#1Bo zBch!SWM%xIG-}-DN18(Cxc_jCS^Wu&dMtP;F!RQ#(aVy@@33%$#0Ti9zd7%)KE_6k z07y8kY#ZGTG76gr4_MhTyRwqyXmNc}<;UM$ru{k}Ia-%uSmlmq=agq%R-dOvWTNDN z^dga^p=$RRC;m14?+wD!*%x3_JwZlaMZyfTc}S#E(m^Po^)Pjg32t6ieB}V>FINk1 zwB@l?7ZN^fAK8)Y0p#Jc#)_wZDo>qF;PvIq8YS;q(lR-WX0vR5Wy+?U9swjadImNj zA9!`F6M=F0VSNO2kdNIsHmus?ucGB2LF5Yxe*wlqUD1d6GYG36e`x_IOR5}*fI9X&Nv4jK#iq#adnbH?)!71ga)>|+*-IFuWCN# z2Pn$i=^lKvogi%2mflIFD?k_@)L$S+iYO(Q=DZ;4^y5+6?GzXzr%kVw-5k9;K_XTM z*PLQ;KH;Y_Q`zVV0n@QaB{$hUr$=|l-S(ESt#s|$a%cc+uSFko#-B2&L*MqMo;LQ zfFUcd8dR)MP`$I#{4jv`2shATc+;&~wA~Gr5bo0bB*DUgsxWN*1(C2Y#zX6%c4WyBo?Z8!c2m*mTwg=!Ca! zpO2B(T0etM0z(GInLHdPaA&Zt9{(;&`9=@m{+HK<7tKkIDRmjU;FXrSr?cy=XVO(` zla`aVpiL6p+cc-OTpY_|E6bF*h)V_#imTe)_F)j#%lU{;oy|d)3ynoOn=rXgcS!}U8*arJ> z;tD(N&RG6*$JTABCH!gN+6Wn-j6WI6V)ig8S0GEX= z(gG>L>c9k7C-~-B*&$2kextDj?6v78UNE&!4J_o-sF#&K$k3h6bZ84NyXAn?Xb!Sz z`HK0N_?c9{c>>LH>H6?$C#JYLFu^pLiTliYeof@GfS6AT?pqVMS-JRR*w!b87E=+M zEoxVwcs;6!Qr|R>FkuW0|dod%Y&^?S8?>Ij{O~E7LoOJth{!3SiPeHFxTn zcNKo7GAU<>3xx;}VoueF-N!mOG$Y(9I%HyTk!p%66nyQmgS^=%1qJ{`ZLj6~@3 zP~cZ&yEZ3pq)YRu^Nz6PCj{IwV4@@By}wZhXN%B02dQ^KOmIRY#siQ^qViWlN96^y z!o)ETrubLWCEPTl2vSo{-inu_jMQxUd!kN_q=$Hs!OG&|h>C%;Xi@{By_mx?75jH- z@}h!^4-hQaQ#GYQ2oVg&w)F-- zLQi(zFCu?$Z@Y_^*Zs3pTaruL#Hj5cM=(PGZ7@JLK5b!Wz?0T?=ugoi~m{v^?wvcYR!BIVCr> zGK>mqDmd*X?Io~XGB!8T#gT6$*5TyEbDB$X1@4B0Cw-_;Izo~CCUux@fIUA83S61s zpfj)+MS9dAgnFFS;LRss;26ImryTNzghmQpK5#jPMC@0pk6pZHp){-0`iGM7G_70V z4XKC7yC3h+pjjhT+ z&Es#*4CU!G!^;(u8}|gxyYx&)Co{RUb4lTr#N&!q)K&J#6D4y|A4* z!J)qmqJoQPExD__GtT2A9i2T7mkGX|4TWAr+q_D_xMwWFh(phzdYU}3U`f#ViuAXz z31*%Nk4$%G>oup~pLCl|^2JChh2i#n!*)Hs{aW?jg~;Z2Z>I0xlMsk+rEWP{R! zFwx(7Kdyr`lJmIHUQYb%$mrW34|s-^a;wx>{BTNQ54Ktq>>_tN6!v4@jVjq8Les8A z!)SxTC2ZaMm+fp+tdOLufQ{RBqU%BH1Y(H?#A(B*Z{9LyxTa#n&CDiW4GtU6{xzY2xY|;exmA@>g zN6NMg4y?SYoS!_xXqifxI;7@!h5iX`f5o}y)6DOsOs5fInPn;fFypb4^Mt^ae~W_V z_$WxjsG~#rh326#iTs-4E9qhm0?t>=pN6OjJU#V6)k0jP3S;$>MmFLZXp=r4js&tayXv`SR4SlnrpirZ+CeO~MdOY_N_ zZBHnPDx*_9rFWj|tyYB(NL6mrFVa!V1d%DyrQgXbBdNX^EQ)YCdXid{fZ$5+>YaK%ZcfF1JxQ z1;nimz0S^`FQ};cVfCv&U-DVigG*IzrcHocSxK4t2_4F%ir zk9pG<9%}2(4UOZHkB;<;!*VnpUy^#*_6nH_lBCrWQ}WdCQWnm?HyuraSmSLL&wL!0 zZUg8*2%J~Bp3LogfK9NSN7+Jw8p}B++T?s2OR7!vd+T591{&F~|LE&5Ze$e-W2rt_ zHEtHI*S4Q-0Uriu-vCW%itY8rI0w$#o>$9mMHzKLyc7qHz3lC)Mpt1Ml26XhHY;T? z)^g$u<%8m8R^Iy-d+Rw+qn29Az%K-I!^S9F>;h!V(ODcjp3%-R$Z`FwV#0p!_;AA_ zRcp1-n0vj*^YE+i#km^C`N`&FAy~IzC$x0FU94kBWuDt`DhU_>s$PVG^iGo&#^+y` zE#DMtTTEg|@m4|dZObeCbs<-Nz%nHMBiH`(LV7R($K$~?+vN0L26IIP!uW6zE{Q_( z`Ux5qkD`l=Tu)e zC@xzYf8e^e96*(=By!IOB=IJ=5;4Z%-kuNp@uYpBvun^_4;x5Exkly)ZwEcpPj0N> z++5o=LT*%W9rbbDz59;i*}&yH0$qvHm%jT-q+dnk6DW{e4ki_B=ezny;P6hucfyc#ir1e>*VBnH-d_%dqg3W0u8DA~&L1V-YrBI~4%WmWK6-eFo0%Ao@ zu$po2r6bHO?05Mi1Eg=CHF%p=NL=9i?rPR_QHp6`3u7Z$csnZxSB-meZRhfoU_7Ju z)*R+c<23HD+-aLqAxn3*&JpS&>Bgb&wbTCf(b-X_ZQC?svlgZj5Tv<4lPZ9YRYI|5 zJ8GV0&F4oOh|`mn)m8;Bm7pPgd&OXj=5jXUm5=V$|ETBwamOqeF9Vvg2ltc0wUP$M zvibfV?+U*F)k5KybO%L}Kbie;ikl|Q(#YrFj;>lqL_e!jiyL|KZHTK0qWH0LgP0w< z?SnM*j!&pKyuvR#i_Tn&P_hSl#o(GZZQC3B$ADEMzdKrqcVUiX7mPO`@DF8+V|a64g{~+okxZ;;W~yz51qChsNG=yj}Z-`SGkPdaZuori`iMObB*n zVX@u2U1kNUc05-{ktdj%&PABeP!tOWwC?)GTR4Kz?lblJI2Ssv)(`Fa#ig0$rQ{uL zSBvK;T$)@Jn9aFq{H+|-mx#gU_XW0l;iypoqdrV=kYa-=W@6)ldse+?Lj3H?`FZ^U z+pm$G6Ek-coNxL>@KKXwY@%(#uT)3{CDQ@0ap%#GOI`K0-(|7GeD=CE7P}sUlzV31 zyKuN3({V>GDRSJ^M5Nlt+W_YpuNgQ^Q%vJ1pB4`&HqOiu$XC~vK~A<0bv7pYi7jJ6 z&60wWcFWWk=$iNsC-)J@NoQPwxb>CH9nNljx+5z($xqF96EMChgQ1mF^PeJ}@>r|A zPG_szixV1#$ZaL)uen)}e<^?Zet>-Y&~m)9V#nG|gU63}(UA zFMH{0pa~=${A%nmXJM9}SG5M~P zfh8i~iP~Gtk57)+j0Z$|XG%9vr)?yl`HVx4%kxRS43g~Jo(qTR8YML=-|G!iC*AYV zva7(=-r6hg6EYS&!B_#U%3t9VpWL^?fE&C;;#Pm}8B@95duOtLHZ*_!)>9?srvhYr z#m(m@pKra-mAJO>)2e#bc?8!YEQk0ir?--wEzUHUcRP$+NAuJGdV^Hy{p0qnI zpj*Ti!$D)e9du*Av7(d1u$1 z>1yIud>H)cI{>ny8|xi{f`VJQ>qI26hK>Qv*+aNjj`anvO&6H^iEr zAh*7?zE^t(e}y2^0Z-ZyR_)&UWjjQn991q@%e4^GJj|-ql@UPPH~MI&Mp|DZlA=dXL*N@gF_u(h>9}HJS7~93(rQtX-SJ6 z``DbkMqB{jw4L!EDwQ1``gH>5_Gf7_iS*!gs^(ebAcflg6Knn4&}YkW1YiZ5UI%lD zwSI!7l5-ELX>DfXmFj4QgI=|-6WJ^?FKZ99oT`7=RQ?LHL&kPeoV;cP1T3l?gO?%R z$C`b@XCcJ8gUuHeHHT^Cx6YLFx9|Jg;IeN>7T<<2c{?pueM?Px3+y@uKEpM+!Q%G% z?qg@&tWF*P*w(;tRyfmkb};ZQIfxUJy6g2K4893p7$1_C*YPydIWPIth-1@X6GV^|APV`#&#neAS)!M8X8%TIz({=Qo|YGBm49c?FPJ z2T(a_d;`;+^#f~S_^VM^1Fo(GdjYcx3=l-Rg3Sv^$C%)Y5ri<@ayinVCjvlcVOU#lD~y_S2NO* zH!T7~oU)Hl)}=um*d2e}VV-e)!&XiACX*4a=+4fZQUgWD*ZCrK0~BV*8!&yQruPzF zmevnuXZL>f%hW}=)IIz2>kWC2~gV7dH7CQf$?y_Psp&JM$7W4*h&8 zM3YL&IJXd-#mmFZaSj{d!!MCdo)P4HN$yHQ#WeF9UkxZ1L&-XKJQrhyS32e?B*W)O zPudxKdMP|?uFvgamKCaiIG9@7Nm2Uys}o2;K?zq>Z@8S?7Tpe-)i~yp!fco{k1GMsg>_9d=QPtbG_3Cb+UKXCdq}2l)RdwWCtGjL4kVGN{Z%FSKEjWm`%*`rRTHt4-(4_q5y}hEx5HKwE_OH zZ5g{axY5ha*sjW$a=57hqhk&!i-n>#bi37)rQPDYr8yfUaE=2NoG00gFWo4DQ*nK8 zM_KHLd~NlHsh2=&Lqi^qTz+0QEdJp8h;~y?nwS0K_DFJwX?vDQcai3L7gLLY2%7a} zcI73FkRw!r_&(Jd=9PMq>o|(1IDckTon*}HouW3SS1H(QIhxS}b--;#m;g=)PYD0W z>b972jHpOr45m3<(sBcM5PaSyJ*yGOqR$j^Yar*0=+67@q>XS89z&J z2bZX}K_Iqj?TMnf>CM7U!%l2{07IL^@W}-Q-s=>&I-deRPVr;J@Wp2x_DLn3@M(*f z@Y+fF{EmQOnEFFK2B-cP?StZ%nz7ZS0w<`gz@y_lI%*&Y$cb)mZ~TS{FG*b;vud}jim+F)$B>yZq08CjzVE}~*T zZv38ZP-OMz(un-h|FcC_7__9(WR@FST-l7seFRywx4clUhZ)z3Dh^fs<4WABNuSmyw+vUATW{9-!iqpEX z7Jh&4#lAP3!%v_wio69{i5SXd^DgLC@Ww6_3#Z7S4^lNPi>d9y{q^g!pE8!TESBzy2g~h4X zs?XhbZdC`z`A z6-GT0xIx7!17S|F@SI4U7Z$L4wXqZ72cq^!+v${dccwVl6nd&}}I0mgv}>#Q0ZS0U0cRC;dB1|W@fqUe4u-6z%@rlVhuQ4XdMif5>=?SiH zb4e`W>%6_z&xK16{}On&+dc3@q^-x()(R2AW;gR(F;Qy!DX^*ySkLkQ^Jyw|Z; zoxJ^tuvfFSQ7)FfiKZF}e;r%}7>_6g#6xPghcrFsGM7S0^|@>k#H_0oP>o06CTo$T z@Y)y2H4gNF`P#`kNo~>d`tGevf5yS!X~X_D2P0-7=DDMJTEjlq^X%xXcHh3NJ@X=T z9eZ(rn$3j{*}HYq-fECHzq5!()UT#JKAm>_IK_|%7@D*iN|}0zH}L;!je#HVqsg8! zm7{r6X!r!3;1*lNn)e-8weA$8x|->$bRBbQ@XPar!)%9OC|=T47# z8LD}WBV!odQ6v7Yc4d!2{LB&})EIIVNg~O8Ie%hb6WHWNPwl zLk$DbG4i#x*Ci3sg8jew6|xgF$5Bz9nDyK4E)w|id`+Pe&H^V}&T_ftmHlkxn4|Yg zhA7r*G#0?TUQSQ{xNZ@KP8AwBaax`pN6A%M zO)vnCog?|Z(5A%_%u&7V5>k&l;8ed>V%v3bdA`8{%#=2aLaNm5Qf?oDI9bN@whQ zl}-t;i`VWmsTFfFrYL?Iy5nj>*dSJ89L_l0!V;yTO(}{^H{)VRdKI*3((CXj4!6us zqH~i273`U-Io7IT=@|&L?fP`0hh-efRWmA$iLKwxgti05%-KiJ#&F z^IF}5t^>QHLg+oBDg&cQOh2WiK%&*@5>F^pl2HRrKv(KA9}Qu0%U=!r8!l-J0XDTWr9sqo%6MwFL>C@m4P6d`evfhbC@7 zhlCj7I4&@@cw2pO(j4qU?UD7Wd^?i1^Bu<~H3v_PwxSR{ zXrH|Y7~mVeEv`*n)2p@!o&Zfuar8DTyxb2})_g1*dRj);Bzru8TPf0fANGv~4*V=q zz?=%bw>$9nU`_pHTn@xRwfB*4Q-FfgL?y(&%U_hxZ7<>#6l6E5Y6Tp>G*%tV zFKA!76YpoBmHIsAopRIOIp#Quhss=e)+0&NER7F=r@&Z+Uh{A;J?HcHt577uA=)GEZZc6+R?{W*3pLY-p2IheJ@jGIu z<`!aqC3)pLGw$sv2&fJ& z1V<0gh?QP@s*s*>{BR9q*BImTvp-sGeK!+wsTAbfruVt8!@Pw4aRP2Zgb zHZEFsb^;p@j#b*N^yrQ>wF5ur}5+GI(cdL>^ zQ@3u@Vjj1(f|`Z%3l2os6bb{k$8II1v|j#~ruR<=TtNa96;&i*YC5qifYdo;DFd@Q zOMGEtYXK}vc>g_riCzmkX@6Tfm+kZh!C-yCJXIAY^*On-Is>UNWxF-*gw()!7#g za)P(28nN9-LbWza%N6X$bS^2}mel6&Wt4DJm#)?DZ?rPkLNZg*ugYm=u=wdBjYE~O z>aYX`)~P6IFS7iTeaj=ouNE?)Irr(4uMX8*tH1O4^m7-oO{9nAi zXIRr)^95=_uu?>&6N-Weg7hLJNEN9{Z$Sux6hW$#03t~59ce1PhJf@gp?9Q<)Pyc2 z5FilX{_wo#EuM4!AMSIX`^gVR)ScP0XV$E>M$-94j)m@-mJqbZki`lk>G9ak$FVD~ z&8&wsp_Z&w*BGP`ce2T3j*ug|{mib)BP^DAo}O|zIZ~VUwOFXGXBmKKKGtCNYB(sW zT*Qk#o2nvNCs*u&sHTr|*B=H}66&)rAKKN}-m>B@Q%kQOrk;q3xTO0Ov1M4a*J-EH zaP|%hxp4YVx84QbSvt>D`K^1~g17V$AJUby)*?sgZ;;ixna{efL$zD%uM}wT+N}8^ zk?VGl`_>X>Njx?OKYgwdpp3`UGp))*pE)veT1}6>hN+i>uC74_sw(bQUH$2FHtuQx3q1i1M1G_2=new2=W>g7^) zIykIH6`vTX<~J3(r|lWY!TPA4MzZGyHldpj|BF8_~CpmrgND{xeQnj1l-K&lM?`W2e~b~JC-GNcQ2F&GejN7v^&fV>stJf_47L?VF&T%bcOlbA5O=)1(3?w>NX4tbT<0x73w2V3MqZTl;?$UAYE?FQb$>BKA5*kH zt5xMOB5~WZtk?ElT(?n8t$lUX&yXKHRx|O_kK0#)pWX9=*JIo&0@N)V3|18f0YDdE!fsJbsphvU`|39^)P@G#xR1TU@rLr z6K3&c8ffp>k6&y4SpBBlZha%mjE=Pavyr&q{s2o6QacicCVP_fI)6POlGkc+d@jt9 zAMFSkux)dCp${;`O;?s9hUiLwuy5t?;Ncp!W=dT5ZS=iOonf#!YrKsi_NaHTE-~ zdD|{;Wrjb0#>$&ja?3ar>VF4B#zCT7HDKH<&m{d;qqeueV1M4f!FqyI?x?g)9+xTa zA9@@cu6sNrk7o69M1N!iFVVOjeYp=$ps*zW#(WK`3kD9wSLPo=VL&2-!{GL@jg; z|G2F?C16^rc?-%}{xVy;dI8;@Xts8PYR%&nmssC*+ypItIAH7~Dh0NbZA;~5^J;## z{7FfhtA5KWXs8am)OamC;K#@qB9%_~t^N5)2kBI<9py;L?M8}pNMMhOUYS~txccaR z-v+U4Hff4|d#2Ir|itY3#j1L;sf`UL+2#=FRcGa_qR{qg4Eo9!7P6QaR~ z=sg9Xl8lyWcmCgiI)xII+PepGQk)boCMJ6}@=MPRvacN1Bb@s;6@ITJ#~flWq;CY( zUGoKc${rb}(~-3l{ye|0lFRGYy)&P;!n*-$5l6jJ^Av}^v1Wc4TbLmK`KI{E!SpVN zfZ{;1b4JRzz@F7oZHW=Ax(!^HKOemK^qON3%uJ06WVSohH~+0XCU_Ftrd@Z5e-|(I zN|7FdlTAKoY-o}CY$@wc{&r%O938KMdkO4K!}zOlIpecloV_Ks>`;6o9n2(hJ@|23 z$j3$INI-#P)q^$(g&5t!KgmAm&~VdnTSCpWL0K3|SMFx-R;fZ8YPGFV-7&xF$CuYc z-5MFT8iQ?b<(egUR*%6mGfi?YxZOZ?k;#Vz`5Q6PtJd*;(a5`Rq^%NJe%myTlsERi zO2cZJ-S9`npd#SU_>EbQzY5k~aZdOItKIHMvfC~lMFH^jja?w{_*EwGgakWcmyTXm!P9OT?gwpBfogkcat^WPi(1MTGcHzy z6qWRU7~trsvTnfIAOZ5 zQx4oil12)4{V!@-_&3C%2{t0=C?5`bZ9gPXbdZtMALscmgWaB9_tBb`r1 z&%-XjmZ4pOo4O8294uvL)zlu{Af3j2ad6+Jwp+`tn@2S3|j)4mHHZS7YV(d!0={ zKUfxN_+J#|r4f-*>nT02u$;Ud7%A5~0r~gsr8n1(slU>CC$;Js2#hRke!JSHbR2QB zMY)+|ou-u79V6{u>_43~iEZ+0H>%1>A{*AG$59NMr!2|=%LDoIJ@w+;*o-_|;o%@5 znJSI6x&vwdoH+abbjSD7ir|>qJIEkre{8>i6>W5C8RK2C!m~F9prQht@oVRTX-YB~ z?}=im3COc7ZYx)wTX(W=5|!_CUmxkb55zoW@C+-&#L;ZH$Lg*e4nOyr4d0%sA&YQ@ ziL?0jn)$vRgF=+^nNUI-|9vISa?&_9t#7Fh`c3;1NyVWdLOF4)%egVhvTJ*{jv z^P=XKFq`&@T{-uU`DD-YCIEdX*VN`?zF)*R6w(FocQ(fg{%5ZD;GFtZpoq+--g%{0 zNh`$`x^;l%2YE_N?Yn3s?JlGL(hV`33+^2j^ei1Q@lZmp(FoWs+MKkp|-QGGvd1@K;3O#kpX2-})T+)LL^)CYzhd zaJc1N?!+gq$XUdvgU-k{@@#(T5)=u?-cv52!iU*TeKPH}6M%Pq+z16!u~#|Kwsy}B zE=U^XnxZ89L)9b^EHVGKXC$D-t@n;oQV#@>zrUT@-+5aJ;M`lgZBD{*mrbFCHOqY8 zQQ%cZ+R2ZiqS#gvL@Pi@U_fNh@jIBXA!w#=W5k~Ou$~(aF)&TNV=@f8#miiJ z6U1xU7C+@t)Go5w_>fJ3mH?($7Zx+loVkgeeD1ap*++uXRj{Ju>o~*-Q(k8#WK_;B zdjoBiO#~vEv9yQE-x_YpVr_fldvbX%5JJCD_kHu`IrR6iYmXPM+w2&;iY%MYxqqTt zOA0+u=wUNexy=0icUZk0fNc5Y)15~E%I162ku4mcaWUNVfzYHZ4Di~op&HU-!_9wx zv9m~ts-0HIuk`Rba0!^xIyi>nZl$=dyzDll_O_t*=95||c8oy+W1PbSe^_7}TPnSf zZ{k@*h<8ezi$%fBe5YqOKO2nYN?#SV_k!D}?7v1!ZE8voimk$xrH_iudkPFJbmvYY z&l|Imfd?t%A)@g-uM{UGTFBW!D@6pMX1 z!?_`QhTI>0T#N)@*b7&A2hTHlb`M1>yJnb&hl(%hu;z88MjqzZ&&8CAIL3 z*kH}adoVWB%VB+TUbJap2O7SOWgg~LnY*jDt0z7`ZiXitRqGBTxNN7k%PM|*fL@&vSzpOyhrtU0g@BmK zJooR_+OK4#L<6Llh2C5rV~Y@#^D2q^P8PZm6ywsLjax}0pAq;fUv7@v)=Tf3N7+h; z=McMH4DXcov=8{=qwGEm_}U}}iC~7Hb+K&}Jdw({f%Gm>r?G&ihU2mFPEm@?6a1_} z-;~7PNgxpL_sA;Hy^+bv$uxRb^{PU81I7@>C{kY)&m|^07PlN0<`UqaTE+&lI@>}U zX=r6XpMTKV46W*jAHMEyu>+W}!a=}DC{zmO^V>mFogOq* z!uPs>QzBB;mEVyB0CktV#u5QYAF}4JDZ-R!Uk_3PSZa9_17#lBbX zPUW^WfK6iGdQ@yxc(94l$p>%k-$m>@=XHSlSf?|%O#;j#$c%;+yI8_#m`TiGci-s6 z?G_B=gI&Lj>ebD0KJ~zu+aMzf^qxkG{Ab1>R!I*=Iqs=N8vO1lK_F^c{Ia`J;*w*qdP$q z=(jv$Pw}UrgoFrP7}=Mvc1rC9XM!{@oKvT(>hV?b;$?r|IJBE0$n5Y;wfna=;=v0b zkvVkEO=|%(f5gQ|Y3qZ@1xKm48MPXBWjUi>U#KKocZ?3|-AZhlkF5Gna?ntF8!tP83c zKnV>=&qVq6T5blt7Twfa20BXB@6L(rc*7L)4jr#t<%vuxszfo0go*l69#VH9;yV2E z^yh`8D7n*eU)Zvu>9-^GE|&!wujP(UWdWh$N)q(e0hW1Se&kgNf_SQk{d4u6FI<5;V>ieW`TG3%T{YC* zmjg2W=5i1&7>yLH1He04;a_weV?CYLI(!7Id>I9C#=tID2^CQ5Z%6STlw^hkxUB^} zhNOQM3NVa$}rv)cE+edDbM8ZLlNvoDP3;$2{Tn zZh)*tgN-nh(d|UMG64Beofnwrr3?FolFwXe9{%25B5R54| z6-J#)k~Ih>N0QUsnKG)h^6c6OcA%hojpn+g)kju#!69L*l|^BTdr(|-)n>L_wtyQx z79;u09T)`vlu%D=|HtEC`U)^Y2)BS6{Ws*`({SgRGJ&p)*p!ECJsYS+Qz8dm1J)I8@jKn%!<`8GyS;kS~04k&LP z&qMyt&;Wl2?Nq=-1eXx2c*LPqHQpuf@T|<>@w39EGp^htS4r6$!Zl2}e@eq7W)3SO#_#m^Bh7lPO4-tOhM36C58nAo z3$fnsfZV_Gv|wdE8~QNI$+n@SmNZB25CD2dQgixXzYR?PBM~`sN^w}&18&U(ya*io zzj^+Tfd$XG7rxzZ)SaNZy_}sCTir9cffdA~S3TFLUGDnSGl!@wi zBqwprzW3NLzw@xMvg#Q1MD~loE`KOB2bn`Ap;NlHH&0N=B&X>mQmt0-wrxZ!`P)dS z7;SbIBP~jb*YJYMvzuowGnovtgU@MIIXuu=-BrLwfxIH`d@F%^)G;O-Ty)aV7BlnP zS)pXG8a9_}59Be*A+^Zy)Vn2>%t%`=7H-MO!~Yep3yUvK6Ai^*XLgtYSlOUyFGP&} zmiT>OqQ3BjurpcnHzDx{JRk|XxbN598j)Cz11kCNeSJUvmwff>a2tobB~K@+P6Aw^ zJcDl^vUxHP@kXM6+~Os~d~M%UH1eqd;CuW~I-9=WCTl8)-_4S**$Wm5!0+g;)p>dD zVU{@W2e4?gXnQlbFZ^@~Y@56U2f__Q*pcG4#_MLL*N^PysNzCYR=*Ue3`q*=b|yXD z7QKi!#=Q3nPw3o3x4#z|W;I_FsAT>IAkmq$x`3X5m29x>w}$t>q9ey2AZFuc zauNZync((a5AwfBwF&Qjz4*`Qq`y(8`CSa&{6_8qo6B!{Asrqj=upot1VSk=@h&{8 zXD0>gGloM1Q4Z=JI|UTDj#M22O=o=E`}Vjti%_4H_HbS2-X?Gx^Q$Wlaa*t)A%J0G zHAk`h1@TR5OW~`ftTG2x&oa4~IN8~!^FfbDF1kIg0ujk5kdlJeI)H{Ik7wHS9_Ia} zq}8oEjGx%;`O=$PKTwaL6m){sa$VptJbP{N^vU5gkJyb`(!2V6!2mXnlQEz5>xKd; zqdCh=2>7Ktedp2N*4V#7gpVjofY|{BEDHVMV(||t$UB$Bd)z$f&UGrT!S7MB?Sy+y zB=KAg9M`#N;iU$qeYSZw*h!5>@Ne^p&#H@;Vc|oKAPMmP*FPf;d=|u3&F0Z}qm;oEiCMp;;)LHAnAH034AIuYxc_aNs9nGhZx+pxfuM;J_CM&uu~8 ztCqR-SjBiHSpZRl0%N3Cs=cca7jx8HGq_>knVo{+T*)l!zXi#ffFOCXE*Fek2^2(@ zC#qhve-HRT!rgOzZ{BxEQZem?UXDVm&#+s#%|=7=8hU5 z;A1WyJH5esqp7-14ksDhEhPX0(PWzARI9l}$LF0>j{3#Y1&99gW5WOxDhEmb$C<=X z@cG|HT(Vel!VooO`}njdHBB?@*9cB*Qkf<65pJV>s!lZq+%E zkr-KU6S0kUhHDr}z~WV$vFY+Ui?~2_4}xy`Y80`sDJg(^F+YU?1#GB<8mR3b3)qj6 zjX>*3@lQ8JjRu&0R#{=GqguxVW)cI(E@oc^77;W2v50t6c9SCe8iUo=P%)A%l?GTu zY@@xG*mjr7fsv=4erxUvhrh{YHi;!ttJX~x;ew0S$fPDvpR!5F|2MKpwS3@E3ct{thXC)IVoXzEs*SqyD9Gl)qzFD| zQZI_ULFd6V)CPqbxsPw&QSm6XEzjvNBQZOB=JUUlem7^>?%f=*8&I$n(Dmpr#h6ZUijOZ10>FlV}gSv0nJ$kLt4|WU>r(`aX7<# z1Rdj*n(r{U2Mi}Jy{Ekaq>{}~2ao?bl^9E9H4y#NZ|8&n#o1btxL?*MI=ghtR*3fhN~YI=6IgXU5csG6;)8QefS`EU_T4|FmV2yf-Vvf~u3r^>xZ0Bu zE$lugevA|fPm@J#LQsAPlWma^7M2BvB6bygENku)0})GwV$NH~bU2EU&h!IU6*yK0 z-uZK%sgt#c0q5XVhz#~>r=1Pa%ZK8*=!4$I!I$3N57fMR`w^`=|JnrsyeN^gFU>=L z%&xoyVX`PSM!4#x9r_covq{IJ$q-2Q7&XHnc|Y)WWiqyRHOKwG6dMV$0ma$ad7Rxp zWr^oRmw_9zL-jj?^6!o)mI9dJ)v$%X8GIYT;e9HY2^sZiW~NjngC?#O0BcM${6X=j zYfO!SHKug#Sd(b-_{BB|f~N+4L*B!2uvFW_KHx#89ykx-a7W#a6azr#$j#l&Z=wJt zIn9$Cqsirl<%fNv!T1+iKHajUjFhi>sq{Q5{(Ohr_S?5AR``4VyB(P~6jca`HnUTV$`UE~=5H%WI*#(*niCs(Y^G z_HlMGn?eDX5vk9uzzaj`{t+DZPhk)ud8!LOX8C>e`R9xCk?$N0v%?~qS3DFk_*S0H zo~4%Gk5bk%E-L~#t}7%bZVe#!4Y>+!s|P00j5MZ*3y_doLVNgN zeUCcHKI#x+0Nlm3b6&$oMB+9kf~S21tvj8R!4#c*T_4c*pI4=8!$9DNOZS>YWNrx{+m60eKX^w-$|^!nmU+x(^4)94Nd z2Wd9nZh+0jcH2_P638yrsE5dA8oFDmF9A|JO1Z(~Zq}i~aaT?&W9t7=%J$y{$`ql? zq1XQY2phxyc!u7YxX`-25KZQ-G~Zlh`VoL2MqE{)@s-;*ua%>(r*R%PWe*b{Fdys#*3M4{ zOC6u6M=rYIH0}=iTTcjE^^y%1GA_87P@6Va=2% zi-V~CH9}PO?WQ+WCBAKSEGu!xq>Uj0f zXPWck6zj!gua+JqkW-5hjw+Wrt>$A#N!s==&BKmUw_CZt+b~)cmCS`-B2F9rORdzO z_Y0j+pJN8FPgbuK;balJu>^|B7XiCfWI{h@OClAM%ac|8$=vN9Sf#YxcH)TNw^_mPpE~qZ05NgON;9 zgdc6B1aUm<6_F;aQ01dktnM2POnvCo19sht?hlBdgFG(?06sw`$tU^w`jl*o|9rd& zt*1N~TKDHRqZc(KpYI=nS`l7eN+F=Wq|KEs+uiZ|<@+twxY((`K^7ZLnSp`W8-=sd zgVbrn2K<$#7x^c7e}r|=rqZ5=5P2q=0O~y&qf4IX=Vt9`Vrwl{tbb6mvkxrBnHY^s zHU~cF0#YG)!5Dp~v97o{S#Fa7J5S#-H$Yq#D4z|_>+4Ru{r@{Pn`54mW}7Vj_+cuY zcx{YD^-j=D8x*}@T-qzj7Y)i<;q|Kp51tMX=L4sGj5&~=2Yi<9lZ#pA&%?Sf6}IQU zBoF>22>*O?pX)sWaA^ySLRDY6-1Gi#eQoM}bvnrIg~0yG*J*gpi7aBww5ljOqw8E^ zP@&_8T-c<`_&D#;&OvrWkd4;g4J9v}&N);%2%fa*gKt%d!pjT zy=2J1;cePSAG5(uTQ9V@aKozW*<+^McoTnse~e=ODu-WAb0Od|A9tO5xNG=LhY6Ul zCIKVh`|*edywLIMaloWY*#D-2n`7D?&l+4c(mKr*mPN|n+CBiAOI~ggoecwYS%Y!F{Ni-kxEd zuOkCn3amwaJE7U`d8nH1O!qeh#jld9)E4Mui7VQhD1FRZLtgs9T8;Dq^8J(ne&x%3 zjF3Ik;5_FPt=JkMlA3EahAFG~N_e_@>^x4D2CSZVl6KG;5bL}q=sOj0v5~ov+;ID2 zW;gpNRZ%DK?ie{C=l^2x9_Vx6KSnDbpJ~(sHub@E(?^Xv+N3)lsoOY?ZBn$8Gu=e+ zb5b4e&+;Vg20cAl+j{D;JYbyeg@MIEa1{7<5QAurKbe~x6!Pi{$jp}(<@ne~JC5vE zoBw|DxI2FfvATYrPqMWZ9bp)h#M`A_FM#$DS*itmZgy^Dr`c3j&gRs8b|3A<*c6u7 zssieEVNeLbq|o1~Yr#I0>9eWR!(0^xOFU4i#UW&i06{g|adnSEVbthfXsUm{rO%17 z42iM?r51)%KGc}bT-(B0*=iA_=v~|Ec^B7ya848?V=pTGoG#2F7n@6f_@;Om)qZ9$0{!GP0(-ILW^|hoNZukmx<5 zXtO+k5tSK3k$5Ar4p0lYmN%?aR(KBK`hrBwwCx;Xu@+wboM1A3_m#yh3;j-68~l9! zlrPO8fHT|)OFLju@tB!5VSZZnS^A>nPp6Am#cVf$aKi(v^xa!E@NXq&uB7aU>I6Ln zk<$mtX29h7wPM#cB)B9TO*UaXkzu+{G3tkt>lRcENdc;<*#r0a@@%8~Ya}-HW^0uT_Mrz_u$RC$ zviydTN?XFyVqjhOs3_#-VS%3VYUWrS_n6Qr*U!Yux#1Wom8SVbi05wt{9jx}xkjYiOcwGMRj8mCL7F?o_fG@zM+`QZ(G2)Vn@RZvd181Bv zuZ?(o*-%Hd6+xVI{LS9dWNx&^Uu59G&H6}lS~b;ktO3~c5qXh5OG|~1@A%$0e9DLz04cxOi9W$do(X< zxjTYu>rto2jbLS~sn{R?+Ga%R1A%!`gZfLi-Czrt1DmPCM8H(?d!B{EWT$}mac=D4VcufzV& zg_o)q4gZP*sySRd1%NZphbfJMD+a9&mD9a^xnqqv78Bzw)bj}TBBGy=SRJKmJDJR zc^k<~RDQq|Ccd9XHvFPbjd4!X$gVRN+Mm7}(bAzc6>pixKHOtIJnEX@`T|cl#k5Xa z^DCG`-{Y*dWGbW3ByvE_L0>_5vBAb)Cqzge+v~QvoK_YGy?c!OZuaN-10GVsy)_## zpNG$qOy0WEQ>UZ&oqMkSX#M*bHb&3{wWJ!P&uc5b$iq5uw?GPcs(#vsPIKD ztu1ickMZfX9dgE4d4ibTcyS~@B0NmQ_g@^kr|K+8E9vs_4lBhJ&1y#7o#|o_!)kLUwMeh$cQPt-m#Mfez=qEKe9)%lzo?I(y?bWL*iMyW`tC;a*cob^%>~ZpSxG#wqJf>7p zZx0KQyq~4e+cyD8e`Z!T>U-EYPqp*htIb$U(IPZ>zNo6^!FtK=W#ma#zP5A0v+uWj zyMOe3=lkUl3K*s#C(m)lLzz8CgHOWJZAA*krvGKxDZ2+_4+$iJ)^V=Gx8h_54FpKX zmvTD9hGDki7Ocx+*wSRX!wy zM?N%cy|jncp?gZ==>3lP*0(!Uq03qGh&=ZD(ZM8%Ik>N!h?`CoKTOh>#y+hhI@yKg z1rvmvuBR@R^3>9U;K168S2B(tEV6uCtdWz0immVJ++(G-7oR;lE?$aG{aNeKr>Xj5 z!WY=+yw3-9Jt}k){Iblum%Mx^h}2H~8QoV;4e}EEykC!%07zk6r9&pXqx7Ym1p`&0 zWsmtB_YZjqM`WA}`tZmLuw9$dSnG|ebc`qNu-75`YukYQWEs|kU-dNHJi>t3^jVVk z#;Kqj_JfD20FtvM?$*t(y|c#qrhB?nUU5+Dul%Y0l|Qn&sMkIynmAd2Se&o&6=602 zl2B^)xOm=Q#p`w7UZ;;&>Xo|V#tX=(hT6tn$x|BRJ{lLOef6Na;Y{M#!$a|Kcyx6D zYw9P!96%-6SI`_*9H)GkaSw3#V}y@c6+)x)Zs#Ego%;4Kd*7J?n#G}}FYJg97|AiG z2MpIi48CP1TU{RgtR(<1&;Mg>URvKi25F&xE>ZCF6q-FHAfn0;-0hlDYlQP5GgrIn zMr4HHzOj5hX>C9L@VUCO8L<~<8)p{+h;zW(1D*VxF*G0KS=3&<=m!ax5Z-rfv7XGT zn${g9sxW0~n07uIgJUx99cblSzmi%|+yGM@8hnw?Ed)FmDQk-ARsY*IEda3C4O=Cx z7Y2j)`MACIlPfV*R)85`b%Xf&$cx=d+~y$NA5m1}u)^QCdP2Rkv%U4>jnl~#b3wbPsAyixmuDLhJcufMdFA4#N4%Z{-zVHi zpyQlxtUG9Z7R+;9St9=Y?&O_v6&K7P5Wb60_#HrLUoFgxaneywVyu6Ro}lcje2}U@ zq<*mgb8f)7M^h^xrDD96as11qt-U3NH`-xjbPE1ZMPg%+ns2R6{L7d1saGQ+j?)q* zu{Y!IFSC`+JalR)6K?yyT(+Wo>Gr&b^ABbw|G$}!t6x8zY$>k59@EyA(9e?D0b2(D zmqLp3e}rjP;d)1wEP#*lsgpsD(R79y9-+YnTgGwV`&R~12`CnqXo(%|0}%@m5GsLCq(eOFxXdN+zE@*0Hb1SS_PPywCb}_K^@8u zxdZQNU4Fv=N^c!G>6!t&(=;a?s~YLA2)PFFw89ya(rPUMpZd{(Dp-8wQ2@J17R^IJ z8d&;2K9r5&B;Fu?=Iv_5-hh0YT0xuIvh{1?$`UwI{$6VLjcO0;vW|mmHW#de_D3~( zTLI_r?MjPntd$Kn1xr#V>vyhYwmw!;g68XOa~K~7AEwfdaxMU-8nOq@IZT_0HMa*m zO5f+MSbE~UY*D=IDVmd{_Y7hDw_82lO!K;!g;Ko8CYD-oULJXRF)8$iMq-+6>&_m! z;o)y_3ahTD?SBAEw@0b(;;|L$~`OPFYyz;qG@>wxhbmylwTtLXz!V<+tA8 zw$!|ufKSUIl!bH!WqS0UGtg*{^J}Qbh~u=n?K7qMdG-6f8I)q5{3ILulRjO-ww-%7 zcww1HhGQ_6o9Xjoo=@o?KMqRWRFjmH3>tLzSCd-uBV~4q0#ui6Zlb`4_JTVi6t zk;j`}a7~)i^i|Umd&FN3_T#Hl(U>^%cBtc{c3=KhPy)(bnree9_d?%Q8(O=9>X|fV zy%ytUxq>xR`l4%|Dm_&)#AK#$z=%+u5w}Y2uSU|bI-lNq=(dxbUQGEJ$>69>BL~1lBKR`TQp`$urKd!2mJ8AhwwObA0^S$gw zVcAfxnn@Tg^H#8N%}H^styN~>rNr*Nmdd{Qq8)VS!?ZflRG0ZkKG9P1aOgmKk^IgR zPTwaTwWWLEW$_2j)|G>1$kyvt*+x=Zk*}adu1irOM{%&=k3HHy*uo~~Pz#i6zx#dv zhk}%lNuCgUDN+3WM&hE8&A<`(HNp^KVG!r93TWD>`YK8*Lr*UG<* zAb*ev7kwC{XWk}6hX=w`AqbZX?k})A*ZIC*{#FaoAqYkCGUJpHn^b1`h!PWVESg_a z-Asttp-fZjE|jj|2&ZBLw}F~1WoLd0N{NmZ5$7z>$?xLUs2>&qtds>n!G(K&GdeEoXG4#19?%&n+huCMt^(UJL{_h~3pP zbiI(+Y31PCUA2(R3O)*H(6;3Irr2(sEc!}OP$?Ft>z28kvvrbMO zb*ad3b-3LTH`D=h-&vv{Hz&C-#3Wq70a&HZE>CVIKAe9ekHU6cwTU^)v70mB_tMlh za5h1DFW70spzIDu*k2>}%OzkG6s;ZC5Lslm{0>H(9io^lJdWapwS*UceQOq5->Io=H#G+6MOMN?>3;$t8?uveO9;a$e}plY6(Ga!APUGT!aNJ| zGVw9_6Kglq1rzmnZsck@zOB6_7H@M~B4GZxD7hFD*tbr`KQrvi*??Lh_oCWx!dS~n zOKa+fm9!yyh&KYfPi{|+?RR>rDh!0A)f8QdTgf*cF@p$h3dcEsa$3rlU8NKY z4toT|z@?n>eKEE=#>KotMpe~Lc)e1s!OK)pSXt9~7{29Jh&rMs|7B_S+Y58yB-Ycn z?k5!tO!+Da`USY|2sQ+~pwdM$JtIvpf1ZroZb3FCU*RyV9;Mi*BY$|}S<2!$1NWKx zaDF{u-GJn8Q1E}X7~Qm|uoL#Mb~uZ!6}o)0C#syq6ui~F-NISm`odLxutpm(GmHkx zcsl_qk}B+H{%{_XZM_}}zU|5W}QsF2-ZRBjU&nltS9^%D8kYR(-NHl#t&r)(Ku zn8FQa6k2(Sz!yi4S`N(W88Y4ByCHqi^lYwAiRI(7E%zScI~6R?vXz}l78zEx6eW?o za1J^2%*$~&o+q(W7|Q>=YkSB)wwC_2i6*7t(M`n^0vqg~^Q%2;6Siud1 z&H-z|&bx@J%Cv|?wU;C`4~DBc|r5N9q zxDZj+i-~VCwBtbzKOQ}WRDo5#Z+)%YuF{`NQ~g06!Pj@vaT7UXaHYZ&EwVi_Ki^4m zY=B-XJ8nX*R_xk5t@rs|U-=&hrW$;%6j3_mnJ-&_|whe z=~P-(@S)Ur8mCXZf%xvYlfRDfc;;o6Dc?ZKc_Ryz)EqpX3Wn`3sbA#&-ZGNp(NHU& zNC9Ye8e?=J2m9Z~X3a?i6~zr-dLJ)$1m?F~59awW2MIKXx`;Bmem=13%;i{q?Av|w zn*>7%7K`jZx80UxTSrNj&Hkib2&){b=Opp7!oRJvi${I8jD*>tM^l>=DqFww^-9YU z8RXvUqs5dxA$Q2J$l4p^exsl2#-ts>Cw(G++`r%pJeja6-D&>zIs9uP6-r_cVoU<*51-9O`s8%Se}2&04$luP|DH0saK8@+mjXUW09Psq_jA4 z$F&`kSc!_r{9_cW>wQOG5t*YvO^>zCCLT{F&z=w?kN!kp*W|9keFuE;71m+nLaozX zle&NGnk>Baq2fLIJRkMB2PIvtGdn}dK00@^@*5Sh&Pkq?DO$KK*O=!_N?e@^Rxn(l z1zbUIm}rj|i@Q>ZVs^8jYFby)bg z)LUX2ts2t(vq2P-TzL}7Zm+J}u)jum*X^pSSKf&Z}kPM7(xM_h*;iv@ZMZk5?~UxmzapX435r@Lpj&ZP@;(l|hP&i4xUs z!t1=MVbLV0ej5_3WFuw-U}Ahu;C0v-zLpAt~kDbso8s zw>ii%vvrOSGD`D2RRZ&OEw_67)^E>}RXllLNb2OT6Ohy*sM zSl;#jS>aw#GqQ3m^l#?Q6Q^`gQGqhr*do<$7v3ll#EvD4ATcm$f3H@M?@TmCM$T?L zfMVlnlI2HEd2xu=+K%b_6Th$&&8nfULrVGkIF|S;#x3j}R%-qp&@>k}<`vZtvuB1q zo%qD}di&VYPC2h-)Jv6~5M{S#R+QJ&6k|J$1>mGoo;pA1v1j~T48;m8Bm9e_{23xs zJfI{XcLIy?XNO$>gVMpY{o1hI4ub%cUcta14zq=6r_k2JL%avSFE?G3fR7ssV9 zST6%11+00vTZTNI%-J(Z+eWA~Yz8L02^*ioN;?O7dd!TMBTiRkY}=)^s4TvsKRH~h zn3Q@f0>B!3;0@lkrGUY||MXHi%foHz;WX zd$RrlzWo`OX7`EA03O+$-1`mNl{B^MAouSvJ)e+FO%&1ma!+vb9_BE%dXpXC-RQ8@wVan=U+xS?lb{W*JdF@m z*JaFz8*a?s+-vVp%;!>qcm%ZDWhnU=x#+WIbh7Tx-3@suPu@uiQ>O`ZsRz7*L}i=$eeZo-20)S8=`ooVQ(Jk- zVFtOUZNhcX%=rQS%C!^UgDR+G5h5U~5TOnKqqmPPDpEswxd9zE3b(I5MsRY<-cKhx z&g%Aq8+Z27d7upI)pb5uyUu0iflN}crk~#%f2?uEeNjJK$+@x_;E(;vN0Sc@Qi;s% zc&L}&J+gh-_C6UpP+_(@6s)il3kSTHW-Y?GTkxE<3p(*fGTz?%yMKf6_@ByZus?h- zIRPvW6wVPs9y|N&c8qeQ?SwLN*Eq8PUy_NA>$!~L+$VRi=W+c38}#~+v)Pp%aF?o& zpUMZa0z_6e69}3?0&M}7W84{DFC*BZsmDc&1Mw5pBPqzokE*n+?3)jBDcP#UJf_;- zmIvK`a-RmGFuVOae=&aN{FaMUJ>XQaORk%Tv$X}v9oB@xz_+U1=IhtY-pxPm^I!A6 z6X4Sl5wmy#&?(S!jOM@>0b4Hdp1~LMIQwO)UEOAf3A)*h~ zXC=hvSC)YmOp|M;V>wS3wPTea=9X36tk2zqh@mB=WWm}A7iE=#b4uXWAn%Z~k*(_TbTRv{^1(fiqDTO?t@*CQ9<%H%)d42cv*6LqcyF#Pz^K+AYg7 z-CDn77Mtp13K;QbNBhh}!kZu7@|O8}-pIDI9ZMHz8qBH$<=ovH2m!SP%IH5>qA7+$ zJ!f_|$2OBiM~r`v5B&-A_5{Fhk49`4X^XIt`9oS(JBhn)4Cjffrtf=GUaqw1ZN7D3 z)5Ysf0MFrv9m{}%CR^1RLSU!A_rsqRQ5!8*TZ)9DCHx%^#0VYP*JMx8waT*fo$`|q z0#+ECdoG>o<>;vgzmbBRB~FV_W#k*eYuBEu zpB-hI<6yVGhV9n~?~c4He741Yp(Ia$u$}%fy?sf>#LBZ`0$@J1^_oBfZcdnq?l0*8 zrpaq%x9DVJb_u1OCK&+p$>n9fw5Vx)`8#_<=TKVDXkv?`F$2AZLg0i(_hgiJOtv-)I<_D7Suk$4D zwl{rk)E!5EjZ3`MBhdqkk#<)RH??qUnDXiUViF~f!5lhNcFxBR0hCNjDH1tuvErM- z<&WHQB_wYBjJL03<8MwhkSS&h?Y^m_>N+FP#BCbH9W

      DEjX6YfK1+1PA`8 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 o}`Rv@FT*R8s7T+hALr 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%0AD_WbRL6bkvN-1l z*ocNC0wl3qEa^kbrU&*6eB>#-v$(pE_yyTh#EmiL7~=Ii5SFAM8wn83*n^f?cVeE&VzK{^%*q8TIXq=QMSA!xphHZdD!^0UE_}zhECxwgl7454 z{uO_0UIc&sZ#mPiqU^e1eJ^03UY^1Ha<(Bfm!DolpQn{AusG7?!IuuC@U9 z6_{5E1XQ}Crjf}J?-NHMW}}f?zZ@>l6@WK#j1nh!%pQZ;MN8B1%O$qh0XbC?pO?NrG03AIsr((Ohh2_N=YkYyz(bCBT4 zSavBqJdKvW$yuXARY#M;@G^sQoh=OT_mYVch8+;4h^EIcB3IuaE?CLWQKzy7r@3r_ zfGfzFZ$hQU+)7f*rZM)E@dOs<)tJpbQXj1my;^Lf_BF<^7>w*F4HRxL7mRMQPe&h^gUeM^o*E#dE3Tg5Fj_}$ zp82C_OHkMflVzt)B?c9r<+kXG)bV6dHoR!L93u z1sRz9YZqQpwy?ES=$Sx_g^4Osn#bM1F5sEjlMr?YC(WO+WF^aG5E?VyDlPAgdS*Rm zkr=2y2OkO#)K;O}{5DviyC_a(_|JYn6iiO}8^3-dC(S{)Q2nPr3Kwv1p}iR^>* z+qsBha8#av#nGmsHs`^N;=2RDcs&&_3p15BlLEj*l(1f`b?Qe$(`8-9g0^^0jGskX zpFoE!o)#Wec_h01M6#STikN-Z^rzZg#|nlg+0Jh?(w}Q5HyimRJd8|jz*(g8)p~5G z*U9QAxjSGFxQ|cU?VsbLYFJ4J9>lP(CHaiPY#sM1)h@OSypxQd&X0Vt(V56IZj0kO zQcFvIVTSDdf4KVcxTdbI-L|%3)fz3WhzQYAMT;7d3Nj`2#Y*cyR8*uWsbf^YsLYV$ zR8b?Mpn?K2oGKMmRFnuP(~()mpv)k|FoijUkmMve!`;EY-*@l*#;LJX52iy!$tXxn^XRhss)~V#2~CKISK?J z-9@!`zF`dY#f<4&o7A533uYeV@~^R+5^k~Vl@@^futt?JYaV9~Uw>e4%KJr=27F>i zmU%BxX4*Wt@+6Qa35%jKjFBl5au@GyR+SOm)antmR#igr`sKa`}2OK=y%J0$@%_?YK0_knly?^&8&r zo~9w>NK~7{socuIJ25gMtm0wYs7Cnd47UJ=R z_SIA`V(_vWf|_GiwZD&;$dXisPiVXL*mMjBaed=`r27}Mvz)QC8FBnxrqmks&${%q zdlBf8Nttyo1py%nRW1J+@Vg)!w3O%A}NjR$_Er0o8pp05$CD=-UsRh{9vD5zRMqrkqZpn9k{xJ+8vRDmLKVb>aWXPL_)s;@ zU^@H;m)_N)7Eetig9MzTgHD6K7#aUHB;H{l@n+aj!GuxCt%40`7`^)GHK0 znxL$c6ok6_R^!;vfu~eMaacoIWYbUx>MUtU$inu}OQDS$i7J4Z#2Uh~;2>-qmNeEd z(T=_oJJf z9Zw9udlxm^jIR>9a%LuSnqCcV8TKz_E~J~#8h^Z6(wfG=kEc)l{Op>})Y$UkPXN8*)Y}ZU;x?-B!6brhUS0bKFJ(UE1P^WK4p)AZ7{SkD&2r== zGMswf;6eHVzKmsZNhIcyK118FbqW)Hj%b2n6kSBjg1dtxib7PH&sTyzOD~r?C>6Vp z1A^|;A<8)S6bMlZ--Q0s4-Zd^Q%z5a#F_b!ho}BmLQwD#{pl)M-GgDZfHq9d`UG$#feMFLBu;kBx8?L zv07npPX_b8Al8r?WpmigiK}f)v%$lhw&ygboAF{D9escHo9(DGf1j>Bz#6Q`G&@eT zw^VK|=wqE1$H!`cC}J0HXWP)QZJ`R%{sz4-A0ggttUx96E?%q1!HX6;*?j2lt-+dk@S69R1wA{s#1E4TKTmexx3zP>;?t)jQ4|-(;_&y@ z8W+U^PR`ImlG|%*rX6}D%>Y+xx>Upk_M5`AtcmF1)H)l6AriWNx!GYudbcI!^LD7P zgaIy&64FmWU-9w%m{dk)PB6M}#&f`sn)k^LARTWod#n`dAkY?hg=K8KD%igT;5)i; z{lC)?k@Cr(4LZ!HVPepsg&nc`r=^=gwCh}SH@@WsV2X^X zf)27Ta?qHsUSL14mFdf`u`SKdZA?G~?cr!@^hY%-uGS@MtM-b>r?GsF_i%YQ(>?6{ zlyAWmS0X#zb*vAGq|~@!8W=qjO7S~jh`e~w3{Sn(lqAY6D9#bbG5Jfy2DvOpv+q8Z z@>KY=p4uKOja)+3oSfN{k!*6q<&3}AU(F^fN56R3{b#ROIq$Y$UP$bYu?ydDdU|yW ze#E@|bE;EPwGUe}!yKIYlP5|n8c)}1XNbQTuZ-8auzt^#yYhP+ z`JuJ5a7{J9gYkqJF@fak`|?!9G{EH552qb}L<6u)ZJ;}5*X$(D%N@%a@^YB|BzOrAiNxv=?|)|`MQc%;n5x!Q>X4D!ZXXoa z!#Y>Rj0f~g_sJVfrs1XW%tSEqD&ZTD@eFOfA{t_UeXVFtt&LrK^0+j5L)^g;CMnZU z7?M6)2kxG*C^9yQycKriR#%xc&KD(vn#L%S9>LREcYwRjXPg+m1e-#QjDzANwAeip za#0q$w+OI{5GUOPNC-zKMd>c^3SyMXZ`)dw^*WdG&iM{ew%l3LmkUI+scMEiE0fW2 z#TAvCfos(*q^y3~c>1Q<+rwA?R`|+i_8IQj=s>il;NwvrlkhD2)l3?z{b*q?+mL=x z2@1On;|evlaJ`vsqG`lHGdjmZ1rTn{Eanhdk%VY(GH136-PF&k=m*C{A8q-8Q@158 z>Tsn^iv!&_(Y;sdS3Ss_ZOz5UarYHRjQB??k62p`+lnOuXJ|Lpvq7!^;w#=I5j}rG zQODea!*7fd&nzUby{RCtIV9 zc5MRYr(d2<_FZS7V!63;?ew6tR$peB;$#)(gkWi<8S;ys33YLCpCOTRSD$*WRtbxHzpw4fp0kHLHe9h@`6cZx`c=ZS2pe9- zNWT#bu3b2;^e+)?v%n?>(=+PRseia)qi@@6a~zH@5>zLO&a^GV`9014X`{mp&dYNBEVanz^H6)FFZ-H4>sc6oJWyFFRQ2Ec!kjM0U;ZdYPRiQqTR zZa}#cCdhiR_BQ4qC#O&&(%xT%%P_GL8YA;bJt|1z9&L*?S3glTHl#h!qX0$22~HQ- zP}b~$AId?KtVr?liG9bGfsSSz;D!MCg@$#V`VYXrJdBjS^K`z393cCZI$Vw)IB|Ux z=g1&G_=ApsZlkP3R?2W!$%K zWcL^DTl7uS--)xn+HdmxO67$zGnU7VsNv3t~A(P8FraP z#{SlBt^2-+UQ4}SPuy6hI&@0(;&P0vf(rA&U_FJ(KZwa|!H1vakaqhd|Nv+UPKPJB5hb84NHZE)n@I1-XCb{Q$M~ zu3qh5o&tuIX%T2kDR?jMOsL*k2XG0$=yev;!f>Gm@LccA=QcK^cJAJ`)Ft?fjvBZ6 z>n@3Flem-aydL2kD&u~12|JM&-X3d6|%fc>4!ztfhg1_MdP0C6WMBB$q?1p+zFVXCtjHxRVStJk^jVrt{ zL-J2V^8*EWv!p=O>6if~OZ6qtm^vOGU?f5Z*jwzn zYlo67`XPYazL=Kd>IDf&Vz4Rs2LN6mZ#DJNKmHEAjHvJGv^)&^Q!ft-tn8Liq_3CG zn;19J&FhfN2pkh%lB)eW!|s{sj77sQ+vb;8aGgZ z4Q=1o(+TZVFnNsX9s3?A)VBu z}he(K-qsyZOm*l{qAcF9n^VCGu~ruSnsToOqE&>TPoaV(CGD8I?2^lMb!+($TY-lMMUJ0VIEBo*2o4 zCq0R=XB{%=c)i`oloJrhMY!h|Jx@gOgBOx&!#@gdlf&#uKs~LCJ-REn1J#^wj4vU@ z;cPCd>@~;MQIxq>mpMtt(>2Z&t@!@gt<~4GP73m&!vFESV0#nS4W`9kqtX&H(zWhn<6ogfL&mUX&Q~S+(!9!O)*DntNQqhxWWf z756yhtEiH`=y_M+u`;HBoSLk$;pVizkk{IDf*yDfWL7#GG7@f?a{r;r<=Lg_ve&t# z&yE^xLEDFe)*nOL`7_~z{K=ak-ryD~~RsOwtFz;sSD0}-w)AaGQpb0kwnPUxMG9S*<`SD?C4$Dj^LyGf$DSa%w* zp|7`0FIULBcD+$DP+v*Ym1oFqz_#!qS~Sr91qAwE9>sg@omIrLMtZN6x-MA%*#X2% zwg7yD#sGId&B=&m)cShR0#Dr#s@pY|MIx2BzTcS4hdcUt{z6MyMPvy)HX%&bjvwsU z%2<3f8hB4n&VlJgp;d+i+R&e2G zd0+i%%t$;sivFVbHFVX5@wiw1RSiuROlHKOMzXZB@_Sat=rFtg8fi-IgxdDH!iAhH z?xWJb1s@d*xjY@5k=uvM;Y`iXD^SUHND_n3E#m*2_6g=&ShmS;EIaLwjC`Vgk=`LS zbRU=@vX84U4W>c<<-nv>pC-SMXP4?2ncTw)*+^nVH`sB2ND(=mlfhwN7;NZ9G8O0a zrIZ*IQ>P;UfK&*`%+w-lU~Ma?Z=9xCNP<7mHZ35+EO^i$vZvj2(nX5s1~TM928Cjz zuk8dsa}fDwqe6BrFi$hQBxii$ry+m!UW=NUbh4s^4sfpHhWy_2%9J&a54OjzpciUC zJ2HHkp#wIW4X2OMSMZM{(1pc{?a+`k{284MPQ35-75((Ja4*F?tmv&wM?Lr*9X}ip z4dFYG{VnM}RTf36+})<=z8grA(Qi9mi7qTg)*tkx41eSwGxP;?nkhAU2fE`+E~VPS7^n`0(V=|{r9dj8^Wf5j2_TUqsw5K% zKB|`YzN>=QL)ZKNbn>a%sU0325+v@BBO^VLUz=>MR~hr^Lk|>B=yD-2p5k108-nXp zx_Y7iLNb&r_W=mp7_|FGsmX!drGGIUf@2OB*kYnoT1W(Yu?0sg}x~E_(olQK5Lg5h_ zer9MQk|Qo^EK8yTGx+AHN>S68AimKkzhf)KL8bjx(kkWNDo^ZZ%iG13z`jyn_K)Eu zPft6!3{OFR?^Q>MSil`Z9!jGkx7He8fTQzG=_Wq|$Dfq(9io8k@#IBRO$z#jA7#Gh zrhnqLgC$MXELGu;^WuKFaqv8}l1iRX7+zxK7fCY0nk1!kMv|_PpRd@RW>>c(?gauswZnBNs)`9_r-i&_YP5-9cZ42WK}P ziF{e=F4cKpLPi-Sx%*dCi1-g0nfS&&3q?l(dK5X1YU;tdk3@gFhA!95Ka5rcib=VXq;aV0^7){2tVhUnckn>_#IEQ04h^4w<~`GQ-pk?^ zcxv{OK*zu@m|KuHF@m#usN6gtkR5w)iFpSqLYFGumogs9R{Upu9>^%h%iJjGadiv3 zbQ#Gs8~)TRgrA{yemkL=+U$pofD3H5R7uPHydte!GGw7kT*XeDg`t}mY z??!6<`Sl7&&q{*fPWtA>&-{4uG!Zhk9Ef#Zr!6_67o|V9)i)_DeN!1HJgYB;pp%@g za0h}e>*eV{vD~PWeFM~7Jjc-mnFR4l%z9Snua`C(1=ZoiOR-p`>xC-SE@4GM*Xcr1 z_fG5r)R$I8I~6AmH=G?09Y=Y+Z%-5RZ~F8|!x>=<52u^)_xqGOJcde{$H@`Fb?!v@ zK3Bp>j#eXH#TVg$>wg*E2So}=Zp(a{vm$&nPVgM;>mQJ+) zfDUJy2+l6Uf_>giHKS70^(hC-oyRpVOB{)Kuy*N8hmo%$b}7BS>uy?e1zm}IZ8rSl zPodlW4vF9<>0HXPz! zghg;M+c2l7>9h~u@zjE1+6sWYWRGyH)?AJqK!<)EvPr2D;By&XdD+lKrk79Fnk|eH z2(b6^xzrY(UULPU+G7zdqG!m+fm4iCYgM;ZcK|!3NRR(6v%~Md=^2?xrw5RhEid(s zzWxVwUmx>MFAUH#Re9tFi@UUJHC8y84UAt-Wsaa=+Ot)dFStJ(^q{SIua1{z2l?lG zqKK(dwYp{V$ODzWajbjYU|R3kj*Zx}ZOBtny^}xF```iLVMV5@Ue)+X^b9~!K6C`S z(qV1`cx&0=`f7buBokL%PBFr;_PFQ>8CNEbrDDGJ;=~=c_s`K`vqcu z#a?4RaTVFPbaG{~v5At~kWmk<$2bq{8aQ7qu0OP}?+a_)0_M`8uWPxVeA${E(AA$y4Cu?cPbI__GXDO_On2(%^Q3KzNv<~CL# z>ve}i;sh)##;9^Aa&EbykgcLTkZBE2#;-f! zu;$a}wIs^0cV9O~Q+A93S9aakUq#k7{xg?Bm@-&ZCX6R+bjY;F;GGeb4@)dkYo(T0 zMN9Cqv0% z+i`PD`yK_KU>J&oww&&To+7|WVBf7&hmxJR^n-06Sy;br!HeS!8G6;Zf@_rOL}tDQ zL~aU5FsTFWhFC9hWB2OeNC!%7c>U#6tqrXStk1cJhf_ZQ_{2r3&egL;&iwPhA24Pb zM&{K6f2Jr~4|7hBZlLuDu!*%D1-UV+ngG+kZpwBFm@V~%_orwOoDgzZi`T$KV6VLs zuwIidPKszW`hJd%7516&DUhfjhU}|H(Q%X3QI@8)Oe!q;D0NQYoLlc}<$e|FWx5Xy z5$TyhSh#Y~#JDE|I4-b$i>_{nx2NRS@(h0OP22jzZb&bql%2>3KtXpVrO1tD!c(w> zI*Q0OZz(3<5mTQdMGebpT))l@UeYW}wb$@w#j*Dn{un+dzu2LCnrOs>Ht~dg9)?__!N52jg`i?2Lqv(q?hd`PGg+= zS^1bz3d<1rc5Y5NGUj;OH)}{~e+wFnH{gW;O z@O|TWqsKZ?r2Y$G7#o=L)Wk`6aHxB)hu3r;IZ)=vtWD547I*3iraA`MjtM`Evs>V7 z-8&6*1ttgsYF8_wDoeLkM`}u&>tiCA2>xS!Ul1>EC2q$LP*C~>W<|ukA!dFNlZUyZ zlAjhh(Qj%ku``WNnV{A#b`Mk<%+r`s0sMh;9|7BBV?Aqmh6)Zbra(Fdc?$Hd&zE@C9JAN;j&YShe?(5C;L^R8Pi+#4!?_`7B{!z38!P_1=4 zA&>&)VnWxgWK~x%NewwwDH{#9xo=p}`@A-cgLMFb~LVOD+^jlK`C+ZIX=&X+!nr>JgKvRLxwN7n}KMI&&{S;3w?1+z^gU4m(pqBP~*h`|Z%HTDX|3knz(UWxDlkMcXkex&?G!qzU z`u=I#Cvd>)`DN*0nbH_SD7Qd*D`C1Ez}e+j%1_^M{5jaIj>g@HM%lh7oDI1@( zN3sLFO~*i#l=#~_D(D3e&PY`xFi$F~QaZJ}#Xye?tGs}6wG|wRvH~dHD2zzbm3<=N zK?sS6JMHQb6;Y~Q+mduy?%`=)EWl3g&H%Ml1vHOixHkf&gq7<3%VS9&{%h;eXZTGJ zm3z7}^S8Y<)!}-xT`NZP9K>sJL?~+}1mrNTEBwazzB>q4f(z`*o?$fy?xIJ1@^UX_ zc40B4^_m1IPtw~DA_^wOQ!BtdzT#l?Po|i33e|0%3|Ff1*MMlFm+j^NBDvIeoXQhJ?{?v%`8I?^TPSt6$##%*3A;vT*6- zl+xW)VxH5kNT3vOEyKPZ_WH-jIv{$$*#Z$B?cC<>QYC4!urI9jFL|Yl=hYRh_bf_h z#v8(1y5=bLrqH`qXl7>mvyOkxm7BvA9*YsBYJqNt*X+uw%8eJxvrT4*J09K=IS{cz z-zC=>om@+cB5ji|2JQ=%T0B`dtXmc;bpyg8wt^$iRC{p~-Kswget~zqlSc^!hS9e4 z91*{gkzjL${mzaJ9@F?e&2WNhuUMvo%r-p|rU$%6J{UPrr;)EEzbFzf1irov>gtG& z`C_GbH9tEt`J9ZD0up}O0WkgB9-ZlG)LXYQutSPW1S&O5)OVn3r73>*xcN%AFg;<* zA$-R{q?CR@0fN^cF=N#F?Ez=l4sxw)6^kd|$)fG&T)#BRCyI-D*`4T!Md!KI1zfY{ zTp45twFongngpU}Iw1u-Z*G}c9deRs8bBYQtZD{B2PIFP+%=kMV|p>VWFMlACYE?w zttP4_cR_6-JJD)PV!=+tUC={WzDb!AL$&l1ki&*69D}^iYd>3f1GtN3W3d@?j>bIu z`i|?S@dp>ij-^@SJv;a`LrzQkQc%VF3|S^a8B{~pC7~S;i){G5|2Qd!gJP~aAq$(k z-05Wlc7qH^> zb)1+iEd!3sVc@9L1QoZkD34`5&GGUK=4-9{H5kb3h)>^-B-I+$HPDd`hV9JJ5t()t zYe9FKZ6g(EpMjZPt;n^@(uuM;+*s&JoWb|`U`w_|)Qp1(zk@lT-8mg90urPGW#7~?T+fre zZw&q{R(@Nsf78O>nvOQ`D`@-qH`;0r2|^zYuS5T4Qldg>*OK@QpC4U@-YZJvjeCnq zm;%$?Y2uBg?zf63;gIBw!9EgK{#m;=$`5csL}s`1YpX|!I@bu+5)&w^F9y_8PefYhM=&(yp*@Y448M06n`j2kJyz3v*%Z6Pbs6!990HfV>DqGfneaRs6wtq2sl#mz*RBNUZu=Ec%`3RDr zp-@E?jI)!QIFs%7btrRO!{IgkL<_sbG`OP^mEBa_CS8eZ47eZYA+8UH&E@^=Y4#|} zogvSMiZ@G6F!Oz`mI4znnji<9=QqyAe5u=!coe(jJ$EJ6b4@*)3Nv!5r(!k5F2T^n zfnSK<3}&7ve$4!eH*@F5*$e4iqq8TQGF?U1EaDwEaow=yYbvFG#lky%aY_MxzA>D`!0EJ9H`|l{*mxj0BfNYdu4s6TgEMo92FG_LyhP)+YPY zOtedhfH*y*ixdSMo8^uY-to!}tm`ZXFMJNP_O~N{gLJ(obe$t_2Uj%(T@?S&;|76z zTHo!MWK|@92X^KR9d_knSRGyTqAyi0xXmP*N?YAG(>ncyz8D%jvC{^~U9(o!c9Ug@ z?me7Y#+j>mLc0#hMY&D+AAknf`{~O-J{y;s!}&zF3{<#L!u*STlFuYw=tK!4V}wpi z2=$?edI^8F%Q()KF_Lfh&kG}8pPOa%TI}&scV~HE$J9=%)oEd5rw)GoTr7UJq0xRp zoPMT1ndu|bM<&AcbxzZWbWKDEPY4v>)ytDi6ZJ_fGFJ4O!!p=qQMIW`ZREb1Xu=yE z(0W~FehFJmYFKeES+zRpJFcgLS|@0`=ku}OJB87gG5{!>jNW76Op2>o99)>r?W2YC zD)CjO_&dsGB;Hc5e@7ORQ(fphWiGum(Y_p5F^>gRiU#I8O_kWL$ZKB+EjJ^7Dca2&?vL{K@!ay@!@m1?jeEwc=!Q)1cQGB)b@tVOMb5+6Z-bQGu z_M@e|V1KMH8WiRmU9>XH!$o<>gw78(gw{H8zbjH%azinvQV|oEgrDYZ_kt!C6y?!3 z@B= ztY`pblvvaZWK3v0F>k^bV~NOQD7s&rL-NW&5Yn{UKcBoq>g7Yxc7HNoNnyPb#qx`~ zNPvUsq?z4F*|gqB4TMGPf6*^JSsK#s(GrdwR&d(ie;=psFh=z*Hx}^CBp~E|=5%Ax z&3I-Vs2|?+e*Y(c9V*l-AG|Qz0Wn`a*(^qMb*@1L(e-fjM0@{85d_*o&nlz48rX5E zsm*YTHn38LL?v*0sK+UDRfY_tZ>0$xbc_Ys)N2z%H6%#O(PV00QgY?D%zZ(!6#f9_ z@f`Ncy2&Msu8I{2V>w)NL`HiIl%z@4p>~{ zHq2pw0(k3Q#3lDpvyxu8hk0iSotTR8+Alzt^KnYz+7InfabgEOkX&d&ck*{4EdSPr zMbCz!SWaB}0BXTs&u?xI89WhI0&O4%*}$bf<-x6fzL2~s(R+peYmJ#UzDz^R1279F z0f(uVagBkzW^e?Jo7C&!{ZE+k|C6x|-W+(thuT5739gpvkz{x}`9vFp6Mdc$=^P7{ z^+k1pSlm!3g4kp1aq+qaOKiwJ+3W1Qa3^qQiOtN=;1dJnb&GaWShSKV>CacB-lBVi za*rm?6zUwJ?MKhY+EVO$Z4eo|pV@ltJPQs(q3kdOucDpTe!bEM2RlKp` z7EDOdLz}0B$puqYiy16(T`FQ0v)od0yu3b0miMHDkJ-mlShb{)G1u!pIel=S461vPJ=EBh@nFf;Ox&?e~ zIT-~0fkq^kVnX`y5-9_M*Q-`^JcSC9A(0w-@hvQRLLP)%{+`zXV#7!$=viS4Jzpo& z>u0^Z^^qo^Tj&0>Et)$WJCsZbBOww$sRy7y9J+pmXd;sM(>J)9di1;hb_OHQUQgry z(>x4NlXMvVmz2rsS8Ejd*$O8nk;?q_>@LnuyYb8q&_FbqhU0j?`%OkZqzW%PnF*3; z4xY-=J6|G_6U{8t;b5A%RYXYWwd|Y zDWiWbta+P?Gtq&yuHFcdF6l zIy`p=*U_pjHoue@7yCm#2*Xxs%=%gNdFYvrU)r}v|DDubTQ@&3FEvH6XF%*{78mDbsR5hZuVZiIe!L(z2 zlx(XNQ{{dlq%P52-O4Nl?i%Q33MY&}$x zKIg=Fy9F|2r=5=fv-tU9(vnLbT$xVswfW8TWJc>g8^Q-DTHmfXuB>>HyrZ`Y>K_`S z;2DPGPe1O|n(zF=^JC}&;nS$Wdi#{}3$vdai8l_NO847CEu(m$9bWdM`aI#%q@pHG zCgV`IytJAVFXj(LU;IGt{6DUBg(sPUND~GDRZS3T zD&#&GhAe7#@XknWxutaxleXly_nbhk&izDr0rg{hmeqv59f?(DuR>C~HFATl`ccv2@@J$~_#~ zi$jBmJ{tENX*-04fzHI|&&`q-yVT#MYVA4?P3(1ovP+{OkPDj5ar`p8tErr`w=>oqc3Y{61@sq>BeJ#%b~JF%6z2Wt}2zj z)28mZkcuuN3-U!fgs~@!uMH2xnpz|*a+ZAa`&#Id<*b#Hh)W}|OM^sfNzoQ{l zD{*LK!uHRGT%xt?-^s_+konvmnoVXy^xO#~hn(Vk#NJq7YU|thnDnJWEu_wfVPh=9 zg7m~z5qF>i@2^cF)YmPwR==cSxfp`wW1TuOV_e)1|L<#QgSxfLC>ElM(dUul)GkII zfrAV?dem3ZQiuHkZMg#w zwn(1B=Y1x-ZNI$lb?)XU|1@gRBdV7+jeq7IlXN(C%6-_qvPq_0(z*Fy->%07W^$IA ze8TUJV+{H~eGRk~Gvwq~ex zXH#K7Vbudpv*^HYcGdA($ywg;{k~ly$657Vm!Th~%)Q5{#>4Cjx(8A7I^8S+uDot) z&g547SaHyzcj7V2&W$Vs@nIL;J-m}Ojy+(FelzudqCM%H*&s4wJ%zIwdE}G;QswFv z*1w#xlp=~avWgsMUlqPNQVR$40Ja8o1B-H_lUc(2O*9~`1!>dJi&Z{{Dv~^C#CK2) zAoxGMYI9V#HmHym!}b>N zX!?Ge_`QCCXfN3pP#+iPGvIJ@sc?nYlBHk&$Q#*6YoN1U`fjBj+gTr1utD6>v@GD% zm8oS0yKR)<)4ea(?}MmG)V9GnFOAwYf3giZ*UYg~mdflKr1#Rr%AJA_h~weP_`E0Z zkh`cUbM7%wVOJ;O_wJF;@Y`1^;%3MWM7MYRF?2AMJD8*`?r~R|TjTi$&wuqD;V?7h z<|u~|)V4*+$^GW}Te1&|WC)n?A)-_{?6(J7LmYP4t#Q#9*z6<%`g-~f?$o$zjMy`N zB3FZ#BloaInzGH%yc!A0|7^~YwB>E_o<7avRFj$g;{7GApLWMa?vMLFIxOR@R8ETY zuiovkkXZ;@BRy?|ZsVmL(?}P1UNQf;i}?CmhuhE{h#1HGv=5^Pp#2JSB6>+ri^lfO z%4p>;wGx+j?cQG6k@{VT??9gI)+@X5Yr2W+e_3_By?Mg9_R!dTUh9;@xP5{(!blnu zZ^&CH{o@Bi9$P0cNQkA6pFh_Od6RCWjq)4s;oK=}ihZMKkzfCdi)60h9K!X>olhd- zHh;Z8CwJK7P1A#~R|XWP^%Z}1qmnWg|6UOr$yGkXb5<=24te(O=RRw^aZy)X-bp6U z+a!5P{>vRdU(v8TeD0($<$LmxbK#w+7b}L%0xNDVC&= zB@28~G>3Br9CkAl58ckir!6_g=`z}#>wUqc5>=ea3Xy z#i+n7J#2ThALBm!`bOx%Xst*U?IlOH6LQgGs`0Z0cC}}z<78#iHp$`>>((;PB?$^1 zv64O2Of&-q|LEETZ8DiZMULa?shQp{GH}nEQ}`{#c{u531bHH6Tt!@JR}p6W7x}#~ zA1N32aQ`=4~gkH6#$|*%*M05}|f;;5AC|q!Ec?IsZBGbNnKJl7A+_SaH zF?c1Ls39NzQuI{2Vun}iU(ehJgPyuE&UH2J`>QRw-w8EH{xfsXU?nM z%TT1z2kLNZ7qb`lDJj;tpQ%ZWEH%Il;Vc&%{|rdp>2I=j9Q^BPjquLf^P^%<9a3Mu z^C45Sf)-mJkksBfB?_pSfvkVHZMd>we25*Tm0W6gFt^V+cJf^y*(A9wvMIpaEz|kh zG>5^gk+IC=4I0+DeX1tEZ46mmKpuoP=kFD({^nOC zrSm)8kaLn3^#?+7hWnH4)A+ho%Llp|Df6mR?18W$uJzoofOE??_=ei|N;%~6?VeWK z&tGyDe-ofso5XT9y0^gCZ$CE$;!%u9`)`Y3l+bGlexHPRcA0LDM!?4{18 zPpWcsLEG_X3!H{s?nEpK=$u&UcWctDoiVvwDeffK;Mbf|SzayAhtoy4&`8Z>gbwJ^ zDS2rur^DMkF`8j6WY#Pr8WD5bF&ZWsW9T}4AAt4=_~S-r^+7@6L)cfhg{V6?uaC^= zr{;@Sl5J-{iYGHCX?}Gfq%ae(rIATrgbfm5=xi>iQc;^U(sA?W5tA}p*Mku)|DMmR zE=I(B8A-gyN8UclgGTqqbBuOQvQ zH=H`;7P+c-fzBdoD_fI$_N$Z)ZI97S5q@dZlmK#S2ks`anM(6hlC>UU z255Bz2jaZl5#0r83O`ty_e=t%Q8iBvHD}U}aEH^^(vCdyQ)N(JkH)>nPdCdp`5B6j z{3>%__WUmckJ)Q^ObkGKO43 z%;!ZS19SVS{j7dC?AcDDP**P0G1bxL$DgQ~yp!t8ahCp>hKQyg;j1BVBjtTv<$`Vb z(|znae1^D9|A>Pgjl(*p>ijQ{sb%KuLGWX?a?|XVOVg&CTK1omwk@Eg0!yYA{+;C#q^3(U1X+V+|y6iX`7o?pin|RDcIeSLQ>lY~mQ%#7q`s zyW*-{Ke024I$`{oI)#61RcA;}I=|wCL#3+B9e*;1{x<$(*9I&4G0o{kaZQ=4b;z$( zJw=w9AAbI!ztyW>Fu7D)Ad#{~Y&YA_jjc_q)topHOrD z{`kftj)VVU1Q4{+vjw&3b&e-mBrqQJ+O{u4U^P7d+?YGPH+opWB*L^^q)q=0vYjw? zX~}~EtSWlVL{phEvV#y!S*k(V!rinthlod!r29~7(aJ{s0tC*t8OD-zWEf#IIu#R( z9v}GSr3m8?oXX{7B3Vaz9r%?93YV-V>&fnV@eHhCytC_i%?=^Hj-}mSH|L^hpJ|5psm&edx=62oJ z^;(|K=j(M%*tmIbD!JWy_5F{b-t84yH zv27twe-;5*49;Bf%NR1PCo#4@A;b>`v8~a(KED$0@IGu^v%l~VT4~%41^N&x{5B(6 zqR0b|Xw3qv{x6a(o|gO|g1?r;gk#zNL4Y_aVgyTc>*!(jLuA>`_FTuQe1g61T8CVK zyq6`(83@yhoduc(%|mRkMZXGJZr`*P)KnYDdF$7JyV58)*$<0Y6FAOOx{cLMRc27YjA@(!y`Ql~ZS-)T5`>d&r zCJ>DX1+r_4%{EoB=!;Kchf+>s9jJ5u%~5iYXX$FJLAeI1sZWt8qlglGqLMO7UaD+2 z+U*;%#_iTyql#P`WfGajOXt$s4Dhp>SrJytba`fU8b5R=f02>0b7zUDkzZ!jas1$%hKqK8 z^Fz*(iglEI@!p*=$l{-RBF3yLI@Ke`^xP~NialSA^X>YVDXOv+nBXAP>*p7}#M(_>jpuY?v~GcoONz+#-0p5iI^rApVGiyB0hHX@sRC zb{eyAc2%WzRQMZpM#;RV;TFLIScfdAgf&e0aO!IoIJpfTR2~55>|#ye zMBQ=a(yMqnMz2r|aG^Ta;p9_2B&x{LOztq0D}dT-?=&e%!iV}I#yTH9D0G)p3EuzW zAdVjwIortl(OZ@mMmx~#em5*gpSKo}J~zKvk1rzZAE=W-{tiLj19;xbwcM*W+y6<) z%(Q8%e|vseZO7wPJq^_G27mL}B^Q)^sVpP%fe@*^0S0m?rNd3WYA40kiKBJY^@ z*F_ySQROHW)iI)%>F_97w>gofSjE0@lp#v1S9i#=?BCFyc?{~Q%=?p-6=yciO2ysr z3P(wOs#BGScYb-DD!Bvhi~e?i_nYV>85 zctJhA`Z`EGQuEGDW!+Pc7Cv`CzRhy-#kUD^w%H~ld_*n2Hd{{j8SP+o#_}#SwXy)- zv2l5MzkGp_B9+FU@No5L%r9t4rSVMn4&tjO_&BPU;B|FJ`<_c0&hh3qKCgJ^C|OoVkk5Zv&(s*=nMBFVsc}UM2McC!b5BKf^{p6AfM~J?zRc=IdbdRo!h|G*r-X!{C zudX+8CbU^YuHPi@Y%(1r^_K0B=pozG9tD>(x@TGYn60AgW&_Evq9mDNA`_SOTu-yg zY1|pmD0oUv!(-4?7`E=hO_dzX7@X>aiC{V2!S??BK3qiJg0BUWdv6}F9zHOAEJK#XJs@?(uYu4<^#XkVO{$mm!e3R-Xfw%sn9@wKa=Z47uagCPjED zoWdx{Mr^TTEVqsn^aaDRKYoxBnj1d?^C>00ZB2RR89x;?c$m?#$ZvF?#SDc#=GlDy zF+4-Qbz1Wx`q^5+fzCa3(mkJxO3pmkO9L>5-mL>f(*fsiB>^B8Xn>kQWHabT_R%!w zAAzW%<;%^|_nkwu4!idVE%+^iXc zcSAn*NQ~?ycF#!CYJ;OP;C0D70dL|lZeqE6DPDu%;(R%`o0Ag+axIw?fPYje)?sYC zPRR>3Qq6L`?i5^9@%AdKQ)XK86P>#?gavXl!T1A4cAbn-f?r-e_JE4Fajdv_*pqwo zY4jM+BMiVPLWWv~Gopob3&B5|uYpuT%kUpV)r(aW7%zx>0K!}_I*e$k$m7MDUVEWO zc;^uD0X)1Eb5yczcTiZ6_vW4k3bs>u5^)`_#@#zSefqI9_ztZJtb$QV9da~O!t${V z(>q$-kL8c%qxFO|*ppfh|0IgtEa=FZ=~VXHg&22@V$uVDvA%8AT)OW>XX4y1XI_tf zPA`d9KG7gJ8++o}Z)+agpZ4*{CX^gw4VkvHgzMhK+SORRBI-6>OCf8ggN-F6fYLq;=}t*-Q~G`1jzmUdLp>rBCFZhXo-4BBbLhgl-S4Y%i}E z!@h@+c}&o-e4<`Hgq*Ho2_ZI|`(Yvy1e*OYUD^Id8I2_&o}A7~@V}jMJZuku?Cj;u zUBu5!1<)x-9x%*I!7BlaF*W+>9Z&|2R!!7_#EVpsTWY0T2k@ZHxMhvC+;1|x>F#jR!56chl77QO;R#EKfR0j&x*qg}-dQy2)+hBf*wgzJ1g z@QF3ea1?GJn}=}3*$bPijU|7Cf(1A#&tQ%)ES7Uo&ql$4OWn$hF<#`CMV}S^Ud4Y_ zEZV)y(&=umlfCm9gq6>O+LO+f4xM^nRd#lcWm|(insEpFqgh z4)(xBD9D2wY*9Zxlnq^u6L4i$hft6Z4GK^S9`~+;IcNr;A38{Q^TP4>3GlD*Ribbo zwp~P@#CD1p%MiD5KlXDZ2`MwXs)9&MGC^Q30xFzJsA_WTd4L{KWc2P>?!u3 z?+`DBCY#Phy1w`BVQ_j=1qUIpyiMdUvne_^efMABQ*=PhATNm?lzYfr+wXlwJ#d6Y zK>>=$behED73jNc!brx$QE*mPHme=uB>|*Azvn4lg_D8t1*#r^^E+?0`S}aNnkaJq zn>mw66fBAgy%i~=3+c+f3H9VbbxTufl1&9 z1#BEU@&oq&d^!iH9-UOEe~@hRfpf`RY%QAL{KMSv1jI8^hjGdRYNEfBMXETyj}^zW zMp)y*COJ1(pmdbi(i7a|i+XBf@I+x6k*esPkaD{LyMMjd%E!XH<1T9^AWY%xcUA4I|e>${0vudj6ifq}1#)=o-?Gb;WMg z{Q%dT9R-)5eh3}IUtzxmi3NgVainK-c$hq58$|)_)`^tWN&&)yg%G`*+f5#4Arv~J zk7zcdkE~oaov5fllfas+H#iEy=BYsqq!=)>hLxPK-CUNmI1#K*f^hZcQ?I6$D*ET; zh0D+JUI!dMuZrsKJ$OPnYxH$i-G;vnGu}28?8O$OF4@TX zeb%)H@zTJU;@#y`o%}0-&i(;)4Ut3U6SdRNhbA)gn`Y>jm*J>vcN?*lbDDb@ zs<>LNp<+@N!m?~T5I#?g+yS|Wb>INj4md($5iB+vw`So{Ab5+01t#|YQdKv0Oo26; zO9z0Fs7GEZWxNiSY(Oa=4+>bpdVF1qu@$;hd~7|LT=`9|TqAtrC?mLsjk{rNW9kT& zj?noO-7MxHS-|ZsJXC;0^||ALMGrZW4aGPALIDgTgVE?4 zWh(J$R>L0*_3o!wRWA{b8>Cc7^qd<7z&7_6MmZ`Xy$(RvsSh=nTQ4#OQw7Hqb>SHA z`xNIP`#BNwk({20cKiWh{R)eTeNZ3lHs^!k`I_xR!oQ%rdmF}feqty=54s`57i%(T z0NDFMhS^ZteXPuoW`t|}0w&sXJX)}-WxC~b;`Bk{*fIq$B0~E1yAdG3u8wnV%KZ%u z8W|+thbApgJ}}nlljw_j>tPvFa1B2Ny8!XrbzJZJPI^CU;BUV#iS}q^tlMdkr^`Ji z5+Pp4_3AezqY+x>=``1GUj?VGal~deX_xqXKaXayQb}k|nIpUVdfhFWY$dZNXXGfW zxI*q+aR|}Za9UVN|3#j=N!i&q@wF+MuW>7gEj><+HDeFhCu9NcV@?b$^e?{b>sCqG z0X!z|jq)_Bd^aR<6Q$6GGJyBeEB|n@(ROLpZEk_sks)eneuEnHo4f32mNLJu1J8Xi zb?ZsQ4+DOQVr+xPwuA%%;>NOB=Ah_cm;#upZI?8k@r7d!cnyST*cnrW>z?QZwnD)c zGB}^1Pe!12Uj(4@uoK?P)y0E*KdSOMc_ zoiIPhZE{8_`8R)19TFoFlHrVDDM(L6EcOuzkyV=A25raHl48hdqIu|;`CstxMSfz9 z+7~Q98H6X`N6X*Hm`(>oAq8+>wd62VPuFqTk}^lq?$ozM{V7_VIM;#E)4&l|C1D{q zpmCxRz9xg3;Xhio=(90evT^P$FS3ra*yruG(l^%!ovYQXfBuke-d2-jdjw!teb$x; zMS-48yM9VzNDK)Ik9qR_=8i7FjzQOtqXSPBG1+{-(?eK{I?;Fga;FmNA|2~{kQEL^E#9Hs`lhYL?7 zbl+ikRM`X08JUW=is)kk=;NUasPX_voK=ID1jCyqL$1yEYUY;c0RZiR*$Xlkc~-E- zeTD>d%OyBs5l)%aTAPcsUqgavFn7;A^9!Hwd1%JH?UgKkDwsn`V56Y030*;Ok`*2E z#IOTMm;J(Isby>IW_8H`E`k?0>?_LHe zN`G$9eD81m!k3J%rbxx7YrZt8!+J_1bB=f`z-N2kxFvcv+B%*NCD#jDRwx+(ce%MM zoEtrftF{p~c=Ye8ytW%}Fd3>aspljlyD9O5D7}+`l_g}(`@Z1?b>jP4o*Bb;f&+H` zt!kU@wX3^hQCB$O&1Cveq&$Eo(drGhqRGDJe+8^3t8+!zCt|I!aH&VIPc)e9ewf5g zLg1jTFP;nGLi~%F;I;F5Rc6p!0-XbhcRu_E06b0q4)}F=){x{~B=-GhlpCd{;1{O{he|HGw2u{;JXY6Ua(nBx{$o(FR^Zq~ zQl$YpHul=*f>Prz*HZPvuSD*6`fCHU;?MF;Xw9Df6$(@$E5~Xv2X?vy%EINBJO`~8 zx&@xc2f5SQXP?SFU1^{MTtFG5976hFA&buDb`$DUYKlz&J}aaG__$d0po;IO#%jjx zwdmD%G*}#)9H^R1n$@V1>vdIu1x{!opA}#J&MSEVY~|Fr^_m~7H}MJNXJHQ?FERL- z1}tbc;)CBkhEXSKgn}|p?19`Upxgfr&OV+1x=c0Fhporf1W!Ma^=9 z1VAi0PFwI9DOKPL8@xVYfjt%%D z!Dyz9uF!1%K$DDE-nfP+su{-X&=mrZm$b8}ujihF`=QWGKba?di1M(SZRh+=NdscX9dT-N`Y}rfn(Cr@^v-*6D<+IT!N~7Z|({g|C{DMk5 zmfO2zhFo}bf3rA=ZAG<(hPrk_!Wt>dm$j^v(*V!K!QnjIiU6>#;0`4LA7)M}bmqU$ zVB^{`l@Pm_J;18sLkfW^C-FnFh2lPPI3nPmc0hJj+!8e$2FTs zQW`axFNGV+6lu5W+x$QWs)y0@Ps(f=<_-8Y?<5%6TRzKtcd?5TvW?by`2<4xt(CR7 zf~T=pb9ca!t_YIAe4AL$jnBAS5hxZh9w%!;FTzZKY*@!C%%hj7xX6)@0_^J)TG>+g z{Ytf5Tz?!Iaa3qCM5(m?0!>N1`sB}JAe3wtXD_-?!%z$YOZQr1KklJaXK=3JU9diD z*z;Cb6#fMOC2|H^M5qbLlpjY_HVkBfs{Qz$hHn5{QZ=rLfqcUrI09LMJrIjwfB>?e zG+kgu`~cC@fhya$3?)_zz-&m2CW3;5)4#y8{n-if1!&H)AxusMb#rVvc8%P-D?;o@ z`-pqglSBm+X99NhmzW&S4wgfifg+N1D4+tH*wnrW9gUrT{X9MfH(;$soc#lMBbS>= z-s0*3&&^C^MP56*L~Yg${p(v=vYmzUzx%R@PJFRjteB1#Wu4A z-u6St2yJ%kM5B@^8=(leDs3J>14+2(o6P=sivnFheu{UXY2yQC)E{28+{YLHWUtzK zb!aLeLm8tGX#0s@w*R1MDO4^Hn04Tm0*tL3U*^&1>5rd3{c*uaSCWiO8$NjHZyona z?jId(&{bt9n$}Y{0e}n#NcbiDr4_xGJFFgG`yMSbl6khvLlXn|6c2dW*=g{Gv)fAS zq12OfbsrU=_g}rICLFyirx zTux9leRY4n^}#N3&(9`o{r*-oUCUNFmaA2T^|3DM@?Y zZkB0Hzj1ltH&!6Aj&n*kSg4JTC5aYdW5J^P$tY1JXMj6YUQ!h2iy2aK!YR8>2_f~( zoCzEOCFK)j>?ly^?AeI&mDV8qRcR4bVIG)SPdOX&=!p?<0+j| zKQ^;!LodG@1&1Hf!Ae=#hj*RX-GK>h?bZRWi@cW``40;!@H!2&68H}5Zc-sb0x354 zTPjfP@8of~CVzL+c2sPoXm$Wai-Xx*)Ii!iKNgMNS0=W5=jUWd?Yx=TlG30R*VAGs zKJVTXLm8VIMKP0j=D-WKDrj+bH&VBps|Adh>VaZJND; z=rSG_?54$Q^6M{10fcruZ&^ZX$yKbbXR+@U^XJ^{=ze6+tQ)76nz~Q;H zBp|@esrzdo$fIxQ@4Tn9W_70cHFi&bYeF4;v*dI=DPgz^K;tX6I=#W?0m@8Y8PE$N zf=jZ=`N&uLA?77&+%t2O`;aR98=WQRA|%?s%OY6aZv5Y5GC+2x1CqYGVGB&Uv&w|G zlrjV18eq)cCIUskqM1{Z%EmB9u)b8o0ejE0L5BRF-L6=pP_jXaOZ=|qr^ZcMMP&xV zl@pOlb+<e1}>?5|-Kkr`XyG4jYHu$V$dk!}5i%GJXc#{rixGpg(epH+XcE*SP`8}taK|;pQ z4crU))XLKp;d+PF(;X*@;Qr#1xZpdi043V0MUl_`4bj`y17k29?>vG8fP*0?gPy7Q zCi59`YojWk_Tg;Lydx9{JxicnDxa^l;&b%dpLAIVIHuTRTA+IIUbCx(?6sZEuQ{G)GO7lfq|hCrl>=bnjUDh!SST^_tUeIibJ5UD%Qrw^x(% zSH%+IUANOKj@<>|h~KiYA_9+=OOu>@#jw~x9|lUotuM2g)>47a0f{o99yZ>2xv@V5 zy#rOazzKS92PWg{AlpuJtpmm@q8cm=qCPQt={$)j&BJ1!BP%M=k5jAR*~tiz@w;3(pFyCo4nZ<+ue=2E_j{AlF9v46vusKvsZT|NMeGvN8rUW60p7; z1UrUMVN1Ym#L>RUnhl-u5SZN=Y^+LLz>mSjGT;DJgUuyYvA!#VK&Fy4aTHOYSNqpW2yTc7Gj= zs&>e%f4R8qS%09*SL@FPbA8;LE;N#$K14q`Xo1P&Agt`3^jTbvq9Zg1E>%Mig{HWgl7B*kc5z&(Jmv10+ChXR|wG| zo>imbhWv(<));TBK+aXu82Nkgu6S=0yDCMi1h!`!{>zbdEJ{Gpolpqtb|vno^D+5H zhNxO#qrmI0sYow^QA8Os%Ha0M*0^|e;B?V13mGwZfagSqloLRiTe|_AK{skIf_R|a z1J2&|TEm+e;O5!R#{5Y+l16de`9q^${PKO#D|oDPD869j4gBMITf=)^W8MD8d(Ku{ zhF%ob6q>vJOyBn4fThBCZA4|Nc+9SH$hg>CB|kAAvng>?0HZbEVrU@XIOKD>XFD3^ z`P%bEO&UW&yGx6B?)lZPma_!wLq!?wxEF?PSE>k`c)W&{X^hJ}`ye@vz!-!xaA_$SFRR-{h97sC=JAL^h@q%qMYOR|cC?RZ^UI{>FeH+OkSY2-Y4 zL8CRggM%?7!8Dh&p?Rp#lrFVE$4dUfiFNpXq@L6M?dOfU{y2!6{V;M5E`qKzI%K`@ zD4PpBjVk@5enOMLZJjsWJrQWf-}~XD{|ZrBR`8gC_$GX-asVSwdLb1ffR3}^N6|}; zLPG+EDnJGV7*-D=X2R?%c>Bl=7^WcGH-pYmywmBt-+1_rQC}I^HOpq8Nx=E|izVM& zGq)|Ju^{K}WK|XNje=*cQ$3%8&zJEeoby3zx4)V_#|{D*Xnm*F<1r z98Bs%t-^~HpdJ$J0xrNMr}XjOOrSm$cvEC7Arr(IQ{3Bsdjt;V3f`H}2*}Q#5#XeO z+hHO~&wt}sKiu-1hny#pukpV}&+GL}9!RA>Qg-BW;SZv4B~dVBPlIz0;XpSjws;B` z=37hY)ox1rHRBzHPpT2RW%J(Cg{kBcIBRCyz>Xc}+ngT!C3U`%qi@I;UU;T+yh3ds zL>*h_C#>YPluOG~hXFQj`!j?~4g{<1>F_FVxM{=3-&>6NUry2Gk8LqjhFiCr0Ky5U z^vK=OfxtiUa)l6ul5m4DTf7ID*KF8*8dtI&R~ZJ2B>>O`$~Rjqe{wswIDcS*IRN>1 zB})oa8arrRGKN5kCWG>({~XaL>@eI7hKDBawylgvBiEu#Fei8kjJ)B(2<igduh3N=FvHwZGJA*{(&mHI?@0 z<3*Of`U1x48^PaKOk2HV_N;ZSwvM;5IEKzO@q3N?Y6(#JD}5W2rkI}WW87tPB%jlD zCThfGB*7-M^6*{7x)^Kd$^l6Eh%4t)MkzynBLjcnVLK;?d9mne8N@VJA=+dRmiVah z9z#12l{__z26#j#p$6=4GTWlD<>Kdp@i{k%yJM}t4LjR_ea~vM8J8KGf!|P3kdByF z?_4+Co$W1W9Wbwt4~3+yUxXaVx8Ogf_;2eugW&0~|6T4?hn5NQ+;rt@fcN$9U{m@* z|LV&(ov8S()ma_vj|}}_V7UMt>xS7np6p?vkxOUH&{+(vxY4zP_OR}y@#59LO5c?K z#VU5P+4e1xY{^v@p~+?v`N3PqIqPj{*Gyb0o_q4G*L-{zDE%PQR&bh>kqRF6$rL36 zY>%-(X8Fz)Zspp`xxnD7farMnxydx8Rj?BT0xEj$hqz@V^9OLJ2H9b`JnPm^+;98nn zMOYnt^<|&Ex_RYO9}b_QIFxf7b^7>3EsesbRAU3}iqBZFlCh-K{!Ank=rS5R&g!f33F>A$+z&w#fywOhIZ#iazVsH=gOzv zNTj%?0IxEK8{OyERK(@`jN-32mhF79tQ!meLMmxSK@?tyJ1Uk1^Z}^?;V#Pu9|Ulm zAQwO-bbFI?F_uy@1>6(^+}7D|pG3{Y;|>a8E8Iot}$- zhoyKnE2jl0gnbDMPj-LdVvrx2O5A|!HEG346e#NenDSkG0>9~e@|B<){ z5~Y=#D?_j@vnkgfzz~3l6L1a8$wE-#%zu3$yNIl^9^Y3L;W9Ky04VOa3%L`if%v(2 zEehzl=!I`@mJgun8)MvluBm9CoLey@TXbz8Xml_-=#k05IZNS1(S*&iqEtq1h9W;> zV9AVWODw`}%t{NdiAnFem@`&$>mQwVpM$L>3qoTG)o=Q1p`Z+e)@DAYRg1}_Z#9*9 z{5$U4uMlBH;8!5Y&05}^KFs{ea^k_yKjY9VXf?SJhLh z&6vV#fjvl{96)%EC^wW$LeeU=guTiYPJys0Rm!9Y9R_Cup6>Kx;mip%#*Yk4J6uNG zOIW@`s70M~GbYf{`q9tYtM>8<>$mS$#`o+AD|jd}v8#6dMmz&z+Hv0!=;;;9WKsBb z$%X~G@U?Ul#<=;K;r z*M^ko6E~Oc26=Xm-6Zg=f}STULJwRYiz2HE;G)4CjA3sBf>Z?!bbLvwEEQBgoQ^Z- zM%zreTR#NRD!lfOJBn<*=kbgg1zMs6xw5Af@y9812cF6a)PWecj;D*V=-Z1hM*;bC z^{qJ10-01`HG6iqRkc2Pd)ma=cRIgZSkkra9D8kZ***pPy0h}X!dp_7wQpVIQ*X}7uA#c1iNSUL}I>1uy!!g|wg(?x?$~kzS zO2K}!n*;jv{s$Jn5C&Eac>EHflKg{UoT3^3edINxzy%cj7|N^I2w^@MRi*-WGGd$R z$@=oVCZ=C@Qp*&XyU3&bnOsSN)AwM>n@ZJ~KI_6inJcInD0To{>L%VeqvQpJ_X%G9 zEc0tp=DCjzo3@`P-1FeQ4y?YTP8*7--FB^9PubaZI3YP}bddKj?QtO#=Tf4u2zG3~ z6a5u9$w(#8%Ec(Wbi_NO7-0*DkDiReN3bpf zq2LG4ya^lii&x>6BF!q*Cm+&&R?$hUQpQmwcRvP6Ybuk@nW~#GcP}k&&q4xZF%ueF zV&uKW%-{vo1`Z8B405BzejD)@6Sqe2`)E<~q3UQHtH=(yv=3<|xXh^)I23XNcx207 zyCAOVsu!Dq6RXpvYE9pXb&6Bw&fH@2VB+cFHfAEH?7`aa>gJ&av*cmJsr16)?7-a+ zLLXQ&wrgw`^DF%|H<27ii>8VH))Sja>EFe-c7fv0BD}Z{#treH4nJ&XqKFGN@?%0D z9)>Jooe8UuSKzlQMmMa(r_X+RdD=AHxqs~5`KK7+TG;jDLRij1U|`aMh!5}M)^Q}f z_08X>rmx5S85-A*pO;t2C_p^F9{=akeby)P@Q$z1R{%X~C1=ytS3*~HRBNT*VaxIA zEW{^&9$rH^m7Aj~evkDLt?APE{UZWdOV%~I%S7djY z1FF=UIa6u%IQGi@8@RvYtPjyvw=)&Smj)-wy}J@`FZR=16=507m6!DA|J0UA?$ z9U)ED&HT%xTF1N_eK3nXgOGe12`J9>TgnV4Cd>1a-(L!~Vq;n8lX*?+wvp^<)Y zA6nru5+T+jdh5tJ1C)dl?~e1@6NIXIp{a;X6@XMh6=7iZAwRRVAnEQx@9A88Z>4W2 zIF-GbDe`c3Ncd5#r4oNPq9IT0utQhOyPW}56fHjr9(hl#RHo~RUxq{TaWOHE68L|h zuf9NENG+hTs0{3}fct&!r9L>pAAweq&{|;LH4SeUgR{kOfWzx#M2X_jv#U4!7?B?|=@=TlDm&{e@q$c1hCJk7> zzkzj-edppCpXLp#KONuWqp80oml(+dOk4sUB;_Qwl1QlP z{ksJWZP-6mWON+RNZb<@8XRT`?3&?i`HEb0{y|;Hys_ls6Ykv^%WoKbdglABlisr` zQ}1&!@i|>TUeG2;y!<_ouDheRmSe@x#3B_aYuOV;V|H3#Dg({@ehfk@^xhh1-up?J zfOh{qXTTjFgoZDa;2?KZQG$p-2_kS+--%*Qb|vd7@h~R;zPXY`SN=IwSVyNPMQg~V zwyMOG#^fu@R66RfsueCqlU21WdY0Fte=K1!W@e>Y%D3sm%66sC+3EoSSJ`}5^`m!A z)Cp{*qEZ$WR-#;P4qJ{^$+EuV1I=`K$3e)p{ZxftNVOxz$mG;=o<6tTTe?X0`LFqq z*4WsCj02HnMuf*fVUP3)8R}(Tyw3*mdBbKYf6fXDT-8^>MAp%Bp;rw5nmvoW>xTO3 zE%y&JDjX;Zu6pX^U#VQRh>^rhO2GZ8$Y*fBOziD|Dlzq6DFGh7>`yGWrCnoMZup*S2MdjWv~BzT=~0h!L0viA<*+%m`JFL?P6+6_b%%`vIVLTmAHe$ zV;9?NCIbQ`b|d_!iR)*h`0BW%Y7^dXiaPz~i}Tq_^sXFS({H*M-i;$nxAh@6Zd4aU z7r+x=SvTK?Ke@^NxE9G~)o}ZQPt^p|E=pK(27`L>M7VQwsS<)JRy{3QchU zdE6pZ!AA!~s{yRs6@1I_#b)O(wW32j15u-lbZ*hdqOoOf1fjGG%NXNa*?J;?$s<=0 z(OSP+!Aa?F5<&FxQsSN@!Odxcf1o2im(w_97KGWT&N)Ip;#1;dlxI|6YN%N3m!NsB z2G0OGiEq#l1+!*y8}nA!&e;^BUT1^f^a2hn?w&u*6b|UV!_tbL zgdoc9t^HxGM>8`KB@YP?tPBY1`{acUsJe2L=@coOIXr83V}m|!!0VC8>0s;bQE3NM zR>?!9?}FulJ_MnQc}X`s-{yCeOxyU0QQc6|nX`RZ#|h`1kB!P)QTO79rvJ zJ9@W;&0~$#DK09%1gL}$bqR7h;)BIGLjhQgqSacwbY7|5bHS}?f?Kz$Kh*wlt;HcZ ztW?d0=u7M`6?_PSA7!mg{>;FJCPL zHmY)RV2&@T^;Z5{t|P{Z3vL_zP8N>3tfA6KXG5>;XNZbm8DQ^8?KfLqsvOXevS*%E zA-H%I#b2ZZx(@ees`}c&DaUjr5GpvO10%q#^^7jxj91FmNafW^HeK;1Z2n0WR7)9k zMdGh1I%Zj}Mb%Txem7g)w83imOqIdv>Z1Qtdu4ylviiY+C+-FuQ{?f!#moCk4df}h zih8hQ>ptGeYY9F*L6pw4Y~?C_ep-Em=V|>rz!E;ee5=g+gA_@o8|1-`Q;7okwr}a( zoXH;o2WIaIs0*r%#alC{FQ5+J*YIF}+zil0iTPO~NXVHb(*vITiL};@6(5Yd51ARB z`KMl%T6X;9#SQ12i-5^%WSm*^iQDt~2Kz-fC+x2DIUzBBBHLMQwW8&>MQvgCP6O<6 z$p0TpAxloCs!6w`O=Kr^`NtUl22OV?y`8G$oZZln^IK--X#n(q>w4TR@H$@Vd<0yV zmFl{bfF`)Opb<=i?(S(piAiVf|M3(x{q+YAoE>kzLb!xACX2I4;C86pW z-7`|ot+^Coe(oYvT$9bo+Zwlm*)tY|-%NjZ<8jNqb*tzn+6YY1aQ2%yyow=Xqzmp` zzqxbe)pPqluK;rHA#c0x1mfaZ7n9%m|B;V8ADzEF7 z5Hi!O=T(~~owK&U)qar^-G9e@;?zCPZIT!z=(UgSlrxqE4f>pqKb#4Io9TBDf?+r) zUcP0R8KqdtdFV0m4B>>8iA}O=UbYai8L4sU1di38{ZN`+xyt)CQ9{-QLR zxvSH0`HrzZ(B3-4V9U{Nmp~oouo`RK@@K6nKpd@bPsK|IW;769f7~~`<~yKz4h6im z^eDg1Bdk=>9x~c-^ZSs%Yy9WUDGu>md1Sw7p`s=jv?HhV7Bd_-au%~7tGn8)+ zr3qpTBf)jXE&k%OJ@e^_lZ%|&Ko^zotM8tRK$lVM4w?dhb8!>O3q=<8fp6V!} zL%HoU{fmK019L&GZ7(2N%$#5Qj+9A53$izpCwUi(?oGTI>oHy9#Q`a{DydA0#R=JP zOM*V7sc*wn2wvR!ezdMX@N!h3xe;-kRhcp8rq+a-R%fkGE$$X@euwLz*hI$rhB`?AP5FkQisIKa1Xzqvu-7m`oW+?Cw-i1a1-dNxY%^5#Bno z7k>(JjcT92eO39Gm{62&9QYS-<`lV~+(=*Tq-dRJqjRNuS&>l1DO}jlHp_K9sNPrW z$&I5wD5q|X<vaer_Mg2udZ1ey1whwD5}kV& zd4jjgGCy2e$(J)MOgK1@=dg+>YcXB@PuDcImY*80gOAvNtU;c#hNmRzp zoCHdW81s8HHq``Ef(t!{I`FU)bDe->1;jQHuue&j_m(_(Z0UU8%TqlmB7rtxBq0+S z3SQ73yWF{Eon<+p@()!Y3I>Qe`?$2CEtb_M&LUF*ED-cq3y6wGm0;h)v!|1yF2(fz zZCRnOyzuzM4&jr~maEk!QDVpF=&wOupi4nmtF;-rd;!)nK`zW(c|i-UR-N1sr0%7`wS#UEzPSbDGUiNn_Or=9i_%k}(Unw=+(jH&<6Tm8Q^ zft%v(<@Dbl>LE!a?4C!DIkMeIn$=dVV9mJ6#kbFv;G(1lYN?j&@brWGd96@;``A*F z?>hAN%pRlhxhfHKJ|pA@yBa@UXI`e`(!bQra#uv8AoyL8XXY1V9ScObs#33UjVT$5 zpvQS!RrUR4@MaR)J?`=2pB=Re`?$W+ilT`Gmq|y`o6NAYx7*@JpW?6o8i+J zi#Ck-g(W-t&=h4vWoO-`joFaRK^`HXHb~`84QQt{E2Q+RJ00=FFDFb5d8(FJE$Z~E z&JIY|$6w*M>eOJ`UZVH(3raSvt&Q%pahcC%S72msQO7PAMahXa2QhW{Kk^JN8ftHSvU14>0H4V|& z7(=?nwUsP28rkV+lD(9@v1>fh)6!A23n)Bpt<46S@3yj> zO;fMk{+PTp+rvbnB5HGjF0KHt-ln_CT=YS@oc(eGgmHj%U}}%Ypy9J^+E*W;Ba087ngq@~ z$AeDnFWxR~D+g6TJI}7Uybd>h`|LR8+p=5Ue3oFqDYa2S+HY@ORG}o3qd&HfVXgUH zM#{RYQp{a7>*S7-*{9VuJ{u*guLj-40-pFAUj6z5I%3q506_jDB^O|rqzJ>T&F}A8 zJ`;RkM`j}XB;L*Ay=#eKj zuzKN1WSDM3y~A@(&>l+A?s-%Ux(+digBQXnhb}@9ZJ~KC48z`uIPjLO#9*Bh_dC89 z;Tp%Y;ZFxQb|n-ytm4%kKMn$!)T@baE-Y=E+n2MhZAhm)gtc6xyFovhT>UyE1{L1L zyEH!hG9&h0)%}hWJF|+95{k7{^OE#B(mqCP#xC?3j`ri< zTy)M|%JhlI6|R3w1Je?Q3T-ULc7=Yye8aMiJGp)p=nU0llE0^^I|XO9vT6=DRsOd* z)i+d5&FLTibCLg-&*XW?`S9%9JO1b6e`er+X5jzB83;T&6N7k7b;NY_b=A|rzd!ca L?9SMA=I{RnLeAWn literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/user_guide/04_chip_complex_syntax_error.png b/web-ide-main/web/public/user_guide/04_chip_complex_syntax_error.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3f4e53805cb4a38c46eede3a82ca68c947b159 GIT binary patch literal 925882 zcmeFYc|26_`#&y}BBn*zjgm+qd4+7F6v{4ziU}bvBq4-3l}gqjBw0o%w8;`>8?rAM zTh=mV8_O_eEMv^fIo~s?_viine*gac^Lu>VP3O#+`@YY)@B6y1>v=t|>qJ_b8wv7@ z^K)@=37$1RZOz5Se~pW4tK`-#@D;<}?Go^XcOC`?mS+tNWGrv_xOsTFa&Z|)Ca3UO zo}bx!7YgZ>P}(u`V3c=;H-6VCfiv+!>Zf+eB<(oAL1ce7h}Mjmt8!&Usi+V@(P zimu+igg6PVqg`7LaNXsPIJ{F;cK@lJTh6aiXuqWIHqCpdQLjKC1njvWjsCKkD@tE8 zRsNUTzEH_-`jrGbey-PhsS+v)QB9wBI|Zor$b6ysnrBSV$J2G{uCq>?`X3N*a^PCL zCS;V(&o#tN?e+UqU@U!W$CuluGW8$dRQ}>Ga z$hB?eiJKcuRc*hVOLvxTRypmf?q@zNoVS&GFiOYz_OkGj9B6g^NN1c)-?^P7&(3%3 zv=~TsZBSr&gqH0GFqizl3zN1wlT3>a$SPjbdh~KJ+BG2xWPH&l&QxrQ8Y(#eq}tYA zOizAwhVPIY$&^kIIhN;lZfs9Abqxdds;Wi>CG^=^nIwt5cuaENqR4uZuFzE-K^)fN(y@q%jm=13-Av^DX}pW8;gtujk$a+z z&U158*!Ey&>hg+m>z`K+a`3;7av zwyx-hcU_(qh`HbTLF+AFT3yN2EgcUGeqImSl+Lg6Xz3SsknELB1GRj=+}3nLrD_D) zf7vc><O3L^n}YI7Ycid_2y{WlXi;ncTBerYGEx zueSMZ^AqWfVBBqV_OSDNdsuyI+Fi3|<;EMe3$^Ob1gFZP>cO3oLU|8Mnu5o^_)4Y= z+ddwN(|)WSUHNdXKI}{4;+7!3P%gclDh-8oDdUKrgr7dYnA9BJJ@*gQW$ZBjxs$e4 z?m_hf^)G^_kWNYY=l+quvnwZZrr}!yzcUYY7j+v|D)RKP{ht%2p77>g$mQ>G>e*wB zm{GHj^*ZC0KuUC-h@D_h_)SDi1Pb#v#*7)9%{4wGaVQ{3Ajv(+;+&1#Wx29l79KCH zldVg7lwJyM^}k zbuV{Mc<%L3|9A8oEBnjAls4sePZy|mKXXcVzT)=%hK`r>)m?7I z9l4_u35V*EoSwT?d@ZeC&Pn}jpFX5jvbSWDpP64-a7}PEW4A!m!}3PwXz^(6r*o`m5u4D&4z9-84-y?M|BX<>%h{ z^Wr0WM+Qnv-Q+rlb>6u22Wq=lnpRfd#?F5uhtCfTmJi_rKHU1LWpm=YZ?5JR&G-IZ z0iom9<{JWsXO?SIXC89Py!KWYO z{Y*()Nu>|MZ{A*ex|p|fYG<^pd1qs1?6b?q>1T4oCW>3)6#nhY&gZd0W{2gNWFwpH z8d{u(U6Nf$&Has-n5F2$v5C!uD6}-7ds6#keAn~GCNXB;Q#6kefYJWou%!%=NGHC$ zHuU7e{Wk(1MckBis*Qtpx_1{HFtxtYb1%0r{ieB~`+?MqD;YW+uD<2IXliJXYt_jb zd3+KPHKYK2_D(XZO?bi9pgciHfd=JLIyoP(b2%q&8=98ps)Q5C=?Ck33! zKiILuv7?{R`E_BheKh|WTH``=xw7=$h{yD^GOgTa-`Ggm$7{LnEk<6`J>hub!U^2d z2IUh^-#kCuG2c_&43E5n_Kllvu+<5Zl!_14D z-@kS+yOL3~K5+cD=edC@v_yH?JN?3|7fwqbTSP>7#*!M`3D56aUI zN?%=h#a=*+kTvM98sS8vE}maOO+P9xa&Sk*FCj7LT*8a>d#-uJ8qtmzAy8TrrK?F zh}?3b`}2#X0#e9`$VXJo4&Ya3<7bgd<%d@)Zk_l^dnn}AJajnI*4!Zge`id5{8D>B z%G}qC&I~iW7Bt*9+4C*5e#LOktUS&8M@c2&JFO-FEF;dh2Mz|lCuaDSGaWms`RF8K z3hJk>XwWmp;@6yXqa3WQZk^7dJFjV_tki{)=fop`XHsR01$}MBUk`f+{FE}noDFQH zpqc!RmX1kuiRA%7&F$&p+eNDww?^A*Y_n~13?2gcpcQ*~Y=w#n1Idzc$b}GDjN0n$ zdhK_COrmzR4>D3Tcy-@g{d9A-#U# zU6q5pZ*uzK(h1UnPrY6Jon(T%y>9qv1?leJsG$X)b1tjwm)WS|@2R`r&dgHAz~`2$ zjJons<)i!c_+?~dbZ%X9)3QEo_@_DiO?UrwfB&0WDk_12fy#ku%09Q;Ra8%$IH7X% zn98wZN^lJ&zu+7GPC-gH{A7Q3^0%MUu6{1JJZ}1X_}q};^y}p86X37Ae?R9&|M~m< zoUTD0|8u7set(7q4^V~ki;Al9QI-Gn4L8-{T-CDl2y*qZKkeZS&l!9Vy<``v5^BMb1KHj)e zCKRy!OVjPyfc!q~rs?#AUz&^hG&!KjrQuqE{Y?Q#ZmTr)EaWC-Pbm-h%+~nVY*n7A zJ(9>G6sz<_zB~x!{OEwDfWXG0Mr0#$@Nq!ZM`cf=(s#qdEbQYWszcU^kd+S&#lW!$ z&WO^T3?j=1EMIex@_E<3ZZ&U6wI!k!^BRc@kH>txzua%xT#s1&8OL7)&PoTA*$0Na?mhX0 zo?6UTwfsW*64t$X{Mg=rR=#(Y)LnUtIO<8;9{gs3MLSBtD)Ii=RniAt^xU~s4Jh1v z0&q{OC=+22?KPrMdvTXpMOUp@MGfM^QDcRh6F=%IfzRl171pc^8^s=eHbHJrpa7=; zX0GsDwr5qt)vFtxFC>pqIMokQHMNq6rGElNJR(bBwqlm9k@eDl;@51tGpm=1ZTt~;2Y0Uhe*1_N#N z7{3ZfQ(s%m5P$Lb!s3z0uGY>UaGU@ZKa`-lpI(wK5?g|2y0F4|7Sjf=j?v|ldQc)n z9T!`@Zxo_B8&!4yD!E!J5DhQJK=t2BY3KByH0UcdcGewl#j;|(#7la=tg+D*8)*uq z+EP<0oL}qh0rmi~W%oJXZK)!TAJ+tcx*WWy_rsdg=}l#-Xt>#n_s?EiG$IiP!K+xq zeK#$(e)6Cc_+>~-@OJH%meeC$|DHFt$qF&U+Y&N;^k$a1_zJ=I?7k7n!;D`z@FP^Z zyOMl%)x9iZ*!0{GF_=K^5eeI_SzyaRcC|pSB^F+eVL7GIe4#jxK^(gMubRRnu!J9s zbzq)BhGz-`M?yC1G&EHw!6TUhM6`?AGbex|$uOYL4W4tOjWVDNIK@27PynxZ$pt-* zEh}9sfs0=e=hjsDr#Wlq)3)tx#QiRntcR+5Z;$!LpzH%Tkbw5iTK#_yuoH)PZTiJ- zju`3&OAi}M)w66q$~DL1XqxJ#t8xhBKePit(`m0-6PWG+OWinud=EJFFQg6@2qP4IjM# zi)V(V1`Vz=?*VE+(aO^X9fZ9uMK5MeK>7!t&GJRE2y;s?usefAdAobo5U%q^moo?5 zo5LP6hMbS6+k~}3(yQ-&9=JVGx2+9Qu1JJ30#5yCf$MyP=aQvTk%dr2U5;sd^jd{M ztgqRV-Vmpwd6Gdq6G+3CnCDBl&jX}xCS!2_-BV|Ma2y?Jt86kQKs&@XpAC)l= z!Zu9;?viVV4i0ahQ@{qmE8+tS0`d1l!PPaOjfYxRU=V}Pu(#ja@yTXu%*pT5AM78* zjcnEpmgm7$O?mWW4L$0PQ0TRFWL!4^??-=%L==eLzpxhm<^Djvc3*UwW|YJF0Bp1* zM>WVI*S{MqNYHl{glrupBNQZ?c6J2G`0h3;%1H;Mn!E)Dr8*iczc;ADrtfn^R|=U> z<@sHOj94oD;Y2f-?tqq_}!cQ?cG zK$1RXTa3#3Ku+Ot&|Fy=|@f zK!eTmuwFAtYUMvYNCcg{3P0t+xEVB)p!?wcH9+5KNM(HV#c0^L-mXfr#VXyGjv`~H zcb?=5-|KLL_vS@bu)|||YdvmA>O90!t}3<9EY@aB3t;1XC*)OT6yBMDPC8+TF%b~% zQiYkLTN}4f+&e^MA+(-A8T95)=oXVkq}ncLYgWKu=3YQ*6!llvW&PO{jrX zjS5Rvm?lPM_@Dj*XqF(qz(LMt$U)7sdB2GEj)--PmzP^l_sU;Z5o{{Xg$m%xMaW7Zb$JS6-ZSJKpvAgleqT z&u68*TZYWhv->9Boe#f0+3~&IVlELiE)GUxUdYW5tICIgAsm@P)}W!(gw{G)l=}~B zoK2%qZc?h9&$};SE}>zo*jRH2JOcLNo#jej{vJ{Z(H{_oZN^@J5OTjdt5CFej56l4 z`j`}BfB7k{pYy=?esG3Tzs7&~h04svpqj}VKad$HEqHT3qn{>W8*OLR&T0bz;4JGK zqt{Qp|5gW~zXS(E8G7v9I?=cRl<(Ip7Q=1iNaCr*VRLC3K{u@@MSbMgy?%DmCN!;l zhd1yz@%Y#|vA13#=n*rHLe}U*EN{6qXU6nt+MHgDQrpY2v3T44-g3*~k#8y^W+kX0 zq`v`M-zV$i=rzFYO6?)0noFIv!JZVo)ww2XK27CLN3bx$Y&PaAgwU@S+EFAWso%B3dv@2~9 zMXv4FI^dWke=#uY`%{k;_aC+~y{Mg+KkSlF^@a$8Zv%{faGxyNW!ARQu4xAMSjjFj z_Sq{SS~+rCe!=C5<~!{(#QRoE%7?g5&BZA4)70-4&f}SF;5DH1en6>v~gY|uw&7+8=CaPAYKxm3F{TeNBM5yOC*5X%etYL_oDYXa+%93?CH zCiW@J+j1{tu#q&)5?-)-xFMXFK!8D5E9VAsvkmaZ#I8J@m!-5ANVkCcF_*mIzk2|AC@YTA?`bg2N_}C6^G` zW^lkB#|o|8AHyc%QOHT7I)pg;O;ukSa-`KAD8UaA$tq|00*tyIn&W`^5 zGYR&PU{H@Jli9e*5j|mIK5?RR$F)>e5cV;fCl>ssZM4x5t{;*d0TyR)0QufW1HL^unG6b8Z}0OJLdbAEc2WW6#mMMz0+*p{-Vm$5piD6 zPs_Y!E`3nw9WLNQ=gN8k$>Qj^okzqKwc@5bL=#&1QK{*#`M@tcdE6Iz3C!a+#_p#H zwm^Gf?IRVZ7L9V3uwsSTsb~R5NcQG3nU}SJ4w5S7Hmp(}{&=7TD6eKO1(GP8#0q8V2T!hLHo+=5<_MUK|R!>89BU_D<2Ksmu}Ac!GFN#N)eBOFQ!7r?t0!U^IUv zzmk7xR)3Oz=msj-5VIEAoEvv9!9H=kg|aptB>KK2sqo0uEooYY_PDGkYt32eP!g+T z0KbTmOwR?{n^CJ*m`Gta&i?q2vapR7uWmyO6Nfy}O|8%*w1i?H0Y!m z<~#uCDKt-4nHIA7{PUZN_! zLc_A>wT~mOV01hgTgp2&1-IpqzrP}%)D4i_B}41HT(7$7t}}4;9O^Oc6F3op(o&tZ zSTE-l9P5F>*)@PF1MfT^*pnHMR1*e9rBJ&p!~)Z92$C|^$0(CAy^Qf2>_eb3=!VwM zKuy`@EZLF@JJBU(zafJW3E>>xi4JTgWZ<=cI}7R=x}+Erj_hX^F~OVVY+;F2Qxc&Q z*YN!JX2{HW+({&bfYL5y-O!HmlcgbGBTz4kTZwbhD)Ne?i9)TYRV34nppCa>tfskl z5&TZx71@)a!tJ%aHP%2eAuwlA?`K}8*}u4g*`NEfC1SK_ddp(X60Y@gcDX$*KziuN z;IoOD=I|IRJ-?sX2Se$yL@he0+M=!5IDeL9__r5mdTL-)7DK)4Sb^&MO(wGUvRAVMsnx4_{ zlH!AHrW=hec`PGQv*nkpud~^aa3Es5&g0$Z01(NNLverqree&Rr-D%b_T}Gt%C1wGvs}AP^mCvFN19Uh61~_~3vRZ+`oXCDJqab~ z12<$IHE6_9c~+9V=UB%nslWZD&azEuU9i7Ia@7H5DT{uiz1ij{BepWcS6IYTmGmpz z_>c?IE3G)Fd;Hm3L65Prr3CZu za9KBwPu$g#bnw7SqQ`{x-a~9LESQuk;!4Za+2N|3bP4~|CryHpyK-3NkMGY1TUsB` zom#>`XLH>A!Z8aMFRxQnI?d|-5_S;Ag8?~91CmBNEsAYrXz?UhuYWm``rGA8cOn1P z->cdH5m~m+1rI&Dx)}2f9$6p}xeopus-UPudy|>xiMS83VZabEvL5=}bGK!Ar?D-HQEf}ia#!YI_mt4!R|Ti((OfDrS`xh9^%ajJ zRc$WLwnS@03F501D+XC70~-oloQ=+l{>_%(UYbl#*AndhA+bZRf_ zeF)h=!tiQ(j$hjA@)g7-JwGWDm^FzaugK%+IM5|bI*#oDaZt^MB@;ngvKT=bC>q3o zSOAEEa1a3!frOzw&`!jn!!Tvx)$}9kSPqT-V`T!O0Sr6~4XQvXQ2RzLG5Yhp&|WCS zagmjiA&P%t9caIR{G1tb0!p7`t4u_X=z%H06j_{a4)e7BWDUVddT!yWLY#tDum&zT zc8e=*v5v>e9d&;8>xjAi7pGu>OM1f{g_BqzbH;MSk;4(fw~ovuTeP{hk57ykqBTnW ztVe5TlYku!xw@W+nscTA!=}4+r`ajsOJMp6)2EU>4D8;H=z-jUV${ZR%R@Ze(_IU9B9I^-5kjm0hro)=uQyqjAC z;}*~4oxYp0&Xg)rk)03y5>VIK=cWA~9;w94dFPNX<%ipe1Yn>N@||Br zSns|QPlK%|v9}7atNM3Ec4SCz(wlyBQ?ZEuYg3ZVSdrPoSE%t%2|x5#Ka#b@8G)^N zLXMNN5n7W&Q<|^b<$x>W2W}r8h)!`yyJbc&(HobCepN$@78`OMG5LG-EnsY3B3Tys zF}Bhy8c*^|Bq?<&$GcizZ}1#ocEWbXoM^0}5YW#-cwA7)i8*K}OAZ2?lM&p`H3 zKh+eOF`*%DMGl!riChweoRPeZ8}cTj5~wpQ$nVSSk+LT*nBr@{2Ca9T0{4(FwHLk6m+$Q z86=W62`3?V9}anbEX1g1sx4xXJfFG&H~4XRz7A!e)1ny(Lly=7O8Hf9W=?evO8 z30>$l6b3r@`3@VHtdAAC zF3aHyWp3Y(dC?NMK_++(?fwIT=2_KbM3@nYB3JeWo4La1RsE*xs}XjE$|vGH#P=C< zEvoX6U#)HYDVI?1RGZAAAF5ucHb_gIwYtxBzFT!Gm$knR_ZF?21y@}V$yhC#;<2g; zt4p&du0BDISXnk7c!=#=53nDNoV@!pq3NqoA+3M}u|BKnO8Xm~h|_MnOz@k%bJUjB z6Wr=8MvYPDS#x}5EQ<=zX9r$-!K*`m^W*AYY{%?jX)#55z1qNLkxGSY$N3N zz@CL>VTEG)815(kz{F@G8D?4Dz?hNn+nVAahQ#F%`!Phe8~MI_+Y0?rfEXsY)r6Ue zs-46v;Pz1tFghMSix74kN4B-$io310a$WNOhx@0RVsE~UCt2Zgv*GzeXRS;%aOYl+ znVVg{k0{2Fv8n@u@mdF2J(u)oNpn?)mSQA&!B=faCNVmc)UL^F31lxm`C~i9o+V0MFJ`rmdF^*RoCf5T`_0qmDc z!4UY4;u8jNB6IA$*8kCtMJ$4m$Rrbi$2RG?ya{fq@;l%P4I3(UyC3ideL)-;ryCb? zk%krL``o7eF0`qXaCQz!RRH)l)kX`+${bV_c{j07V_UGsA=bpakpv^4I;zu7)WI6r z7JsWl`=G=FmdE6hMN*}zu^6uCA6`#J>DkgB(V^>WZzt8j;C6Qq4g_q4>eo4Oo?;Zq z6DomCHoR~mQVO5~C`#b0+D0KU*e^C>GMuofv^?5g zv64MNOKlbnI{zqzn*5UG+nJX@2x^9RZOhLS2u4Q$n(=<+$N(VDK!mVcQ6X#!n}UaW z@XM69Yzt-~ySxx0Y#20miH$uwMEpSlSYOX*K~ul68&WT=nR08Ix2#U9r(_*`#=d;B z^RK{D#ynXWrl5P>0oZC-u>zJU#3HeuB?Jnd6F1Q%{f?cYN7qKeLdD3?L}nS$rn4Q& zYR+2$eohUA+vqe?P))y@8=lgA+^^#RN5%Do}1UV;sGrK-w-=e;~ z&84Js>G`(5Y_83AzzY9^aoeLJ%=c$8FOT^-^<3^~OMh)Hhbt1rC8>(;hSAl8cb=J8 zM=a~(%#dwO&{65&fvL3|Rsq9wQdYpZ6Jek?_wWf4oFRr2p+EFY;vez}vHliA)+0U&Q6Tb+fgiY?Rw4t&B$?06z3})vTM3oZ0pfQs}nZyR%a(R9p2NX z)m}OjXanbv&sp_bNwb@dg@wK%zleRIGuex!W;xJ)8?n@pUje-moGexga4QI=s? zvy_b>Sk0kS7&%oF5l}uNXCV(Dl|V*SBQVypLJk8Y3h+N);7fd+vLJFr3FZvNR-F2D zX*0wj9R7c5Fd!?wV*C&~l-K_v5iknjaCkB6M~5@V@MA=l#m0_Tg13tzm_E<7dNU@i z;H6j9we6F-0>jjtB#R2j3Ed0tDY`EePu{&Uy8Lzp_+CCS;5zv{^8oIIL5u-%Z9b%s ziPqK@{3w-Dv~Mn>+;#YNtGo2BrTdTqQH_cDWTssLMPiv87Euubar6sN+Im>ltU%J5JZNmn{W*LP=uri zRE&=TEc5_jD3icAypgq0j9Qx=uYow)50gkslj;_{qoy}bZyrPK&;pt6|DiLZQBnAX z)s(g78q|*w3J{H7=$Bu8MtyxJ`H#Rch?Vn`R-nkpHV+dsBz*}*H13kMK61~~kwJSwLeZ7EnmP9c+A+ks+TPM86Fo|L54 z-+mQGbiRal>iv#+m#igYn2_MNgsCpg;k54Gg9s6=T=t~u3Bu#+y6zj z8(EA94v#yIAFt)HKlm^`&Bfj=+&ARTKv2v5?++#%62~q14*4i6O^#3WHVqEEA~{YR zj`l|~-VOyvL+rOuDead9_%`|%YR+ptkg}S`E|>X$WpfBH4z(G|8IC6_tdI(gg{?;8 z;cK}6+8qkuGd%1&e)a9v%G8-*ET@zx{=2ZjcSQUi7-#z_i*6&r z!D2&RiJ75)tDur56X{uG-jaxCK((`Ts<2k{5=nDPIqZiBK&lU-k3sQaC|dK9$oNsp zO3?Xl_d2@|VvJ^xELuFWNPOgW>kD>5?#_6lTlcj0zU;o}VaY3PtfNq$=agu4rc@B4 zu}3HALe|Iqm-No*v8AF_w`wJ!ToK+4VUub?2tlIq+2mp2^|K>WMIq<}Zry;w_Tp zRi73J&>P-0Tmc+yeugQZW-+c3aGAcHyMX0&%nDNX=8e2q{DM(U*x9;k#5G*C;O7DC zCA?1V@V09*0;$-|n|j7ijbCbgW9O2o#puY9RCss|wdd=d_GNjj0Str{vW~qXKRu$h z@XYq0>5Zze$&mr-+To{kML2h0J6#bSaR)WWhhrw7-s5}^sA_G4V7X)_JOOB+wg6j# z2&}yci}3Euj~?EkSr3#k-CY6L=vwe{(x^rN6IL?pM+yTO4y-h&dwnkyqvzhiag3*V ze&>lS;WGf(lDwhx;W8WPL>OEb!h5Y=$aqj}{(e9%46|<&z|M+z=rf%N6yvm@BexGS z!wox<*bd95OpX5|kkLw-b8GcXZIL=Kd%V-V?Z%8FnfM94SQJ-xSH2Os7X*&l;ImQ&_DS;uyXAZ2oa_qfRKGnVzdmaSIhr$pP3cUJSSo=o>5ZS~L$MR& ztO8YNsj?I6#`I*um0Y;O{CmWxFMBaPg%!4Ffr06Wh>SxaD+ib*1keX^auA{vlF_Ru zsJ!9W9NYIP)o9h-6C>1U3!_kur#^0fj2WV-*A8{K-y4JKi9kOQtp#-yJzO1ktU>LJ z9wbr>=3&o-!?itu&DK@EWdwsb*)hhL7t$G73Ipk*80Zyd4;*{R`pa$nKA!k8rVVFA zg=0~5l3FS(Qa6RdRG~gu(*DX;p*;Cq)7yj_{ZR~gi~&KZYKYTXZSH00tlaHkMOmJa9eAIluOXwU1xB!EC$yg%|mBtDRPoOQk1X@gKk79jSgj ziQx3?&IB4Ky{_MP2#Imk^qGwBQCDQv(8N5Ia9Yy`7>l3XNN)JBNm&C1>$pWfzL2%D zp6sFP=j7;YoT@&p$x1}I@LqH-$AS-``)PK$K(x?3bEZ#!0+}!de1z8VWQwyFEv>9;FJ|O+_aXq)u}A9Nhl1mbM|7p zQ3HPmGPD7eGAn#Ho%l{*p4rYDuKJ+j+5YKgtr~<^tcZp5XDEgFrmHcyOvT$iHkkXV)Taz)!yRDvhe5cpv0$2Gg=5JIe*6;*3fB$-824YOkw;cI`Vb%sd90xR*!sayc%D-1JeTDeI621w^I0`)G+tg5 zF=n~m-P|11-{;FgR~zX#+9T(@uEUD1WHpgNOvFP)fsf_0#;|g$;`6PS3Zq~>_qQzW z?wVH7$rFKj#Vmm^D3#uPU4_Z+-4!ST_?TTMVYM;5c-8g9PNbUj`Zo@hvOs4Yca#i` zUkxntZ)YEF%S$fw7G)O%7fM{k zhsKg0B-eTXcHWADjcD` zUm@sD;pnosnpX5pNn*&FN*s@r6~V0(&aSBE!5Gb>h6n!mTT6~Tqi=i3P?b@sn%X5e zzXMKk-~dWEcy@y5Bp2%ujgLaX*5H#9CmSoo)fE1Y@7g)uVIR)v?ED{`eorcXS#B_b zMTu#f_G_-Pi`~dZi<^ey{jd7#!$&y?ZTeoW(n(Y?UQIFQtJIS7@mCygT`M~y0G)aX zfw;r*;j{Ukl<~4#z|Q;_^}vqkZyV&^^yAz8VQ0=|tSn|}xH|!PPG#fAMm<)ry5^{} z4sP&hfPsCKXA4g#&l8-$+!eJcE1HyhQv0W*WQ&UE)no!INMpzNspXf_`zdxKQAU#y z(P1|IC60V^<8tfVXFnfpX;=Rk_F8NCNwwW|^qS>AO{FT{tj`y$hmT;}Cf4E%&`BA< zD+#@kJaXOI!~pFOmL_HZ2j_nHrjo4YNKZe9wnYq3^T-agfw{o?xH;scT2l?}*F*Ee z(5DqOnD-Xr(=rD=sP0uINq7N>?=v`|vi?h22&!MDIMN|KrV85xDkaS0PdsXYVGJBF zZ3B0`Q(8^dQQvYUl!g+}gXf8ImSnMNNy1Hr7D_o$$XY;n3RRFnCOC)GDKjgljW%q% zF36Nu{|EN{>wKm|&Mx6OghwC*@`c#5PB6EBPyqG3G@|h-Y^#k7S_hVy&Jdk$k9aH< zRAqb2RU0r9^#|>i$Fp(xPuNBco@vY&iei{C#pD@GKL}23_Y-H<55j4=ddnm7pr77P zV=#ZESEyzVrkoO1>(HY{2QM(BQ#b#xe{2|^9d+{cE=!c+GoAi7qArTC#V-rbvCD2~ zZnbUAh^|^KC$IJO@?n@?c-~F6S9)#_O7_5{&sotDazfXsl5*%#2b#y_cBICH9u0dL z?yCehOG32i(^P4JJmZj$g&OWd?pN$1HsMjV5xWa zHsGYtb(7+P1LPoWrZ_b#3Cd9Ar15D(oke@pH%V;rKz_&=CU7j&N5mo6;SzUwuUh#2 zI_d~^RqhYlQpCfV`bJz(^B9H7QkA`hAp+f>L*N(O4pSsEgdv$`yQ2V*X6KIcV)d@C#Vu5C2Y4fNy5{NjESvCYHAsw3%aK%-9DC>zY(#dBSJ^d=l z0kjzYvEk-B!|yauWr?;4Uvqxa$WIFIYvuWVFPJ-to}GM|c`QtF1k?ATFDJD5V8HgZ zeL<-ugv$6B;4 z?@QZA&P<)>24@aHm8-x)4w=F`dO9bpJJ8w(<0b!>jUT)Zhw0?uq{FUGz~sAr`sO{r zJQ#PM{h(>B?OF7lB^PbRUx&o&fgm%w8HGkrxJ)U_07+9YtX}%9X_D}zaVKt*DgC!31LoM-HI{X5+lxmFoPfH;J za}M@v&KT<2dq{g?}owM95KE#VhnzX@y}Ab+T9e zN!xzB$}{1IMJk7`RkGurSm-uu05|Q(YF>dBwdLwiph#t$6BgpoqrOBm zhYs$<2erdl5zX0r;Efy#Dh!%o!tW@wFn;vuj-~RXchnES`I3KV-zkW3HqDsd!zdc> zt^=pwOD?~oiv#y3?HOn<%?YNJPezU&unaNV@(6nCgdk>%yUx^Rsd5a7tn(`{bVSsI zRZtR!TT#n|?Zfth6iIj7O0Rng%VAs#d}-{!dijj3n&_|gL3$~-O2*n)&br{|%Nr90 zGg%H{k|vEd`y|8Ht@Lg+L36@-K~;U4ZF$nExr^N*#aNf2lw;mI3c|z^)tj}=^}@*7 z?_(>hYFwM0$vG2hul)9XBqZtDMSF@4U_(jos)`WaaRKS9olw|>EKkjNe__>9JRSkF ztO2sD6x~~Wp!PcujyOVpFufAu7})ZcOY~V4(XO>ufz)t*2Ni^B#L@>Cs6RUGcN7-R zFR`V%a}rTWf?FM?={~TVyhLKK!0O-01R3}Nl8-<4op>;%ayMNZ8VSTPMb>sr)WU3A zjyF6xPu&M##OERv0JVi}rRY%+xAv`BJW)Z0nO{OxjWf|$pH$&u9cQibD_?L`we9AL z>IDp{T#??K)fRPBgGmHd9sMe_|Ba5~_l63&HaMovE|6f3s9%7AS99aB$5l&xGDAda zl6Kq~B23MRF|lE9-PPX1Qrm`$x~vobBJ}*Q%w*-~jKW(A#5bWweRU?E@0TckyPaY2 z1Oc6$Bie$#6exd19>wa#&+pay0C+Nc!4U%J3hYHDvTFu%Ynm>zX@zO zI5$o~b8^#{btXUe`p2bnoNYL+OGH2Q**+|QS6gPgewKakRX8Pt4W0syCY!@y&l^1? zO-3nh0-`4%u(#swKpo6n3SxQkUP`l0!Nj_E3h4kt7F=Fo89=^ZzjnpKDYvd3mc7h_@2gJmBqQ>ybJYG2SEuozKh zRQ3Z&q0GY(aQZo{2CF8ppZ1R{uo3|lD6vBMhk{~>T;as4R!Md196yo|2(V@)L+E8* ziAJ7-KbsOEq7-D&<+ZJ9H4NPi>KX+skKxqesvzxb?_gY5))J(uf@zT$BQinWp%JUjFCWA)+%0fG@9*- zUWi78?wIif5t-v;WSGS|c#e6ND&m*&toQwjpKs!4vI`(OS4zU~Omv_n9KM*_bq6|c zl!m1|ST{MVynM{u(V!uEWwJ=9|8#1K*GQ7?X@w*Fr0CoPy&VCH1(UwJ^MzwnROXXj zIMBo_9M@%`_2o~G4uyQ^CL<81gHu9>r4ny9-ERWl14$N@b0|2uQTtrYe4AZ+-jA}6 zEYI^JoUqIHkC;gd11Vmg2?xlRMy~_VjJMt*U@K~!9RUr^aJZj#@cTSWl@7s*9t#^6 z(%Uh@AC^z|E8}kW}0YwcQgj4?t*HL>BgzLmb)x2G|`Q8OHIIGs2d^9M9Sk<4r4KM%)sV%NJrB9 z7}$-e@}JnRJknsbCD~GLT&_skG0D5;n($5bm{&LuT6f-e1S!_ni`6-VIGrkx(Xai8 z=6yaP*#b~SPS!WumD!KVAu~UQ&i-^Le>YiQf8|9;vIV+-T-+g%CPq}BIDeZ>GreHc z=B~5e&4+0lGnLl5!S-Zay_Fu?w96+b*@7J&PY6xKPXlWz>+xU)1hXJY>rY{l(H%%( z$HQ()F|tz)?0}9im44^BGWTs9CjdD0UAxxtZf(6!Oy5q8tB228FxiD`o>YzB5v+C$ zhoS#lz6dSqbK;R1sJ-|uIJio(&%lc{GmnzQ09hWbc?L1)CXS6jgp7Y;8kJU#I*@#h zYAS;}0()2J*aBu)t9y0KXDnpUe+krsx#(p-_S3VlY}Iw#S&yA7{|d(V9(w%nis9Iq ztz|0RTI~wdmT>`>YQ@y5B%@-L`5SwOf8_`{>$K6H_n4=N@aK{5Wygm7%Igq~GvSYQ zIfNed-M;2fPP>k7PjM$}w;3JuPYP{%lrA4UKpBj2XI`rD6NjmM*L8&f|ABS+vT$mv zERXo)`Me|4yUi6=;3v%F^M%7maDqT_Zt%jvR-Il5ZM^!B$gUf81Kf4H21rnf=vmV! z;PDobkWJESmg9Q8zA9osFLrgOLE8{hNwybj|6b=V^$eQ*s{37#e4FJxY5qzq- zB%$8!6i!Sm2eD(lo8cnR*vUi^*>*%-6PY*Rt3UR@VijMAm|=LIk8kqN1V;h=__xi3%8$5&@44^mzRC@cygI3kgG9)T zt+!%_JYilRJ5{G_#QH+^SB2}HH8_7lGd*PAhM*%upGNnN+6w#Yq5(e5;Ah{aOVi)= z2i_9ex0--&qRufckF7qr4hOxufqKnTP~ucON1wfHLf&aB{%dpPNUG#|Q^!g5{mh7> zvh8^GtD7+DM2$mTe&q}J_8~;N$t={n=2SMf@2YG3fDcKy)WI>R#E z%P#%E0TIm`UW5YJd{WIfwfjTy|A461bl$`HPAUKo;gFZsZy7dgfe+i2uKR|YqbuL>a?4Bj8w^{R!9!FaG&ue zLk)*zPFF4n(Eqaw;2^4Ls0tN+epD_l!s=m@%^5@NJC*^`Tj%fQKvEy2vAp*uZ#`+= zY88@lP5sYJxKo*EpQJXe+1CL5PoOVkO4R5sr}aXcknxmVF?9Wp7TybS&A4z1(8fV~0#`clGG3i9>~J`gUkt zht8mDQtrvz^TsE6N(q<*GT{4b3#jjw&y4PHzEJSxRA<8oYg}q!u31J z*>XQma5F{inboOG_`%V)vG)Kv04@hQpnM6-gJIv2S{!HOZ23ZzK|Y@{COaNb_JLV}A6YH$3~6$s9_hocp1m`*I^#GJWyt;7 zhJY^IA^7Xz%WAy{R)Vz5sSC^qpD8EV)q_eS2>SwpyRfU7>r6mRe>Cj?k=14#{9NDk z)H!QIJ>wQ_^VzSo^@HdN=kdz+MkNHShpYpcBF0g!=%&^@L+NDHa6c?;2(aq@EpG z$ptZIWITGDLhS=b-s}n!apOCm@Pm0ozm&Q!&G|SsM*{)PhxcMWNBz2I^~W&sRbjJq zFI1$uPyn#tCf=W0(Ov)-do8BYbZ&>2Igt4<0P-fL;#kOWfLl|lKPpmPdsGiJR#i-lbY|4h9`!NiDqi#pD}MyqaPoy zqA30DKI}j%xNroAnc?nj;CVPRd_*?$c!}6Cguo-R2zEaO?WV1sio;Jza zqX%Xcl(@;-Wkz@*4n=H>c_Abx3Ag*`)dmZt-P|Y}%b< z1!!K|*@PDedL%$jwi{pc=p<}kz7FNCY0fy$X529%c|cL$u62OC6NJ;CL1>wdqI^@l zctGwn+lmsU%Hnz0-dX?{!h55aC>p-Xjt@5}RU#w?qhkj6f7yIeIb>oX0}nKac;Ho0 zfxQ4kg@4;Zdz#7wk>&)BVk(oQT(--iTqd(a&*GZoJZU6N;orvf70EIas>2UI4x~69 z+)}r@52QlJe-P(u(#ch^>;V>~%7cO8dH@mMBI27cb(mQzU;=2{KnK~%;RE6=HAHr+ z=!Hh=+B>f04(S=8Cx~su&Is$88l==tT_ulTTh&+d@q$B1_xF2o%u>tzr!_hIC{H>n z5<8FgBwf0JbUKt6l8n?%AuO37Mv`T@-%DWom#uPd0S$4#aLTF`GX2_V{zxC0=g!Us zTjfdu8*|;lll?(tsGV@nwdr_vc4}~1Mh)j7^N^5rmQ}n;=&nk%rIqlZJvPGcWjIv$ ziY>%&Xwgx|UO68j{}|cs1ysU94W{J78fq?~{@TD8L z31XqcTa0%9%bu$b`851+{N|ApO-yJ5R!;k$8GHCAkpH3iYk25~FLANfSD5zv7fj8A ztq)aW;X`~C>N#Awyi)T3K0=F}l3JFyW%(tvW^5TN@XacE0htmts#JN%fm?n@WeUkx z%GRusEguhS4YDe`p_%A=0Q;*9@HKM#_@7>GYy7Y)>tOyH1KXdpW;^YYT2;1`g5x7h znrnqV^gJ_9Yw4lGQC5_*p44}KEM0trjD0}8t@~^Pdos7kYLW2X-`ab#7T*8MnvF2I z9XE9tcm`$G3F6-|asXc+2yqTPoGE&7Mi>{PA#UEr7(9%9Z*etsaij`Ec8VshrTXQ@ zWw|esV1O06=g+3aTW(~l0D$@VgncmJmVu>pik0Mj%Rfk-4L|u0#I;H)q&0svLq^De zjRDBFt77Z;It{)YwJw^6mzC%wMhXDlv# z<~#m}2jokF23P7k=CV?-#C+tsO7Zixwf>Q(uG}qhy?FoBkHG(rWO2KEMJA=rxm4gz^q-YZQ}uc z?p8?~Zi*wT0;KX**mHRhJ!BI?{9uRR6d z-HcF)TvjIBXw`6eG0k}(CE2M$1mXh!i=O)NDHPnpi z$Mo9(^?RuXhZ1PUCIhF&R@nAtoa;EES3Cs9vCnD38!aXcG+Lseh3%;%DCyt zuJ&-UNpSg7f7N-9Cah}k(FEbYcM$+oC*@ynKe9v6f0?lPIH|0Rj_nG4z;T*ot}eDT zj+0oKK#WWzd!rxDFk9s4sO(eARDhj%-=!OwSfeGRd0Xhq0^@R_ zdlBpCL13gu#ToA;?p)4wTdrnnQtSFCR#RpmftsB#dEO2XE$5*fVGe69jAZLJS0<1s zN!TE-_2?YzjVW{A=6Mm0?C`J;`bi}?loPA*D#{86_TT9K!C~^nM3h_U6zfqth|7NE z*&r<<_~n$@LKbY1&Z`eJ6i&lBU4-eGzBk=wEjql8BLO;eAJ(DYAc0chEGw||zBnqh z%W1ozm0-}}HtRlh2$pl_sh(5xbY53RXfeL-j{O9nm4wdBjM&PK^``)Mqr?n|4KPEj zQ!8F74FVjMkp!;MU%ZAWt5_zrTz$8X?+cg$|D{L)!HZXNbHCuSSFLYG=xVVN$`Z6+ z@!}SDwP%Krcj=rTMmmDWZn@UrlON66`bS%c!x+jNPHB7rZToHd-zfHnAMm=Lw(KRq z4B&y3V5D`j85)l;Do(09Ex=|*Uh`rPSmlc z?1_qqs4WtH%Qo~+9#S!T<%oA`3Vc4_Pdwmdq3}o6hE*_;o%9@Ps6h=Sm*tcrFA9z@ zugifi3+7^v%&wOo!UMSf@JxfON>YZ(LJ9Qumrcal_c*TmX~Y7y)0;h5p~YT|fc*|0 zk5Zjtv)J0BXM*e(+Dm5&j{!`~;+b3a9dRvFdE_e8ka?Nk?2JWdJE2E-h%Ov;jGKsz zh)5K7tr1tc5m>+lRW6?!k`;wXmcWunLrpS81ezOMitH=&kY)_IM=li1=0u3nU0`)V zGtYE#!r22Z_*&6)GW|S*SM2H>5xM@Bh`BHjKU3(UqZ$BqCZTn(+-Ew~R!PL}Vrq?v zONraKTefJNi1gI*+>=^{I6w6bU%lZZ<5G?LS#}Hd;&!gyfB5XtsDCMoxq{B&GC}a* zlOMS{!P$5JwiW+}wh_q&`Q&BO$|e#|TE}EcWv}U^H8BArA7p~W(n7p4fzIQLXEAb` zG-?HQV{5(q6XI71+LsSrnUa0E9W3nwlO*5oCoK%d11k;s;}=aK-0uX4tjrP3-UX5X z!MU}ZFzH8VKt7XI}R9pd)!ZH`?U#af<1 z5of{VmQAav(k?uIn@l={9fZp*!E_>ec^9~`968@w+}$~Z2q>Wwt*vWJO!K!T)s$M5 z)fsE{BMd6+PNxQZO5Hkcd$asbTQ2K2SDVd`kN>|tK6;;cV0Xl6vj*wGTc_LZCeMupVs-$74@H*e4&pEd7BK*+yQbw7eE90n)R~E=b24|740; z!WZc=!IDvj?a$o7k(l}_6jBp@%RH?DIqJ4(mJ*!ne#=Trps!(27W-$@=Hnqb>kd!+ zu``5mZ5#OKliEcf#73i(8qdb?Eug8d`EJgmZ8jZ*p0adY$8pQlz1k)TrVq1|3=_en zoXYqnAgR|6+`iW#Xf?ih&MaP@MUfU`S(!}?II0&cSx`Y(3tN?%1RV?=sF2M-gU~lQ zFLXgq{vR*o|NXQv=z2srub?{<#(&=pZ)9A~G_~e;0q+(;09yN=jh(@YJh2ntrXLrN zcJ327KL$Ih@jXF>5-#s-xIHB`V%8wZaggb-acr&!Y(p z(i?(U=A_k}@e(nj&7(6cq2Hzik3`xc^k6jqnAkO&b^713(qh4zKOA5zpf>eebh0km zLSgGeDygXv9c>eN=06vJdks{{F&OqA6m~?GQ_SBhxceJ(WrEIB)mt6hwXFhm&a-Hs9gT3UcueTeCW21RJDyHn*jl}(Zx(zd&e6SSd zqYir)q^fi+k$opAEEOeu<-4HTK`269To_t}9~n9&tMjEm#1f`F1tHf&h(Cb=W|Xf3 z37rws#Jw9Xw_m>8^niD_m{Rj<~okpOi7;wxWdyS zNoXYB))Y7_c5Ctf_3`-EiPGA+UJ}fJNvcf)N-)#bawq#`4t?Rc}$aQ(#8`@@yma%z_!qZdz^E?@ae&9CpU1Ma}vbVMKZB)vspJ z>}AW~E-OGhZ%R1bVHVfm0p<4h#>}2f{LB4myM2=KUdGhe#^mye_=!)4os_niAjxk7 z_P4&Im(4suBs(@*9g4!{1xY*O7!V9^uOz*s3*D(kw#;{ql$6L*>o?^&=+kV^SZ~QW)684pxL?kIYj|i%EKsa4J*9>Q1me zxji)|FiT1ISceY9MxAq_=eq1t$lhIAfOBC|?VOf(g1^!M=3}krEX|YIO6#`NKe%X% zL20wZ7w-_3Iulb3r_DSvk}0W^0@kvV8ne}$V3y><1gMCL zmDZf!6)9h1QT7H;b;dp)+cKp^y~;}%xrDywxI=4!Y$5`RgymgX-z+Oq?$@zG#Lix2 zv5zO%Y;~eYjlGjDM*9G~;f}iesrvkdWwSMcW{@;)n{KSZUO`b3oXR?i-Tbj7E2?}G z)ja-zaOY$mE!7ux@x*Q~k9XLVR~E2ei79Gi75ICUhgnFXE^;Ob)GoB>IYhS*X7A(n zcsF9EoyqmdV6gXsF2^l1XGl&UP4O`^6cG+PWh(CrLkl_%n_i9hXIn|{^(xo$J`Z$* zkz_bcHiYF+uv1~udFbkRp9ErN?IB{H%;VG3Wa08|HgFjlyx%IL8{rJ8(MlFl-YpKz zr(uINR!Vf~^+1-NmN7LP9T%8DBYC1``skSc!05%zOz5zq5{7L2eg0_|!WxVfO z$;bB7R`;3@KYT#33xYiQnY#H97t*xZ;~?^>$wLBWW17j+P!DCC;R~$v{CKiPSCo~c z;{(XEcm~ILLx1O${E8WIsIUw0_yn%JwQYw(DCa5aq*d1@X;>pO1Uj_{UHf!6)3xUD zjl2J-$?n~#ud&`GKl2uJX28)OBHkzGQJaM7@?hCKTgd?c%~RP17nv`R^0-LfF?Eh? zBzauMnV?~#@FwDBC=IGk)<$GXiLtiUAqk#PCf&h-Oe1l2QbjV&DOR{Vq3TdlgxINc z34nI;^TLD^nS7;o=%rg1RUW3r+(&K&qtl)%n5)t%CfE%&@O8?ls&T9_LeLirL7LMSN}SCeEe@-L1k zwqohnug?n(Z2hkb=#PR^`(d+{v9xanw#FDjO;drNDb3)MhqWj3lTB*VjfTuP z;A(`f;7&|Q4HqUK5-V;r`;#cy1F?J$vWV^%wD9eLYBzYWJ=57w>xxd}~0ayMYwVpH1gp%%K0e*SY~ zyy3h;e9$Xfm`A0AbuOV06&`*@$YOnr0uUK@YIu55+*K;xARk9aCR|AZJ}F!}$l&>( zw%2p|e}nk{H!^+v@yY22u{TRGqW11Zy0k~muq4g%r4;AYTmWJ~u6jRV$95Z8NDzFuL(&}DXC^6}}^5MxOEw~^ExScsZ<{XzlCcRMUlUIS(H(6z?Mc zc6!E?9pje^7JP;PoEuySFwM)I5vap3)cnC;U&X?%KZDnn|z@*caQG-zv`Am(>T!Ue{9xq0)eIhlM)ttBJ7#(-jN*f9o;I+8>H z<0NkrOucK67u#g4A~Fl`fb?|!a6ERjJ+PmjLYps4JoF=!8YUyu3;a9YG7q_EExzDi zIIFA`eecBXBgfSq8UQ9o0_edDl^e*7>B+K0@MbL^jnr~^lPXPgo0+-Z>6mW~Z7R$ES0--v8i-m488 z-ORcQzPgr_8rr6E&O?pmtOP~2R)N4@p%s5xPTO5>;_}k#cEC38wwpPed0!8k#lH@b z0G&W%=IAU%6oQ>|CCR=}grDf#?}z8S{~<&eQ3hsG9aBmZkcjDrNpeYIS3(`uD}tEV zjy70%8%XH-5p)O&jKiYS`^8~2XvH{&hMm&dqr_!>vQ=ZtsBYIslMxM`PJl0n(Lw~m zg%T%-cUxe)5qLJ=jbToc=h6b*pdm_6(w0tZe_VHDc6yuEPaDmeUk+g&S+O(uU*f>{ zki)V4fknY6GV6;|wEg82Knbg49-?>R<8E3bMK&FHy9$k2MlH+A*qVYJ00}FwbFG<} zg;KQ8!Y=k7zUJ!dDOSi3PJaw$u2fP56}ZaVj`5Z3mE?ZrVS_{$6YrW-okmI9_%UV% z(y`mppOq07XHbP+iqQx^0~vjFVnN!lT0VEF@qoCq6y+T^^{qKn6mK=H22}FZqNyF@ zC7nSD`$*E7D64m%t=J3fGv@1$Z$19@(Q&QyW54(@e6LOD^`(ZAwYj0i(uot=GkK-p zHq2l=dSdmU0a~|3XCxI;*_?}-KEdL|u?u2wT&kni=u$-rMb)iMl2s}|kQQA7u&o@@ z^sCGdXZ{%^N>zMF$U)r-p7CUgb+ACNo=ZR4Ew%1z$+Oj3NkHPd8hmM3PR<_S)^9kY z=CShj#PrOnes`tbDhhNs}fC8kPU-B^&32x-m18A%RFySFEx9mDK38;oSvNat!i6m5najW`1 zVed!Oer($iSlVTIr$3Mx*WgWarnv@<( z|Af=&R-82%^$_0T>1qMUyR8(}$t%kdepA{r)1rVweP2)CaNr>8s84d|_f5b8@tyle zXZWYD@@6hDUMnf3?zTOU{@gX_$i=4+Af|Aq0y?FwLIYxyCLJ~OOX#E68E4a%z{(K? zh&bun4&A7=`FSL@R5nNwr$R$!3TkLUr|elmVV7_BG*rkLtTPp2=tq$~UrCC~o?Qwjn+pl5mMVwYuU4DBl^GxP)N@I+P zu|KsnLi|nPQEH4hOm@0cx8XoIQUm|zB2j)OGi+>-&zvB{2WomIJB|mk355Eyb?S z)9?P1anp9|L-$kz_Zz8(r@yoFT}s_Xh>Z43kgyOY2cZTkpM!F=R#F2Iaj`dPdQ&vj zX<(wtK+3yf6OzedKVZ;|3nbzgQXr9{=^<*dZ782C%ef?sJ76A-s&=Z54}1qNiF3?k z+X5oOvt?zZ94E6&$X^*R>Qg*lSeWx9X+z`Xa9AS4OAyv^5eefk4jh$!ZP$UUap8`4DfmVoeRCj;gRZ~0%^lC@y1T-4xC@jw(OYnx>H+$+SjoPzo0#H7fh-x!g zcgQAx-450DieN7&yVCU_X{F`K>7PP0hU}mM-K1HyJJ!E>pG8i;0+$wmuO4{dV%{*_ z*JK9?VKtZt_AVqgL$AqrrLqb+SuX2!q(_K&%Uoq=-+$0w@98Rs&s#(9O6B^cKg z=`&3hhb3$4zgP`Vjkf^%j+!K#7!SAY4m?{YKV!j;L%%RcA$)JPu61Yo6O=v^RjJ}o zULXVr5SL1m9n}ooamF=}2YCIJpPr6BKd!Z|{2naluQ=T<)&+RujozP!Y2RM~p^LcU zPw6_|M?OYVs1-frU$r)Ck@qr(-*$u@5!*Yss{LWWZPSE(Ku^4OugmXWEt+w>tnk^} zS>FrOJcJ@cr7x`bz8FK1=5Kvf}PQ6+_BhV+4Tb#_k(%ioRNj18IT< zf+=>sM)DnuKf?ffHKA-D@uyqGx5v)qE@>KFeA?dtXA~2bTBN4>kr8l3tu{!tK?;Ax zejbP%#d!|nMIkwcrxv7^vwv zV)GJ&>yo`MK2#Ma#;nWSmY|FjStc9@Vr>3#%)GM;d%Z3YfKhDTSLi&@JT~Fp36}t_ z)<-HQTZiGU=2F#}Bv>Z_I(3o_v7DjvjOnY6veg*aL}}kYY0p4!PLk=eE8LV)4eFAG zW_`AFVT}n;lfw|;{H6sxs6R&p7ItjgK!!sA9RVz3fTip^Cz%;JsrfOHUSp<7t(Lx( zCupV|ElsY~m}zb|x!m8muNmraK8Mt{1;_7ym&*k7N+wAc1Y!FMle5*WItb_0+$5Et zsRaIX8}lVoawkb62?E?hn!;&lP4X72L+mSsvD^cj->$O&b@n*P44$NhE`*|S|Nhw-V;P*hu1L2eO>%`Q9w)ar5L=EaD_C{){OK?NpDL7EI~S|jHLBvW8*sM`^= zRb#r$Q8pO^BaW#U(s^ZkKZv{qT92fXX${Ce0^|d7JQhU%omB>hcyf{`(&TPjqpUa+ zgqfn6GBM+>A15F7QSspv#ek5H=Pb(EQiIR>1JZQ)FV`B6hPoiJu)BB>F)~J6P3T@$ z$BQp8QosJUL)G|ZmWu(MpDLeTX$^jl&XWI`pK4(1Lq95YW~$6wWT@jCtA%zjzPFrq zj1=ZTA>@-S{oVpT;P6^ftJG*g*JjLoDnU)@l$zFJdmqIvF?sS8BH7?Ff~?7;Uz;`S ziApxmP=K7R%U{GKA7Hn|3~|F@0pn+^iBsWg&OOQFFM-u+$)-bDEsjsJTfSPxoXY8# z0A}w4%111cYKVuyH>P55ECo8OC82(5nC@)pJoQY23aKOlPQpF3Q|S{XDF_X%K1BjC`(KmNdf@v^AK*)|!}f$=E!S6HE#4;I0*# zI6|!Th5-wOS+5Im2P8tDvtdxn#@G_#sGSKRh_iMF0+urY6t%<%@m%cd==Iv zkst&{v*nW2(tD5|6~j77{USaZ3LbM58`1?!&V5h1U~D@A2DnpI2r-to$JC>Uh*q@W zO1e{YZP?FBO58EWitRXl-;yIWjQ~|bt7V3sQ%hdnpoG*4*Ti-NfFpkgT}+T9lj|~I zo%GNqPD@?lD19}HdI+S|k%;yqpjJNL()u-in-R|MVUU)-n-+Bw#?N*O%7C?@yg=e< ziJny39b+MiJC$wa+2Hx&n*tDsOZ>*LYU3P#Tgf?EJ&ihqvkKV0c+U13#lc(F&c=qT z$=lgrG#^Tpdb>sQ3Vko zo2QbzIMxVp*iB1QQMoU@L0Dc$uMpPZgFQKGYlH`-ZrLz3tXi=6Bmy=vmUA%7J7YRI z``9FpF*E;dj!$A1bVHlCd6`&AhYFrLrYd*_Zwjk_DzwfVA_;kn^dVwI{bTcP#Ck-I zW>SXM@vOOySA~5Cx)w84VBt48WgtAeRPv^~JC)=`9mM_ZEgT#5k&7c@E&AxAR>FlL z{}L=r47k5}bT0Wb8JKoAp}5a>0tCY>Ht&w-W;t<(eDKo+!SK>$#>V%5yy~~gs$WE6 zXNBHFV4c(NdkWqrpj;X#w8&-Sb2rKm-HLYL>bhgcchj#_ zjbDm#OzAs$dY7{G?XD&NtWz=Jtr@`z#V$o+&gc#c#_Pp9w_9)bzyH$y0>Y@;;kR7e zGN@%SxOsMZAUXsTWqlHY`sF^uRH?!SblX2tGxT``ladq69nDUx15ZERKlf<;Re{I1 znDHpjV%g+U{Ri6zpJ)o_G(dY+!LSq-H#tQ*6J1vjIvnhJm6BxRn6 z%9E?!HLupmsUDmfqu$KbG{U|jz1?FdzxUeM%LC1^9Sv?`k^QHhs8qLfrYNSapZaPu z*A2HYx^uLM6vGK#hpwdwYK1)NsDi$HkY}4}tqI}iQ?BtQdBiWEyQv-*<({qI@^ZT_ z4_&y}ZBsGVW$$$C_U}=$kIkVRJ?f}f$zvQ6K9L@UX~G`4CM0vKA4C0S1FTAEPwR>t zI6psm?dGOlbS~{$F8zr7c z$l0s(4kZkd82T}5l$8jRd z?q(5}!!VQYkSX}EKucgAs2+exlV6vuO~w)UD|f>hIWD6#O9bZW76bk8cBrrOVMk5; zaw8W()kH{VR%I{r6Zm?YkL76PKrY2s5^7F&;%H|rUG>BZ9yO$SxmLmz7*A;w2^Q&8 zq@Py#yMHmp;wK;9V+a~oh%CpJqx_A%nuPU-OZ5Mc7{o=}Uw<%%%$3JA9TU@sgU>+s z7;ShRyLoj?&GJ-3Z-7@RPV?+^FRtehr%&FxN3;6#ryXU0iDX90a>%yuCrh@ko&K!? zxOF;xtV?tgS_d9@mfGH#Jr_5<>*bBEE!$5u-b+Kbbsaw);|^{;qi|tqtwL=lC|W5$ z#nXVKl&m`VhE!o3pAGk$X*W0jz)x)s|9s!QGv=wVabNYZq&>KFE24JA9z*DL#dPuA zx}($2_3(GWB8iy#MFrs#8(z2%_fkD5_c}X){Nn4WIdzaN+<)Pob>f%hd*}{H3N^r= zDa@Fy#<^RO5O1ct)4Ve4t4TGF1FmCkgdwJLaxPoV#T zqO$3DWmV(UM-J6?hgHZl)Dem_V!YhV^q+MLJ>lBrYI%5m^0j*K_Qc<96*FE1KdIT>Y`W_>uByd%xsiyTTWPn8SR>U;Yg+?*3Dxj zoe!BK6cH_SbXSh7ZCB4#b{!jxnJ|s9ERhcSQlE#|BGRlG8w3AVH#aNT@>ZMEi?urD zy;4BZZk81h8vn``Rsw0r(^mGa#)T<^I-Pjgl0{QN>jq;V@#}`?IY#1Ek+Ghgk%N7d zyT5`fN>$WHK4Wx1(e<-IepB9_jggOom#e zCZH$2*{|n%!q7r|dl58L=MwSb76-#!M9P7uBl@`WX@VP_bN=EglSVvm#-va+Nuhfb zRrG}7r$whR!5;mevDf*WMuH@yN|XNNQ!^kpjR8v9R!yO{kd1N}PHcUiyvSslBem~6AS zk7Ue!#&R4#HjW9C+flpw)C1Eh?Da;*ek(=!TJqVux!-&8a+c=w#UY^Kd`t>R3>-+EjJ9srwcJQm|$%~yLrtn#H5pA7$rq#FT zu5nXr^*Fag&VQ<`E*D}g7u0oUa}%1hgIfw^&aOeNBQ}c1p01Rh>1Yfa>kl25)K$+W zs4GbO%Xj;?gg~kJSMZ^yim4D@PqoyM4xJlx=j8f-5tZ%%)_a+I|-xbp( zE`ycpxl#Qq;v7Tu{ps_1!Hx~eq1*R7O&6{=@;`B+(Vjb*Hfi3 zC@9-%4xXwX!PylH+xV7($m(sMBh;~)=`oLKlDVt7eK~5@Lhj9jbT8ROMJv{7&fJGD z3NJQg#WfNKQ$56^I7##1xWWhXdBCK~wq8CRSzY-Gp5=iL%s4^0WaxH}p}=g`sM>vH zpI33TvF3|0js4twdy~kpB_F0o-Rnl~DyJ_`#-3sNf!+D0{$K78s!tnnHMMfi4j4FS z_Fv=JS4^>P{aINB`ZL&?_$_eDO)(L#Nt+I*aj@@-W$$&Me$7CmYcclH zdQmB31yPudCCicqN2P^S5E;dzn_{;=^j68Qse- zu_lu8^9FxkpW1=n-s|E@I=3dVf*~x9m(o%CwTuD(84)>q+N;U1)3qW3*&w^@;^AIH zcLUHAv-Boi%?N$>{&uc3Oqyf7d~)-mlWX4#ssDnAW-_?of9jT_X9hOzmZSa8(lEv+ zTEth~qWJmItHZyK?3fU>NUvLdO=5a|e zB}NIy>N|RNXyToA1>z44cdSpW*EQ^Bs1^DHdUDWm)R!a_QyE73S-T#@$0B^8#3k-> zA&5*Ue*fDZ4Y-dI;!741J^ivL^2K-Wy1&-7 zZ8>u4smExnkDcOkTTiZ;2Inu6p)$ro^>lq{RDvqV}hx9ibEIf~1>!{pa2z4fpc zzi42^_1Mto53Sq25`9IB~NtV?Tl|B)?tKL%l({O>|`(boeI5be+zdtysw0qy6^W zu9`2-{$!P!YRxc6v5XuA58Cs$Z7qEJ7J+Rb?M59l$2I1RO-J3t0Xea_DEgy^);Sx7 z6fZt2{tl9a<`%F39$@B-CtY(0m+>1|MkWpahW~_36J1EhS!ms{IXH6X5pg*lYWizA zPmO*VuZ88=#73xgk27WR(UMHr_fC`a@3NUahDv^oh2ydY`B3eApyA9Y0SmX3X66`O z5#R1Ad*kZ1hK3HLW@f6crEto?2JDP{cVd|_BN;b7jQzG6Z&R!c$ ze#TzYf#eo9iXvNQ|9&_+V!xgWS*o>o=5ey?r0l*?lGECWZ)qcaX6A!N z_#?Bp3pM?AtPqW5!u>cEWQwHgvkh*- z(JCggXKk4?Ra(r4AH>(Ci_!kLHplVSy|njxxb19pNM#7WT^`*95_B=E;o#BUl#=W2 zsqYydA0APBlIt2+_PV$HSEJ>WmKmXy;OqUXZ7SWw)4}1E2Nk0SE{ES6D&aNH_fZj; zzOY@BwKFj(q%vzni~D7IM?^i>>`uTDHClrCF^dGYvzVpocTdBw_5I|X9r15#hj!6w zf`P>du3#Th8FP1@8RlBVs5*5twrTiE(RJfwQ_;Y?>xW)_c%_tYG@$q_`tau3V_Ax% ztbyWlfTWjLM-cdr2ZdU)K8`J@?_}8iZLQ4$YHi>iLl<|EA~&=RuTDC*`i3b_H@S>| zf91#dTqbe0`P0WUscMc9S6n%9z6-bweg2$M=`iaIxvC1JL1km>#2~Vkik0%({f zxFi{&5UY!8Ctil$AP`SE&c=E^rJ;epfRXq*{2T+YV`j#p8%PB zKk0XOzC1&?&EA*o)hHpxQm;8816)ISqDh2ntfOmGefMbMh&4FFoFe483^G3!EPw40 zkMf|>#t7n*B zj5ES}r2;8YC4R7Fr zDJ&aCO&T1O`+NlD#s;8IMb>IMJZ@23%#VGKOr)gu*|dF8P^;e#56!yiCMT;Oictyy z4bveN{x0G#a4QMCdV5HvP{&0w%j-_Pl9Oi#%sjc*qrn&@HCx3v8~-Z8e%euUi_&*~ zKKs2hMs}FKGxe&DQlJt7Ec#`AwBFg~gext*Jt^6ujL?;tPU`nOyF!TSuUoL0uTRTF z#gE2cT!hZDt(*N6$DEvPs9XpUjeR$W5 z7?MB9O70|;Ws5(_JvDfp0Dc_~b!p(5VsC#Su^Qz5t{7SC&0>1F@oWuuVA?zrKo#U~ ziRTn+hSUxD1DS>{{(_89S(vPFq{HH5SU5c=RGf(k^tqb%Fi3hBTQ3{zm76m+b8ZF$ zhkcoQj^z)+@>wRm+)_dN-FsG%8WZ=Vttckg4#KJmsUmkLp|9V8~mXr5XaF4%P9*`$c9Ni0gYIMz@{M$nW~k^d4ZtSb3ks z0Es%6E_)Uat3FP^9J_sg^I{V`{`@|RSk>WCKF|A$8zu-oxDwK?SwWJ5!EZ)ymVHbqP`$f3EjuO;Y5d}W{e`{t zQ|udOW*ii=^hy>N!lYbx<#3K)HHvUuJ6Sp-c)h1329BBPNpZ%){VMr6Qt(droLIu> zZK6=r9^v^Dis`ABY#0hECv6xMk{nuX2c}(ch;`;FZw(AF+M)7dXU$;{YSH6r?dfSO>DAI!7kw6)$y8|DP3N3*U&b#c(PB9K&m&@qvwX`gFYHi3_ z-~IY*$75LexnWuzYdD~=6VmmU^ac{!b;cEr z??xEPqjaN_UQlkhai^gDS4b#hjxMJmfS9{X1q{;l-n;*nrb|<1;l2a2%jX1&hmw;M!j;V@&RbjmO)`!N7Z8evZCSN*J{M2Q=;N)o1E)5})1sp2A|A@JY zqDV#t%5l+;k&Qn@?EyQjWIX0>)Z&s6IR_o6GDIH9*{4%ECLHqynXkZIAiLfyNq3$-ex-? z$XO0?y{2C5gI(Qn4q1WI*Ccyh&2WVc=BMc6yRGa0mQW|zZd^fi`nKZr9c>sA=x`1K zgoZ$s=w$0bZie%f%Ei)#N6}pl#=QQ&T-$5Tvu$-FXupcT-?qs3*%-U|6thds_Y4A# zxLy!rqPrZSj_zt{;@cn`H3GXlF@DeZ6QI5idq$9h(`a#Tj@v!xpNR z+W0*kvoPzuva8$fqyE#f#`{V(M*hRw=&_=`8z1Yzm(YnxG7~e=htB)k$Ia%HZ{49Y zyB+*JNTNhqDj}&RaUc>T&7iJ{mDap?P;|%BO-1}DrEeEMdxV;pCD>;R4{UQ zOmx@l$(OGEi<)?~J5K-?2@_Hv``&wr>xa#DD^ zf&7hcGVzrqfovzG-F&Tnur8c z4Wn>&G!e;g1g0-n7wtuw%L*zD}hOs6vkFpz+)r4 zaXx6v|B6$)1~<3UFRY-bSpUcXDfM-^B2*CU-#+h4by7EMaCE2eV0^krgbz@trgJ6; zT{ESX<&DXEUh#-oGu8!OU}>ROV=f-uQhG)?-fBIEoY zxWUBv>{avSRTqc)>J8MDfXJ2Fz^|}Nh$*-F(DC8c+a2JcM5HWMe#aHSxcGk^v0Gt7 zmNGHx_IdPqCpA)mWf<|)PJ=$!j>_Q%XnQna8E5J@iw{z&ZZzTe#6_Ej0MP`Y%z<8S*(o6v^UsL9{{zBUsyA?;8OjWk>a99^+oAUL=L(>5q|o$c%G&Ul)6BR%`zC zF9$&xDmyb&xIZa3M||Dles)+rX(Xn{{P!DETOIBRZuHHXRvWLukGW^$rnHO>)%K)- z)R}Fg!)WWd)h|05O{%Qkm@rEfXZue&TkeHwkv4TMh|7q7+lEyMZU%iP}1^M#HnFow?mA?@Ac znePAp@w%>(s~l4~TXL1UO44#Rt5(z{sZ`Fy%3>sjve{J1A&1qa3qzI^$#KakM#7LW z!pu2_4RdM-HXFZJ@Avof`MqzqPw)5p^S(Z}n?L5Y?RMMid3ZeTkNf@pc)r>WL`n75 zrVe!8JWxjnDp658*46#1^PNxeqcvkmll<0Y%&nn5Ig7>O)oV`CKjM@uqyYWo_IlL0 z&nCQ&<)O3cYq0c@x{5;AJ7MPQX(0bW=yy)B8O%!F~%@To)Ci+-gK3%sSm$ffVn}!n{r0{JIm(vGNF6384?UC=>U^>lQ z8&f-)yKK>EB$?4!A8fe}f8G8}-T`kxE4J#s(tF!1T?PJ5o4Z&q@t+069H8b=YTzzl z!^~#}5aE3~X!Dy3DIq@u%&oQ`>-Jul3^)2+5UBghMAD@0FhF?Q({9=)kPX?Y@J`uN z#j29)JR%8^Q0bimmadO>H&$0CosQN=dXbvlLA(OOYB)n1ixY^Jg`^WE>74cKUBQhN z>qW^hSMOOOm8PX_WVEsei{r)I>5@~Ibn@?f^&4sWX$o?C^A5F?#S?^PY{b-!!e5@S zH)RDB_a%dQ9MzSTZKpM7d`)9kfkaIC_=d)Woq{^an~hJ;LT+aAQd+_XJ~Us&a7(SJ zG&N1jm^&^Pkt0up_a7~`ew(%An$J1K%?GqyEml+eCED2Zs{L5xr?Q&y&XbPDg;Q1| zMzLK~^mRM%K6>21{o(3?XgT5tj(c_#VrJGsguWLi%!MfrU*Q)PxHo@3Q=xO#S8IfR z7WbQKUeuw><~>pGX0Ah}T|Q{#Zwy*5g3L)O+&Xdag=I9_mHWkhltI5$Sy5QRmhg`qCqW(OaNu zC+#Ey0htg=mT1*aa^i+CP4u|+@fEmw`T@IBu$;3usY9sQ(K0eWx#PLV$~p5Arj1rv zTcz?V{ejfK)5QkagFo651{5dT%(5%b!Q*k8w9e)=BC`zs5X zjDl$dILgd_Rh-F3RV8AVrnyRk1F-*rfS1mL7QI#pL;=1Q$0I#$1`ebzbE2vpe8c}8B z5t!CR+LtVZG)EhrJk(JLsfh_Mf97i3O>}{}@IcTrX2p%rP0>@f8Z+HvMqXM)6&JqnRz9ZG_TW~B0(>Kar>~$s zte2*ICw*$v2UL+AFJ6r45sbi>e)Uh70%cBg-gDARyU_;AI?S`b(tQCAnf$F{c)e+L zFkl#SWA*DAf|^&m_u%@g=eT;^!8`=mB|l7p3J61x^!$kxo&wt@NpF9TQWHpgITB%Y6rAT z=%pQ#-jjO;&Lr4{&6i|~Ns}Q^!#69N1XcPg&DI(;fW3ULokaOE7_qDzZTH5$kpfzK zZB+KH#TfmvZXE^k@eoIjdiN(T<0s??pEwyT6c|7L=ClGPis$AEeD6Ybg&k8nihq;4 z)=|1TMFUWrBtKGA5D?~R&dt*|`Sff050TlU)7NPJ9ybS}PPPvWmxKPB#S!vO)NTi= zgjHhvEWs|B>#+x*&2x^R+uqvT9J0Uq{3NXU4@f|nrke5U+Ogo3Jh&}QEl}Y@bfX<% zn>6m_!|46jgHq$#f+(3=B0IxdBD*LA@YqURy(;X(nLR_mTpzQ6d5$J#z<>_DSZuOT) z$^|guTA|>Ivb&@HO^p#l)88uB?zyfT`))4?yLsr){o!Qle5cU+ zN1nuvjghMdlSjqVp>I|vOcDsQ?rU(SiTV1J-5_KkVz^{<5e6Mi&M5Z|r|ZwJ$3bs- zh?&N+Zxf*3h=V;_*9J$QekapkX(!qJIm)N6e-Vs?v^`mg52*Q27&cXwYycb)GED3p zJQ0Cqfb1Gx-A|-HshZ1P0G1JdHGx)L9MNP~-jv%j8e?W!BFU6;nTXegRO>m{28H{= zrv8glqM(((Wz6}%8c@kzzb+gRfvyQg$a%JUE?ws_pSlri_j0U}7349*z*^y*vhG>G zxzgI@`pAMGT4Q(Z*qC-?0VpxFE^)(+ZA8Xfx3}NnMDGAK1u8j~`Z`swZ7D{FZf0DL ztbl*8_EDPky>6|_R%kzm9^y%(&de_ z+-_JOi&a1ikmJeClFH50Iy!aOu~}cE?}F$99rTDd`e4!`*toQ|ECWhv5yq`t`}O{l zhPF2-ydldK{Uvc5cQ+dA-z@*ka7n?B1W%0&0V$IaGd6}RCd;O7%x>r@bM#V{=0-UuuQex{LvZP)sa1XgmV_o<)HDx&X%P1W-sQFCXH>0GsLlOYUOo7o z`Ajg5Kb%jCAfouo?{Bbfy}8Ucej^I+C4)pB4Tw*sF6&sR(=S>D^_4c~A*EdxsyHL!X68^4Ngn>=zHGKps@8fC_ind zOElZQ!3wlGh{mYt#y-M>aWS=w^tk>?MmmUm@{j=ge1&I-N_-BK7JHy9Ii^!Islb68 z+A$N`fIb?Lr}as0xaOBwyJys0>2W&lJzEUFB;G^I-R+~UjOQwNJdqsYjdYX={dvdg z%FL7^#hld)iSrqx${j zuidyQ3%+*F_OIn5TtSdT0#=j5z^rO^5Ku@>sO!zW#8^iK%Jec#L1 zc7Awc`HRQa8H?Lrk5?~K0C&a6-`o|H{o8-Y)Tk%{OpP_N{a@GA2D}?!-ERQdA?D88^rM4>iiTGOWBuUqG{%bowmgVx6 znZhLTa$Q63te5@rHb~}#lN}ak&UJC;DO8gyMj7*!YbjbU9qQA6 z>vLNzKG=-D(!d!s#7v$p7EhN4&wV&CshLPOF&$JtDinRz3=lPC-S1@_E7A(Tw%Td( z_}1iUkKvBusJ?8&mow?6KU{SazaHs-6817}uS9+Gj`Nojladxcz4dLMnVb_jxV7rG z1>}*crP_~&N*i?Veb~9Pv84H&c`&21_Y`yQ(O`w%0(X}V5rffB^VXu3h2RSX8T<#b z!n}4vRuMsU#XJd*^?>_Fqr5j`9`U4CoRV#2o%$?Yj%Sv>4#Z?`)DbwFV5IUYH|%YylL7rG2!Y6W3)aP>?tb{K(J z%S)QuYctw+n9Sj11qSYq`xf=#ErGP7r!h$-$CHNUA**8!YFZ54suIS{&24e-v<&*1 z&U$?~@{rR~D*)xNb2T=!fVkNNd9i2hg5slWjudF-?TPGt3p~HxLuOd^@#@u_>VYf> zEg)I|Y40S!est=O7W}8Ri#6+he80U*$*qGCtE?#6m1S9ib$FDRD87{b*7$cVTdfsw z^B@^?x8Yh)Aa*2tiOOncId9pxJX-pCSTG2MBGGE{rAp)-A!WqQR`YxfND z3(KfzldK7QW>WhfG-C7>PPh@T^{Dzy{pDsA4I%1 zzW!aS87Q}_xpUWs{dpT`xg_GCnYR3R+a@>6=g)$v+1g3rjZk}8V1NAlgzO_o?^?Ht zP{js`1KV+i%RE9?uF*8h)L`0^nPEbe>6pvcks_%Us4^7p9EBpJSzALzM=x zG<=;?Z?i(Mrs_wGm6e`Ig z-Bm9Hw1{t#wNaoCn{^yU!(kXfLPXEus@qrzH!lJ@bW7Ymck-;gXV(S82QCQ@6$UEm z{A&SdTi;e!C>gt92i3lV>v$($!O{~(hEDHA&cyDVc}sJ)D!V$6_4K_~h@ttnb*V^a zyS{YYfT|lVnDwmu!7a;B?!%sn>yx00rndEx=j5fK^5CX#BIPSJk5vtA9quoxJ=|O- zzri|yV&NFDi+raW(i;;NVqUpQ(5V*7{K)YLOk(Qp+m)I_q>z<{&*SzT;n!{P{AJZN zuwvSImW$lNuv-MJzv~U_R3mW#t)&0M@bpyi3~Wk=dCcRg5nQm;VfH!V)wmDe7&r7uay*Xynybut%F;E>|+y;Fwlb4TFY zI&FBEa~KH1RYTD)qQm(~(W=L99Xv3;?i@pBrr*5NluFAq%!a}j^xZsc@|w#j$E_g@ z)h(J~Wr6dk+m`8|atc72rCfzgVU(R=-o3*`jBmMfpW7n_YHv+mb_w()7ka)`=!$VN z&J_moTrO^_`vrIN!`z_o_-Z~RdcayA=Sx;a;YKaa+L9M@sEBje8VGLqe)&5y+Tdc& z#+kgMv#m0=i6%V{+|NA2%#RMQ%@p03Yv^`(kLN&1e7z#$8;9LRq)^JEZvV*{`&s{N zKJsGm=Ly^AH9AS_%#@asxw-P?5c4}_b9c^_O=BGZeZ}51;fDh0zqn`-1(^AS>`!%E zy<(pu#Aix;?=P(u9=GbeLjVJ^@6DE)GC!Y|SJ6~=!=dTRC!;&H8Z%Wjk$%zTSp-9} zcMLAWpajN7GW}C1A4kHc0`az>-112Ftf~Rfr{9r=!mPE>)as+b-_){`nP@6r6DjqH zBZ0sc&|mP35m0s5&bYL`7vTDsxvxQx{q=!~S|zT3s4i)HZMn_I%5ZpKc{6`UCQVfs z+p7MXQ##QJOB_|nOdpNDd@GVy4B0F16^`5^WwsD2yF@+V?os+!3ySolNm?US(hUK= zg>$2Loq?%)kJ4Y=tP4EE;!EvPBCT9^WXWOfLHE`2od>VJ-)oancA8H=cX(jNKWPh+ zGhC57%>S4vsH3fm1gzOi#w}AM@F>7On_QzZU44n)>Xta@AidD(5?>G5mfV}|cquYB zc=4KfNwJ#d@;vg+t>?EQ0@=UJb#JN58V+WUTfeRau+2cvxAoy&`m3%kSo*v2@Ec1m zZeG2AQNvU2HSp8nY%7Eb@-V&eJTKvH3WM{^~) zg9+py2{Q_4UynG%GR#kLfKB}gAR4>mgS@mZdvEpgc^uocOL2aKwNPr6O9G=Rq+Rayo3VM)yqN9&eLU z{QWp8Q)4pb0>(-S1CEgKM^~F^btJ^<3&UEZEi<&I91!6h@xy~XNOj?L;rB8M2{qbw z)oADrraE{wC$tM_K?pOiW1Jtwc$^^k4mxCx%$rVfLT6Q#%U$Sxe(6Zuq3g_^!ntoi zF+V;y7&ey~O7BS=QyLqTCw9%7hTj@IN-i2U!TJma-;}^Fx~Dq_Aq`0*mjb9Y#(Wpi{Cc) z)qLoBxbo+IU5Rd+wJd>_k3b<4o*S~krF8|#%$!qchjxmn3LIDPawHht$A-b@X*~u> zc<>zmK=1C1?gsDm;WOqU9~@$QH`Zcxp;Jj+Ti*zaLw->(v-%%ff}W*Rc>0=8w`pk;!#jmGjhxIVY65WdYWBk52b71N z&VSTk|Mw4XOZeD;wOTzj%)BnNSdRTLni6MYKb1LHcO?9S_`lrhIMWpCx$r4j!j52+ ztYtdKMSofq&ShQ5p5qf+tpwb5>10S&NYc6DtX{e(aF`g0X zr3Qr9epZDRx7rvam@1gOo6v#DYVHtIrxxboW961`lm+a2O{b1-yX_hKm$o-9?=doZ z$;{Y>+P6D|sxa@Hvf?Tw8G7NEC@Z;5>a$}S z5J3SZf}3rRPpFG8Q0&+zAyOe82P$N$JD2sUxuv+1~x$x!zu$K$ejE}{A z+n>aLL*$-Q)V;L7Mp^%JL5WnN{AN(_Jht+++TcZFBN>h=JKV$wCJ^!oHDH61<*bz# z)V6pz(s}sTxI{=*iJ|*KE>=^%oEn4nN~NXcZ6V)jEU#e764Z;Z!`8D&lVLD#Qp~@| zO+S9?+1nyM~)AaP#5wd`4EOR7Z;^6oiNo5=bEn zPM{P+7PfF@H`xsY4>psB+8&e7qG<0=Yh#>iL0<~L_F%$w1Dj_})9QS%ed|);C>P*5 z?WUUPTRtHgu+I;oQAb>$hI`lr31n7d#lCN));(3rYmFyNme&eYr|#h8jo7+eOtJk8 z=MOY&s+t=`-J|$JU*Zp8^*>zPeD2zK(qxTxQth!Q39^ItB=CHl>PZic(5<1FS*1?) z8O>TjMSq)>T!#i0q)zt7t_>t|kqBb?Qjfi|(8RicT%3|2DlHHDvIhOOEQu(C z>;crNS#G}WK2~OL5bohU?tw-n74RdS4PTFP+NTMj8zyAT@538vqdf*aN7pZX1&n%3 zrv6r0z#=_o18F=8s-4R9M)JnI@VBjS3zM3utKyZ?X1TxsoHv%_iNDsz;;l7!O1@eG zGxsI@o$IeZuAKfwvittlwXyA~J}u!Fhri~ig&PraVCc_mPW=frbd*bzs1WW^Fv(rL=A9uEy%AQ5o1!xAU zauku;QNqsjE!cp_%==G3AZ|X(@4QzaYU@!ZXLHQi`#a_yb@GpxG`kNv%Z)ejCS4r| zj_Lr!BhQkJm1YRa#_;+A%F%#4sWF-1SA}MLmGp|``ox^G3-J)Mnd6S|(S^cCC|_e` z1E4?eNOIrTq{+GzyX3fis2|ChKT>P|aeDyfPULx~uA;j6$I6%a6+JHw{6RS-YEc0G z1O=-jU;$e*!)N_=LNq%8j(1;x(bUin0nPYO&!O(5kb!l9BEE6maOAD??vCNcYVN+(SLQ`To7Y;WEMYCh7OiS zgUahJQ#zY7M51jJEe1o_Ha_y9qzmta)oUJanCH$$CNdgt*y>qc6HIZ}IErFL_=l^s z5seznq$sNBy6}5YI0m!+Hs>*h6%{@Mk$Rs*y3>)}PThf!cbh!}W7?tJ>0@nJypQO~KMB>qeJarTu)1cNBZ5UWG$6dWg9qnVMffuf}X-k1ksSD2&8ceI= z>oZHQ7}EQ6+eRxw`f$Ndf2bAw+l!ljzvfTY=C=2_)$6ty_c81v-NEYmNK@X^eq97n z6&xx^A(f}JgS|UU;kHn<($F%Ek(O9l#8#t;?o1Tc1ipI;NQ}J7zz(hYJ_xeWv4ET+ zY>x#*Ms;=QLk+&}73yxL=h%xihVHzEBbR z!jl#cMaa}w9tLVWr*1KWkU~I#Qp?hci3#~+`5j~gJI2#uoZBC?iHsPEG?_x|lVUx_ zIFXjuD3d^bD8|moE{uFImnA%C)A*-|>R)8iZBGHSz0DvWy24YwI+yOtd3(Z6RpKQ` z?s|W7U85A@Q>O7y3mlF02V29T>Y&&-y--0-l@&hG(%9dmp%0xpO@KA4KG1t<2VE8j z))NXq@%^mk5%CByEuJ~lmv~+~S=hxF0J+p8$*{ax?}5quhRHMWwQnqw?{$Tl>N6)F zJxWNSkB|df8h{3rF}zkuqjw=MlrqDG53+QlY@aoDMjMh!Zdg$x6YuNSZHPfg)Sy9N zNA+m($y&=g%gp7nqQjF>z@ETxTZ5La%l(sD{U7qc|6CrA&R%POd!zSBSnr+7{B$Iz z=meBN_BPV`5A|s7D6b6*mRPH#}3GbiK!B%;t{V z;50~_O$%F@$Sr}+{s zY(Vu}fih62nRh?=CFh5xsehXXTz>-EDZYn*rST8-Icga1TPJDh*nlm*wsvWfVD|Ju zd$v8S2ieRaNPOnYJZS^9RnBsx*hiT)ygEKhv^}YQq$-(-JMOi6fS|64T%IzJtD@Si z1Equog|jSDasWcP(COfm_h>N$nnSpb+6g~WJ$2GOO7)2Qr8APqdRp6?=8=%mbH7}J zrxjm@-Qp;QlN#`4bq_PZCNRW#E;zkggPIiBIfi%q8CQ^S1Lse+^N3p$9dSv)VR5q` z7oMpBjjcTfY|s1&A#N6_wqR;2AzIyF-7 z!RTW(^|#vGVV{;wXMboD{wEpmzw_pa z-^@~cOArB|^m57xyxcU669U!+k7uUxNF-xWspJk-nuT>0(8mW*-sq_eq^Wf1R^%2_ zM{v#n+W;RCHSVavB+PeUsOKaUGpL#*41_CUE>MbIT`O$XRund z_hko_F+t-EU%6vbMU%HF@pAPDHaL1yh3~< zYN+Ay|Xr%d6&V4BB|d?CyYWVX>=Ga7LINVB(6k}ZGd$c$r_rlqd1!^Y z(!buvs@T_|=zF^4^{!c1bSklmMg!WB+owNVMk(o=rR+~?Qb_uQkp_J8+QPOy*91jN zU9`LOe0LY-lbgrxETmU~(Sur`w(kavU`mVUYmL(kjHV$Xq{vIE6;hl)6PGj#;RqXX+I!6z3 z6oWj_gg0q)hus(T=y$OhtYNK&DYr@yUKrp zLtJpoFR{oqOJgKAsoSJr=_0kk4~Jm#Ygasx++1N-ySLq;prfc;IQnD5mK!0OewBg{ z5Vo1_CLWCY-_QF$eiB#%$g6sVcFE9Tpwm7?UetW^-Ft@wcjMI-z?B&g6FfDPX(Gcu z4S#{ip(UWa1xa3sBXmm>CJ*aRN8rX48!U~n)PQ0QgPLu~Wiq*JyG?}m9MZHl|ISHk znQyxp<_t`LH?QS-%~OF1Zu`yJQ@bg_Q$Yn}X(0nM-D=}QqY`WZ6?xO>h&6^!mDAW@ zE5pT1!E}?&yqBpmTvXIKO1;zxyhMV zcmN*!y-eJycC?}gs1US{s%uVzvRPD|AzeV|Pr3TGK1$Ui3X5R#PD2NsHOqe|dO*Df zVq)bC@T((q@NAD1w2x6jPgcb&n1(s$j=^*{LXhJyq+_l{hDq!_T`Mc zl;$I66V_t^ht!o!F3VEhiafqVX|>d1Wo%R#qcTqR)#CHXYa)e)GN1w6By>p4CW2Rh zWfZKMlxdDWGDI+rDERZ?g2S04*4jbe#VG2X9PQFGr~acX@c%x1Z6n|+LIbX%D-PuM zMYnAL6EMdu8xfy*Odt(56SehJA+DM<(AJJIJB_2Y>M5Rhwf1CDYIa34-jM;w4laGK z)mY2%3|{|Oae!WQnXvVSA7bIPe5rt3$6_mpTl{g7_~?X_HT}HIh*m7{uJrc_Rea zN`$|qLW!#-Z2Hahx53eFs{}NfG;P_^fx24m0*wmET zs&8k_8F_UGTmZ;#-s>9J8*=^}^9B$`V03akIuRleF<4Q0NWYShVomfb8lG$zonzBP=)vi^%Xn9%AP8MQN1*_|c82QJ;C2v+8b4$I5V#9?g+#1ddOi zhls>8@1Ilg`a%T!q?YPrmPOYT&oRnm&cBYmUPL=@f+(HkK zxcvsz5=tsLZDC#Uf%3Ob>`}q%=NOZ}8U-(W&j9O1zeU)~rhQ`Tl-4B@Y7HJ{8e=}+ zOnZN)5L$tdgyra>!$+ZUt|;urr~wv@G^ zzD?6BJV-D*R?^KElKAsjajT&LwLz5n2*?3i8YxzXo`gjFLQ6f63YI#uq;0hx*VXq3 za=Rr9!~zaB;N~m8A*HI8PUZ?r7pBTW=g2xhZFOFQo|$J1MMrEjMZEyal{fCGt4pOE z=&f}3YTbwtM*}?%+yQ)z|KP3P@&6d%|M#!|o(qtD>tC2hwmKz6O2jn%+5V_?aYOTX4pf2q{a8{mdiayD{`$ zR-e53L&&F*>Nll_J9-U}x$?rUHbrts;amQ9sMz3AF+V#jO~<-r`8_jXK3@DYa8wN%9TgcreWQb%wrv0+AG=_+ADmLBgzWbM+NMU-InHa zHX)~&ugHO!O4~?AvtKn_=E(BpSj~Z~**0r~+zVQ%pc?@*OC^M#dM5sAql7R9)3 zDZZb!a&+Q#ok8rFer=gocQGIop6>4M4sdzj(wX{~(gZ*w?zum+nVB^CH@?Kf70Na) zbx6!HP(M(1B3ibT=;qyCMfNSSF=P|?q}VPCa)N2<9ICYWyg3(j-k)43BpHHO(xtU@ za}8>SZPBWjaZr>7BD1i1Q|TFb$n#$Bsy2}}c6l+jrLDLoe$ve33aml95iu{EP(||K zKoi8iDEW9A7S*8|X&06basf73Nw+eT!(iGKQi>-5exifK%_uW{qXcNDT+AINJn|Y% z-#m2XZX#r@r){8;tuSYj8%jAHEvJcY?%DD7FX4oTA5ZSPAWP`GEUD-LdN+BA{e4!& z1c`U}CBoWK4^gz1i+7{tu@E*uUdkePC4uKX)L1g;akfpVu{^U;4X2#hs@Jm?oo_S zJE9WeT_2W}i3A5+iwStMGsVh&4i(69%9PL0q ztB)J#h^qTi2xjrIdVyEzjN2=VV-;C{iA6XreaQ8v-fi@m$?#DpE*_fr+NvsU*8K)%TN=&H46e$(DGMHel8mF?7-Mq`( zA24|CmK&$45iOxe8U#*D1ES=mb?H%8)L)DS8ts?of^@XI0C{i%-5?rpYO&2hTB-njs{rT||bEWB>(Y0JC&_ z8Wo&KqedB3Y+L+l65>yZQT+o$e7i2{ciQZ_w7H_Rzamn9FP$@v16<?nCAt?jYI6AT{_S zt(e=l0KpZNcsJ+y64lOP6UKkbX~`m0V$i-T{M>mZ$_^Vvs@}fqzx~%)0Fp?rgw#mY z=P7KOqq;RF_zcM9#SEdB02-cf)?D<;Awv>A-DeX*mBF<8nsVkQ z;W@eqj#RQ1G-L%uVfSUE$EonDE;e89u#`iHc)}&aIu^aKPB0LdcqD0b$_A)-9CHOL zIt1V0_^b}m_Lb4~cR&TD zJ|jyA$TR(+WB8xjH~yd4Q1bB?z-QGqvlY-33Q2WQlAF9tpoh&v%?qS~5w)jw@h#bm z)tqz748^1@eQ-mi=vriA*K!rVc4D^?aK0xpc;$jQ+Up1^suD5Jg=fo$GT<6KmCE8Fg9LEie8JPv1vnd+1h{faBZ_*(G>9F>!LX2NbfF<&J zU5ymLfuP#|s>pQi1-gEqr>Dm-(|p>!nEWg3kueg!s|jzw*$<=g%m-h4oJ zekrnEDgWzX;UiVIZQ%`)lTo#md|eLRtN@(7fE0E3U4Er2tBJi;@EmE%DFa7A{06-2 zpz5KS{Ho5eI7emS63j8(0|NGvgMS?*jy1oqOT3#ws7`KB^WeVi&IDs?jLX@I9cYMI zhsMM_HxPHu>m@uW?MTjYFFYHg`zgqdY*h`C>!OMOEl--jX_aK9A-zpfXqv10l zp^bu&x9oOL8BWZCQv?*GWk97>)y|Z_Vjd}M8ym8FQc9<(kfD|wNd9EyS?)7u4+{uH zG9|K(vHXiW;@&Tp^%-SX)&K>*D5KUyN&=4olYMw~{U%oUw1ng`jpg+IYH!ruwUv^J zI$2H3D&3?41UxSxyASxm?$yq6OG^fpW&%-C^9q2JT!KYPDH&5YXr^QguH!kxOHRN5 z&ZN)+uVJB?W=uG~J#gDb)^Cm1952huX#TWeEVcVn8EYfZ25z$Ql{ONcEsxQ95ZG>a zC<<{hXXAE{@xVltI0)M79X%0(lnPUzPXNiWYr2o<3Ag;FGfzeY0J*54qZ%;k+?QVh zDr`ro!1kze6O+3)kRcSQaI5MyZ zhL#t!!Vkmqn`w-JXETgP$5A`=$2JeyA3MDVThBT0VawOO8K&?A&~3C!a15z^aP_uT z_xLN>TKXrLmp^beXVVr&GkurlOHf#A_v&qLrJH)q@;%}V_-M0Nf|h!RV>*%iAaM*3 zqGwJ_{WE#(UtfP@a}78Z@|f)x>nOm5F%kvivrQ1*ogPuLCuK0RB_#Po)G}4@wl`>~ z6mc%RWC0r+o0@JYkVXsup+M+}8tL-|Wma*T8?FLjkxYkaG*;1y3t3p1U^!Y1t zQkq&GPXioy*<6+AJ#W`2`&sE|V_o}uwIjJmFmW=OBg>X+& zk1MFK*abd8qk~NA^L{E*x_BWeH&D?48Y&}Ry$jd_#q$J3rXsO&iZzs4K$aKOv~E99 z{5){cAd$sD>v}%~)5*kumZ9$jPp-DoxxbVcfoAZx$_0AvH7jW!>XX%~eHkckeO22y zUTz-3Dz`Jqim3WCNFa?7v(rnLo{|B(!B~SS8Z-X>K(9iBNe9D)C@eY6n`3$gjP5pC z+1_SpN+0O_c`BdkYy7@_b_6diDHX%SO7D>c^cjqJD?IA56;)8qPN450>^(XmN#1+rZ$X-v4yX- z#GKe!Z2Lldp)i4^NyW>4u!OEPR@9D^_e8!ZJ-lFq3g#%?pZaZ=kHLIw+W@&V<(R(0 z!-2sKIa|7#KixSB!f+C@u*J>A(H$e`5{J%ylh|A3jy)_GWdseV6&C>mPASRhAcFvN z8+H9``epF>rPUBVeo?RC?2nHb`?tK(p_@PP%O;SsKLOkUp-Nif&8zA1p!m_$kR1#Z zMGdf7xC3EB z=qm}bfbzaC{;$q``f;FRpypOdl@!1j!~#y6(ZT!9-B7Ct^#`@eq85n`<;(XKVbC;{e&)}B^Pu|j&-*!w z9g@A*3PGg??cL39nDx6rs3Yk_LZviGVPS4Kb*Wx%b%dC)5|-keC~?xEG~o@wM1$sL zvlhTT1(*u|1wvjYl1n!v<)5j(E%`;^WXYy&e<%zM58rrtde@yhcibLSZ@%NWyZ*V` zb*CZaJ9ZDMVcX9LikHuK*z%ue66Oh7HXX|rcV_bK@;l}T*K_Rp41covD6O(l=h~+D zdx}T?=Rfz)$A5ftG5cg+k()8zWo5s6UE{V)6^mnc5oWgA(}PWJEVe03uXMHATh@S| z9#CD1gIZfElcddXO$V={daqx;b-7f-s=pP6c(|n*t&#`J6j>WC*jbz`82__)ZDQ=; zl)chZHwh_M(t5fl|JGIG=6!XXD+x_6uk6Lk4Rq}np&q?(a;YrYoNYj(#JRhf9N zbdKd2d@@xEyJ+Oqsrowq{IN-+$y|ePO8A?yJ`qjeFCgOG;KuwS^kZ1AMeo&GN@`jx zItS(Twd*y&=0%*57r1g-T_s&RvklVH^mq8=-Tc`{FZl4iXU}a*JdK_{aLcg1vv1&# z(#AtiN~Uuzg6c$H?KSid@wdk`o_zSqQu*Y$Dln#C?fssPOSOo(_jYADSv#`mtlg6FD!fU%{haS!pPT8~a{E>@YrGe)Ds9 zd<^>aDdT>}NZxyBsG?0?R!BGO)Vc98Bd^7?on_G8*L8lp9#={0l|$&>m*ZD-_x*C{ z@#zh}rFUArzeovw%De2*v|snbQBc_ids1Uo{x00cm+8+0%~rO4G2b@5pvSv~y)$@g z2_fX3Omx4nGLa$+HEJ^06W?o!o}yFcaPskS#$l1<6q7N5qwftmpUp`S3@^wKOXUuwzOJnXSObjn9_oS;+S@N%uE zcbnC!gRE6kUeq_$Sk`tUrPI%qjt204At?Uxmj~rVlFkv)(@EI4QB?CbOI3&8%^te! z8_^V8J{AqnaZQ+r#aPwe4V(bmJ<=GDJ>dYI8Yf@031hqZL`)tHdM(L2a8c80TxF@- zy2{5Qbn1XyVA`b5^S38zH>oSXM8ETKXZhDV7~VV)>-W@ICB!kq=u-}1n}(k2S1X55 z``{!M#qm=&cf4VA*&ioq`#|_-;8$!cn@Vrp`UwX_=%y%;+aB|f_gClKs%B2e8K&k# zg^fyWkFIrRs`M%e4x=w#&bJQcCFousxgfJR^nZw-%0DgLuI(&C_O*|{-O@Z;akm~6 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�B%S&=M?;Hwt|rPDL&S!kehG!cExrH_ARVuptj2H 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 z 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

      {K+r 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%0DfmMDc!&X-n_P#B6=u+XcQ3!VoIc3%rW==J1- zP}A(&??iXzH@Xr}6!4Wpldv^P6ZY>`$n09LbEoo2b_KZl$J3U9(7}6_p{FWYX@ZY` zhzEQLP!_Ec9%=BEN?V1^Mr+{#Ot--*ZaMPM0EF0`p!&7K<6g#b*MmNty&5JQTh-YW z`S)mfz!e~QN>_iO$uhr(nx>we|Ez%Km|R|A_Td{rM)n>l4dGMVg_uref zZ@ceMVzw-$HjQQ*Dpp`zgBxbZHH70evfE7(13=i<&Sa?l_}^$L{^9J{4zWW~)4b;y zrJ%pDiee2Rm9=(aQl_uiza@KyCa$LdaH5e;h1~ZbM96suXG;WYO~o-ZCM%R;$g&JU zWizk7UX)5?ZL2MepiNf;U+nZN3!ZU?#GF|fI41Tf;Etyf#O3H9aJDxP;VBB5w=wY= zdxQ&k)CTH;DbEQ%yTrMO?U;rr4Y9irO~NQ*Y^LeSe4k2^kGI`Ix-{YVA=Sos-{g{T zFNWk_XH?$~P0s4>U%je5&&AuV&#|l#mh&mA|B8~v72@qtDGnqP3#Wqv8igLtP z4Ifk99pGph7^RJUX&8w8=!(t(A=OM`rL(pfvvZ}!BO{X2@Z;ZKFYV%FB?wJ`*mJG4 zp}|W5Vjq7_T(!k$H4C8k=Lyc`<+?*|7 zZmMYDXO)>JF4=n@!&eaMGGAtyFb1d{y8mvgKUn`^{)o+%Z@k=&C4@tV=;3Ujuvx>z zDNOvR5%)6BkxRmutYIa4;A+Epm`{3-8{8Fm(mw`^FK;idqW4Fhxeuh4#}%{^|1r2v zjK`(<$*uT_dF%)_W58k4WugCJtK_rvo9mUeZ!sYBYaxyg&GZy%GVxZyuuM(nH5hbq z6hnPF@hdZm#7de4gCJu%m!&E$7Tk29g~}Ay9qLW~;>bOe3wOO%gBgF1z_#_Hm{hRH zD@~j3huk=iV;;eupWe!!dv3pMR|3(!?~uv(q+fs)hv)PGnF7sJqk+M|9e`ZSLvvPl z?J*!UaWX&txg$_-_T5kE**v*;AcgN5{PDp?pdKv^`#aD5sMkPq4MBhEg3gvEV`%u| zFkIY*?Cgfqs2@+6epYqDyiH(L_?bx86eoqYj9T}G}K3p56w6=?3cQ8DvzvhM+w)yyZ) zAhv5g=fKAd^|)GYzcSnn%_a95(`vqlfjiJZMkCMxoPWXS{;i^l_t|CSKT~Hh#jmP+ zTH!V)5vR2f!J97*{X2wUXl*pwIW*UVEUYj58z?%+fP@Fki=U#DPqaO)1-4m7+?eDw zJ;xp1tmlm0=%1Mi!+IbA=&pUbfSf=OtXI^~nJ9yCoI%*LN=4yTr_@zV1-!lSsaTYj zG+;!BC&jTk}$Rb zC~_G)*nfXB_t!iR+LnUc%!Pi9eQFYb!hJaNi8d3^=9z`LbUs{p^XA^c{r9x1KV-MZ z;bd=fK9fv1Nx;FSpoQdf^uH#&K1jyCGZwxqR%(14rzh0-G?h8u?!LnAvS_A@!DL5i zBl_&MEEVRHv}Y6esga~SplrEY&jvBGJI98fBgW!SWP;C$uR0%Yb;Xi#_{770BHXWv z`(B{FDWGB9&E@XU?t+Y?9OAcRI=QK6u&s|;>Q;+G{CRN<;OXekpi{}Oo@Et`A4EJ_k%?cJ!Ql3FZGJ7ePtMyjpR zJ^5lp5WCKY%#x;`;i3myWDFrfx^3BuTd|CrwD8H9ZG$d99c+%{_N_k-s-qFOKk%$$ zMc9xN4E^qyMZ!m3=36)1>)RG=)v9Uq{?&6;`8pMQr|%UCQvVX7OUDUhblb0N_u{=x zG_V}Hr7}Hh>)6~QE{)xk8R8^}Uo@233&74h@P(-~hN*ye=-fx(nYV)b|wk*c^a`&*X{% z!iJY7eKD+5-#BNDV7A?37KRE;yPDGdkcZ%>?t#CrU*+nm{<@D_xJ}L+%o|#FyJG0u zc4V?nxb{_*T@JozW=79c{udg>|Lnr>k#Bs5n?C<;`b_$M%|QTKL*g(0LK!0$-$IEW z74>BBgE<-bZoYKLJF;^s*3U@viVcv@@8ej{Ny3NQX7Coq`hqpR_UV4GpPovZRsytz z@?e{e4`jO5u7+%mqc>TcySmc&bKk8?HWUJb_(ahd$V5F$RU;8cpOpPF9tr2lLjQ@^ zqx@@JEAvyO$1@$b8m>kvfQ>#I+>T)lev(g1R*nemeq)5$?lfrNTo-x(A^NP4lX=sv zlUM1v9xI)%xF$vnn{5e|HoQ_S8%^FqB6>zSIYLW`d0DduK2D~LH^M`wsr(CrY<_E7 z$sa)pRJWUbD=^d>{!pv02fVItvnAHcdgXgm;4q-UQ=kE>X#l_nZcO>l$|fTbj~>SL zEu4~AQec5f+la%urCb0(uRI{m_T9Zyoz!qqADQ>rz~~aqaz|G`W1{zz#VSCY-zHNj zh!_Z6Pgs}QwCXTowOp2kZ-hycrD{68x1hgI;(7Jz8ibH&!Kl5kD&nF{a1{w?y?+Sl zzQ@8+L~YesNYr8EP}OjWh~gQF3NcnqOWeOYycU+zupRWRtF*;Z-s120s7?>8Oq|#Y zpHrUy_MfHG*toswq+W#oqTWi@%(u7Rlwf?iJ!fnXU5Vw*O4)wT=T)a}ri0ELTKnMUsA)Izr})bY@)$Sh?a$!rSQEh zI##x7jk-g&AHLOJ=!u$!jlO^9`&|1DxQbFNnG&NZSE499`a6gpFS(<7laF)pP~zd* z%#slXULU5Z$~|BJPhl(YQpoE||KG^CNdMAs_#B;efG0=(%Z5SxOsqyzpE2zN?fLtq@xa8qkuU zff!QbtNw?Q0K|2f)Ysz?Zsl{!4^fRPm15bMp4(|^9usRtJs9T z&p0<4L!`H(oW#)n^?H8BKi+qM4+AL5JKF@@QI9|6k9+Ag61 zTFe61iwN?v_3{prdtKDDu3S)OHyvT$qvO9`AbuJ9yFgTO`_X-P(~TL5Ohq{nURemz zDoy=j_cUs7POD+os@l<1fpA4r*~%3!m1}-Bwr5P_`p_GA2_Agb%Q9QBC0M z)OTgV-02DSZJ1ev;0w#OO~;4TudF{1LF1c<^puVt+{ATMFxlQ`lnYKA@oz+2o{8j3 zWC?m@eJGzH937NmN2X|iGSJy-zEB@x(Jgaw$`bRoMy0eZl8iB zbF5`If&9!Yb0s*eeBD^NvzioL8A~^LfqzdDIzkwaj1t%gx4qkZ9y!#*-B^zw`r2^L zZI#;ZQHU~FA;Dc7yF;@y>u|pDShT-b>x4M`Ot7 zxYVkZ5e@&se7ogj3#wre`yU*R4H}zoh;C)!1>cKOTW6WI8h6vD%t*O{(zUJc98W?sC z+Vayy3w5Ll40sz|lOonJQ-jqk%x)dhiE-WBjVRwnS08mP)i_XsQRKG{%-;3XaSo|3Ybm*S?urfT#bNnBpyoO~778|(1 zYBCO6h2-}|<3;$7$+CyAC68&5Jbl(bu}hU3asGv@{Zspni+|#Zx+TcJQgDd!hN3K} z19N@%NA9G~`r<`cpP;YPjt`|i6~FX$Rf3Rns815PKzV)KC1Dy_!+VQdmgrw~A{1D^ z&2-92<1^I~Vzmca78^K_&#*a|B6eng?_?|%`wQxEX|RhBLhs+NegNeqj{hslb0%GC z-PLMIUaIW3f?TIFtLeEheLK9^^);e^E4%XzyVUBOY?X8>b*Igj)8B-c#LNvurL2Az zXBsTM6JZM$B|qv{Sp{szqoZzIA-Fhrfan9;N$zz>^~L%|E_HOT4!IY?>OFrm5el0$ zK@Syj&DW{039Gng;hJ8EEt4f=1>>i@ZsGPzQz#K!MEX+d};-R2G$~kcMMp} zVD?ogBc1P73bW&SL}a#efX4vI54|BrinDG_>w>8B!DIv~b2Ei$gKa-P$06_q_*>z8 zK}9B{H`VkGvq+VtHyvS1`9rves(^<~)OBZ-{sbob?-hO|{(d-s#?M(<;IQ%l(5E(; zoIqDo!dNYqB*wxr3PC2PQxe;dPv=%^-*K>VW3u(?Ci?h|89O~}9N*uD&LBN1nkw~J z7=VT%$ot!7hT6`?EEIb3+VtG8~#T9fY@ac1r9U`)BGVzB## zFMpPQd|V5x6POBh60b(dKhx#GLAZ=pO~c93j1!;MrO=a1D5{%44@a zr3c)=Wo~3-qG!K*gcC5h=t0G=@Nk&vLDETw0mQaJ>g! zO`YttHt0XbK_6y<9pXqr?(IbRCnjnpze$G)HmVcaqvumG5ohRYQ>Rq^HtTk#JnPHT z`mlKYNCNV2*g0h^nBXVh+W!Y}Zygo&1Fiikihwjo#}En%0s_)8N-7|TFi4Mdcjt(7 zgGk3ncXulc9YaWWch|rS%pFg?=bn4tyME_gXRZ71EEa#v`hNH9{p@Fd9-{OT!{y+S z)nLZh3o5sb+VHQnRzTF`~1Usk*;hDayMnx4K^f8(=msp7RsA_F-q zCF)0X(ue(@QhDTjMn786}{K^;Qpb)B3$tSfv4Sd|M3p$ zuc`Do6A3AwSkk7VSoa)r2Mg-;!^I?orTxrEcD4##^hqQ!>S+wMQD4-FKb#V2q(XEu z{{tZ5BeQ25!E;F;hI!^*Qy~kZ{Z4zMG|tj+)~Ipl*v{5_qNE!wNOyMDqTl5^ywwSZ z;A!fNW<3e-+Ii}Hs{2p|Kap7U&4_H+0TYvgp?!sclC?HwGdnY@PK$x2mh@0U0t86o zC>fm2PcoyS0d2VPr#*5fhF;d8zpqDGwv9O<&L<+7(PwiN@0_{Sdv&Mrl4Yk6%iy3l z(o78)ADh8^jdHIw_0%Z5gS3F>?<-c+R&mns&r3DtFF(Hd`HU?7&uX?~ty{j;Jwoq3wOrQj3e=Dqv8&%GKA>|IWh04=Z0AX zY%5gxdXy9B*`*pdc)!i0F?02_T;@L>6TSa|$0UXsBSIf&iv3$w^nI!iEqtWRqs-ft zZ+Ubau9V^jdjz**g!2psFh;A@@)uOT{VGJEr$t==aOmo4cAMdXJH?o$Cw}>HEP|rSa_j*_1~0uLu}O?d3B_(i4esSB z7!w2##3v}%9R=M}}Q{B6G+}97kg_HBqb(ij8>R(6{+Kx|2gY(g@=1T~W9_0!!`XhXJ3%r)Zb4?OPh;VxQp)>blg_NV=Z3xkDXk9FJPaL^pfxer@DS)m@T7cML64!2$P)b zQFp3In+x!Cu!^2+80y@dFn`M`jGI25=_T$VgkU_eEdB5|A~i(L>ll1si_nHVkB)PQ zVL>@+b-3#iW<+29fj3@pkF{+wbNYmuA@5bUl}Kjqn-aW&1n{Uz23g#Xe(pz`xqb|9*EjZu%lXtN+H&)|Xx8zrR{q zlPj(fwf`$HdhA~VqX~2#(mBkIj8dsYirgT^Sy=Qai`o13(U_Y`D=|KJ%G<0}%}50`K{&BgxcxXm)g*IlOTd*6~Rl%bBkUxh%Az5{fkNp@L(7-3RfBQ=+v*=W}WU5?ZzZS*Wfx}>dl4$(c55{>+1Cid#httnsAqz z_v%lh5|?EjTSn2HQk^knk(KoqM0Fv

      4;pL^|pCXB7CDGK3|MKP5~jr2kSd0=vd~ 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

      (~WUw&}n2>e>5#n_GqqkGt>F+c}9 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�#Vi?;WSYI^P3eb-v* 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 F_#b6ZMGOD{ literal 0 HcmV?d00001 diff --git a/web-ide-main/web/public/user_guide/05_chip_complex_failed_test.png b/web-ide-main/web/public/user_guide/05_chip_complex_failed_test.png new file mode 100644 index 0000000000000000000000000000000000000000..4c735957ae85ab39afd3951fc22be8012306137f GIT binary patch literal 914423 zcmeEtc|26@|2I;KYAOneNfIR{l${A#imWY^Owo|rmh9_MDrMg#%OtYgkt`wGB>R%F z-F8Nn?1mX;j9JceM)!Sxzt8jh{rvO1elDDubFS+;=en-X_4$0>@6YGFHZjsWzQ+1U1;*t-WhquaM%2s%;dpsj6kRa^U{$rD#Q2PZTeoBr#>WG)l) zg=4{>f1i-_p@ruYoC};WN3?i!Vh$>39XXkB$o$Y}sc@;v_pe?BSH1sul3O8csQCT^ z)8)XB^BnC}7N0YTG8dkY2a+aIz3q&;6eZ@6vt11PuHC`!+YY~$dvKJkXE z4bj*rA+`(Mdrq?jbB9VDmK8gtb$E|CnLzw065PDvoVsoWGC|r z+KC37=%HA}T5z-dd2C$>5gXS0mG^Mx3;t#R(pQ;aQS7MD|@5o>`#N@#*6qTXQZAy zQOf7eNJDF_1#!HVjE|=P8d0FMWlBl@al2P>eT|y2uXMJbi9CE5DrxaXO(Gy{cg^dq zeMa%Sn+#=df4`PyBhrGn;-=tkG|!j2mt!bQ&CF|qk0j1CH9y}Kb))~<;nFweorjGF z6VZ*5bccZQQ$Wxik1@Wvy*6`(#izy2Jyd!5VJ#dT8^)x5zl>j~VhwazOXzlt|5VKEKHq0ls|F)??f?(#WIr}~5=y7S1O_pbgT1J>i z6SW2pqsNVWA(AI|%YEC$5p!Vv8?5-qNsg4@UBqm<)xy^00w>c9iYi@tl+TN7x#39578BGwqaJ zk7xOApXo~3$ZP>F1n*6Fs?yD|{Y}7vO=yzMDwu1Hoq1B=dB~#}wqqPJ`nxPI?@tOw z-@hcu*>s=?w$I)2_> z+spkH%^_~Ev{R5`DkXl>7~3qH-!G&Iz<$@-DOoFUuDp(|mk7>VfT)Z2lYZH(G|ucJQ2i z?)%*N`$DO~O*Re|?gdf`dsBn2x5zZPd|UmdV1s*5U0geK_{7277p2XrdKx7U$7tXY11s8BHE0?iGJt z`&{As0WJ80guH7PCH#(Ly$#VY+&dX`GG z$Af!PFGL%pX|j+X&p~+w9oD&BKnH9H`mPxd*++{(yDw zrFlcYGqulxVl|xd90eXq%8xk@p_Tr4=)z}P)|}TfpD)|<=0Tc`mED+&nv>1_BX%X7 z*%LFdXX_IlytS+PQP!}LmGadxZCIuBSSh>vb@y`LI^S9}!pm{yJ*DszbR(+#WVqb)NsR{%JjE z)pogoG(6XbD|?tD50gXDMyO$dsR786G0P6iIl4*E(;%Iod(1zWvdly#jw6D@Y}ewh zm%Gw;CGW}L`Of)*)A?W(Zot-k*mL>k{lUrEdVcLzQB%=GQJi+6R#T?)gU1$+hmt-^ zxEs#xohy4D^4M!DX)X8gufySDMqN!^k#Fu^qUdA?&Xlx9N&eCQK5v&P{C!}S!Fza% zMPsYYh;5?nT+2XHPy{JlDl)zW7lsl6)HPK#W4hnIGKjc7maHU)111K114-#~{9V|J zZvmRC&pz^e;kT1ftJU{CY~NFS+R)6Z_i1)f+GC>w_NPYA6!cb6kBRTabj?#}stI0QKml0HlS zKyQ@1FQMG!cdos&dZW%!$Su_=wdPdWd(Y}N^7T>dt(=<^g~Y-?3I+>(Yk7w~Ajn^2qa&ihiI^T1oIuz2f&(s@-nQNK6VUr#%#9BzBUQOU)x zrt0;`jsE?Y<}Sf1vcI(6<-JpF%!zsAN_ym|;^6-TJlkM?Gxw5Fa++wyStWTd1#r1l zx#w#pDSys?l>ZB|?hx>^tLZC$wag2vswc{m#1{wcT85=EZX4b6#QIGgpT5)KnY{EP zy(|4XRs|gCpY8oCpkY&Y>3T(~^LS}BZj4yx$t=gOba)SWf5NA`SJ13GYq=e`R2G`+0o+v@ddXZ`*pmeEsIOW)$p1C9yRt;UqCO%IJ|KW1g}C~eWZjew$Y zTbo!XP=q!H4=C+VJHB6_hWccpqweswS5clyXv3G${}{V9~pfz@xe_Kl?}o|724uN~kA0&wSD>$V~d z5w5*odGp0%amarSLt9+6yMCSR9Q1iF8z=j5w%yPtcIZ!oUFhG>y6lo{yLQfVu(5?Y zuyOuf#|S#Ieqx|MR-50)U2!kjxS(%Gpg*5?9RJkje)w+JKcDxWfUdD=nrmOZ3LVXD zpPsz|Bu^oe+@R&IJRkPD;Q2#>?H!M6Xt{bY@x;o1|c<5?_ zmho|Z%<6|t%|`|L=#2JwaMH)w$;Dm8NBz`J4Hf7!>onrj$(<@5j_Ri@uA7|Hc71|A zsUUMf=E5lr?vp1^sy%sVr($+R_wVM=H}zAGJUkw&AQ0Z(-ZI|uGOkbT5wgn4%7_bc z2st@vsD`w=uZzb6A88kNvEQBi)6W&OyX_N)#~u!@E+<+2KCp51^iV%_iglxZe||qF z+Q;EPcXDz6dsxr_5v(f+S(yunfBS}-sLoh+|7I74#=-9tm}f}(=jPJ{pJ z(tmFGUrjCktEqy*h5v5)Uzh&RrZ?TuPqbZ~p__VW{Aa=bZv5XD|8A&;V2%C1=HmB6 z@0^8ZT7z2+@$af>a9i_thCvH?!r_YX4d@7o8S97hAoNf2_YwNc6>-U=;W&+r?K0cd zE1EZa*q3Yf#n@ST4N`7;-X@g7vU)o8vjnd?$#HaqpXT8^*8DU!cK4pwdz}uQa0K=~N+}aT1L<+^e5udGT#vj(?SZRnejj z&%gckpd{MRSESXieWqx?r#U$|+V7P|r@0=o#Y4>}FMe=4e=#_@X0r_jc(4bWN_4|E zILxB;ThyG_asl~0He9+ZSe@IAy8}&cx85}t_I+IH(w+kZU+AfvYgTif6wk3qW_|%n zkR5eysL!Y|shL6?^C8glf{rVZ7=kbJJlasU%}{vkZu}KPL{i}%TK7y5-Ta;}YBu|0 zL-AE-QbHA0Ia1|m&^!L_o!hN_G$%WQ zXrOzar%vr*J2BAau3ur-dLX82kw?~V@DL9at+)bWNPyd zDK2tuKefI*ogqXjt1mJdu3#iHG$s0vZgTuHu&u(>k_Grl!_!gO&;zd>F)t30pz{|r z?yhMJtJz#Y(O~!Pk+w_Hf@Ht71Lr%-ul=Ppkd;uQejNZxyN}~!Wqg7)}p)Y4>@r?A9 zt4#Z0{>4VKc(BLi7eK;RPYq2)Pr;lTRVMBve-RtG0?(#!UNS zu8~)CSEeF(mtGuIF@R>|d1Y;VB*3@&rd++RtXC*J(0uq>F$^0Hm1M@G$XTY$PO)wo zU3#)!am?K)@{)`{-Ph-4qSmB_)_rG>)vWwWiCp{H_fsS9I%*O6)fb&gSAX5e4LMDa zN5gy;wAIT*aDFZ5^NVq?I~CL7Mn93$A)m4Vo@0~66Xq+}-SNw~2mW;fiOa4`uJl&0 zOTp6_LBy82@B!yFDzPuYZC0qVbb^q6w#-*C@tm-@}TdVuT*ci?NKNN3wRsG0UX*_)U!q|6!S{b*g$ z$9j7!9SC{u=_1EDyLm-UXy6`=joWsUn6z^_`|kud`lp9lo{?VjnZ>+O_58Q?+0i*!k*m6N#7tH|=Q ztx~AC7qf1?E|HYAWuCh4SQF-Vsiwb>J?1s_AOdOW&Bq~nh(q=8x66N=X2cJ3-WU*k zJgTeiD>9-l+(5taMZ6^jLsU{QB#Xn~7m25V<||I$4AdHs3~l}~?O*nhmgLXdy-Zc7 zyWg%Zw}$X0Ff2VJXsS!kt6~{Hz(>ZcCG*gP+XR&hgdezxB4R@WrIcPnitHH?8@@UN z*r%H)5}`UP4$wM<%gk$c;*QxCXD%8rDW6?;OB9R2j7*r`J?V5p0q>$NROh2QYYuvL z2fm^X+niUp5!eQbkP9bId(G7EYX@bj;=y!Jt?^c<&KGDd>4>U#Fj?f?h^Ci+BB=O= zx}#~0QEEz>RJ@Kiv?+}8gzQ&f{HG0VScQH=dQOmv1JqG{OH_)NKW%?udAX)Yu=~>hxyL)1SKNrz2H> zOjw5EUpyV@NL9d#xlA9XmXhq}a9x;b!3K*=QcFPH@nTUz3Qt-mzJruZ_;`_1Ym!}y z%~tF|gs9n48_h!RvVDffc-<-t24gshy*LqC<4Ls8^DQu7KD)b>3oJ2YSC5ibu*=3| z?{%?d9!XGs`kS$Aj~%N{2Poqg56RmnN=xPK&N)aNsraVo&xm()Lc}g))0NZ*!n4IP zVDr^h{`}q7&XLLQ6sL10wvJe(%S7^u08W zcCbrn&D^j|aKKb#2@;2i8R#y*9}24O%G`OVc}*gg6t*qMA^JG~kU&Uf&x6vv!WBGz z8@Kjo`2Oh2)+{}c1vAYlsv-6y(RcH^@xskyIX|v(z1Ur3>Yc~0=*CyQQ3RPA!^ zM0aKAnBuCK8RbyTFx*5bLhQ}@<*74KHhRho)riq!pYOhTomu(X7BX7yuuQ}-#&@t1 zH3a|V;D)b^Zj5?Dwy(dI)@ZoD>4%q@>~lrNt``kTVZxjL_8{b=dH>8y=qn@-IQ8eB z9s-vi3?rr|GA9D3HI7t6^Q;KE``|yL-nqfPx{m2(uZsGVBHuk0(7Q1GwDJ0hrl=>| z-U1cU_bV>&YP<2aKo34AqJ=6!l0La%KO;N)rs~|_uZ3rqanBN!UZ)6zrLJV#>~-Dd z;tqA=Q(bKOrw7HgXWyWwyndn&OUC%`z1PMJ{$7G=uGOxkH3y#d8pbRW8diZJc+ak9 zY}!C5#mFUrK&kh>OCKaQZ=+Uv4>woc)Hcty4UnhGQGiPTci;|hq^?O z_56c{$I-c^SjeR~4XP5N-LNsqVMx2vjoDjEpVg(ADm6eDGJL1#0e9$M0}zLkrwCK7 z9+_LT$Mnl(4h2{1wuJbO8L~{H9xy_k{>+%C_fWG)dULR8r+~Rfh(g4UrCf#1E7x`O%`ru3V1OUM}RBR{LNF=XxM zVX+K(J7>$FJ9uaiTwcEiB31CbE*lzBbQio7?*Vu~Tf2v9JHeZdJci20onE2;Mg2&+ zJ!gy?w&;Mg6fWrH<-KE!kPt z@(jBVZ0@RkI^Y-2NO5D&UB*T1M*hX?SSFQF-|n^9;nfF;DAzyT3}gO3=_b4!*;UF? zj(mFy6#qQY2?o=3>%&`Bs zB7w8W7=mp_$>qVR&E=st>nzf}7Z2t@rqaZouq^3Hp$c2E75i zNTx`tUjv8GE7+d8JgG^WASV{KAt52p8@H@TRt8U?^+;Hs6gpuZ_1DqIvdHq^R%*u| z4@XEcm8dk5X%HX%T@SY1pq5&k9za&4r80gnZFows!}$0h&^H0D2|$-ye_w|D$#}30 zyw3w+CFmwo+Ut?q*H`yzCbdOVUJW6;=TWupS6Cg<9T)`D>C^B8d-}S4PhfEHHD9>l zY-R>WRQmO&#ZNETWUX5c+CDrjg78OrW zkto+*vKKCJuMJwH@^&iS8WA0gC@7ww#L=YJr!l)JTuu-1sDlKaKwT_2>oH78u0u*Em)b|p)6DVs)gprHyf}G;QlbHx z5;VxwDP9>R#oY<&O7bV{K?jom#uj5muGK!WNBzp>rmvyq`Ww=mL-c7oufF)+oS!FO zI8|WO#E=1Xwq`BgS_|6TX1wWcYWoK*+ixFpSB6o$($`}z1qBpG@m*sMFQK;J2aS5M zv(s?@PYf8hJfxVBLk1L1UwxrJ2^x{$7sT`oNCcr}iN*%>o{7=g!Cw*(?vfpCm@3-M z6`;L7NB>#3<=?~er1`+&EBk|wLcE(qAQQq2P5>>2cL!1ZI)qy z4vGUR7A*M1;mXsf&mT*h5}?<4$e(uHF-GA8fj|T1oEIh*lx7N0^dSpmzfK`< zu}tIbIowq)HFKY15-apT|MP!Q{d5P85p6GxpG;CdX-rK>A5Bot%Z<|JxH94EsMO4im^*H`z-1~jh@r3PN$4`J zf=TZ*twsRIAwh_ohW4H`Q0yCsY~RouRG>+Jg0On&20ga{!w`^Jlv%MW7DuR+IWl7 z-`l~RuZKztz~OB>6}I713a`9y*ezF|nbHYaLy075Q;}&TwS{R5U-F%U7CeZwf7@4P z@7nwKB%R<$(XVd$;zSp|2`+m7*Q+b?H-)XPc!ZehO@wMp`(!!!2#4P|PK}Ot6%vY9 zWBA0#w%Z@H>VHmfnHj~bp9sD98xlh57Y`8#6%e@mxaB^;ZZkVYfJ7DAx_&_!hTqu_ zBYeF|;;Qc9;mdexH31d~q<9tRv+;v|O$>`yOpzh79U-Jebzx zYrnObD&V~{3I62p#siHpTg|dT?=ni9)3LwQ`+no3VTJp=DiCn0iI_8H2nTif-|1hN z%frutlb5`LljQ;qokcH)IGd9Xt+<1ZjqWQz`ckH*)R;O)U1K#o|L~RI$af(oZo_OY z2W2Y`G)Z75?hhDWA63{UUC!FSIQBeyLp3s><bW?k;YqIOmGbZ#Eg1% zkLZvYhxxXdRZM1t^_mHCaqqT#26jz)Z8;3-h$O&7I@Z|0* z_94MS`X7FYy==cG?7Oa8{4@Esj^dXh#^j4f-Vtt2E#`aBE$=YXF>iCz)oRpY@&g?x z(`76Dnyt_9p3#Ai8umuGd$^cymNVba$`87&@=Jr(MM!EbxB*{scU?B76)^^xzt!B< zvngEY5*Ac8Y8b`JN@C*2%&Ltj&qcI2T3O0 zT-t6|dfKX~osJhJ<3nL0uT*F$X08)n?MDuF-0ddz*ab-g9*^5|kq<4Evtw*6ivrAK z?utm@6}GD~)8mQcLJaY<4kczg`t1CBx%f*+u%YAmzcbGFtv_v2RxAj?EuF7i3q%W~|5 zvVNEEkLMZtcb7Wxe} z0X?dK2wuJ>Vb~-}6}-jE{2z(Ml}hvyJ@tvNxbv2+CB#RCYu<3AOEmaJ zeEIzj$HwB>ij;GdAn~08n~I(#t?ROYR@FNVh&iNXLvX8)@h)1LnSm9W)@Dr%3pHtv zTF}*L9d)2}CjqnL1R6u`n)byB0vvaWIjQ;zo2ye4r3x<0A?|<)Emoo(pYVR8lGVo+ zPY&p$IK8L&!t@}&?=P`PxNsz&s@MMxja;i z36!Qq=`!yT^FwY^TQiM(%ax-REZg9NO0UP;H>YNYa;*ADak#BEtT$n2o1 zJPByGw=vI$I@>ry_G^kj9h>nDFXefd!gqXq#FKd(r$n@8$p~f{_eiKrEN2+MjL^^p zLI}a<=KwpkW=0&SPNm8F9EBw1cj;u7kqA$sgc%O&Ek|5`^fa5vK+X!sQ#ULhBuVdK zhsaOq^S1f9pLQr&+S){S)LZKT0;*F;1Sq(MLuP-jlM`!!A{RqUlk0g zOKKxkGG%c-{kD5oZ)w;bYP?KqM|S+J=vka?DmV=7XdoO21H*uDP!;rGrrO#AN3`{6 zY1rQ^mNMZD%S8#SLwfBjEDI^`cxh_R=VcQvr6Yggzq}W_U%%@x(#L3N2O$r7-QA#3 z_Py+ayBj_YoEi26SL+!6D$v zFawLO+ze3>8B{Dki}!Gn!tP=Zjxf@_oTh(MhA)wALZw~u!|d7WA9oc#V6Pp7p+~aa z0*JQNwlUD=_x+|weo){RZ`?Gh5GOZW`AfK^c;35*80(8{r`(GRtIn^a9wh7mX`YO_ z_yIiaHsN|7*kt$B_?zx%dqz&@L~Pkt;v>~Z-usCg%I)BDFyiKR#e76nJc|^T9*TwJ zMGJ;5fc*9WbQJ-9=!oy=O1gxHXQiYdL{v4r7$ z@<$;hlC^83mF3{RN|wtg7Nz&?GMCIz zr{zqdsh+jY%Vf1{2I^dfL|awv#W&e&v3IaC9je7A4ypB44*$HVu}Q}u5ysJ6Z`7;%-yhnE8WG#FOn2X=B8T{CrbaQ%xV(t`n3O@z* z1%k`;(yiDjQ2G0LCW5KQrMpNkeb=)?uM{=8dhNK2A0hg52MXapdSqek`E@Q+d9Ql; z*=_%Zs{PoSnGbpA&b6FzEEpHs1^o4nY9HimC?Vb|}zRi&ifcb1RgK(vegiZ^b zsSfgK!%I;qevCE(BNto&m+@0rnO^WAPzvGEWmgEEh9fS+h{#+dFtI>IK!FPu+5Ovs zKrBBC3wWb(%sm%pnKBi#JA7y8{#(-o zO8{txNOU4H9M=ZQSg;6T$a)rGJv0b->?Wg-5Y76E*9t@aQ<6aHd=Qn{K*%b_4gHZJ zOE__L7+W5DZA0*CDv$=|Vr`?RGZN`p&6=NxMp78r75Cn4J+*ec7TenUhP|&|x9dpx zwqDnoxXz9ArS<3r-79)8e@r*IKU6OJ1SzU*k0@}5O6Q$**>BctfBr!I9S!Fr&fcdm z8XAt&2w;Mk0ub%@e+NG^cdQ_eIs!s*HwkFrbhubg*i2%r8mkQY1_6@H^ZynWuL%)_ zhkFXRe(&2IJVPB<#mupKv3l@XGmgX=}KT->!31 z@7ToXGHa~?BF-B02WbTC27;mL2=+k^-O3VJx?|9Wn^}9-mF!KS!U1<=IzamEv%xSw zroELtI7aUaFIWZwolI#Z`+r2Ar2`W74wbxr}KFe0ptqDms6O+;z0(5F=2cUwMybd2Di8 z!=1Vnm?yVV&(DTKKJU(-lfEWy)c^7EIXTZ?xyuR`r_l`-NEgFqvy`tF7NqUaMmKZg za2659?E(?6BbF+N<$XE(f9WzuHkPGOY68(Uj_!0*W`95qF?P4?oWCe$Q>zUIZV;v@ zz`xO-9dRY-VEz@)f5a3D9+GLUf6KyeiTGPCbS99$<)VhZo?G0IJ_b~cQlg!vZacME zw%MO(zJ~|j{#j0`DnQ|pS#XbjhP<0i-O%v#GDdCVY0Pd>ZK2vEB=LL8Rs^X#{xY)j za`4mW_RMDy*G|DK@=XRTbAHri9f_K@h%SjD&MPJ@OhaL0=l!#1F+mYrD{(O7<{{!) z%xSpwYc-S&!M(shSKP1aa&1(Wp@<(LqIPBMtjRrgRpQAjme|r*cXD+b>dhVslkoY z)J{R06WiZh@v7tC$go4+N@c_WOG1rwU%7z>Ddr77U2hmp6=}Z_3~z73n{g+G+)%sm z=&@=3&2xNh8Uy)n*81#fYg`VZBj^Fo-=*^f?bUEWXlDfwv$R|VbKuiH?a9e*g5h$` z-K|9dBP<1y=~nY4pq(PNgRVg0A5aXYWmu07KZl3$sKvax&WYH1jyuC?pHJ0aqy4ZJm+4nip zn+O0sIZQBmecdvqGIccstFd;TjwSloF7E72EOw(E<#iR1H5lU1*O-!hH5Mwj`?6;6KeiJW)F9~d#n7*Zc(1~N=)HvZtp(hmFvS`k4fbM7zkth% z%SE)VvK>e`E&{L!KYKyIo<;EDr(n}EeSc#GgvWil%PlC{VoCR#VDc^ek(dh6Z!yjAo?5 zJ>b-WVc&3YyZ|gC{xoJ5g#Sb?Ic{~$Ra!kik*4Z+SsJe(3^xSeV;S|wVlWfR+5U;0Gb|6Uc zs9M6!cVAB3(YU6;5Du5!tCE0(v`u5+to*@gEy^|Kao8ZjI$J}p5JT=cly1k+Ys<}` zd~oWWF+OR?sgT8d0YE$B?!oU+=oOhZ1AZ18Mx9?Ar~dYhQW=}t4kKVK zw=;opZ$rya|6hR&msVQZYM`l7LKr$N>9~aP-t-}?8+OuGIE39e3^^&>R!3V#Zr4W} zQjMiBo6!Pq_=OOWQF1vlcaNi^dn7S{_{X#CU zGV6Q(d19Q(%M!^^O!54#VLcts=^urqMAJ~sQe=%@8yu0Y44bou9F*qVgF)M32Jcsm zX5{r+H)B_&Fkkhd3ZwVnHPhQal@V0hB*ZHlg9la3$%|0B4TgbdHdLLMKn-J;0jBF~ z^Z;%8{B-m(Zh(FwtY`;<8SPy23Eze3zdH`_hSTPnK zIsy?KEJ9KoVyNp6&clh=j+7?SsI*V{9F0y$XE3ib&N1KMG@DTWUEH5Hd52Bm!lRM( zCsYvhxgNqQ4Y3|aQvJa|5aPbp^)+KA#!EnlDZnR19(F~g-Trz6aupa8bL_tSsjLQ6J>e^SkIXi6Nte7^He#v+MTSVX7PIORr ze_(B+pQ13YM2AvZIB(fhL^EH2&r&V2f$)P*jcBd|vCFtA;0w5oT_)J*m0&x9WScJ| zKZ~giS(=UJENiM$A&+lRJ=-P54)WPL>R{-VJG#akv6nWY4W8L=g!E;#+uhRX`fr&xC`QYQRo!gzUX)ROn7Eu^ie zk1ky>qXA*Cyy;mp(IoWr zxxtOf&4%epik8OK86e31Cvx-{g2w1O;>{1ZUVk(feK&{`E4v-v1(z4u{)-j;StZji zS)ZuUr>Wkpnq?lH?Q0)Yh+y`sm{DH)PQw=SL&%%hwTuC#68R2O3GXJev?&%}*M8{> zc$J3IXg;|!W7}LwRx=@$-|jhTYo0`HM~r=!Jdy+E2m;wr?)}@coO*5EC+1XgT62q*o_n8OGLAE*-O-pfffWuq z`wni;iI8yBvBvlrgi;hiozCC#G%C+t{!WMS(oc4578$!n==MXil@8sFllMZP58wZodjNS)HAQ90ykU zc2Ix&$g(!mTNl0Y)z-S8`63Iz>1{v>0_ICUHC>@-F>2#-Z_+#XFkUdR=U0?(@$o)r zHTi{mx~hr{3q!eTSx#KfuB&&S1w91pZ|J6~{%ZQe5JL4Rk1MK6b*Dab`T2CGmVUiK@h?D~Pe^KbP-SQX_?c1N$H3y424F98 z#hvCFCCbvMrLV9h*ej0Vf#T7T?EFv+{Tak?(foU<@#_6ldu6<%-jHf_7k&~QpshhG z9kTx1!IasCG6kX8iw2pm53n-m)`YgLd+97ZFt~yR>#d=T8;xD(!?3W?A5#Q0B61Kp% zB4qJL>rKy_PEF5zoaxfBrrq@lSX|hJ4gC3ZfH*sTX-`f2MP%2eB(>F4gW(euhakvM z%L-?sg`U8vErodHNJp(RB(&3DLGfdmu1%NOQ7E>!1Z=?vnl@aAvzBkKpTuRnC_}ca zfMoo$zm7L7QJZD^EyH4?8zB#OnC1B^r(nsLjmi52Wi;`pgVPTvPb?#@BHQOcCw`%*E5??24g049X?hv*gbmf5~Z>c z*6mZb)~UJE;GgV+`#dayt}CF=(c`e0<9-6@Nuha#Y`3l1{Xr>ZpL*+KheJ|L^WCbizO9v&Bo|d{l z#ciMUzkp~Cp64o(%d6I>cHS)vSHUFcB11gs2qtptL>l}WavOgWP zhx_&tP-F%}o0ZA>f2Fogq%P2FL8?$eW$DucFS?|dzs@&`)W&b&OLC17!o867z3Uxx7yA->Apte(JnnkRP{)Kzv=KlA-n5R%-&BZN{a z{1odEKrM^RE@>t3oY8r(Y`{J2g3X#Shsnyc&;BZn;yX^2RMp70RfRQ|q?gCqcN$+0 zZC1agF|FM7X%q4_F?Nj37s}eS0ywiY2{)Em8iQa)KyfBF-mJp_X-yn_$UrVILcs+n zEQnj(33DR#r~o-MXjutlWgTTGFgw7{)jMp5F>`K<1k7QEjcgG09K`*B5_r^dhZ1DI zSP>-mG0GrhUMfh42|1Q6n}3QOou?V&fo*2#GS8DBMbBuTUu+VjHP8P8kQ83z9lck+hjkkpH z3e87=MJK#HBO*7T`H=Rac+0RoV`Eqx7_5u}&YJN9XV3U|o*v&{(4ux0@ruvv^^J2r z`9f3^l}ESXEoQPe_qMzXN{CKd2UT9cL=cyvi1~VF&IW9}Se~{Ze=rof@&~Fp`^S1z zyfK^><(TD?;5u9^K$E0KELiEUKz!7|)bZv`F}$yo>#}yLt*`{p2*9bW!Gy|9DT3Mz zAp{~>$M=Hh=o4Q+qmLkz4TYp7GjO1^TZc|FWRsz}`a7|UOKE8q_~qWk*;KC>LQ;W3 zQU4WwW$^^(AOco~`KyLKlV=AbdotB9c~f@%_Fn;vO&nSTNJs_K@zjt!)I1)d@_ z57x8{BS*-VNLyboh~`ilFr^fYg|4mgf+zW(fv2g&p1JJJ2Gu%nb1UhpXopyidxto^ zji+Wg+a~@k9Cc)=R0MsWq+R2&^@xOSx36u_`hLCO?)y%q@;*#eG1l39Q&Zj3>U>D6 zs_}t1hOqJ1X^V|$1b(u*5I$*PC--_40v& zLO)h20;{ld3~|^LP8BuG;h~fal4UH80>xqw zp^0S$r&J-0wn)FkWPX8yD#keT4Atv%t@*3~3kxctsmuUCNlncN#H+|I1J_J zDXL5o`d%H-U8F&Cw#~eV5gO-Teq9G5@HamT-iMNVs7}L_3PCQi0Un+l_+8|uZ%h}y zZaRDfwDFN3CkK8-FxND*Tc}8%s8V15kWOMTPFbC&CMOOa}aX73RlybVVLd5+VnnWh>mpFkz*CxRrk zT*_7&<25=!EV}M2Q3y1;4{j$S4|pD`iS=f*wBfnHz}eFBds`CVJO$3Q&t>gv1kJq~ z>|l9=VMvyuEDb~cy@4qg=kO41ECIUHDMfYIwM$F$1YokE;?wVUXQ2PE0yG|^FgqplSr~6KDwxl=uF*7E6fn=3-><+}Krbu#3j@T10~GA)MP@0!j*Mc)&rGWt zK~Wn%$e-3?(PV3!JYEBrBs;?Hp!#BHSsE(i>^3gJo7BEnxwp~cT z3s(gBq*u#9!7x&9YPMpHln3~oDY=bIehGXUisc#oGS!C>w$R&QtoT1Gp1TyM7z7>zL= z-t2%f&dy@i=k?%QXT#-v=PNghW<%QCh=K++tQai6D293l=mFPI8=?$V5F$bDZb-A# zB~ykb3Z=iIk!kky6ws1<7n;m?=%~GOY=d~^POsovwx^+ZfqXHSZ@1zy$TZaY;FRlc zu$ja#fvC2B$_wGir@tlmd{8D7jK`I#0P<0k2VL?^-8~*7B<%X61`RGkZg!(YKk}}H zeE$27t>~hwIZFh%Ii)%d=O^e62SW?K&;ti>V+(WJ((zi=Ga)IP8$yGwsSLqsvqL;z zBO1dGIicQrCYesfw(vLm-IVh^8~qS9GJd|SK~K2RCt>!|hjax5pV9Cx9UQ48>XKYK5ZI1 zaZShT?YY>VYh*da9_^V$cVo0)8o#YUZ^Pi5UJYwN86E^{aOcGb30g?)4`!F&yCNKj zkd1r82Oc^gL*`Ih%WMwJnYNZ==D=6PUM7@cc`};t9hPEHsPh5x@-W_#Uw3qvT0}xY z8Gj)H?Ufy6TaLxaO&HSfF=SX!gvRqHP+->^kKAU;Z|~n=O(>Mz(5L$*k2H70_-QDU z#b&~6^l`#DSqRoUgu3vP8(E~5V`1qO;Pc1rxBh}au{{Aw$@rWUNXDu`yY0A(fgTmU zn3=U4J>8%!61efdID7N3B-giVxLuaDt!&ukEV-?0FiA~KMW`&Tw8-2$H3up(EmKl6 zMH!mR+74KnL#9-gW~Jt=iI7?1fKXXZC^$k6h=9lp-`#$m-|-&r^X)&LcOUYPh#qp^ z*L7a&T<2N~Wmx=g>M|<1?RvI#YtllXaN?Fi^61@tb z(~v8BFePoD0$&}0XKc6}^g;T7_PTydr-lyQ(JVc{(>3LU7q7hk>T=qaw1xd^L#x2D z8qC8)`@<};FVX-yv9pC-+ln(@>1LdahtIyCThBliv|CGcMY=5&Iig+*oZ&+jMe)$nTS! zH&WK#=QfoC1StSUVb?qrsOpi%%Rdcv4QH0zzkt^RRe6L6VO4=Y*Ytnstw2!xsO?{{ zds~4u3kZAd8_$*eRLRcY)c&0Z3}Rbsd#v)#`u_*7|5O}VtJS*1FS6v&SO0Z0TGNYW zbVPtu*7E%l;CH^uI&HHQ2Zzp3`mWV+!L5*T6%|o_`#4hLHw~3D`ce`GPjgzmEt*z7(S2=D{^{{I2-a$; z^+@O8Z5wV!rJ$!QtL!s>HN9uA_`LN#cZ*{2$WzZI%zTZf(e0DDJ}ca1!n?NN3ui5- zAJ%2THGx6{?I7w+R3_X=7dv96`vvZo=Ft>W>wm``I zER=z4&Z#HUr5Xp!wUTsCvM!Ey^DQTk_6*PJBa#-`P6ZLDJRzDYO+Q|BU%eXk5D@dd)@|L} zYV(6CRpmzs-~xmIB>=E69iNXE+|Ac0)L$eZWGflpWq*TMP$ySM@yV1kd8V6{UtT+> zQm8IdP?sqs-*2v71d6_qR;lS=Cc+Yy3~T}AV(RVyrPKM6Ds8E5H49HqQaARXAm$+C zn~BDaapSN{s*Vt2VcXTT#_{fD&CZ;XsuWN8hvT9X@xIinb6^jk3bi)afXc7Xqk6Qaa^~1L~JX zWi3~GvT_se%$%9e*;R%EkHo_ve-&v%gkJBB)NZ)4Z2|RmG#6q9k80EP+x)phz*u63dW0I zKR*0Ge%6`#Y1yRjDUA5x?wJg;f-9R7#f@fvMJYIRuvATOa^Q4R=26v}-fHA$uFmcee*cm|r+mawKjEqE#i@?%fclq^ z0cVzp^pL6J_0Qc)*^xgSIzWna?)_d8(zFiOYC?6Q1D)Yr2h~US+~?+IdDMoKaC3eR z2tE56qSLT)9CBo7mR{mwKlj}1bLfr;QP#0Z*p6BGp|5n?9m}v-0JhVSGp?qF59v18 z%j_*|*$3MWP_J`GqI>^Bq_Qfr{Qe=xozr2_i{h4EpS$;A8OhGhH)da6W6A;st5zr z=%v1cf8T;z`MbUUOM)+Ct>yA^TQu=tAn`E3d~(@R*wjl7ID(8&cLVss}@okVGEH=MLBV<&h`i-|Ru@qJ;k z#vU-+Ynr|KYM3Q;y-v?B4X1?eBQW92X&9F8AN5qi(<;7K5=!&BPL&D2J{KJNFzr!T zaBO!3bRc#+-4_n)=-9-t{n}^0!wAz+TtLCJFN?DMT85Es+sTlZT=It-+@yy1TdPh$ zgN0*K;1wDXIuo83b*;TP;xXfo!Hy!_b1&$a85K8ovq9WJe6_k~BK{h%9x~0qsx8cI z<{`au07|HyRz2Xq)9Pt4S;y{BTp3WG|#fdL2mG`Q8~bWxe5p#$Sc0FhwGgld{@rX>g#Pi8j3F0PtYId(3kt^Fn*-0q)rPI?k^WXDsabTq&g zlP;di3$Yd0@TPOTzh`B-bYv4FXBcsiYR6h^kMN=Of;%)A7@%dPJs<=~^BrtV06pC| z*UXZnnK}YSYLc7@9h1Au+MW%G;r+Wxd%*9 zFd7*@$Qdh8l_6Q;`E?+R+l0QV5 z%L5Dua`iK-IL_W_k%gYQL7q0k?G@LJaNJLp;Wd8KFj9(@UCcFtsJ1^>9DEyd=8u9SRMJ^cq z`z`d|)@{-Gv8ja^bdg!@L4ya`HemxbI8KrE4G<9A@i03CBC zABFl_;Cs5}h><7izEVEXYc;EpPtyiV|0C`o1`2%C+_znyP8lX&z=v1@@Kkfc;qaEL z!J9i~O0W!or&%Dz|EWyy)%*LjJ_s~rw(@o*e_bRH|KOXx^Ka(rr)V&&B2ntGaFC6U z(5S}reg0-)3O@ZOApo!n#Y$BBl|UahXN(yTfh1mTc`%N<0w!!WPmOxG3q0x3?V2LU zogAs;=+t#odj%nefezD6*1EmOTa=YPY5ela>W`GU4)_jr+m*{q6KZ@1=g3GEDNF_Y zc(@Q;`B+C;h#4^Uc$3MO_X?@PNa08$_})@BV_d1VCcRX&#cM0dW!j8VCfOqV>T=iG zN*4@z7QUJKyg+%He6-2~N{ZOr`kb~G5)>cM8JoYp^IA|DG8;4Xm>|qASAASgrWR{A zz&#mZY++g~NuZ}vP=p~AQ8HPo6Qp|Ai>G%pNK?n)P}Qs6poE!<5Yq(Zz2fqK24R~y z0V1FO?p_9UnyAZYK##R%vL0X0Q8&iNAZ1hESKP_#{Dxw6Ah6^2cQH1jqQ^L?T@QEq zIQSIffcO9*q;-!Kl46tUfgf1CJlA{Zni(MPJ7WEtLk zssxGdJN%99Kh!!DuQ^HS5T!m@p_kVsW{{+#qV8j_jKGxnuhC!xUe>@RD#k4e5*EBc zxP?Lxn%{_*5>=fP6&62{#L~=y)N@+0;$p6Ba^&XL*!E4eo6B1o12Zq0Kcw;B;oSh$ ztOGcxi(;AM?uUE2m+go2eUVVMa8{MmN9tcPh8BP$U z0dU5S59$aB82`d0o9kiN$7XtNYn__dy&<5lO{Wt4827FJ0*qP}Xe#$}|Leoc@gDe} zqNe)o6Nv-vK%N6%`Oc^#$`Ecb))5t`T_i62o_-X!hl3M0mkyy(&av-?PKs)t=-pNQj()UM9%#P&QN z)BeGn)l&{R{V$$*IE;8C&fePHzh``ZTym+I)`3m`yT@?lruSR2wrQog4@X^Wzgib7 zYMZ~Mk&N7*)cxk-^n!p$xGIunqAwjKqA?warbtx=NcCAGX5fc4N+w%DRsUeChZSs5 z#`D;BeERlUWf&x=n}-1!&;#akB|;ZXeA(_({G;`Who@-h28HgSPBm z^ne>86xdy{rTAS$a*ARlBaf}@VW?6m5`T(11lOL89TGX1Vq21k_=_TM2Dx7Lo(gM{ z^<@(Nw-@sNzTUH@H+o^>KF+RkY?R2aJU&WP6jIO!X=qS?!K;_>~NFjf=aILKMh45Xp0Scz95M( z44&<1<|+T*S!Ym%|-s_%IH4(N~>0a zW9CI$PPjK>ONvug20cQi%h#FQip2b|C>L6mQw=7VprFu9KB+Y_M=w}$|3HTYq6f>r>Re0$F(nP?vHMqYJMCu?`Ce2bD@l-Ez*p=1uM*L5u6aIG? z091?_rZ)=?_K8 zzcP|)1&KS71nEn+6YbHl?b(QiqO_+NK%Vdd*Mw`0IyO#hSor3RQV+4!fs_dzLivI{ zr%{hvlqoYLSmmP35|@9MHCVq$OBzC_j7PKH%KV7pM|pf%GhgG)mNO{=0s^m=5g#2C zF>;~}){Uz5BrQD>Mkt6+Y#s}&*q$)wzPtg?$=}mDJZrdzQz50dk~%YRWjiojTfk-ZOWfu)h@s(KJ2ZJ?g$HlZGMSQJw|a#=9j z;G#j>v7r7qpA;J`>E+(wI>>Vt%sj?ex<#0>;=aV{5gL7LM7(;a&6$NqT80|C$`?R{Q(Ki0E%zsYmVgzr{B=h9o5rAs_$6cvQ!wOgZ2y4aA`Vr^bPM}5WuKw~OO({JvEP3(u zcz?DTIJhm6v}ZdJ+#(oxk?N66n)hla-F2jgBYtXkVvo0-B8Tlg3dM9JWkbdwP#2;q zfg(!4GaoWkKDZW%rZ35%{JlZqzU8<7-yeex%ON&Ha=9>;bTN9&LOmI)X=W>5Q;?7P zw2PDQ%W{nnL4S-N*O&CQR>snbrfwxf0rub8FH}Vc%S%LrCb1PE-q*M)XX?#t?I`1u zcjITvx94Tr9Aut`#P>zCey3oO_eJy*gep+crq z4%Cs^N5axPzz|jHm=@lq&;6ltZuNnxc;*@9W~`+>0h%99#xnMCx2LpBQPK;*1pA3eAN?`<2P0t9Kp?lxgIVv^ zp?BPB^uy9}t;JAqyKK4PW%DQB6w=@0a>vaEvF&kSrDK<|fi98`<_W4xnw>k8*~ zw%}4~vS9RNT;T(+Q{?HVZ)^xc6KX?-DUc`tv2#I5vrw8c_QH)`H4P^uCUFn1i#z9&|QGLEb0d-^w_d+wvadn&&HpRFCd!oQ|`wTXo`?Q|1nmM zgi$oJK-89~jg-~>x@v*CfA4BEbA}rTnJS4kR-iQzmz);V`PqFv625*CRT2BkHtvp_@P;dFQ8)l4Ym6u&u;vp; z+8%guDUY|xCnrb92IEaO z{1mh%<=QM^|Cq{VYUBo~>VhJmQMqK6^Vg@>nTo z0x)=9&enYBj0VdTUWCw_?&@qMYj2S%;mf^@fU5_z=JK*mQw(o&?OW+bL=)OC{_^EaYZy zaQ^;p5rxZQ5n;s+qQFF34H#Us4XH0E!i%7Z1P#3tRh|3u?K6)x`8dQlzrUe$ zG1J4tZ?o5R7%%EPLtH-xosDSB!|C*$@)_xzzLDEdo`_ zdvl-i%R!p)La+*m23Umf!-b}7$h(z)XyHGX_({kq!; zW&tOb>YQ*pLnH9UC$-OvFZDIuzx4%dT<7M`%Xb+e6sDo6l|%268dEta(n`j*f%>a$x9VQa z#83fk7)iqo(9di5;&#;Fba||0cNu0Xys$u-nDHc_e)!0y%B4(?JBwDxzPeqf#y3AB zlB!+FhlL&2iSg2Q+cH($4R!9H17?U_yNTX2j)5hvrBBJk7ffBVi|hfAoYLl7|;FQlqxKuR9lx=V%Z9!vC`O^&okbq;0$ zfxwx`Nab|ra~1_SB6$lxcf;qnmq~iij&uo|^Yv>HhG~*4FC4c8acVrEV+7%L;QTH? zJ336*Fa&ClIBiT`(rEGVJYR3|%J)&n$-`^+U0-jB=2^6vQ_u*SROnY%c^DY8P-9mj zjDy?$2sW5-hAYy9P0Duto{VDHb7jMx&d7)~9R{*n#3@%T!3!l#$|A7xAvh@H;=h0A zKhXd%S|KPCDf0>VF;EUi{d97KxQk1FB`i41V+J5B-83VLWZ!U$=v?*!>Gt5i?5&4)-QK4501g z`KPN)C(Lzk5`j+^a>2Y|6p(wIP4w{?UK{xFFWiNSoIb`97 zdEQQ<^gT>!r0FkLb1u&E^G&T>gjZr|3FldXB6XhRTRpyY$gX29%3{^;U_$I9=`|k;Ue^9|0)v+>6>| zJDY`ub?Mym{@$#zlcz}7tvVN~y%unfR3#y_itrt*twbk&wd2NMA+1}10z}4}T8nX+ zW)$HrCN-Yp0Sg6`O%UNd9gN;l&*7lY+p<6D{3c$!<#2T;Kl$xU=Tn+1$kb|Q+EJSg zb>qIz*I?TK8N>yAtE&|Wm|ccvq9`TuGwP1wh|LqW%XBdd7B5UrE}IrT;{MY}cjrLT_~f}%A}2C{^xf=k_k$6a&FR^hR2DoyB}7Blm+1V z2ze=Ge7a}@2^9}@abcmNy#}{b(T$ML2Q9|PM&Y&o3#J3#s>6+@c^;tUL8h~8nclAA znXKW7NX(8>po)aEBK_HvTSWWTm=rH)47Hv32$g{v0vs-ENUT*=XE7IiG{ z8r=3;tEWZhu23#4dKI3}%WUt42c4V{-Q4clal(wGb;KFjhre8xMmC25+KsPz53<#5 z5=Q$;-R-VW>MeFdvwLnNv7jJUoy3;asfASzWlieVRi8X-{zdh8za;T}S!a&bTaVn| zBhlTjeabEeiGS<_DU#Xqd>pU(FHpYeY<46nCHX9C*BDEG95^^1p*6JRv`nhv@*F@g zN0JB})t=UBlOTDEdt>ED1(3ayvc>TZrq-)AHS%RhSqeN)=&r6&-s7!7YY1w{8tf(@ z7=N1E6Rn;+PxqrW&owSOGh+GZkKL9!%fc5imaNzYPIQttd;AIpuQWw$MoY(YE47i$ zxeFRYVLk;aBCgv<_4Q(rCMrJYk?HKy{Vb3O zYTWyY#B9xX_(1p;{9$>nY-cW<%nNz*TDJp^qr+is z*$tqz^$lp1Hz80XVoM)VLLUtgJazRpHl?@UZgA(g>=BLuZ+%U6TO6s=EkD~X+=%)l zf>g-a`+N}KZP2acHvLX-!LaF|m8`Z~`&>{859_ShO9T|Yy||9zmAPfqNB-d9;^f9f zUjA#_mh9U&+qpi|I?>=~^|c&W#PlZ#y-)=ef9@4MPg&YGhfe5`<$PGuJf=TxlJ|!! zEtptxai{B+BGZO3omyQ;_0HZ*r-GlX(DnMu9f>rsRL)l?;U$GcHEq9Z?!Wl(l+Ig= z^sHfO6+S$AFp*Yuy33zD>u(=OgY4YHz&&<=sH7Z*>JCx!XLp-2k*0?_G6%Hd>=fsV znN3KyU+>3DXe4nawqDa34ClXTUeZssZxyogw_`Km#K@HjZwlS}4scX+1CE#}>Mu-n z5riX!D^rm`5}yd@Bx0k?xK=;179m=t>q5^}e6t2!uk_rp1_=_bITPKy_IEg*y7ut& z$kS9o({D#iZm*om)YS!Jci~?-G+Sz;_Rxdd24#VDXABcj>w z1+BmwLD`ScY(Ur@`!Uol`Y?ZmkfONoH7+F8z72q^g@px4iVM{;-`em?PSWD`c9EXr zh@ikQX5M6?o1=1=XmQ8wB34GpmE0_w z8_B<;YTo%GZtnZ_iKt@6cmm`dcd z4nL~Ob8u03=k=23+IKA`#tH56i1D0bdBnIbe+NEp%-I2^9;my~lGyEBrvAv$0jUIC z+#uP#uDo*PH%^RC!O$Qn3MpzgDj!mgcR7T!qQ}DXKn((V7okbmpa*r(3PR6Y*!z?> zC5YN;B*$LphL;7XKJK9$2@FCHaX4MX+J;C~w7mlY$K|wkN-p3eTA8*TrXVnO`(d~E?NZ-WGWj_$_{+OBX(mkw_#GS+GzX7 zp*^Ov<&nS~vSUpwy&l=R#On?da&!YJ7DJ2MhsSb7}OM4N(FQg7& z3cd#sj>Ndo!UKxKzqL50x#vawblGPdC?qv-jBz_=jPI}QqVmebqwe2RXx??{42?Mh+PL+0M$gelFz9&L8E zPymfr_d{HQS=OqI2|T}2oiV{z_9fUOglf>Ba!^;<-Q^!7{>HgS1+fDXW&~Yb)U9`Y zdE#l{PjVCWf(9|e4RDm2Sf_s6rArcXBUq|;b;->QMTogJ0!p3guHknv8s)e0>d1mA zPP+w&36b~JbbWV^OYGLcOg!xBB%&{hJ|u&~p>y~1@<8>1XnPG+OstcAF(TH5!}uVd za-e8TAvNb8b?ZhH;8eGV))P>sSmglci#u0#V@Nz*ez}Y?_kq(uz+HHkBa3z@$8Zq& zRu_V3N_v7S74**&3Ef{8JD>*p1~HR~UEeLF<9h$dR6{(MzX6}e0Uoe>(SB;F&t4Em zCpQ2Gs8w2sdb7pYTvXgt#pD4FSeocfiG?#n-7O}z5hwSv9LAsq652Lb7V;J$-b(jA z_XbsQaiNZdd(H|(ULM#Ie4-Wx8AlJtD7QB@%{U^0PLFr$mfKL30A4ywPy7Z=;|>BO z(TO`VNau-Yi;dA50&hMsDnmGK)^lY_QUzlQL?dmUJ=jl16*P z{JeRdMFIMIb>+y0>uav+G~{{5iys>0=@GFJB3A~5BunBegMoSWHBqc?t)F ztPRG(2>gQvAl88!o8l*?7Cwa+Q6T8(N1q=y>``s$*bZxI&dbu0J{|DcC|o-(nfm%WP#vNj%IdsdBb70szlm~&3jgSjyN8@x$cwhT*UG0-Kfh2 z_}PXo3wCVGyK(u3Jf9$CCHl$F82SJI?gb_X0UBUP5Uon>Duh$6MNix-PRs92rJcNK?t`(&z`@-u_RTb52tw z;RtYun0!rp7y0V3cMiwCX1+>!w&brf+mkJCTHgG8^X9fT8tUq`+%J)C(#gGPFs{W| zN*atB+2NNdP?WJEmVJ``nE(gZZSG z>sH_5JJu-*~w!TNAP9xaZ3y?yR0TXUSgQQr^Fm&{;AUZOw zY0G1hK!TUujmau#B?v;Jj`h~5D& zG{0iVK^fC1Gof(i_e-eqjas*hwTpE#(-*31&rIG=tgbS-03Vtzs#7POy*RN2Uze{S z;dlG{V*c^p$9t?em@fMa?aKg;ny{nkvRa>jg>TP3fLhj^|6Til=uXs%z(;Zi&YP$1 zg~ex&-U+C)SZy1z$LLdI63c1Um3aX>k4h1&^{^V<&3M9&cC?@i?$gg;ktK($R4EqI z{&_6yM>xGRW;9$FW%2HJ@$Jp}VT+e^gN@^Hx$!Thcc;4srFWN-6~DPwCUI_+jP$)> zn6{43SGCi0*esuHuLESR_^4J<{b4H({mw-K4>@H$}r&agzdT zCq%pkg!%;YZ3On7iC)^F+e@M%AWzDPc5b&FX(1nT3NOm0R_WwL)IV+F-)CGR`Z?60 zI>x(lz`n}n+DPO*YrUSrZ53lz-b|IioO)lv=Gm81i!NvtZix@LzD@M5lsBXxQ?QrV zgXDWrBVQRchjv0g)BEFs{OjL-d?t2$Ek`spM{hnm@n-oU_o!3)$5&A<>nsz8e)^tg zvD&z=H==R2=h_)=)%1D}K|9{^pN4D0n>RgK^Pupt%!Lsa0-5dCjeDiNvu*s?!#w=- z_wacBtXXdfJKoQE+5n7yPqL(aax_iZ)a^Q#)hQ~_=(?jCzd3e;`YK9?PL6go`J+rA z%THvNHJq6*qB%$CW0K+i-B#Ovnf~x+v94&y0sCSI^L_e)4MaNYyEHdX-3c?17Kp2} zYrR3@kJ^YUTLJSShG&j4oUP|<_o)rmGxpn^@NH@3KT4d2pKo2WpW~{DTN6C{ielER zrcq(V`2r~yI-eAG{jb+PmSylPm|(I76JEpnzUIV3r_eWOWLlBuDuXDXP5r|qGUt&k zXV#s1Cud!_VM5m=D{7S+r1hPkwURLSaqsMO-s^I{?~qCK!n#gh}*Yy|@+S-G(#Kce6 z2bBr@j1$1|AhI~n{FI3F(U%=JokvyC{iu7H!b?WL9&i^ON=FL<{RcK6;^7Ijsd!}b zgReQyBF5cfI!AaJTMQxd$7#7Qa$`WB=IlHEa;irm6r(*no(Ws6yrwdk-q9{#Zqae5 z%eIX7NtiL8`Yl;6mHx-Lc8Pi7^xGuX0moMke;%MU!#u-inyEU@uv*2_={;UoH=A&_ zapAq(Yc5j#_;hu{t^fi3+Uyqb_R2#ZQqmN6;s8hLElGx=kg+-xiCe{fCz^{r{p;-)nZGTx|0h~XYntJ16bZ*4d~OPXac zOZh6zYLAK$kVd|ieb`Zt`(tVDbdZcc@T{9*NWZ@CDr&{{ST-h{899_aP?kplnw%`l zu<0N{a`>f*lB9fb8G}?jq>|~bBI}e%OKLCk98!DhG{o0T6Of|mESYn}r@GrzR4o{| ze9H(g(POg8hrZD*pH3TWiOb*V9JHSkkZ+Fu$A6k*abvj+mmBTuRa_9~x>eI*=yig< zjYsOu+@Aj2M{{Rkm3U3$9&yYJ6;)uk8VSTn-myzjHRXD%@)UFM9*f@d*cf!rQ)&wG zcnU{;9_DY#Kf-ruSETDN1^rr>rnmIh&y(S_3iarl3c?+>@qCVM1p-uRJWza8k0NgW z1YX?J>%a&Np6@XU*gx;FGVD?ff})8)r9uezPTjQzY;xVHI& z@%~}EhlO=6$7_Zp5n+7)+OnoGCdciC`oRnSMOa)jqE|LGQP`643UuppWcvAQ821le z2i%g3y81un**Kbqu(15J1>nXsG{rDZlL|;1Fh+@`WW271}$tK{v3$DQ-{{Z1`zkj?o=eGkwPMZ#5 z0d-*m9O}ED1Eh!ZuCaYI)%n6*?7+osFc51zZng^X{S>Y{)@8VXJ8G=Exef9r6c~3f zVbVL-*lZw8G^jzqWH!L&GLjNg4rS`j72Wh_so#wpTeh*35#)XcnX%E*W;(>7}} zCLgT~OHhsV$&)@QrEnrfm?ltbqrNB?eZmGl4{pwyv|MfC-6yw zFV48>84>BG+BHsd#DyU>4n$FTT#P??;j3)L3`$nwQywr-7C*7R;B@a`Kq@?oUs^Pq zVw!JgSQUitWf<%~Y|~z4ANWckW>C5AbG7%$`j;j~%BMiOi~I zagw*Qu5)H1>-RcpAzIGDqR;u+h9D3`aTgH zzjA67Z^naR(!`5;{_)L+-?(@&a+_0Ci1edV(y-}rH}}q#{+#c5HvKU`Xmw~p9pxG8 z0UE>2D|uw~kLTjvju|E$zk6FY#0N#V2E-qe7{WBXUwyxxSOk$5he7ra5CkE<*OruGQ;!rn9< zvz>Nmnqc=1?{iitaBp@s&Z&t)^0YVqa;&D^U3+9)j-PwoLe`cG&S>S5nnYy`GKE*K z_HZ?14K@fz-D@@&k!wnKc!i-H$TBYT#yQLx3q+b>|EA$LBTIeA?{+~&q~?Z+SoQZS zjA)AH&v1CtQxS_Iou5NTopY&bpqDY)%U{Mf@fs%HUF+qlpYY09a0b{#@$8zskT`Ja zJOAiE;)OG~^*P7V+fzBG_e`=eZP?$nh~udyup8fZW_`2h1miCS5B$L+U%J$}M)AZ4 znP#TFBQoRJ)3Ygfw}X2=KBctWHMy7Q=A!skToJJf^QI&jNqdx#o6*_&*iO=WC4d-^ zAr1^7ira%%VSB9U^7)U*d3k9$fhA87_g?99#eYaSXYrL}srTC=yBmoszIY^-zGoa<`Y&Jt^&KM10CSTnoz@Rh0`4aA7zQfT<* zGmmAkoh`-hU$3z+?MU01Lf-@VVrcc_+}`b|j)1pwXBxR-%mF?NhgSR`TcpOCcAgm# z!mGRKl%o7o%GIVhWw!L?ZX*Y=aVwJ?GxJ5q^`=V<-(Qk?-Tbos+%!ffu%c!t zp>vF>4unIitqcE=tW8S1j{l9jDk~v^a(0bjRJsT;M_>xqX)P=OD@=l$^yYkxZhiQP2!^q0EI9p4iWa(s2l;LGPZug7dHT;vYI^@U`* zT$=I%+K>~LQgQ?mmSU~MVq5nJolj|s%NQ{WrBZ*!MStgJOK7(7c^|ug1QCZH44W%$DHz)r-0sDj`WW$P@>wD6)>4`PkVmb5+#zgKbP3Iy`}3*7CliD32Ow)hVT zu`>}MvOu}Oj-|{un+EsPe=1f7`D4H2hs!!9#P*%PY@AqjrN!SlcO@ibim-9#6I^Lr zn1uxJ*Ap$v)6bql?HFo`c4xkucvFi~bY3Vm`sWkh)%`u}FY~s53W4(!FP*Xnmoa(> zCKrXjg8o_RqQ9SWjH2lbXN2c5Ckg1&{;KCYr*s#0hl@~}`8hYLogJ)HS=A2|-%zbw zZ3#cDS0jfRrbSJ$Wd+xIB&r{msqcs=R8#o6`&+K{cn5twu4;rgAUyedA8d+_=Qij+-0_Z>(~o!87c(2kQ?6a7nVfnwuHpk&Dy`-RFx2P*O8$n zXZP~oZ|A+oN~#-Sn&x=sq(xE_fPRz1zf6Ycjw%0nowK#pTwr0lv|F=tI_u8M9f&|| zd9%Z_ZKByxj87z|iq{DyRkQTvgGVfNnHWySgfe+z`W3I_j#byGmgdj7B|fgGJE>}Y zyOU5yi)FcMQmy0d!fUbP`sWYXy2K2^Np^4G<@%X+r(v<>+$Us5xm+q&+L=tPV{@;d z5NzxlFKoDH6=m}Y6TL556#qS|pzf@GBdUE$ zG%&CZO}_w8IfZM_N8QPrT9unHbu9P4aV$c^hiFS?E;%%beU>%vSlm$q#)qp)Z^4RP z-kKaqN5^8VazbJaN6rK6p_G3)#m4^pB;Q;#9RuNO$rQ`e98=Q z;l1E}b9WKEwc9ETI0=B6;ZK^Vm(~X7)6}bSRe7$x~;04Ztg#r8+{hbYR5!xS3ag;E4wxz7r0I$0mJd)!QB6D-o5s7 z=uQ?lH_ZoM`mP`L=Hc~F<+^=6b7wDo^({7|MWsAC{4@*LUJT#(sRePMEjdejZBb;8 z1s&GcKt26&v?^#-Qbj^ZFLfdIEb#(_tUmsxis+Qn@WUGEUgfBse9GC&OHaFn{4fnZ z5V$|i3nSVwh6WI zGroO);$^h?w{ca0qs{bTl26vzGb}fm1FxU z7d`0Y&^ZZ=GivO zPkxdl=Up{El70jVwZQ$2Kzo_i7U5j6rg%tRps}e3t3xQ?H-5`@-}5OG0Z(s`uKRWK4ZRBY_R1gk7#&I-)%Pbt0I(p1REY&} zPH^RW2cGa)O*uD);cOpzN`VA?3 zZjXgS7qGkrlS7o>S6R>J$oc>Tt4R1Z|27UehiqLy(vhZoM%Y%_^v;_!wBQa6q5ez> z*DFUL94yVwH2ryI^SQ^9%SJXG`0(Xe)7)oK;mny`r#}8DS&Kk_-t_Dk31@qg)|G+RJUF}#MyZZx^Z#U3Nx8|VI4^Xs|$2cimw#?-8g-@7&fqWX>JV_p21is zSD@m?!kFYn6l{LG=pK{)$uaFzI(jS*kBehYbR<(s^A*Z3+)j%$yGK22n^|dFo-X!) zQX5wZ<*RvBcaA#|Hn+{wXB@>$E8^h5!cdGqGe+d2tvMvNr+*5QI(N1G=8bdN&p|UZ zN#TdE@fdqscW~S0*`8QU>)eIok~i<>ty@B>vwHImqHRO}v0EBOfo=rtmY!H)L%9$2 zXK75@*aZ#am+43z(ENV|n*Ry5k3xpbBwD(!yzRMs$gt@A^2v4aRqc*yR-gN7!!X*H z2J366RY?GWkjrGrKdy5{uA1hiZLmfcs7*;ORg93;;@G<73K8!-b|H&!A!E`#IC)>K{G% z31RV3Op1IQA3+Fex}f?=-2!7b9?WTJH(2RLcpG_j{tMHhGjXn(9(P5fUPuhn z?E&VLvTaIzyp>}O)DL$ATSn$H^8b zD>WjmdC%ZYuBqGlgXOt>e#2{tPV&m$qmQg<;|E7tXUA6?HkWkg1^M$NJ$eVg4G3mE z(<8Q$J+_?O zk|#lnCCLy{N)GO_;zL3yiD;_8a!AM&iG=kxi5AnFdhuy`flHw%efXv;mIWr|L+!C^ zDZ!9LxjAaj$VcH!x)yH>`gw`jVQux%sKCBZ3hS1k^a1YfPjz)8w#)^sywaE$y77d9 z&`U3cM}`Nm4!kKIH?B7dRSKU#7Yoi9eA9Ts#|2puxlH#&I|2m0d~?{xE+N#IWy+$e zHAl|GZ9nDnkO5FIPMd7zTl^EGQ ziZO2|3)SwF^lvEE42b#Z6|V~nHBP_fneWtqPX-T6^MflVk6(L!Ajv7AEH%+7E*nlc zLM6G?r$8r@-IiFEl2_up57Jy8BHqsTmF5hQZdnXet($(9`BBL24bcP2EcfDBRrh|b zZsee^C~6a~;K!dd>dg(F4>@y|)iW*eR1mRR4x0X>JZ?KcX_~4u4x)J#v$<946l!Q& z1g&}C7(aBbZ)UD7vSf&#Dv&fQAS|p2*97HmdoX84e%XC0bkDaS%Ca;SzCAn7V6n!% zE#SolyvE#SX8bD?|P=Bh{i`sc#T*jT4kmw~ET%jEtGMvG~c zE5to?p7;;*G)v=NO;KoMjVKL-(^$9!(B);cm9J{6U+2bZIl0B+glNL-9xV`?Yg2sv zIv~E==GRzT*-!SW%?DlGdtZ6SgQE{J%A@md$RB_7xr!pkS($SG4PmUbKB*)cGV`TP z^)a&B6tLJHA-OV9P?lFbLZFA&kE_Ly)cBEEcw1y6>c)J%f);^qI&5qp3@=g)_T!FQ zYMX647h=K%`u_%UN0poiYe#*@Bqsf1vEt5}ho=acY9`oLs)) z=0s{fQk|ofCu>hVD8pINT;}s-Yes@NTJAFuym2SH*)bUkw_KUbBi~>kyhOvCB43S~ zbwvN$Zq%=rE<)mI_hma&#FXz|^axL?p8GQtCJiaqyadkfCG%UCpO;h0*E^0RWf&)KvZ=yGp^N}eYNe%zkB{RD`zAsOX{RbmUBh5v-U0p(-`(>*_{${9{I)g zR|9jkRqOcES?%y@!A0ul(hb{pYtpk_ykgHhLPgkKSIMdAjI}`VmzOLryUY7qjqG6% zFZYy72EXZjxF@f_ve?IGz&A8}fWm2dQ2)aZQpseS>ArJ;#MAH zvRYJkFsaJp(B68>lg{I^cq~gZYprxrqFB};e48kPy|zw${+(>U_BgI&DR*=AI2Cvk zRedyJrCXX}%3&uK~F5g~kiUd78 zz$@W(DM#ON6tHK39-a9W&ckF4w1y0#CHFKP{!yO086njhG;Y&BL^%HBCcn;SEq`P# zj}Be-gJYliorkzZZYBj7@R|ZQjw}Xs?|qnk()iFTRo};3x*b~VCB#N^g{N3x(Guj2 z5vuX!LI<*LDsV!!+ts{|Oy;oM=j>t|7=Bnm`P`~$S)SF2Pu4Dmc+t1QHhqld+Ij?? z>QV)_$GQyqtz|49HnO4_|8@#W+_8n3!n>(ik2e4#XY5pz^fp{dOr&3-Cgnu3d#+Gm zE%d>(+Lotc&7_iznZb{8OEbtJr@va~QlRvDuN5CG7Fjs2#3`o>XQ&7j--{LT#Ubl? z@W39+#E8IwYK*UUvGCKT$4Kp+*(t4lhk}h5y`(*X9mYEQ&X!$Dqjf}HG`?i9qU_f+ z;gi}a)^Fomo4?+QbQ-SAATPHsBf&l?)!FOyWx5r9q4nRczF0J_*^ZA@1a&EsVtB`D z6&yP*K6w(k*EBIvr+QZab-*BRz$t>Cwd^FQed(j`AI`QfnToEQ=+dn~>ttP}Y@v!Z zx^Hma>c#{zPt~U=__ziIjts)?C=!t;6^2uq1|WHPc>}XOSYU#^f#iGg<8goeP- z*hu6wi`wKAMxm&P4Z2PR4tTw68Bl(sq+A#C7wt#5g#J1EV&z{68&i3e-3am*Bu)e< z=hgUk+DBwr^g}7y9Z$BW24jUovvV5Z@42CZ3Jnpd(*Npu!kcnz@W}AZ_{@!zys8~$ z$#|RJU9*6HS9Bw)U1ow0wDk>}c;R3|U|>_UDaM!^(5c8j(%heq4;x$1JwE;o@V2&9 z0i$rAyzc(Ayt;QzpMO}XZz@Thc@Ww>;1o=eZmY2ULb1B!QG_0uUkFgp`p%}mD~MQI z%(J;~(H(MHRe0)|bzMHp_}Bw~oRVScxSS*n-haEoaX$A`tN|EPNR>;|7dOH{7MDbg zK%99@DfIZ;aya%;hC1`3eS>V$LXvSgS@6+s##?AC_>vTlW#$I^Nw8ZDCI)XAJiB?`-N$ILGV0aNYeLFaky#!B|B zd7n0;&EkPYYtH7@vlgGl3#AjrOjh;KF0JuzZnt|$ni63MqC(AFU2z?U<>%`+#9JFT z>@SJz_#9lJ)#KQ6Ei1z7v@PMPa-!|p8|+@LN4KIQt|^@L;BhAG+Nz#=%XFmmk;cK& z+2K0^3A~5s4x?q2HSzS~z8`dtBOkV}<*We3^=x^~@K^}CuEi?-H`ifd>t@#--_-(9 z9jr4%^owAqQ)jb^Ae-xMw0>*$nea*#K%WD{Z8qhra@B>rLfJ3MgOuV~k`H>|Dq(n- zG^s%!`*Nh94JGrPPT3K^qT3kbZPPHg*t%(;x7WDK;!qM8)OG9IM z>NB(7l|12dTFG2tLU|8Dk_HUEgN*L1uoy?fUwT&#IwyU9GDDoftu- z(NLHZMwF8^Qe=c4D!Ef@q+{vhW%O?4#%yV_dBu)+8T|Rgt|g;RIYjcplN^8TR>MX` zSihzz&aTY#*%SVz!^)?M&e=kdV{egR33*%MNbY{0qAKm$^333-FFF-(9N%7#0cS>O zwfYxqVyx7NE(&k1m!8wqU#sqhrE>2u)KdhCyWfYhO+S8_G+sFdQ7@IZ1A+md$xJQ!ai{MLb=9so6(6>Jm${n zaZFY)`V^Ud+Hxpsq3ml zq$CfmF`Z<$6Imwjt0P52QU1S;EXI>bnKt)(RCZeprNe)O1-?!k);!i|VC8ag(`4&I z>8s-thYcu}6=9QK?sOj~d{ApHF0L%^$L;cXFNS<(4t{hbO-^fkK`QF*uF)gWpiaLN za2nV!V7iYuUJYrDgJx9>$7aLb(Tr+jn4D-fpI&Q(w1^1`O9;WOm3Ql^aRzr#V@hR= zXuS?m$f5{a@1jKu)g>6f*5+q_BXHss=K$^1-AKN~E+{Dh^yiLxKusP>!$vT+j zq%-cI(X(>zl#T`r!s*1^;gk>exZ|YEs0^xOMBf`k1_!F(l3}lG6irZAaMmc^V;gx3 zTNchSSaA)_3@T}^3@01TYZwhOo!%8~Tyn4((>bCF$Q4hylPQKD{-_vT(AoMRX4jsW z5!_Rmxq%U#p%5fyQ-#n6FP|&TsYfsI;^K{Z97|TBe8!LPVH(4(m&EKYvB%F!Os>ZL z8hAU!*+2mka?))zCJ$3`!-lXeQb1TX#W)=3E#Heem{q@$)>&q`<%RPCY{ZOJ{!y3ij_4hDCr>8$;gcVM2 z-8?!RSs7O8U3+UWw`%Rn0%_XuacHl5Y~z zG>m@iKR;{VpWwGDD1UC+`+jAqe4vb{^X{La{kyQu#Z#n@<>o^7bY4F9VyUaL?tWMJ z28?f4)JJ*$N&e6I^=4FmD?mX~>XHkCt*|YJ5t+LMLv_S@v?LUB4vD#_YhR!6S>h8;JaU@XW$HCovHS& zlgtrGV&vH&$ellwK=PtLygGme#+1vuVKtFC2Uc~f5Afzt!y~{P^B1c9xn!r1Z@+95 zPCYP)El#@K@^*68r+6jH-KMvq`#0B@^2X#VpI(#>i?7QIPu&hY`oNZ+AszqJGmyZU zI8UYNhfaAC3kp=kNS?St#Bh_4=seLLiw4yRZelOlwGajTK0oZ3=5px>Yj|UW=)8<8 zoQHGJ%ILkic_xd}w^*!m@ZZ!w8B>LOPwSZx6X| zx+d>A9U7POWF$yP4!wq!L(FU7$H{OQWL_sNA!6S=jH}7|dn-Shf#{JxCHR`IyWE8` z>dxBe-t1NXV>d2~?0u9g-j(k4Rp`x*%P}hRKt&~WOi>|W1oW7gv6?>t0qcHB zehz!80PP!pE&S!l>q71wW;A->|a)%L>JYpX5C+HDFBkuI?X8l)Gy8FVH^PxIpnwgt8$N^b_t6` zOLHPz8k^EuG6wrj>tzw=hksRE9+0OGhU3^>we=aQnHSxBw}!<1)t%5F8nm>5>X7_31U2!k{Ki>ORDI(9# zHlLP!SDrx(if@8v_^`h=R%e(6SdfZd} z4dTz)YCjv%7mN6Tyj)7&FfP<(#DL`g4eA3(Vkr_{^J+)Y2d#di06Zg%vUA?+{6T!Qbquad>OUkW+r3<#8DzU^4Tk2j#ZlziH#D#Pg zoTH~k6XKwP>RfV5__{ul*}Y~(fY2hCgLH*-BA#HNO>CQ&i=Y#=?#wC1rJ{M4&{^;I zJsqIk3cGY4sc3X_tM28$74IJnU&ki?sytsV2}gp<3DD^zg6@@5mGHU^G8yJjMFzdD zlweYppXsNp8cM?!LJ=;F?h@0&w5w|~yc3MohdGjNzO>qdyr%$}p{4wuM;>CZGjD|V zJYP;p->fy9W@=RJxu%Y4ey)MqBctK7XMa!Ldy*$Mf^()WATW5HvuXdA`3glNK3`@?eCJGs=(J>R@$9@FNf0$(d&qIILZBnjEscjC$%LHFt!D2-bz6&Jip7=`SWE9A`(zOG;eWAF4^y=6lvd=&{a4 zkV-fg*W{z#`jFhB4^`+CFM9Wj5s8I4j3 z@hw-%YLQ!VxDp#sBv&OG?R&V3x3Q5?29g{$2M(ZRw3uL0Eg;Amr)d?$z8% z35xhYE&^3mSw8UmTg8!2gY7yNPD>>jeqJ3CK3*OCBd&F&5$L%$0o;PB1WN?LvAUyt zU}+0)B8Gm1m<%`vTD2L`H?G{0s$8X>3P%B6O7%JR-mlpQMAYp)ic;~H!5Ij zTJpZy1K&g`X_Dx(Db0Wi7d_Vajru|ol;x-rEq2b&aC|l{bC5ddq{@+sf$6#vdYtZB zO}tU}qiWv?)Ij6H7C*8zr0USyQ{{`o$MZICa-Zu)^cc04uqra7B_3i=sqL_Q7P@;8BlR$0#g_evxcg6KG>uiF(X+QL zBgPc&f<4Oon72?CO;rjTyUPB<_Z=K2i)88=p}IcAat(;%YFPo45#h>`^tgr!5?9f* zJ{$w?5eg?9FV8*=GiHg{BKcDsrP3eP$N%Z!O7!7{OLa$*s$8rT6W zMjY-WwHorG&4Ht^1{@FVxNK#Py@gnzY+Z!5`!0pJyzC3sAUast1g}hOix5m96%7?v zyUL_uQk$!V?G>rXh5#(&cL*ZJ7D9J2-(+Xup$tHQsUKX})||rMAkKUgzK7F2f+QoZ zdq`eRu=e**&q;aAeYN^wdsFq61(LE6`pllcj!p>Hijq;{;brhr_+GgD9LIrcA2rNF zn}`$Kk#qV$W#XqIg&CO0#hXM-Bu$%h+8qR0QR85WuU6a%s5{8R0%!5$-#?4*$6=tV z$!!W8ejKNskQ>pWBq7V0YSFwMQ14k!ibj;?MvPcC$-$T3`dK%dNHD$Y5+!`>ohZ5E zLRvmrixAOz!H@}Q8zv;D&AAgpF0U)|G3!nipaKNoZ4e5ZnyOLI40)AN2f5YlCT$-f zTl{5N%-bz`Tgpr_KEyc>Q;WZ8&PN{Wb@v5mT&Lf*r(m(;&4v?YN|?g7RKpxlGO#^! z8ly3P28cQ%^q3}_nHQ`9VL--&X~U7WMCHL4#B)D}TJwdcKWuaVxBZd8G)DF;i#NTq z=Ngb2VkJACWh)z7n^3zxb(8~I9YwilgpXoGg~t-HBlbvi7R=2zyz8|p1dz+5$R+N0 z%sP~1>(VveQI4;OppbxWAnbZ%1j~cdXogG--5+QRq694nAS<3=ejgIMPE%~BJs5UV{j6`A%oleBG()SsMwx`m7taY^{^u6j@8`&WO3LbA zF97x}C@5yAyPcG+WvrV!Y+)gH&J+hlcD)+yVW&9gXrpFyldH9v5U45z(gC1kST9htObjW=Kl3?`g$q!>tO z>?}ugmpDS`fS`s8qm3oQylh8Kr^f_&rAEO}$KMtfBA#!41ON`V;Rhe_|Bt9(9lHkw z`p&Alu~Tq6GO54F%cJEtN2Y)Kll&xWcN0X0@D$Cf&mqS>6AB2krV zxDPG?HPdv$%Amd|7iccCj~Q#^R*HAL6vD!wo=^qxgj9rgiof6`^+-Zbm=SH zY_wK1bU92ZOdGvoOO0(9>=a;Yg%qo$>Q@=x3J+@Kn17AbhVg) zq#sCxo%K0v8u9k%026URw9~uvfWd1$rU_&^uc?NE$p0)HpLH&QV zbXe19H_@^5)%Min%`=%1=!(ql_N08Mbx7s_YAuMLFH-4m?=}#;~-r$9^c-|R(dg1Gez^m6zB3sOS+Aa`7 zZy3GJI!{MUEPOpDXjiJF;7VzF0tJTWUG#~=C@Ib)A67+g>kSISX+5=1<}uqJSAg zW^g8B78@7PB3#lI^ka0FZ?@i04h0#hgqDy^A2+Erj}Q>gLEei$wI7vr@?JN;X|ccr z5Ra49OKar%Pnl=R)qOh8^hiRxEaX6Q+=tUe?FFSWD$yY+sRnBO>@JRq^u%pZ64UMU=hbF|nk z$$#AKo9HXF!1FgE5-Io_Ry_WZ#&E>;)SLfi_x>M_tPg8PN^$|i5~kr+Td}>-(($+FRF~#Dt)nIv-a>*fWDC*@Mjxj;tmFe$e5YUym?vWvrN{i` z=`UKX{VU+pRf(Z*Zef=qu~<$@IiZG7D@5rPwb_>I@FHe}R{Y;iI|4WosXlRQYU}us zhh0YC_zd0P7ZEtU zSx5^bY@C=22Gy|xot#F{C4N^c_PIs~>sDQ1dM-Z|_mSV@{yk7p>t(tmii#`i(yr@< zHN<)_zy&a4C#LS2N4E#AyR=lyN3QO=j^J;UCc4bG_WEg-*TjNsvk9+V+87~@49v!G zcy^S*C@BP7j^@bO*Gy_L#UYnHah^Rl#i!t$jcyK*x7rLHn( z=JifmN_AFKSW-}ILvIzazj~i5S>wL>;~(o6{+9}Ib7Nl$kVrvY5;|80tR)m>`%i`8 zO3_faCGB^fzy3bk46WC)p}P@77sjbVXoWBH6+I(KT2UU&=_sJ&&~4{=rvxVwZ{(Q* z4ms+_*iP`kn~%LKO~d-ap*$v@1X-TczoXK`P1_=JzwUZy!*gAF;D{5_sgY&?}v?C(ch5x3R^S??xI%(2exNZU5D+R2!`6k;#*i{ z0}eA7geDfZWdw!8{aN+P>@%0DU-d^HAMp)Z9WYO>43o+^SSeHwTbjAVi`b?uaV(UAEq9@Wh za3p73g^AXxf{P$?-)_v>0fT+NtE)Zal>|a)Tc%*P$oYrj)BhDD-6Zcz0c4RN=4#cI zfol>&DMFpwNRJN9cb<%n2JZeA$E0XNv{bQb%R1{rTgsY8*HoO<9#cnJ{o|4KnR2+W ziVR29cQD!%EE`HGD|;uLiIGx83&!S^U&7wUgyL=yD)e+ADXXy@ zL8+TKH;o^gyr+)eYs^u;Vrdj6|(k(G?p_%sYQQ@S*7bl zNygUyvGER0?i*{mU=hYFY_sKw2in=~`G-IlsS6U@oc&p(d>qi5><1V{!kYtV_n}|b z!H3K$ygY`wo^<SBH)2<&}clr z`|}fOjpm(UI_6p+i7>n(mpDJ2x$q=PAI#NZ4W}y^>7@Ei7)BEgryZA$h0T%_kQ(O< zS&m_gmua2lxqp^MN0nBMAZsJS27d=mUZ&AqJz;{b=pDhD}(Wom8Ec(3Nl&Ln7>yVcwrTxvRG?X8|*hBO3+D|AJb7s<9|fRU*fowak$;zx(| z`q;=!=oTa~)qaX52u%p4U>Zkzg;@y(fB3dcMy%nmy*QBpRB_}X1XbUzi5xPWzu|yv zT~EFW&`0xe2g?8axuU2fZCe+3v1a=3SOZbxg=#ZM z2?8qH8y~D76%S4bFJHZ}S#5YBvFA5v;HAaT10eQ}x^`Csj?UI6##1Y{VrB3!)`aWO zAhQRd#7W0g3V+v$c)>ce^rysF(^>V0FPLiXPJ~kaU{4z=w6TXEL!f1m;m{T&b}=CF zNVkr|s<2?BB8WXKNBdu3z`w|ctmF4m5zhf}tpjlN>*GCo+j03Y>zv#O$s4IH;2`%I zwJg%PKbJ?5mbI8Jl2mgF*dB&0XM_%=a1^;Iw8$*tKe}JnL5?IoKYZw zCP0<4DCgJ1NOTCZYNugo3SU;Gl>mRw-n2DL9k>S zAPxX{_~7T@As&E-74HCexP5zS`djXExLnvN@dVj4EjgOQtlV`i+KQ%27$mn^i;06K zuP(_)nfN$CD^NsaeG)#jI0!k&E+KO(3{phI;*oL;o=k=#)i~wJ!g5GxtJ0^9KXAz`Eq=aMw9IaqO&k$&*6ZiEsP5ag@E1Ub_M~;;hBx5GKw#K zS)aR=Y0HGrX4GU*tk>)l8H6BZxw=xQ0&Sv<%nk;L3U9TN;iT9G2YOXmzwo;}cfJ;o z=MsN53m*F(29!66lzh3Dnzvo2Ia3`8&Oo>D>|olJ8fI~U9g>iy+r#hv;{4K#mBQ)D z%MV2wk%U5=NC?=zV6U6 z?(mb06|02Uu?@5uaWdyULxnpAHr)$Z1_2G;7@rWvzHu7%<843x z;tKrN#Q`7zz!d;lfvypGHZu|p9ZrlRi`S*PoC^y=K^3(9mZq9xO)*URscSj8MTHK= z3Sm(3lX6IxzG9~Y2NDg1#kxopbtF*(B*c{2^;1ogu!YhX7|oH6#jbVbI1`;&NQNC3 z9XV|+Ms>$7V`SEJLd}`MP7jspo~(tmP@mGNfxBtT3Qu9BD`7{m8SPvt>Mg}iBu!IQ zIRZ#CJCV-S^cZbB$~k&aF9HbyeKuIqR(i>v=G5T9I2diPW{T%PAw*bV4nCp>vM{mC4<&aZz286|T@OvHiTb#pCFZgFOpcwBF`kFeV(nW%_tEadfX4 zUbgLhWIM|}GkSE~8(ezbi84a3UM=*4qn8aao{NDLSktHm+5JeaGOuYdJ~uCKgmm*> z{_ePcd&2NfN5L@N_Id}gjRJV}FhSU`v$LB|;9!rMBf6N+tr;dXge4iW_0`LJ zxreRpPC2LSNn3MBj2duY&*I@{n3`v`+=dL7CY&>~6yTb0L5n_08$RiSbt!bB9&D|f zQAvb}UiF$Z^ViPpGMlMH@c&1&4oSax!z-tv1(0})IE$s42MkeTJ3>iYg) zKh)&q`u}VgXx-cA>S)ELkmdXu&!5gMk|<0K(}L&Y$c*HTQMKnv)-kytN~o==e{^(0 z&}~m*XM26NnRPl{DJ_)I>^LnwUk#a*W7MvAGV}7t(5{BioxE#}C3$TKr7@9k;uAg; zK@%3X4F&~X0_qFi06>h?)`w5%4hsFvkL^=FU21H+0G8)$L<~nA${GYiQb;1Lq;1iQBdKJtVyW=6 z#Io6ocQ*?iTLqu0KT321i;;wt#gXm4o=0#i0yzNv-TGxr!ze#I*LG&AaJwj*H<7c zAx?IG;&RNz#5*Id2BAV@%*C+<%uQNr+{eLqLi3b+>w72n6J1TETr2`dG0$oWVrs7A z@(~e?_Ys+p1ij?~S|;OyXLd6nHnU77CQrP-*{N? zZ7*BaK`Rj!nvv8joEirlcKmOt$ohTmN^8tFqs|dtA=fw-bLBfD7Q^;)%I8xGjd~$! z`3cypjZZ6{E44&1-9)kIn^yi%1*JpDlZ$nfwzCS5`^dyp0_3|>t9%YV`d#W#k5;7> zaRiJCZ7{nMF4E)yjbp@EV^l}_9wYwb2YC3*ks?7kJp)K(XIWRf>Hn4d|JUm9-~Iy& zb`LP|ftbJh5?N}^B&o1dw{LsU!3B_lQCp`Nz)|*HxD=Z`YEukMJiR)?&bpB37+^+x znVwhK;;_=aX{F2~F5Bru{^u@$nIL7pYFjJGR?SkSICKf4Hvh4j|J`%JN&~hUz*jZL z5)>8qR4CiD8}l`%Ut5ad4BL*~d;vx>U(ne{gism_qNL1Z?|%~!hGo)qVN5ZDhGgMX zz9&|A5nU*AGf;imZbXTKTrBBXV+sydnOwFHaAP;I1 zc0b#XLp&d`P0)3Hs|5h*V-e?F^YK}^Oky@;hT4`d3wG;O>-;QdK$DN_aYE|+1oi%OXwuXMI^agy`c>PWg zu=#!oe*P2eXp33t+^q!ZLy!p4?Dg@@N>q2}_SFjm4_%lu$HuD{MM#g@>jGH37^sgT&|Kui+Qfb|m%~ywcRW z6#3_(JoN&}fc4r=IyS%|G3ab>GODp*Q0&6VF>XhO;42@&EM5S%r$B&xpa?)8-h-j= z4T?p-Bg*L56+K<_7-af7)s_wL8DUvZR=)t-OxJvV`a(eNeYszepPzqx`q%XD`!<;3 z>nRfJDSmWUqLamS($14|=nA)@4&=<)Jl39lT=^*FS-FJux%|-*kg}-Jd0kF2fB|9l z(lb~o8ARumLi|VynVbe|17w$2Fbtps##Pivv0U|~Gt@e>C2lH0wkH<8@ zDO+ajIO9z!Zt-Z{2A9)^ zEta~?0*2(}>ox=~5lA4?@yf_T!8o$TWR|SNF}<~4|E-1eM}?T^|hOMRD1sEMV0l+UZTK zvP$A0(;d$z`k9|h05El&z#AYWOL6(glW2}Rfs}Bpr$at2v8VQdjDKr3>@ZU~1r{^6 zHDou22`&feVNbvrgUne$Nwi16spz__hcWfNX;6i9P)VB)@FQ&3YfDND^ui0Mg3%>T zxn(#Z9unbVi}c2_@Sw$=nL16u!_`GKv}daf2KDn(_bf|nt5qA^|>Y2LYH9q9=j ze!Qw9)A_?yhyR1l?>~M7uxvx}r-IuCw`IyzL&9*7eyxTyMn|r**H}scqO(oGNTNkf z)N)IbSCZ?SP>nN;0Tu$aTweyflSF5qu%$?5i7EyxJ)edV3IF+v=71e8Z7(Us)b+Y# zXdm@Go*I0`jr$KOc&Mp<7bZ9)yn*x;hl?vGyMmDF4Yib;M!^)(AGf!d<4{X8G7b_k z8H_kiOW52&4Ui(m4a=I-l_Z2VeKa%>gD^a2&>#|DD|gs+Jy3$>$gWo}zB9VCv~+sf z=-m3xe)7k@t8<>~!vV>#=dYmd^kdh~$3&0LLj!T$Wm3jy4MX&HcU;qJ_13m$H71A? z5Mg^2DFzT=)#WBaEBuL_DdWL|^T?UHL3fL}u@vY$O-atgaT>#F64s|A8{#123ZT~U z)sI^fd-O5@6@m=2c6%MlF;;2UHl!lKJuO4Poyk#!XmhOT!g>{ldLlw0VI2!+dSbC` zV5LYS!jV(%Ye^f92^n^c8`W(!n1SFq^09!;Khevpwd?7@>*oo%1SLYWszj!2f*}LKnlaYRTX;eW@EY!=>PJ8WXwOiM z&PtduLjoU=9}KWn9ET1-W{xE5!)UaeVkAS3mc}ltf&*HTgwRMG&KJxzrmTRE3iEa= zMGhGDUr5}zge}^*@7UV>o_0Y24Y}}ao1dkBE=2jq|$PJ97k|{B+HhQ-Ue73!QsHlxTFytzjRVboWNf6)iN_3c`_B!VjKo$ zPu!Xr95%Zyv+LX}a!Y5_6uLCHObI>K;v7Ej?gYvtu@5>@^ZfUXc$4%9pwy5y4r$5< zsu0+oo({Cr&?WxZWo9Yd_iBsA8vqu-i4&$jH-M~Fz2sy@E>kZ7#5k$(FLaH0(PW%s ziyV@fQceRSTfv30kaxp_bR`!^I4jr^&yV0_|E*QbE+wz#;}MY(pyq~ZzbaQeoA0os zgKn2DxK8n%*Xj`F5*{k-Ijn#07bkQ zMJm_v;6;PuU|LELSQ;gGqdKR@NhzwVZGGIe4eVP)=Yvfl0~v^ zDI>$+$X2Dcvl4K-!~;B^O(Tr^R@Lq&cSeN=w;kLGIrQh?(9kUv`M&oxHJs@8@&O2) z-SvhwPg-c$@wqdDHxAre=hRV2S4O_2e#`m>(Hr3n<`=^Y^{d=(<|29$avFAlx2oLS zj=L+Rxy|Imzx9niWLu6&!ml@K?hKvq9i@h>D`JLq={9bI^ay7|{WYrP~zNH4rlu}aQIKPq%omTFyHRA3nePlxx zCdCw|AS}+`;nTC0)nu%StL=sq($~stp!?&m{cWJ1B6p%%uM85WW1kW4-^ki=zB;t~ zw>Mp*mrwA2i?RqRDWI(NwjZfqJZF5xN#{&MUdU?PYa`UNqbAsi9HYuEL?Y8tG4^?^ z*QqZy>lI?FaTj90?Jp)jc^s;;GydN{i2ppi+rHb!cBiJ-D~iYUEQEZtk2;+zbpsv1 zSjeVYBOjnu7hihUztH;2Ce!1y&u0X3LQSbd?#sp__g6-6?o_PJ4gPO2mZ5J8!xJD- zX}&qT{zHx#2PwVzSZRjTn?w@k95+E~L!FL(x!key%k?RTEyqr$-=umU+EJs2pEG}F zr@GDdfODrs4m^VYF;CCYcKXQPxQDwgV$~m{1O}A^c%FP@O=Mkn5^ovncDgebcNO8d zD_;{K`qM^nu|5A|BlK*on*uCwf`6l0v*M?N0(ZvU3K1@aXHa9NWD@lhn13SmBpm=M@ml;6`#rlI4lgkxtD1*sMq)M7!Pu2`tN;1 zu1JY5og2LuPP~q0T7aY=aXtO9AJxwGY+Om+DC@9B^VMuhr>@37vdK(2Tyk{();Heg z&|2o?Tv8BHS1Tv zVLO`Sq_fuh8$DL@vJI>ZX>6lt;uUB92T|L^#^h+GX5#u7q(YbGcg}nNPu>$CJf>dl zs?R$T6QVal3s_ZdFvFjaQA4~s+vu{;^1i-?8l!3Y^~Fb{q?LQ(p>6#dBLD77c6!6kmcRiA09V5z!=u24(ms3xsVsld{sU1 z0)1JP)0JQ*@;Hh6l9N_!0ejo_Car69$Ll1$Zlkoa>(gz=lBYG4NnfD3t7R4nf6I>P zj!J+}{F~Y0KQ9RoS?wgL*chJA{$R}$jz;x+hQS8fD=7cYuW51Vs>2zvF$}4(_P9=P zH={_7!L>%LK~2`i8Upmy)=tk%7l#pdD@HhkJ#x!nVY>(px4jCC&@)}Rl7_OR`c>&o z4SrH_P);YI;tgEoKFIk>WJ`YD#?+&;ex)8;Padnk-`U`Su7;ejm4Ai*fZTp*EXcF` zZMK7n)XAJQfwb*ss;TnV9bvF?c_j&VY38x8QR z6BPV=p4?~m!&zp%=D!75Hr9Srb2T~q(}!};GV#Nd>2pxR09Z+5#ns{1x4pipA;G=Y z9SVu5fzYRFbF!;r4Nuw(eh&mVnj7mW@dA^RliBFk>wh;l{=J-+dp-yphpa~^Pv&xa zQ}gudJ)h?Vz1_LG&)Xq(x+ym_vucM^_lq4z$}V_0cR2_2?@D)5_kZVqPyR-qMTdpU z`B>>}s~0Y&h^-CLulQXm30F_9{?=Aa+PxxsOHD>T;&$9jSI6~=;K{dQu&$d$8xzuq z6EgQLFfLaRy){!8tO}JnI&`xhhhiZg(Ek^=#9>!Gb@g0N(GA^%0;PS$PUAZw#h>P^ z-0~lM6t1)8-=Y1Ryuq-qRuUTfA`F`i!ZlWStNK%-jF}I zBlF=ew$;ZP_9B$v-i)gVc;6KQj9aF4XeB>e=7}ky20;oq(R&Pbb?ei7S zj8D}49^&7j;|M}NLZTLq&Ve&dbGt8Z z%k{25mSxKwe3=$E_C>$G(NW>zWo54?zAN_;z13k0#3sWl zU-C>~*sJMd*H#%^DTKu2>zmGqacECi3g`04Zs($nM{&942SN_jm&mN)cIh-|9eQ+@ z{(RY#PSfw0%xT@uP1AH-KXi~6t#|#uUHX3$W4w@7*-N^aZI-N_-f%K}uZCfnf~0H) zBn0i>bUO}DQ;-Ufs`1A4N_F46x!cczzaV9*bm#UH&5j1=OlDjzqrfw2>+gD7#GF;SI?q+S zAKUr6#tSazFYIG^>zi@(T&pu3rZ@AARPIcB8Fsm~zR_zqZ#|b(KpVq<11sr1u^`rPqLfbRtDU4=o~HA@tshC=z-A zAwVFMgcJ99pZ9!Ye7~N(e=`Dum9^%)?`zJvmd4gSsDEV?t7oQ-0FY_T{E&WA4`&CU z;VBv<0@M>*fFTTOQ`Y}TW&OQ`xlC_Yl2?_Nxo_Dj#fJ+BP_uK2^;!>h!BTi&{tmOh za+9G{Fz5KmB#>;sk%IMTBW+hHNlH0AnPIOG`Z%1w}fwwa!KbXAUaFatR zo;-bT6s6OteY1wNH&VGcKM=-nS$rjA5yHTZuMU#1_?Y>|w9zc)&o%ukY7*95e4 zWW7DcSK$0)JX$B2R);L-_+M2qlyFWZeXtykt`d|Zzh5%fdqwl<_hr1zBPD9!Wh5oEVE4OIVc{sBgFKv*W_#XO|G;=M`}oTaho-s|V8A z&@AY2_CpZZ7{5^-DCd$wG@liSH)>bBI6pY8vJf@-7jdJGPb4d;(Zl?rnzYWIUtXKL z_x<|lz&+(my-xM^ad%7>s;H$|W+=b`jj>Xeh>DA>;vO%(CzRu;rl(!40#{UsN#mZ< zOueE`qv*4#D$h5}3*1y~KD9}IsmHbRgir%e<($0IEaY*0RnM|94}YKDrK;f9wRf}O z%=ulIwbzW~C~KRlpYdHX&P{Y1{ZL0D*%OvGW$F)E-Y1q#>9?G|2E7r?P0m_S+1{wt z;ju8%KOoMQXi&2h0L$JACZtf8ivPIoyJJ^Sa?B&?IQh$8(?wtKUr4P?x@hz2A@pff zcN~M*QYLQ_*HR*{`_8W<-i>Iq$_o^K9!DTMj9!2@PbbV+MWw!8NNS1+p+$)995MGW zh5NgXr6Fi6kfT#j$7_9?u(((Q%f$0o`!Tdr|R;EFkGGM^Qco-SksurN<&@`?|nM zzcGYlsgP{{M8YkSSX5x=Zp34l&4AaDMQ$33WT&0WsT%C=PRB#Hj*(*uxMg5Tah*V&;Rz{d$f-!w`fTQ zwdYd^tFU%&IOtmXO<p3{ z$xn*sk8t*hJUYQRdsI(}kJx(v5$5lKN~RG`)KPLajq=A{L~ESsg`GxY-kWVhp~Pr( zeUzM&czaoZ_{4z(ri7W2f&A)g@r{SvwAIgyDjZ*PE7!`XIeK1UOXHYY041I-8&NrT z5gn*1B_r)lP$_XmjTn$14n)8RXS=?i&d-{^f{V!)0u-=k=~3!vd2S|r^n)5LUJ!Oe zXKbqf`^ESV?0CGcddu^hl6;Qa#FsEA8t2sVE8T-P-hEJ|D3!WhQxx6rFdVIgQuR14 zxW{mk84WKsK0%q-P&a6)JSVLM95PgRZ%YdpGKcJ*1Xb-bY2*k&FbIX}58joiTZgLfO`}Ume>^o+1Of{4v!sZw(h1L*}AM!J@ybid|>O?H!3(OkJ^%Hb%w) zMBixVKy-%Ame-XgVa6&>&kjZ#y~D<{pUZnC=nOed@Q~dJpr5kJn@=0aDuRc2<9;Qt zig&qnI4!^a$7hB0t#>FwC7_N{JyqPZN!AYoX6s#t`t(A*zqlW&8-=clt`{hJL_4Frc;hh$^X+kiY*{%% z1eMP>CDD052}#gheadHB=uhe&>HuHt_rCv1j8VRhxcQBG*A;P-%D!sb(cWvOMyA>9a7SC~U*`aBW5N=_Tee(f zozX7=kq?ISs3mF9Na!GKdoMh|pioNJK$kZ|6`rl>qcjyJ!%Wkdq{X+NzpQRM(X9`q zyA=EJE>uUltVAy*j>rdALl)VaUI*XDZ;Z@O@hD2B!I4(#GpA#8mCr`L%w(m4Ty~gv z3UqMe8LnfCZj&WCGd*q{4`;#uB61w?k>q%w?TN4l3m;`{9KR>;ZS^^cS_ki;rN;cY zT{S`f*YUODO2CP`JW}4CUAb|NuL`eiy`To9<2}lvsB{v%^{GR;QV_(lPn>Al^HqEl zX5^`Y3SkwHj?`mF2A}DH=C%sT&db&eil-=NtV;xPleI*i&uTt*)RflX^b(Rv{FqY6 z^6nCysE%mu1i0x`yr;^Pmanw5m7&L+P?$CKB5}GfyHtS|&KgMDV=ha#Ew}!nY)U0ylyVOFwecl}%n8J6@3G zF~C{_aJVTiK2(~YazDl{5hOZjpe$!DvwAm?^HiK~HYV(2sl4+BdDCahG*hK973%p^@y(>^Im-XRG=#I9K`Z07-wbU%>6`w8s=In zb^kF^$GYa()ue3<97sm@sGzC8lV4Xr)2>sl~ZzY z9<1>yRg^Ty)(No|h@T;e=m3>(|JamltdOe+8E=e#8hGWwp^TQ4w+Ni?ngfTSehwVQ@?;=FdOosFus`XFj{Kp!qlw;PjNnc+A=+E&I{g&|p z*Eu*oRLRAc=E^vmJA~5lm|TBHqa$zQs3-5!`wfv@!HFK&(IBw-czNFtz+wuMWx^Ys z4~^RE+r6i(ZYL%)h@GL_Iylh(DrhD?mgn^%g$vL!ZepYID|q5BzngR*Ex8;CI;N$f zCHq9`#Y7!>nJ&7{2q+~lGsn5as=DMZh)QMai9jB4g+#>r(sSv?0!Iy$39E&9c!((r z_UU~4u&%ux4++)ED_24nB(#y^L{xv(sX;>5Uq*ijxN0r!l(p@!mX*f_x$j#1rE7X0 z%vUMiNGLXKz5N(6X`~hSQe9W^z&iB&aE1zgE&cQXj5WLwlBLI>2;51=-KxC@mL}CH zL&&oa1)^kuJ5NsLdAvvh9%l!9)^eJ_E{SQvYeoO~$NNKsESL3d?_b~Lg+iaUkfL%P ztGu|H3SdDD@5h(;O$VUO*OvXo36IjTv85KK%IC+<#@OovffhPL=ke~#hcZ5EE6HIc zP>hXUu%i{c9q)mGS`ccMjNInf=uYA1$~bt#X$thU;s$C=ed}vff~;Htw@=;u_OhpG z4tJI&e~lLyy9X+hGt26T&W_S`U3v5P4)_gy*svPX1hZNElHqAZnDNOZ4cTpv!5CG2 zjmAkv?nC=3NnLR!NbEOlZrmgoh|>$LM6!Z7C6Q8Vm}k^L3eiDheO_meGWV#mNYVEf3eWq2k(ZdiIOVY8j(@&hv&!)9F8M*^%#E(sx$pMg)8YG7k zA8S|Dh7o{0%@{=TtDVHy3w=uzLF<8C<&mU4x6Lf9Sj(yZkNxZ0noDn=_AWehwIS_` zxAebR<)wu1w&{I`e z`N1Q(xHM4H*Ku=63FhTYKs+sDpOFxW5nBMgPvMse83Z1u4V0Xhyy`Hu?fGg>Ffj71 z%+>*}mMMC9hqGEs_C$%4(Ez=Nm^wEz%n89tul_~sWTmA2W8i6)4M_*1D$Cz@ZwTeq z+1I zUUYFK%*e)Xs9t#MCuwyY6GNwXK7ahY_t4-J*h#>cP*bCgrmc+Nc90jHr9CZ{MR}Ae zdTeB=OHS033rPj~LT3(1g})}=5C-eIf1|Vhr%=?fi+z`JO_&;(sREJle~r%SQ@h!; zhPq2l%v?iP=x}Ir_#9?0ZQ7YPemJa=F9>lPcGF!!*NpsaJX2 zpFCzTS%TWaS4~06{N+R(j@((z`Eb+}Nj=17kluz8*S-EIq>{?w>>ENoVL~0a-9H1| z^WdG-w^*Cad;mJj5}7|$Q(Ak;AO@iS$5iXFfZ87q@;CW5V`WBw(WD&G#(FM#RjdH- z%3kvNp?LL|KiJ87rQi5z2VEQ#XE_V+CX`6i&2)yG2yk<=%XMrR#~Nl{e!LhrN) z*s&|H(|&~ixr5>mQfk#<(iB^+*o09<2I|yd#CvRC04ye1L7Ug+9)7(<&oLTVO+oIQ z#7O6yRp>RQUNc@ACG>GL?p=cEAw7kzPc?5DFFgr?s|#4xlvWWP9wO_hH~aH}HG|k> z=tr9#gt>LNItgUp1!9e0_}+aEcjJF6HUB2RJzO{AX56sv7_LXfQ*!-e<&^S1K|KOo z^Slj_@Ft-hyd>1oHC;&CJWB(D)fGgKZ9+?c*h$(&EkcY@WyzY84mW@WSASIUN{Na> z4oM2>LouEFKyC%e^r}46^GPtyz=&9;7K_xcf9j&?g>kHLCU2MeKn72^o5xxup|+*( zqK5Hc&^IDT-Y?E5pC{F2-&V=QqxL#ps+7dMR8qr7iEN2`!_CUWeXP zfmZifV5j0o(KCnG?7cv;zeD9)Q-BBr746>tRpZLVEFkWo2*}uJib?FpKT_q6(8mzd z{Z}=Zq(77kJETHy%V34}D z0*QI#HGxZ3>nj>ZBPBrgi6)0d)-1#W3jxs|%Tvk_J{7RXkI$7zeJ#mG_5SsgjK3`NuBETz)9ae8C5L<+Q6=zG@%I{>0UP}S z>bJGjE|;*6rJmF{{fJMxI}teBYcx{w%IQGhDx2*~Zqw?fTVYEe|s zzmjY0u_ggmlv8?GFh4kfD}-;|(st4nD)hz~(Wvc!eG2Yv_1x77b(A(EwJ79Y%f6RL z7Js^52q1eyRp4~6F)vX#oqozx$WE4IjMh)7$$6c-a-|+aE4+u}dl70qPGIyoVVfYX zlt-#nrW;4+J@Lf(ptaFZRWTeM~ZHnSYpMUnJCI?D@d`YCt)gGCj&~kwri> z9WJFxGTJ76dNQj%v0h+{@58yikwur-{Ybj8yScJR)Pm4Jd(ROJ`tq7Uv^(lCzC$FtKLocdnf&8k)K|N?K z9;~n7WR*Mlq~uehYYCbSDMY#-=Y3d7=#L6l?fBD=fXO5-3&N;C^i2Gp;!>3cOYz^C zhxAS34@ML_Prq-oMM7DVnJhdqyE?7Twso7YRoVVm)h90Mx0DD@PS>;bD@>J61W6;R zW|syN)f#H{N3{5rI^m9#kyh590ijRvM`yd84T}U?#BSXX4kH_|G38Y|>a^e2=`4Os zqaoPzG9zT(p*u050W0)prH!2j00X?P(Td&Vpacz4?dG*PZSSwVC7YEF?L_N>tRXgR zoLLX2#XHbD3&LhTac{At99VIki!`3gq|9Z3DkAiClIk=v3Vd9T2&K;|qBBsQOUip1 z`caMBs8Sjq3E?9FxJdze=s9;Ts=yc$m{MAvAm+(S_B^DE9MbhdLs}1qEoFXlgP>7!>S+hyLvPf;wYt$U^Ffhkiw+2P!%VgmLaIG7cw=sj0@Z^>4RJd?02 ziVRzp&fn%vctiKv{wlf@Y2}R1gAgkHIz!ZRQwtkMhRvdoh8Daqv;PXjy{(~ndl{aW zP51l$99wwv$Tkk4anz`SA35|@wCq5IpV$Xd>^c$+KV~Q(d(tx zrOwN`?&js}>w{z`Q@N)e!emMHJCf+T5;_lFki!{iO@~7%dAzQ+Z_kEPN#TU2jUYGs zFfV9ypxy|dyjPG<0fOPG4sRdcv`VQRD5lyfej;zXJkJOykWuqQYOj$QBALRtETEU+ zLbw`nv~tNOB8nc4TUzEbbn1Zns7iu4e9>Qu)JcT|9CiZyzKTQlj+0I(WWGGGtbH3Z z1L)rG-GA~o#T!i|zezYsci&9ejhIn9<2@&?my9CTRjdwFPoq{}Wj1jcP1R0^xwSqr zm&H%F^fImIu)fNu@&h*f|E()43!Sk`;f}`V;0w}wUxV5E=~sis^Xc%X*}ENG7hiZ= zPP@Nj>!Wz)y(?QuSJMtYn%TBWuau_H(;lnS3Tig-A;C2D(A^eXOzBinZ*J^!^2u?k+lLgU zNCp7!wbJ`X40PPk5Y9_3ESnp*0bNMTpH6x$CAIodFZ(dH=4ahV+|eZ84jdg@3ghK5 zs9(uEJ*HsE_0=RDL=1%d{OD}Y{UG-^GJCg4`eTDilV7%o^Os?EtIqZ+x>3Od04)vK zcQLh_2{TaaJLM1id%rq(-G8Fu7_d4(yxqp$kc67#a*Zg9pLWQUJ)?9&@`UVCYagO% zEOoBrFGX#*u~<57oJj2To*Y)8Kse##`n5;c)1JttT5+_VMWw;HqT`Z{N|E?DIAo1v z&J{kX>kX(-zJ8X5wywuBUUf+VlEuis;k8VcDrYB=+!ZTzTl>7}Z#|stPcul$Jf9dJ zSX1QFD|{4FT+t3O74WLE=E4ckSXG%<#>x8V7s^1Z=y^es?%q%qQch>*&|bDtW(JJ1 z(cw3m!JSpo@+^@TebBeMbM_H)opJ}7V8`v-b)AWd0QrmktvSb&)PAb;+#k;jf7`K> zYNni5fyBduugiZiTew>SU8ZvAhyOnZ^sCI<$9mxd#placpW1xm=k42Dn}8}37OI*v zz2C>wNh3A;ooBv}zVvF>W)FXrEUt zkCI0am_ET;ctIqs2;V-8E&XB7?T<@i=WG zg$Z>dzg^-FVHmDq4sgD|<;LVv+oSTM)5Qn|)~N`SV|B7N=n|!4&h%<8bUiI%Np0*6DHqxkb6;o8@k83_tzX342pUi{ZlUYo}5i7rPft;Xfxd*@|-m%S3i0d}aDdo1Q60V zUdU5l1S)0eWRz$Rh8Xw-pBUiJ;}D$}MCtpQ3agA*Oj?4TmZWNi)91|27O!Du&BGl| z1V`n5c%4vu`?@^bL9L`BJoV%&02Dbf(k|b|tddUt?IL7FBr)xV?FH56AL5JO{g)G1 zezSRd^c_Qzs{^(S)+1tqG*j1&Hy6nF2t+7{8%>yNWAh5>2J&~|&3oqu;a$vG!a@D~ zR|oP^W)x!2n|DJ8$#Xcb9c)t~P|6=Iost%syCS#3E2S+FE67jW%cs5VL!{PXCf3*zWsnRJwjg00a^9(19m!rJ06^kz8`RT}y{G8w$} z0^~_IB{BR7w<-bt=}e7%r=7@zGHq#`k6t{`sn6a0y(8U_kk(=_qwt zUsH}A0h}*)tQJasV5g^$AbQ&j;APDirSOPXoOr7xkpg~zEm`pt)43gyuxK!FpGCA= z%5(CfV+4TzSt87UVy7J}OYX+#*ta~@-x7WMvZQ67rrnFrC3y2R^n!&yuX;bQ9o0%? zJ2uzmPw}V11GusWJJp!KNA$>tz zAb3UH>GP9?=RL~5PQPEURekxr2C-Vt^VZJ@{=jz7m{!Ab8JLT=fI#?`C$ThE=N)

      I8lP5I(q#<3`|z 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%0Da|82K z0?S5H=0F0n3JPQ8Zk|a(O3DnML64iQH@c;b>25hc+W#b4TK_S|>h%fD6n(h%V04HD z31c3bHNXJkG>x6@IeAF6^AXfWU2%qAE??#j?UK{kj{FW-%sDo$>g0*qnr_N(gpX>u zJo-_sQwxVjSM@y(*g;t)?p1ML3kiRlY==Foof@Uv)gG^0Or`4c<0xH11`SOIUOdec zeCXqycz7Fvko$&SccTP!?j97tK{q-}Tb7)xmdm92@FnJG|v^o$qcWK)C*7M`7uwjcF zLe2m5)nps8oI;3T0qPzFH@t7M+IqT7AUg6WztEq!R2iC4xbjW z(-nT3Yjl5D*iFjky7y^0YV#=7^0{_qoZ?jCk?`At-;AdL!AiFutmc?w%FVW}KZe%p zezd@^PRxhDadnXb3S}%g*<-KiE-j9Il9a7qsh;1~uYY+^JI`@e?+Oo9{eC^2y2UlGapEzBSpoL4 zg~-Ip+}XgIJ!dHS4+)H?NJr6i3T;J_VY1u5)Yg9J^g?5fB3x4{OIarDP&mN zDwumu;u@(!S-N&ih#7nB5oG^M>RdV%27GLi z)p7IwjK|MRE28vw7Hxj>K`sx~dg)op8EW4ZxSHw%xTPZ{XR@#7vmFIL)}wFxdh>j_ zAy|iE!cJXE;!PQnz=+kt!41HH>E#NbU+>yDb|S@n{&W)#Ct58P8%|^69ss8_wT51~ zcHM3Wi#i)GJ`OX!fm!r1`pGR`I#t!a$Sb#z-ICb;BM;Da&Hr4tqMz5buV=xk_=e7XQb;NSr zQq8GRBMHWbrC*IshmqdY1GBkHUcRtaCI#qn0odGj<-;x=VvaU*#U(XXNk@}MHP72V z?qgU_xY`~aQ7P>E)U|rWGQL%YGIu}P%yg}bPpnKC($&}cw%A1&_Bl{R+5K1_h2l*p zqk_O}4517bR&V3PZbv;I@S8}tyIfLUm6f;^XrJr-;*tAQ)aLgJsLP zM_qI`GpBG$`*AK!ju`Hp&548&#ixVMJlYe@R&Y+pyp2AiUoidF_l^*@ghb5MdDm{$ z$HQsya^DCWVm}oezvo5QaM| zfGpEb#?%_^ldPiVR$0NnL_}7A)FryA|M2oV%2&xCJZ0PetWL zOgt&G%kx*@$>E?=tvmlgtGlDPIFqC@;pu#29DQOgJvu;?zM@YEw7Xk#%oEUy%AseW zo$NN=c}5|J$siX>-L1+i81BS7(0JkcFF08@8hmX?r;em-O~q`}6*X0p)!PnVfp;a} zmn%`YM5?)3#yyfwefWheomJv=Pp?4bU36nO`{#y;)wnuYE3uH!hlMq%nd_i^(w@|a z&UYFd7g?eP^>t)D&-iMUvV|qDBYpGRPV%cg7rIJ9vN&D_+kIUjoK5V;^fr?ESuQwz z2PN=h_851d6RDOV$tTI%pAQrx90Rp&y*CmQ*-eu-j8XMce57*B!H(`Ti2csg{lUiE z4b$hfUsekp>3iSG>^Vn=W*v1Jf3-O%$~?Isx)VDZxmviI$o9=lD<|-9Td30=8qA>a z5xeub(YN0t%uF5((SSW+aF<`p@!XX}l{0-~33`s%`;-Jzx0Y*nre2@jy68sT$yen* zwZq)ueC?-y1`QYShm4T6e8eQX>hRpOb4kEef65%Qim;4rY@V+Zr0dMuv2~3p|7?himTQs<4sC5ij6^jn*Bx1#$Hr zn_pj}a*Qe$kn8hM@HkiG+NgDMhfGhq^w959i;ywYj?enugf8jjH0Dj z-JtbaZSl|)8%@4~-foT#| zN3$yKHc~swcggfd#xpMw86g$qGA~C)o%P81CvNvPNYCG;4GW`!djTllTK}YWfJItG zCA%e#W=TyK<}qOBxJ*OrCo}u{CV+~huQ&N=?@eEfF9s(~2K^cS|NRSND$T7+Qv7+ZGJ?#y z?95;+-Qe$mBiQNqxo`Dv_%|--`El|G^4LBa@LnUu*y)m}%#^Wug0S)N0cMmt3 z9~K1OJ)wSb@IL=S3NU6Qb2;d^xoYn1UdFX7&lxM-Kz?Mr02{Ept`lXA_yP6K2w=#O zHx?g9F@A%bPp7O3D28N0SnP_P8t(h_*M+~=`1Jj5qFU-3v1=}cexQdI#L~VyO@MCU zL*qA-w>dn%*UuYSb=s!9HtzETQ#IasxcWgod?42))T0-d%{7EFvKeBQv3krjpmhAgV(I|UVFn9h&PLxh|0moc218r-3vLw zavjoyB|vMK=EJh-6_S>mM$TIw%k^RQ~o~HWe#yh=J*AxiL8#=sez2lt!L!ZBbqJMv74-o1c*JfUZr#S6z zU41uH=hh<%M3+H;b%VW<>~BJw8!EUS6kq-3uu3s;`e=?@ zr90pSA{1ywjaU-{ou49)uOT3+a>^h%#Ob2(95C?G=QSjKQf&nUycFa^at}@54`C1M-v}u3aG`Y_Gq*xv>AJEkW-4rCn35vmpYYod&ZS z4Jp04(kLGHK8;Njn#N!n+r}B@aLGNE9Gu~A%cYX9Ix-(-fx&%Gzwx#kvXUTO-h0D;b5z*xF1^naMf2GFXClYaX1lOYLDKW3fAm>ZStWqntXtohrnq z4EXj9K`fpNBeIMokbP-(BUk1E{FdyMf+qTuPLX)m-KY9lk@)1P@qV)OurgoI-{*yI z66wkBs7No3?Rfn>jr_roV&>C|*kJo(*y)dS{NG>hpF_s~#h1`6x=^^TjFdc}GWV3e z1t@Psz$w3!B$UhfS`cGSz8`x4UHORaIOomQNYG?;!Wk;qFItJNy5}R)M1w}TP6Xs`B-BxtPA%eIy~BfRT99D z=_3^bHkHK-gBj)q!W@k>D?nc2}@r8=6snTw$Rq zWM)3&zH>`*Kl%{?Cv``C-m333`Gl^l>;Ba{JyU}Dwdin+MkrM?E+PxiQYDir42*i8%U8-b&X+h)9n z=s7lqL`N^rceQ=;xQb0&p>PDi3eQKdd&$ zD)t7mKt3d+%odhZo<%mH`Pkq%38`^DBkz2@QkM)C8EUWB5cqgE=&l=#Sm6|{!}7^G zJ{M6@0@>lT5OE9=8wbO*za_%CpM_oGgz?N?y0a=8DFP9U?R=nbi4-+t*Rn(w3M=6P zKO}3tP<9v#yCu63wG?I{`PrrGmKkZLb#cFmcidiIWE=~cbp;+0=V&OkFXapTvpqwk z$OgY(4{LZB^7n_RP9qJ#gjQ2g5$YYMlfK@|;pMStN`D(@?oUU2zE47ZiGYPgN>0MI`w78u=aXUc%<$y&$g@yV(*9 zLHqeJ95ru{YqSR(9Ir0jKln=vfTbe~%UOkWQb40}y(RrNDNwph6)q4P*`8De@3bpPT#zwLouHBe6XQD2eUQ` z-Bhp6ktW56R9<1(QF@J1C@ZgYIixKL5PNf9yf@=Q!MSr-o}Qx4jxwdIv$2MaSs+>Z z0qf_Mr!#81WRgc8yow`WK4`rx_A65~M_6>Bwf~C|K8@3D5kpC;jg^Y^DmVH_o%+{h z0o_O9e6a1;yxxU+x<}ph4e7zPia!b7FI@GV&Ho4j{?(1d8afpF*t4~^`Y7ZgWLSs>U0VDj~XW1XzWGtqx-~u;q-Dy+XLul!qgiX{_=WT z&xJe^KkHuQ88tY}#f*x3y*WkuMgt{IiNF{dL z_P66alW}|PtO@Ald^|-#gxR50w+3PuTL86`Y9)5O^tSGwy1M@H0poLnI5wgFxsHFD zIko7uO{|YH{k*@2v<+^xRUkPV!Uf6L-JG|!U?a%6;5x0~+7>RfI2_@yd(So%g?o+C z4eUY#Qv({S{m{J{u$b-o9d_6@HMu*LV%ccJG$EZTzbQstFBs+mD4v@itZ^e z)7E~FlzOqZYvKI)Z2Yz%W!&I3)HS}->X;fgH{(*Dg@oDitU&5~eapu;G~k2j^4kn6 zhqnwe{qY%=X2$i!#jI$(62^7A9qUqjAHO0{PVd>y`FRlXQ)&wKt2;&aY^OYN9eVdv zXpXxvxQd)Ty(fBeXf`kUmZqg7p^k?c>CT7CuY0teYz~JZI_`5*L1GO-k7iQKi^Z@e z-b$L6v!urDzgLaYwm+TKABqRbn6%)x$5{uTb${rl!Xg}L#*-A@21|&)r;Sfj z2xDCsH>>E^=ubn+A0|eM_^y=bW`S5LqwtPdPA~X`*ORFvaT!89=*W%$lj^Q&GomLK zMo;@ggMs@wp`*-F2|#x z7K5oqdxnuFyTH1TUzwK>n`r8#TegeTCQF}$t>gZ=@a`Y&k&#}S3hsWXch?X$squo5 zVk8HbgU$OI!}Lk=Xik~BquQm~8HUmiUATObpn@JArX0ul50Dy#DQI5i1U z)TIX>v{jI?$91ns{CI~4?YE*_b}P9*bdu}4osU6n5NSacUZBjqTXV^k3@v40JVT=| z9HTfRU7Vto^#rnE`nIy4<(Ho1E)~69$7;HNcCkQrGPcHFm-2>==s6jepIt5$3YW0; zzj}fI*4pHS-2EZdw(pfyXPMW?i7oaB=*qoqh*I zX=-M<7j+k8@5Sj!;kh!>|3-Rxq$r561*h;>y?4qf5p`E+9k7AXsYD~$?`ApO{`#P7 zi!Zq}(m`}VKi5d=u7nAodMrtDFIX^wd?dlYlr-6^gWOohix!D`Tx2L@ZIH`2e!JBu zw%(>bDiP&1lEiQq4709u)b#}KQj6La8M+N>Ip6s{)~!;N7MtKGXG5tn_p6Jfp5~^? zl2PrGIlmJph7PFb*V&Hfb`9ivAyx7CpbE#!sd4{FL>2s(h^l9_YSF)_q1vhY>i;(l z)w&Y%V4M2T*cTVpGO z!!b*|ReW13&-C^j?_kg*K8Cp1TS5mO0#$U5%k6MCS{ztJ$ zuL@N=y+^bb_P-v(L*M)L%*>>0Mw=^6UCh1Ap6>6sOS8Iyl)rTMZk9NKlV7w;7pXfh zoohXiwP=WureqNr>r{NB2eQaqD^9tU6eE(_6r2@?0V9gZBXt3!gWOwb3{91*d%9Z* zjPdKPS}QKz`R1=n|3Ut5>U#9y|EIbhm&Kl1cn7p{*A^8Ww_*qdWLvhNKJ)Yb2no>c zSP>Xg9rFsaM0dgB5W3dh_O=gq>mMZ<%=JQyZHd#5Ixi! zSIZ>?7*2utuFS3&EP-jh0RN$&y^HW1Wpp|QUEmJ!S$M$?S*gdJ(QytmPSj$R=B)Q2 zBflPo#6PAHeOGm@$sO<_^!GRuS!zXv{kzDLNs~NoWz>uFFv&E~#}iOL+)|z`DTY*f z0@}cH%*&=70c+FSNZxnK$9A2d-(}gs4v4tfkhv zX_fqx7<$fg5))iK!r5yg0UIBRkaqv2b~Dfb#bN@V^>aJ>GD z4}y~8=2FkLRqZp&Zb4|HT8uks~3eNRy?yXv@?!Z|r> zNKg@efrI|8R&F4!v9o3?^gpS9aA%{Il##P^$H`D4sGh_^WE{l!t$Jr>_Io0A#<6gT z38GiPod44(gu`d;O=Z4W@py(v9ddfdM6(%IHK|*YN959oied;nJm4?7Lzhrd@p|M~3xKmW~@ zjx%Z|zTz6enn7MPeqW;lPNzr7qSAjcI+k1xzV%^6z$i%HHs5TjSoN}ubqK;b`_N-S zWz$fBP~jY_le*NN1}Osy^UFUIFXUaLf_$LqMp%P$DZIbuSVtuTLgOx5W+RR{YooQd z#IY$nGfJd)thvH)r* zJ3@jAKxkjdca&go&-A^OQEs^Fy0tzQ=wg{-w;42MLbX3}u{kzDrsq<6MEEb}wv6ZJ zpF9PdH@H}7FC-^abp2a4M@E~hT3m&l{xXl?OA^(#dw1hV})%(iV8 zEabIGnP;V<3{JDN_KKNX`1_G3BfV5?HmYh;hCFIr|6$(S?XP+7sp5N2*c;XAnMzRE zm?d4y+B(BG{t8PO$r^hcPdoTIHT+++LuDFGTZ-832eXmJHh(+&@W%x}*SgkcRD=VJ#gUj3>o z0kl>ZoYw>+{K4CEC4m!zIDjmukOVK*xg(7~|FO%8X@)1+f>YJg-yp~=!Q?Ap?rFy|95!N95;mB?G z&)VX=ij`3WL!hkZSXpw7cZt3WW7p^0#}{u%Nl43`NT2BbB8YvNc~zeG`cPi9BTa@l z{8p3*GDSL6*)qVodHa&XQSW5iZDPf>>)q;}SA!v{hq8h$lX@d9ccfKI~MOb^`9$>3Tdq##nb;b23zT3$4epY!zFf${RkQJlzxWt4{+)d2Gn&4KEOj@I_}t7KrYjEJF#b^Iz>qpi3oWf za_-V}#az=kb(Dux@k{1JPN=g6!K4F9K|}2S_vaCkKaP*01f{N+{n8#`B&BBbwmBjN zuGeo*;3P${T3J%79U=vt@gr@*s(jy>WxH_2G^p!TC*nDkhaR5hoi~c4-D98UN{>UK zv0aBET~MI&AloURv1ePPE)K#0WK*OmQ~|d5fpDc{CU&u4!eEdgsoJ3Wu{1*v`138N z+3q%Lj%p+1qv+BvCTK0RaKGpZ~_){+3q zz)>Fm5J{b#*8F!Q6=1af2P8F>%xCP`bt?F3XSXVpJx)S#w?o3Ty3UTTLW#GNhq&tT zn2Mu>=6Q7ig{_!MHxl0ZbF7Ms@7&lgydXMn=~WB~T1*`TCTb^HM>;*xs#<23r7?Y) zmV1j@IfuLj_BzzUm7M6OapZSdF&P4`W|o*Ss6+8Z&bRMe_2s5=!YBUdxBlli;_rOR zfB)G^DcO``Z>!|;r?#b^dFF~AFFw4?&O#8~S}e`HB4+M? zQmifzRLWhnhAgFD&PO>wHovMZ83b>{w1NQ^Zjh;QZNy%8s!qJtZD>(dIQCg&ty%CQ zr-d`nLKYdDb*jD7#7?W15Y2gxyV*xOE2F`Yn!MBJs&rxBxhqN?PC18UCX4Z{FUmjj z^=btZ)KjY6G=tcvbiv`WXaP0=hRfiS#RCJ)33Qh1cj!L70_t?((x1foy?JoH>GoTT zyX9n2G1oVZ1}>n9^r_j@cJpm$P}~+)w#Lqfxx2zU|Dq4CR)7c$L8*edZ_bK4 zM-n38Y9te-x)QC5x-~3692O_zmw1zD)IfD_wHOtW1Kqj9kPlnXr(E59^?Zl=^&T3t z?PQJ?ZrRRat*0&uTwuKtM<-fz96rFxi;DZ_e&zr3VZ=qh?=nppju|hH<89+2h!cNF zJ9P4x9w~rp=MF~?vUt+oimiXP+|g>^KfhHJ;qQh<<%s0_it^EiWNddE8Nyy%nZoVt3ol5 zI2&;l1^!BhZwl7VjNS(pJ5DLr0{%Gt6|t<{v4PLNMaL;qQZDAjaUhg@5>iC<*SMtqjJn} zAM@xacUV>BPR!p#Kl$c&TA zpV#D&e5{h{emk=hyt#Sz4I}-$e4#x3>ovoo%N$3&Lan-N-;@Ke{SodtMe-@x^5Prl z^5)y+_<=-3?ur4Zd9A=W2NyoTVPnBAi~OgS{9nH`6qHPA zTK;hHItSeIXtHQZWfWE5QA{HPx-IAUh3a-zpO9kUc63W2tfLqr!GkWz@wdL#rxn}P zr+Ha6dTFXxS)e;wtH`XwVR(D|<8xEU9Beimlpm<`RyHK*rGWaZqyBxGerm_xq-K$E zeE1-baWSrfD?Y#tE||3~KL(<9b)pt6kNN`CivQI;KoP6t(R#1kqFFayXdr6eK)eo4 zmL(zWIWXSgTmV%wdzm_$IsBXy%nV=5w+El*+)7*Nw9-GhbJg=OnG~evjW-kLqk?b0 ze>>W6MXww`^~|(+d*O77+DH5-pNbR%6fkJjpqCpcU6DfvDlYRIy1rY6K`wm^?S1UM ziQS9qJSp`PnW*TzyIOnCEgNoL-8+W1oQMs}izx(O!ruRvABDyXWttwh`w+R>bDVV6 zTno262WJzM>EZDd-7)gL0akkbj zb%Fgsk9Y(0h}9ck5h$v~Db-b`TMq&wUw@#`QJ}inyUx%D3rTqKHlJ0H%xcI4Y1jGz zI8c_(abr(otXT^V5>Hn*5l;GSITPcfTaEA5#Rlh}- z-ym$P;>=vZY~BDR()=eSa$uV!MRP^fd?8|3BS_kGt{GtN zj`CHXslvw@9)b_}KsyN6zG4^*bW}sRIJCS%T~^>|w5)fvT&#&!gMBfdL0Yh?iF3OD zPfElT3C%tJZTAkt>?IchBXT3H8<55?^OBb(%O=~Jy4JwhA!^jLpZsa-ZcrIhqfb>b zNTE%-TrX>Fewgv|tivb3`e%DZ=zqQn|IvCGc~9ojWP8M4`7|9np%!M(Yt5Y{>JN|d z+3e+TYvXTcXoY4;`ownXw|Axa2dcg7FT6iGEU!_&vg5zC7{ySeBXcE8(fI{EywkaC z1>jl2(X?S8p|2pnMLrFa7tj$ahMx)kp8M7&Q`k9Zf47Lx(ys5NOL78&Sri;F4!Gp` z$Fww*HOdHIt6t6rTit~wf#+UDfVmXB39u4jrS?~w?Wu+Mg^|wp#_*%3XdFrbr5_YH z&KF+~rgqkd?9nJcc?}8f3yn|do&#v;51agM_fL06_4IyxW_jL8_P<&Ve?MH9uZG5j z571ekye%k;BVmY3IpaadeOvz#4Sm^4@R2tS zmV0VJOHZF-4{*1WR=5td2@8yMIyaT9v||a2bZBd~DXf(-(u(GH9>jO~sG2tr;6a@2 zv~`b`>q(vle~h4D0i)nfaEE{S9%T&G(BP=*cTuzcen(qKnk^8;5qAtiK1lvCFQ) zO~&;k<`(#=Fj4y*CWp5o%lDr&+i@z}tIs;jWu)#bAv+`MA3rO%UajZ2B|*y_xTqhy zhMes&OG063R7anxM4|{b@FD3*=Tde#2Ib}n7PJZ!RZdvlx=V3XLg_cXP-4>gRLiq} zn_syn%T0yX!{i_Bga0wAh>KIw=rLoH3r!`tp8x?N^+1AyTKwsZ5lXlXq5THM0*`w*|E5HZnBDPHseSc9P^(|ch1!5Ch0gW>(pCOOr zdXWSA_&}jDCX}bAt(tL(D1+caB&UMP9`wQ&fP>v8GoDG!#7J-7xgb}$!13ls7duOt zrTF*cSDuMWoccU~c2-Mck%I|bgb)q5OxN1df>T&lB ziN!W5IZ0fR{LX-w@&1}2n1=pW;)*Lo%02Se=;gVY!?iCV#3g#HXV_UO)BOWC`)urE zqfopGgt{za(w~%>fCzM2GDBu~oxI{{K+yDJf%IBIa!&nPvTFFk( zzN76^yWVlERb}u**!6O2Y;rDp=Kgg>mu&j0KU}!BuQQO-r7hU1R#o~dDHT;Bo~!P7 z6n7-ig#>nXRapNG02ws_01)r8e+NLiV3rnt0wCpSjP&c)Z_WUarLpCdMg5$h{b_;x zcmMKn5vz28o7$}6O5{#9qp82(N3_FckD6}yLlP<-wcA})bI@c5FeW<+iTmEG=Qp^z zMPnZ)e|Xb4XyeEPlLuDwE<1ls#N&%WZcV?g-ero`q6{`guZobk#S)2#V%jrToAp;v z1Fiig3?f6`nNZvz5mDp8M}@pVCS-wp)twXe%w4JSkRN(kAfV3^t(*l;^6E*oAX-Ua z+EU)$yJ>tGKB22itk@N!T9k1p!Yh2V7}kQTW*8ry>@e}}ObBaQPyt4876 zISofoffWHy6?RT~VH`BhT|S`&&>yOTf#XHS?7K%f>CT@QdcD0>fcjYfFD-;HZt8b} zik!8ZCgPu~Sce#A#14IJzp!PAlErNf*TqRA#1L~?(Zjqdd;u?upgm9vVmYo{;8N9d zK@X?RY}5Tf$>KVD3kkbXy9+Po^yH6t4gvomNd(q8WUBL1a*q5I&ElP)GA)q>fLG6) zOr>}ELo%T@@L0A)@Yggi@;eB?L1CMd6uto?KNUY` z7__>QD6f}X$REL4Rm?}C(Co9OYPjOFWkMbd%l&SS0-RCk*Y61}k@>0B-<9BGfn{%7^UeEnM-wY_eBoRShZSRBG=$EeLL$4HN ze2}{DOz7omRHrt0sa#jb9dv?_j$vDoZ zQPcN8fY&U>tfL1iv(k&a&Y(~^Rb4305J;9@H7f9K;+4Ynhtqs2F=L{m{;$qVr2=m1$emXf&4Jlhj?)^84 zNh0zR%)w*?(atC&Fe0UZp)i4l#_!y zy4|dnk-k1kz5A4=3zpfF(@~%g885QeqaEzc^Q9@lZxx5z zkj%PLHKgk!xhzk4uZfxtkfy$_Nelz3GabTn&wuH(Y^8~!6V;0n8bH=^F(X9%ZE&wd zG+x35w|UgmJwI$lzU*O@Q;;3pLBw40PBcE+mUij5!|<~S0{3@C7s0qRZ}6Jk*xO-^ z9p8KfW|bXBS*e>`$hUwW`fS_BX3N06Zl@meM>;J#$0Xpxd9tqx!Ro7TCX!B5KgrP< zxxh$u&iX3fx$VQ73=kru|2Q2DEvQp8MS)K;-ZUQGQgzB82uE#IKq$@iC+xk5vI=F}$-~xut*~mh-O~E?bX_-oari97+w7Q4 z$8xXDrIjIh-!Mzkh|cBBrGDxOy@e|GcV4Mj<`LhTs}SMkYh!I`f&}sm=gF>YrRoH3 zodAAu>(5`%q2ep+d|}Y^Kf#V~C>a3k$od`Z04fn!@si)cj){S6R&k-2i+_S0*ffjN zbMH;gzz)WONxR-|^}fG@9SVPf9ZNA-eEOeY2mU$A;_qOGW57uoJ!F?mB5IW(&NRi6 zz4=%25!O%+n;cqGe{mqv`a9DxnkF-!^{C4XU^*B_NB{86k_UXV4mmc*4RWWNFo$jn z)`E(Q^!D)aJNXA$L~zXL~D~9=UsdC zOzOuO&U9zCStfvOR)6Lh)6rE?6|m}Eaizdl$%BVJF`iv{Sp7pFF*?voq$`&+1My1# z$s#m%ZD={3jjbE&>=C)H3|5_!l^sndZfkbD~CjY*O7&G64Hgh`C zcoCw5*vdMGSnOO8dwe>9Qy?ZYf@(%AP-3YslG2Lur%wH17)4@>*Ig-hbh-2zH+ool zI4*|~xbjaJjV81)2-Fd)qDvIeAMh@tV#|m1wKBgFU|l=PTiENk5y9Hmp3n65<|@_8e&_iM_PP=a4CvcUPWkO` zGWwwL+kw@TfyB8px$?BqfoM)emsm$%WXxnX#~I1-L}HTUm3@3%Toi(_UFCO@V^}Iu zhvkgqFk@9?_&1WnJKPr_IgT>^AUOg7lEVtU&>7K^0gxQ*s#*JIB*)8*0uvWzs+g^p z6fBZvOfBKRTDah`8HyJwjV3|Gnm*#jRYvngQsfmWa}`+GgDsfholdN1m1pE~zEPae z?L*kuP7XyQ{tLkaU{wdbQ&cpZK6M~#F})hnqm|GfZ=AxEh_&*ERrWW zj<=$Q64w(}K9Scj;Mk|yv?ib{Q$xSIg17aodOrCo1D3qD)V$`bxI0sY0P31WnF&m{ z{`IW%kHY4UFU@+fLId%&qRd&MTkF;)2{h^LLIvHFiT4Pibq<>oJj?~d^BwN0sMjQc zWT-yw;Osh=sh;#n1}m{K^(-%^H#N`aU-KvG>|qP~Wqbia1xNE;K&?OThMISvn&(cKFe)^GKPT7N2_)^BOxCJ@&Dl$!A)wd_$|m`l`3eoS~zmhAR;8Y1@M6}XyTTyI?Y zngEseA}=YQ;q8$#y?*bwO0kKLO#LYbeb0aJnF+kSt8k0c^L7*s`^x6sp;nO`+INC2 zv|+z;OfrPdKKVVoV3kW_bM+OMb`8hXh;v+MH{P>0>A-R?Ja89ZjJL8KVr*VZhI+@< z7$L5q%L%)_v zu}TG8XDO*!MY8pYSb=B17cn^f){|Y_fF@}oZE*V1RCJ&@N*1dtL;g+x4c&<(bxIVyoPuZ_Zu^|XhC27=lRiurTpjbt|AK_BhwA^Qz# z$TtH1@H;uG*F#1HMG0zIcj<^-A%JO3YVZy6SK z8-9zbpnxc;fYg8pC@I}7AR?gBAdCXi-3%omogxi`N_WT5NSDOW-9yJvL(QBYzV$zQ z@3TLi4}4*+i+JLWwbs2J!PU;lI|xE=SBnwyCiZ|>Q55}(6!LN+htsT|T*OWYtX#U@ zF44EM9vcZgKN?0jgs+0EznJ#F2Humc>_}T(;R_(&?U5?xq8h%l?i9Ulc7yGMfmYCE zCUaoNV}5%sC%Y2*yxjAnwqeJE!@s;(4Yi0jN}thke}WR4Aak+1$>>}tkYB^obqeL%qPoHZqEy(^A^*=MNV?b ze%HUy={g#>?|m&dyI!R@yKXrLyKV!A*l~q8%O2X|^zOf;q>mEry>+-qIK>EOIK>2K zIQ5Kx5*6M~e&)V-hn)1##~^=|~X5`GMOuF1xQoY$Me^rMPW*#4c&mho%Px!i%R&We3?{mVy$Vf>6< zc%iy+7vXJ^t^biwBVo;7KlQ?`PQ?@cmprBy`WY`#FEqRSkxv!Tgj3(((XNb(a$O|V zSYN+?pRuj$e?Np5_g1K8k&-~aeo|b4{xluy3HN_%szXE}l;bVzy4l4Gd5JOp_=rB{ zn#cv{D?wx19@C|I1?GrHV$S}wUXO(B#s|5`Rl;3gxKYF}Cx#NnkE<8hha7giKMPj% zbZj$?06BQ@MtuCCS`XAD&X5;d^w9IwOWUm+`QrCFX$G;$FprVIJTH0$6IrS*2d=CQ z>33KX{Bc-6?i6Iq+n!IvL4xYH$j#t*8Mt)Fz$>FzZL;N7Shm?on&H zP60<$K8jI+m`4R>EfZ4!?>tJJb(RnT2&9(|Yg07bH%fb^Y{tKjsreHA-w6}Ebt=xw zFbh0ZCfmIKLuU9Jo*~@1H86{~H6Tk03&&A3TI|oFBoq69z*pJElk>KHipl+Ae>!nT zdF-Q^PtwLN^}_n9D)I~cID1jbGv4N(l9`M&zVA2x`)f>zuy>(NqO;;I+I|INy}bYG z2Za5ay<+4t8kp}DXFMh5M)>>a#yN!k59vzUz|auUF;a@zi;90Kfnk6935o%T2q1_- z(3e)Z$l^6hR@w#w^-!4O(#e;+NgcpV&3Y&z66Lf)LQD##{L4*^<1aTg*cjlZRx6vF zFCv9q_LPi1>UIYIt76%^Pazw@ny>HSKkvT1fO_VAkCp2N3(-Df{3efv*QB&MY+nbf zR#e$(J-GMUP3_UOn_3Lm=xF$R{NX zwnd-{KRlVLT%#uVqo1(E!+v4@j-8bIi@!S%E^2vhL3X+6%SFJ9#f8iaQ8C;~UEAH7 zQ|>%}FV^58(ep>;2tC!ke*%Q0JMKzGUs#lzL0f+?P=CyDxmxb`w#A2jqz62n;0Z8S z^T!TLY;_Pp(-j#&T0z!u1dB+?=>*g)4Eb$}**k2|gT+=_{l?SJ zL8HP4#3encel1$rDqrI-QK4*)T8)pL+->dYN8ajfteXv6q^<+*3S!dA9&VDyp;_l# zZ2p3JfUX4u=vpBDS3DgYAH|Y_I~x9F-3MuJ%|I_zyqj`uMYg|R z4Y%2)Pve))UZ1a$Q6i#T1^nmqsxNBVAmy$*R7Xxhgm009F6x&~R+)@W zj#ziD9{tVCuM6SYCL`zPC7KYHT_XRXO2T2yZ|hW^T7#j)+$zBflS6Uxej-eN8wGI% zcvo>ydX%MfJq4)QrPLp)1RWv71AyZu-^OASmz+wm7IO9YfFa(TSW#xZQ~^o7@)3&Y zOw$S4Tu$eERy@{&*2agGth&cWoKr5RJDK;d15p9-0)PE=9MYfyMeXlVUMtvk^B&rK zs=%HoaF8^RHX7;%#i4T8e*BR;D>q;ht_s44My>&{b!AsJ_3)x1D}w&bmb&NaXssI9 zYgI_do?iL5OXw*jvr$r1V){zye=EpwD~gN$)45Tf^N%t=;M=n|Zbm0nJorBzzift* zt%M&Ny`6h$ue-K4G^Z~9J%kQKsM&@?_}5Vj_um2ar2po*@2$9D)FToN_5*nB7ZfeG z73~D)6^KPyDKXSR|1awuAWS(J9Ll9&lNfTW3fb*XB3&7mJ+=_X;OseQriX;~gz zY%i)rl?|!Y-?3rT}C%ELc7RUav46oc3h9!1QfT`%(p-6*Tm- z>0*c!4sPvB7zq1?0s(<|U$;{6`#jG1=jzB`{{6=&lE@M!`|Bx?1d5I}1&Yu&xj@y) zdD+SwF9yMle>T`kuK_EQ{Bb$>zXc??RldgY5>vag%j>Zor2*Ul$@>qelS6aOI^FXUeQ~#^Da0F#xiy*o=xHz32^+%-y036 z

      T z)-FfHs)Hdd1Pf_b!g+y*v}AGOgZAiDs$rr(e#T%AUD7^12y zEB<7EwaB|+;Ch<8*a^O~qq#EdKT5+4c*t9YO|M4E$OL1na?BEzz~E*bixA@F^&i^? zh@PfuAu=tbaciV=X6VrAXhLtzsrbjVQ9PsfSgXS@i4{$d*DDtt1R!AI741VLy;3bk z9a2{Q%@Q!O^wzJW}L-3+KL&9rB12y!=$;^`C8&9N<7F#77>#kulzCsy3wAGYxjVAh;AAqd3gJ*{byvk7H^&^fAr+ z<`+)NB&FXE<*&r)qX-~(H#ouv?chOv%7oSAc(AIkuW#*upX${ksn$CmuF<##1s8I( zE}_sRmc6e;40YpEm3@8c^8yhBEc3*>&HyBQ_=W#+W_@U-m-kG~d`}y_vf)GVU1>mf zfAG5?Dw`QrrD)|o<1%@Oij%ZkE~*F=%VWPtlMqJU z+8Bwno;NG(_-=@L6rf8a?>>c8EsZEq<-&jFo>~Q1cbGC&KZL!yv3fHRaEt6Qf(3)K zT*}gx^V^qi{|JK7j&c{;h<23ui;fRGoVX)q8rqeZLYdUTL=#(@;O=a+KecThYCwBZ z^mDqVV~;W=S73n2vP0PCm_&Fz);P`D2c18VI#NuoV-yAme=wdrvpKjjUYM7MtD|WV zNcmaEW-0=l((Y;-LBRB-)5#$=*6CEt~@qS@J z(kDly=qNGa+NpnfljÀ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%0A8vatzVXmfes<^y9q)JrFS_wC8iGC^PE=G4m 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

    @1GKChI&B~rOK{t0RG3>@y$D(Ib)8)pyOhWZX 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%0Da_^CABLP>JuHBgO35T+qFfM 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%0AK?{6cFXQ+quFM5LuOSn% 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

    iFn#* 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

  • <`XHX6slE8km0c9e?O;DEuVIbsq!oBNc^ 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

    %;fHwTzMcI4bDiGC?teS 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�MYU*t=lEi~nUw&Bk+4#rvPKWn)W|K=V=3OZA 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

    }> + + } /> + {Object.values(urls).map(({ href, target }) => ( + + ))} + + + + +
    + } + > + + ); + }); + return FakeEditor; +}); + +export {}; diff --git a/web-ide-main/web/src/shell/editor.scss b/web-ide-main/web/src/shell/editor.scss new file mode 100644 index 0000000..a494209 --- /dev/null +++ b/web-ide-main/web/src/shell/editor.scss @@ -0,0 +1,66 @@ +:root[data-theme="light"] { + --diff-highlight-error-line-bg-color: #ffebe9; + --diff-highlight-error-cell-bg-color: #ffc1c0; + --diff-highlight-correct-line-bg-color: #dafbe1; + --diff-highlight-correct-cell-bg-color: #aceebb; +} +:root[data-theme="dark"] { + --diff-highlight-error-line-bg-color: #390504; + --diff-highlight-error-cell-bg-color: #842019; + --diff-highlight-correct-line-bg-color: #0d2705; + --diff-highlight-correct-cell-bg-color: #285d17; +} + +.Editor { + width: 100%; + + &:not(.dynamic-height) { + height: 100%; + } + + .monaco-editor { + // Magic + position: absolute; + } + + .highlight { + background-color: var(--mark-background-color); + } + + .error-highlight { + background-color: var(--mark-error-color); + } + + .diff-highlight-error-line { + background-color: var(--diff-highlight-error-line-bg-color); + } + + .diff-highlight-error-cell { + background-color: var(--diff-highlight-error-cell-bg-color); + } + + .diff-highlight-correct-line { + background-color: var(--diff-highlight-correct-line-bg-color); + } + + .diff-highlight-correct-cell { + background-color: var(--diff-highlight-correct-cell-bg-color); + } + + textarea { + flex: 1; + } + + position: relative; // For ".overlay", below. + &:has(.overlay) { + // Available in chrome 105 + position: relative; + } + + .overlay { + position: absolute; + inset: 0; + background-color: var(--form-element-disabled-background-color); + opacity: var(--form-element-disabled-opacity); + } +} diff --git a/web-ide-main/web/src/shell/editor.tsx b/web-ide-main/web/src/shell/editor.tsx new file mode 100644 index 0000000..dde8b34 --- /dev/null +++ b/web-ide-main/web/src/shell/editor.tsx @@ -0,0 +1,137 @@ +import { Trans } from "@lingui/macro"; +import { type Grammar } from "ohm-js"; +import { CSSProperties, lazy, Suspense, useContext, useState } from "react"; +import { AppContext } from "../App.context"; + +import { + CompilationError, + Span, +} from "@nand2tetris/simulator/languages/base.js"; + +import "./editor.scss"; +import { Action } from "@nand2tetris/simulator/types"; + +const Monaco = lazy(() => import("./Monaco")); + +export const ErrorPanel = ({ error }: { error?: CompilationError }) => { + return error ? ( +
    + + Parse Error + +
    +        {error?.message}
    +      
    +
    + ) : ( + <> + ); +}; + +const Textarea = ({ + value, + onChange, + language, + disabled = false, +}: { + value: string; + onChange: Action; + language: string; + disabled?: boolean; +}) => { + const [text, setText] = useState(value); + return ( +