From 6d835bc44cb3b5f5e9a14965be1d750cd1bd9528 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 14 Sep 2026 16:00:05 +0300 Subject: [PATCH] Initial import: ESP32 ZiFi32 firmware with SMB2/3 VFS bridge Based on https://github.com/tslabs/zx-evo/tree/master/pentevo/esp32, extended with an SMB2/3 server that exposes the ZX Evolution's real SD card as a network share (browse/download/upload/delete), plus assorted stability and protocol-correctness fixes in vfs_bridge.cpp and the vendored libsmb2 - see firmware/README.md for the detailed changelog and current status. Also adds: - firmware/: ready-to-flash compiled binaries + flashing instructions - hardware/: adapter board connection diagram, PCB photo, and Gerber files - src/third_party/libsmb2: vendored from sahlberg/libsmb2 (LGPL-2.1, see its own COPYING/LICENCE files), de-submoduled to a plain snapshot with local patches applied directly Co-Authored-By: Claude Sonnet 5 --- .gitignore | 14 + doc/cli.patch | 31 + doc/esp32-spi-wifi.md | 557 + firmware/README.md | 111 + firmware/bootloader.bin | Bin 0 -> 21904 bytes firmware/esp-spi.bin | Bin 0 -> 1618176 bytes firmware/flasher_args.json | 24 + firmware/partition-table.bin | Bin 0 -> 3072 bytes hardware/connection_diagram.webp | Bin 0 -> 99248 bytes hardware/gerber/Drill_PTH_Through.DRL | 216 + hardware/gerber/FlyingProbeTesting.json | 996 + hardware/gerber/Gerber_BoardOutlineLayer.GKO | 62 + hardware/gerber/Gerber_BottomLayer.GBL | 8024 ++++++++ .../gerber/Gerber_BottomPasteMaskLayer.GBP | 85 + .../gerber/Gerber_BottomSilkscreenLayer.GBO | 184 + .../gerber/Gerber_BottomSolderMaskLayer.GBS | 260 + hardware/gerber/Gerber_DocumentLayer.GDL | 99 + hardware/gerber/Gerber_DrillDrawingLayer.GDD | 3388 ++++ hardware/gerber/Gerber_TopLayer.GTL | 8895 ++++++++ hardware/gerber/Gerber_TopPasteMaskLayer.GTP | 25 + hardware/gerber/Gerber_TopSilkscreenLayer.GTO | 16753 ++++++++++++++++ hardware/gerber/Gerber_TopSolderMaskLayer.GTS | 258 + hardware/gerber/How-to-order-PCB.txt | 4 + hardware/pcb_photo.jpg | Bin 0 -> 298279 bytes spi_gpio_probe/CMakeLists.txt | 3 + spi_gpio_probe/main/CMakeLists.txt | 1 + spi_gpio_probe/main/main.c | 103 + spi_gpio_probe/sdkconfig | 4051 ++++ src/CMakeLists.txt | 22 + src/WEATHER_GET.md | 58 + src/bump_api.sh | 28 + src/bump_feat.sh | 28 + src/bump_ver.sh | 26 + src/components/libsmb2_esp/CMakeLists.txt | 103 + src/components/libsmb2_esp/idf_component.yml | 8 + src/dependencies.lock | 83 + src/main/CMakeLists.txt | 12 + src/main/at_cip.cpp | 314 + src/main/at_cip.h | 22 + src/main/at_uart.cpp | 572 + src/main/at_uart.h | 30 + src/main/cmd.cpp | 10835 ++++++++++ src/main/cmd.h | 696 + src/main/console.cpp | 179 + src/main/console.h | 6 + src/main/depack.cpp | 359 + src/main/depack.h | 6 + src/main/elf.cpp | 244 + src/main/elf.cpp.h | 4 + src/main/esp_spi_defs.h | 375 + src/main/fatfs.cpp | 618 + src/main/fatfs.h | 35 + src/main/font.h | 174 + src/main/ft8xx.cpp | 8408 ++++++++ src/main/ft8xx.h | 584 + src/main/gopher_client.cpp | 252 + src/main/gopher_client.h | 7 + src/main/helper.cpp | 806 + src/main/helper.h | 83 + src/main/http_client.cpp | 184 + src/main/http_client.h | 14 + src/main/idf_component.yml | 18 + src/main/main.cpp | 238 + src/main/main.h | 58 + src/main/mem_obj.cpp | 231 + src/main/mem_obj.h | 37 + src/main/named_pipe_rpc.cpp | 466 + src/main/named_pipe_rpc.h | 59 + src/main/nvs_params.cpp | 149 + src/main/nvs_params.h | 22 + src/main/opl.cpp | 4620 +++++ src/main/opl.h | 87 + src/main/ps2_mouse.cpp | 922 + src/main/ps2_mouse.h | 8 + src/main/sdmmc.cpp | 1207 ++ src/main/sdmmc.h | 99 + src/main/sfx.cpp | 1400 ++ src/main/sfx.h | 75 + src/main/spi_slave.cpp | 1991 ++ src/main/spi_slave.h | 60 + src/main/stats.cpp | 80 + src/main/stats.h | 60 + src/main/stream_client.cpp | 502 + src/main/stream_client.h | 8 + src/main/system.cpp | 1917 ++ src/main/tracker.cpp | 13366 ++++++++++++ src/main/tracker.h | 932 + src/main/tsf.cpp | 1195 ++ src/main/tsf.h | 50 + src/main/tsspiffs.cpp | 517 + src/main/tsspiffs.h | 177 + src/main/usb_mouse.cpp | 434 + src/main/usb_mouse.h | 7 + src/main/vfs_bridge.cpp | 2030 ++ src/main/vfs_bridge.h | 21 + src/main/vfs_request.cpp | 124 + src/main/vfs_request.h | 65 + src/main/weather.cpp | 243 + src/main/weather.h | 4 + src/main/weather_parse.cpp | 723 + src/main/wifi.cpp | 1527 ++ src/main/wifi.h | 40 + src/main/zifi/weather_parse.hpp | 79 + src/main/zx_screen.h | 435 + src/partitions.csv | 7 + src/sdkconfig | 4056 ++++ src/sdkconfig.defaults | 79 + .../fixtures/weather/open_meteo_roma.json | 1 + .../fixtures/weather/openmeteo_city_kyiv.json | 1 + .../fixtures/weather/openmeteo_city_none.json | 1 + .../weather/openmeteo_city_rim_ru.json | 1 + .../weather/openmeteo_city_rome_it.json | 1 + .../fixtures/weather/zippopotam_it_00144.json | 1 + src/tests/test_weather_parse.py | 249 + src/tests/weather_parse_host.cpp | 116 + src/third_party/libsmb2/CMakeLists.txt | 272 + src/third_party/libsmb2/COPYING | 35 + src/third_party/libsmb2/LICENCE-LGPL-2.1.txt | 502 + src/third_party/libsmb2/Makefile.am | 21 + src/third_party/libsmb2/Makefile.platform | 112 + src/third_party/libsmb2/README | 444 + src/third_party/libsmb2/Xbox 360/libsmb2.sln | 32 + .../libsmb2/Xbox 360/libsmb2.vcxproj | 327 + .../libsmb2/Xbox 360/libsmb2.vcxproj.filters | 268 + src/third_party/libsmb2/Xbox/libsmb2.sln | 25 + src/third_party/libsmb2/Xbox/libsmb2.vcxproj | 248 + .../libsmb2/Xbox/libsmb2.vcxproj.filters | 304 + src/third_party/libsmb2/bootstrap | 2 + .../libsmb2/cmake/ConfigureChecks.cmake | 63 + src/third_party/libsmb2/cmake/FindSMB2.cmake | 37 + .../libsmb2/cmake/Modules/FindGSSAPI.cmake | 30 + .../libsmb2/cmake/Modules/FindLibKrb5.cmake | 44 + src/third_party/libsmb2/cmake/config.h.cmake | 129 + .../libsmb2/cmake/libdcerpc.pc.cmake | 14 + .../libsmb2/cmake/libsmb2.pc.cmake | 14 + src/third_party/libsmb2/component.mk | 5 + src/third_party/libsmb2/configure.ac | 213 + .../libsmb2/dcerpc-examples/epm-Lookup.yaml | 7 + .../libsmb2/dcerpc-examples/lsa-Close.yaml | 4 + .../dcerpc-examples/lsa-LookupNames2.yaml | 26 + .../dcerpc-examples/lsa-LookupSids2.yaml | 26 + .../dcerpc-examples/lsa-OpenPolicy2.yaml | 6 + .../srvsvc-NetrConnectionEnum.yaml | 8 + .../dcerpc-examples/srvsvc-NetrFileClose.yaml | 11 + .../dcerpc-examples/srvsvc-NetrFileEnum.yaml | 7 + .../srvsvc-NetrFileGetInfo.yaml | 12 + .../dcerpc-examples/srvsvc-NetrRemoteTOD.yaml | 2 + .../srvsvc-NetrServerDiskEnum.yaml | 7 + .../srvsvc-NetrServerGetInfo.yaml | 5 + .../srvsvc-NetrServerSetInfo.yaml | 12 + .../srvsvc-NetrServerStatisticsGet.yaml | 5 + .../srvsvc-NetrSessionDel.yaml | 4 + .../srvsvc-NetrSessionEnum.yaml | 7 + .../dcerpc-examples/srvsvc-NetrShareAdd.yaml | 9 + .../srvsvc-NetrShareCheck.yaml | 4 + .../dcerpc-examples/srvsvc-NetrShareDel.yaml | 5 + .../srvsvc-NetrShareDelSticky.yaml | 5 + .../dcerpc-examples/srvsvc-NetrShareEnum.yaml | 7 + .../srvsvc-NetrShareGetInfo.yaml | 6 + .../srvsvc-NetrShareSetInfo.yaml | 11 + .../winreg-BaseRegEnumKey.yaml | 14 + .../winreg-BaseRegQueryInfoKey.yaml | 13 + .../winreg-OpenLocalMachine.yaml | 7 + .../dcerpc-examples/wkssvc-NetrUseEnum.yaml | 7 + .../wkssvc-NetrWkstaGetInfo.yaml | 3 + .../wkssvc-NetrWkstaSetInfo.yaml | 41 + .../wkssvc-NetrWkstaUserEnum.yaml | 7 + .../wkssvc-NetrWorkstationStatisticsGet.yaml | 4 + .../libsmb2/examples/CMakeLists.txt | 68 + src/third_party/libsmb2/examples/Makefile.am | 74 + src/third_party/libsmb2/examples/dcerpc.c | 678 + src/third_party/libsmb2/examples/epm-enum.c | 522 + src/third_party/libsmb2/examples/epm-srvsvc.c | 366 + .../libsmb2/examples/picow/CMakeLists.txt | 72 + .../libsmb2/examples/picow/README.md | 2 + .../libsmb2/examples/picow/main.cpp | 123 + .../libsmb2/examples/picow/smb-ls-sync.c | 0 .../libsmb2/examples/smb2-CMD-FIND.c | 339 + .../libsmb2/examples/smb2-cat-async.c | 187 + .../libsmb2/examples/smb2-cat-sync.c | 109 + .../libsmb2/examples/smb2-ftruncate-sync.c | 91 + .../libsmb2/examples/smb2-link-sync.c | 93 + .../libsmb2/examples/smb2-ls-async.c | 189 + .../libsmb2/examples/smb2-ls-epoll.c | 238 + .../libsmb2/examples/smb2-lsa-lookupsids.c | 293 + .../libsmb2/examples/smb2-lseek-sync.c | 105 + .../libsmb2/examples/smb2-notify.c | 186 + .../libsmb2/examples/smb2-put-async.c | 179 + .../libsmb2/examples/smb2-put-sync.c | 104 + .../libsmb2/examples/smb2-raw-fsstat-async.c | 356 + .../libsmb2/examples/smb2-raw-getsd-async.c | 405 + .../libsmb2/examples/smb2-raw-stat-async.c | 451 + .../libsmb2/examples/smb2-readlink.c | 84 + .../libsmb2/examples/smb2-rename-sync.c | 84 + .../examples/smb2-server-side-copy-sync.c | 210 + .../libsmb2/examples/smb2-server-sync.c | 497 + .../libsmb2/examples/smb2-set-security-info.c | 303 + .../libsmb2/examples/smb2-share-enum-sync.c | 149 + .../libsmb2/examples/smb2-share-enum.c | 213 + .../libsmb2/examples/smb2-share-info.c | 258 + .../libsmb2/examples/smb2-stat-sync.c | 107 + .../libsmb2/examples/smb2-statvfs-sync.c | 89 + .../libsmb2/examples/smb2-truncate-sync.c | 82 + .../libsmb2/examples/smb2-winreg-enum.c | 785 + src/third_party/libsmb2/examples/winreg-tui.c | 2030 ++ src/third_party/libsmb2/idf_component.yml | 5 + src/third_party/libsmb2/include/Makefile.am | 25 + .../libsmb2/include/amiga_os/config.h | 139 + .../libsmb2/include/apple/config.h | 139 + src/third_party/libsmb2/include/asprintf.h | 65 + .../libsmb2/include/dcerpc/dcerpc-dtyp.h | 288 + .../libsmb2/include/dcerpc/dcerpc-epm.h | 372 + .../libsmb2/include/dcerpc/dcerpc-lsa.h | 246 + .../libsmb2/include/dcerpc/dcerpc-srvsvc.h | 925 + .../libsmb2/include/dcerpc/dcerpc-winreg.h | 533 + .../libsmb2/include/dcerpc/dcerpc-wkssvc.h | 564 + .../libsmb2/include/dcerpc/dcerpc.h | 343 + src/third_party/libsmb2/include/esp/config.h | 139 + .../libsmb2/include/libsmb2-private.h | 745 + .../libsmb2/include/module.modulemap | 21 + .../libsmb2/include/picow/FreeRTOSConfig.h | 143 + .../libsmb2/include/picow/README.md | 2 + .../libsmb2/include/picow/config.h | 139 + .../libsmb2/include/picow/lwipopts.h | 27 + .../include/picow/lwipopts_examples_common.h | 90 + .../libsmb2/include/portable-endian.h | 377 + src/third_party/libsmb2/include/ps3/config.h | 139 + src/third_party/libsmb2/include/slist.h | 63 + .../libsmb2/include/smb2/libsmb2-raw.h | 497 + .../libsmb2/include/smb2/libsmb2-share-enum.h | 152 + .../libsmb2/include/smb2/libsmb2.h | 1568 ++ .../libsmb2/include/smb2/smb2-errors.h | 549 + .../libsmb2/include/smb2/smb2-ioctl.h | 83 + src/third_party/libsmb2/include/smb2/smb2.h | 1290 ++ .../libsmb2/include/xbox 360/config.h | 139 + src/third_party/libsmb2/include/xbox/config.h | 139 + src/third_party/libsmb2/lib/CMakeLists.txt | 165 + src/third_party/libsmb2/lib/Makefile.AMIGA | 48 + .../libsmb2/lib/Makefile.AMIGA_AROS | 59 + .../libsmb2/lib/Makefile.AMIGA_OS3 | 59 + src/third_party/libsmb2/lib/Makefile.PS3_PPU | 103 + src/third_party/libsmb2/lib/Makefile.am | 91 + src/third_party/libsmb2/lib/aes.c | 33 + src/third_party/libsmb2/lib/aes.h | 29 + src/third_party/libsmb2/lib/aes128ccm.c | 185 + src/third_party/libsmb2/lib/aes128ccm.h | 28 + src/third_party/libsmb2/lib/aes_apple.c | 70 + src/third_party/libsmb2/lib/aes_apple.h | 34 + src/third_party/libsmb2/lib/aes_reference.c | 560 + src/third_party/libsmb2/lib/aes_reference.h | 49 + src/third_party/libsmb2/lib/alloc.c | 154 + src/third_party/libsmb2/lib/asn1-ber.c | 1090 + src/third_party/libsmb2/lib/asn1-ber.h | 161 + src/third_party/libsmb2/lib/compat.c | 599 + src/third_party/libsmb2/lib/compat.h | 832 + src/third_party/libsmb2/lib/dreamcast/vfs.c | 328 + src/third_party/libsmb2/lib/dreamcast/vfs.h | 15 + src/third_party/libsmb2/lib/errors.c | 1192 ++ src/third_party/libsmb2/lib/hmac-md5.c | 84 + src/third_party/libsmb2/lib/hmac-md5.h | 42 + src/third_party/libsmb2/lib/hmac.c | 245 + src/third_party/libsmb2/lib/init.c | 913 + src/third_party/libsmb2/lib/krb5-wrapper.c | 1091 + src/third_party/libsmb2/lib/krb5-wrapper.h | 134 + .../libsmb2/lib/libsmb2-dcerpc-full.syms | 40 + .../libsmb2/lib/libsmb2-dcerpc-prefix.h | 106 + .../libsmb2/lib/libsmb2-dcerpc-srvsvc.c | 18 + src/third_party/libsmb2/lib/libsmb2-dcerpc.c | 20 + src/third_party/libsmb2/lib/libsmb2.c | 4966 +++++ src/third_party/libsmb2/lib/libsmb2.syms | 143 + src/third_party/libsmb2/lib/md4.h | 43 + src/third_party/libsmb2/lib/md4c.c | 289 + src/third_party/libsmb2/lib/md5.c | 249 + src/third_party/libsmb2/lib/md5.h | 76 + src/third_party/libsmb2/lib/ntlmssp.c | 1521 ++ src/third_party/libsmb2/lib/ntlmssp.h | 84 + src/third_party/libsmb2/lib/pdu.c | 1174 ++ src/third_party/libsmb2/lib/ps2/TODO | 6 + src/third_party/libsmb2/lib/ps2/imports.lst | 86 + src/third_party/libsmb2/lib/ps2/irx_imports.h | 28 + src/third_party/libsmb2/lib/ps2/ps2smb2.h | 35 + src/third_party/libsmb2/lib/ps2/smb2_fio.c | 816 + src/third_party/libsmb2/lib/ps2/smb2_fio.h | 15 + src/third_party/libsmb2/lib/ps2/smb2man.c | 94 + src/third_party/libsmb2/lib/sha-private.h | 28 + src/third_party/libsmb2/lib/sha.h | 334 + src/third_party/libsmb2/lib/sha1.c | 450 + src/third_party/libsmb2/lib/sha224-256.c | 611 + src/third_party/libsmb2/lib/sha384-512.c | 1059 + src/third_party/libsmb2/lib/smb2-cmd-close.c | 240 + src/third_party/libsmb2/lib/smb2-cmd-create.c | 575 + src/third_party/libsmb2/lib/smb2-cmd-echo.c | 202 + src/third_party/libsmb2/lib/smb2-cmd-error.c | 168 + src/third_party/libsmb2/lib/smb2-cmd-flush.c | 207 + src/third_party/libsmb2/lib/smb2-cmd-ioctl.c | 600 + src/third_party/libsmb2/lib/smb2-cmd-lock.c | 312 + src/third_party/libsmb2/lib/smb2-cmd-logoff.c | 190 + .../libsmb2/lib/smb2-cmd-negotiate.c | 716 + .../libsmb2/lib/smb2-cmd-notify-change.c | 293 + .../libsmb2/lib/smb2-cmd-oplock-break.c | 543 + .../libsmb2/lib/smb2-cmd-query-directory.c | 743 + .../libsmb2/lib/smb2-cmd-query-info.c | 808 + src/third_party/libsmb2/lib/smb2-cmd-read.c | 408 + .../libsmb2/lib/smb2-cmd-session-setup.c | 336 + .../libsmb2/lib/smb2-cmd-set-info.c | 458 + .../libsmb2/lib/smb2-cmd-tree-connect.c | 285 + .../libsmb2/lib/smb2-cmd-tree-disconnect.c | 171 + src/third_party/libsmb2/lib/smb2-cmd-write.c | 319 + .../libsmb2/lib/smb2-data-file-info.c | 626 + .../libsmb2/lib/smb2-data-filesystem-info.c | 434 + .../libsmb2/lib/smb2-data-reparse-point.c | 124 + .../lib/smb2-data-security-descriptor.c | 585 + src/third_party/libsmb2/lib/smb2-share-enum.c | 184 + src/third_party/libsmb2/lib/smb2-signing.c | 279 + src/third_party/libsmb2/lib/smb2-signing.h | 51 + src/third_party/libsmb2/lib/smb3-seal.c | 208 + src/third_party/libsmb2/lib/smb3-seal.h | 43 + src/third_party/libsmb2/lib/socket.c | 1610 ++ src/third_party/libsmb2/lib/spnego-wrapper.c | 664 + src/third_party/libsmb2/lib/spnego-wrapper.h | 74 + src/third_party/libsmb2/lib/sync.c | 1158 ++ src/third_party/libsmb2/lib/timestamps.c | 70 + src/third_party/libsmb2/lib/unicode.c | 307 + src/third_party/libsmb2/lib/usha.c | 345 + .../libsmb2/libdcerpc/CMakeLists.txt | 45 + src/third_party/libsmb2/libdcerpc/Makefile.am | 32 + .../libsmb2/libdcerpc/dcerpc-dtyp.c | 1422 ++ .../libsmb2/libdcerpc/dcerpc-epm.c | 1541 ++ .../libsmb2/libdcerpc/dcerpc-lsa.c | 879 + .../libsmb2/libdcerpc/dcerpc-srvsvc.c | 4485 +++++ .../libsmb2/libdcerpc/dcerpc-winreg.c | 1227 ++ .../libsmb2/libdcerpc/dcerpc-wkssvc.c | 1682 ++ src/third_party/libsmb2/libdcerpc/dcerpc.c | 4829 +++++ .../libsmb2/libdcerpc/libdcerpc.syms | 294 + .../libsmb2/packaging/RPM/makerpms.sh | 114 + src/third_party/libsmb2/tests/Makefile.am | 39 + src/third_party/libsmb2/tests/README | 28 + .../libsmb2/tests/aes128ccm-test.c | 119 + src/third_party/libsmb2/tests/functions.sh | 11 + src/third_party/libsmb2/tests/ld_sockerr.c | 58 + .../libsmb2/tests/metastat-0202-censored.c | 136 + .../libsmb2/tests/ntlmssp_generate_blob.c | 123 + src/third_party/libsmb2/tests/prog_cat.c | 192 + .../libsmb2/tests/prog_cat_cancel.c | 207 + src/third_party/libsmb2/tests/prog_ls.c | 193 + src/third_party/libsmb2/tests/prog_mkdir.c | 89 + src/third_party/libsmb2/tests/prog_rmdir.c | 88 + src/third_party/libsmb2/tests/prog_setsd.c | 444 + src/third_party/libsmb2/tests/prog_ssc.c | 502 + .../libsmb2/tests/smb2-dcerpc-coder-test.c | 634 + .../libsmb2/tests/test_0100_ls_basic.sh | 22 + .../tests/test_0101_ls_basic_valgrind.sh | 23 + .../tests/test_0102_ls_basic_socket_error.sh | 16 + ...est_0103_ls_basic_valgrind_malloc_error.sh | 25 + .../libsmb2/tests/test_0200_mkdir.sh | 15 + .../libsmb2/tests/test_0201_mkdir_valgrind.sh | 15 + .../libsmb2/tests/test_0210_cp_basic.sh | 25 + .../libsmb2/tests/test_0211_cp_valgrind.sh | 26 + .../test_0212_cp_valgrind_socket_error.sh | 29 + .../libsmb2/tests/test_0300_cat_basic.sh | 13 + .../libsmb2/tests/test_0301_cat_valgrind.sh | 13 + .../test_0302_cat_valgrind_socket_error.sh | 18 + .../libsmb2/tests/test_0310_cancel_pdu.sh | 13 + .../libsmb2/tests/test_0400_overdrawn_0202.sh | 25 + .../libsmb2/tests/test_0500_setsd_basic.sh | 13 + .../libsmb2/tests/test_0600_ssc_basic.sh | 190 + .../libsmb2/tests/test_900_dcerpc.sh | 10 + src/third_party/libsmb2/utils/Makefile.am | 11 + src/third_party/libsmb2/utils/smb2-cp.c | 268 + src/third_party/libsmb2/utils/smb2-ls.c | 139 + test/ESP32-S3_DevKitC-1_pinlayout_v1.1.jpg | Bin 0 -> 461010 bytes test/embedded_ft232h - spi_connection.png | Bin 0 -> 256287 bytes test/esp.py | 80 + test/readme.txt | 7 + test/rpi/esp_spi.py | 243 + test/rpi/readme.txt | 33 + test/rpi/test.py | 110 + 377 files changed, 189430 insertions(+) create mode 100644 .gitignore create mode 100644 doc/cli.patch create mode 100644 doc/esp32-spi-wifi.md create mode 100644 firmware/README.md create mode 100644 firmware/bootloader.bin create mode 100644 firmware/esp-spi.bin create mode 100644 firmware/flasher_args.json create mode 100644 firmware/partition-table.bin create mode 100644 hardware/connection_diagram.webp create mode 100644 hardware/gerber/Drill_PTH_Through.DRL create mode 100644 hardware/gerber/FlyingProbeTesting.json create mode 100644 hardware/gerber/Gerber_BoardOutlineLayer.GKO create mode 100644 hardware/gerber/Gerber_BottomLayer.GBL create mode 100644 hardware/gerber/Gerber_BottomPasteMaskLayer.GBP create mode 100644 hardware/gerber/Gerber_BottomSilkscreenLayer.GBO create mode 100644 hardware/gerber/Gerber_BottomSolderMaskLayer.GBS create mode 100644 hardware/gerber/Gerber_DocumentLayer.GDL create mode 100644 hardware/gerber/Gerber_DrillDrawingLayer.GDD create mode 100644 hardware/gerber/Gerber_TopLayer.GTL create mode 100644 hardware/gerber/Gerber_TopPasteMaskLayer.GTP create mode 100644 hardware/gerber/Gerber_TopSilkscreenLayer.GTO create mode 100644 hardware/gerber/Gerber_TopSolderMaskLayer.GTS create mode 100644 hardware/gerber/How-to-order-PCB.txt create mode 100644 hardware/pcb_photo.jpg create mode 100644 spi_gpio_probe/CMakeLists.txt create mode 100644 spi_gpio_probe/main/CMakeLists.txt create mode 100644 spi_gpio_probe/main/main.c create mode 100644 spi_gpio_probe/sdkconfig create mode 100644 src/CMakeLists.txt create mode 100644 src/WEATHER_GET.md create mode 100644 src/bump_api.sh create mode 100644 src/bump_feat.sh create mode 100644 src/bump_ver.sh create mode 100644 src/components/libsmb2_esp/CMakeLists.txt create mode 100644 src/components/libsmb2_esp/idf_component.yml create mode 100644 src/dependencies.lock create mode 100644 src/main/CMakeLists.txt create mode 100644 src/main/at_cip.cpp create mode 100644 src/main/at_cip.h create mode 100644 src/main/at_uart.cpp create mode 100644 src/main/at_uart.h create mode 100644 src/main/cmd.cpp create mode 100644 src/main/cmd.h create mode 100644 src/main/console.cpp create mode 100644 src/main/console.h create mode 100644 src/main/depack.cpp create mode 100644 src/main/depack.h create mode 100644 src/main/elf.cpp create mode 100644 src/main/elf.cpp.h create mode 100644 src/main/esp_spi_defs.h create mode 100644 src/main/fatfs.cpp create mode 100644 src/main/fatfs.h create mode 100644 src/main/font.h create mode 100644 src/main/ft8xx.cpp create mode 100644 src/main/ft8xx.h create mode 100644 src/main/gopher_client.cpp create mode 100644 src/main/gopher_client.h create mode 100644 src/main/helper.cpp create mode 100644 src/main/helper.h create mode 100644 src/main/http_client.cpp create mode 100644 src/main/http_client.h create mode 100644 src/main/idf_component.yml create mode 100644 src/main/main.cpp create mode 100644 src/main/main.h create mode 100644 src/main/mem_obj.cpp create mode 100644 src/main/mem_obj.h create mode 100644 src/main/named_pipe_rpc.cpp create mode 100644 src/main/named_pipe_rpc.h create mode 100644 src/main/nvs_params.cpp create mode 100644 src/main/nvs_params.h create mode 100644 src/main/opl.cpp create mode 100644 src/main/opl.h create mode 100644 src/main/ps2_mouse.cpp create mode 100644 src/main/ps2_mouse.h create mode 100644 src/main/sdmmc.cpp create mode 100644 src/main/sdmmc.h create mode 100644 src/main/sfx.cpp create mode 100644 src/main/sfx.h create mode 100644 src/main/spi_slave.cpp create mode 100644 src/main/spi_slave.h create mode 100644 src/main/stats.cpp create mode 100644 src/main/stats.h create mode 100644 src/main/stream_client.cpp create mode 100644 src/main/stream_client.h create mode 100644 src/main/system.cpp create mode 100644 src/main/tracker.cpp create mode 100644 src/main/tracker.h create mode 100644 src/main/tsf.cpp create mode 100644 src/main/tsf.h create mode 100644 src/main/tsspiffs.cpp create mode 100644 src/main/tsspiffs.h create mode 100644 src/main/usb_mouse.cpp create mode 100644 src/main/usb_mouse.h create mode 100644 src/main/vfs_bridge.cpp create mode 100644 src/main/vfs_bridge.h create mode 100644 src/main/vfs_request.cpp create mode 100644 src/main/vfs_request.h create mode 100644 src/main/weather.cpp create mode 100644 src/main/weather.h create mode 100644 src/main/weather_parse.cpp create mode 100644 src/main/wifi.cpp create mode 100644 src/main/wifi.h create mode 100644 src/main/zifi/weather_parse.hpp create mode 100644 src/main/zx_screen.h create mode 100644 src/partitions.csv create mode 100644 src/sdkconfig create mode 100644 src/sdkconfig.defaults create mode 100644 src/tests/fixtures/weather/open_meteo_roma.json create mode 100644 src/tests/fixtures/weather/openmeteo_city_kyiv.json create mode 100644 src/tests/fixtures/weather/openmeteo_city_none.json create mode 100644 src/tests/fixtures/weather/openmeteo_city_rim_ru.json create mode 100644 src/tests/fixtures/weather/openmeteo_city_rome_it.json create mode 100644 src/tests/fixtures/weather/zippopotam_it_00144.json create mode 100644 src/tests/test_weather_parse.py create mode 100644 src/tests/weather_parse_host.cpp create mode 100644 src/third_party/libsmb2/CMakeLists.txt create mode 100644 src/third_party/libsmb2/COPYING create mode 100644 src/third_party/libsmb2/LICENCE-LGPL-2.1.txt create mode 100644 src/third_party/libsmb2/Makefile.am create mode 100644 src/third_party/libsmb2/Makefile.platform create mode 100644 src/third_party/libsmb2/README create mode 100644 src/third_party/libsmb2/Xbox 360/libsmb2.sln create mode 100644 src/third_party/libsmb2/Xbox 360/libsmb2.vcxproj create mode 100644 src/third_party/libsmb2/Xbox 360/libsmb2.vcxproj.filters create mode 100644 src/third_party/libsmb2/Xbox/libsmb2.sln create mode 100644 src/third_party/libsmb2/Xbox/libsmb2.vcxproj create mode 100644 src/third_party/libsmb2/Xbox/libsmb2.vcxproj.filters create mode 100644 src/third_party/libsmb2/bootstrap create mode 100644 src/third_party/libsmb2/cmake/ConfigureChecks.cmake create mode 100644 src/third_party/libsmb2/cmake/FindSMB2.cmake create mode 100644 src/third_party/libsmb2/cmake/Modules/FindGSSAPI.cmake create mode 100644 src/third_party/libsmb2/cmake/Modules/FindLibKrb5.cmake create mode 100644 src/third_party/libsmb2/cmake/config.h.cmake create mode 100644 src/third_party/libsmb2/cmake/libdcerpc.pc.cmake create mode 100644 src/third_party/libsmb2/cmake/libsmb2.pc.cmake create mode 100644 src/third_party/libsmb2/component.mk create mode 100644 src/third_party/libsmb2/configure.ac create mode 100644 src/third_party/libsmb2/dcerpc-examples/epm-Lookup.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/lsa-Close.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/lsa-LookupNames2.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/lsa-LookupSids2.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/lsa-OpenPolicy2.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrConnectionEnum.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrFileClose.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrFileEnum.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrFileGetInfo.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrRemoteTOD.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrServerDiskEnum.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrServerGetInfo.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrServerSetInfo.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrServerStatisticsGet.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrSessionDel.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrSessionEnum.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrShareAdd.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrShareCheck.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrShareDel.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrShareDelSticky.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrShareEnum.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrShareGetInfo.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/srvsvc-NetrShareSetInfo.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/winreg-BaseRegEnumKey.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/winreg-BaseRegQueryInfoKey.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/winreg-OpenLocalMachine.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/wkssvc-NetrUseEnum.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/wkssvc-NetrWkstaGetInfo.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/wkssvc-NetrWkstaSetInfo.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/wkssvc-NetrWkstaUserEnum.yaml create mode 100644 src/third_party/libsmb2/dcerpc-examples/wkssvc-NetrWorkstationStatisticsGet.yaml create mode 100644 src/third_party/libsmb2/examples/CMakeLists.txt create mode 100644 src/third_party/libsmb2/examples/Makefile.am create mode 100644 src/third_party/libsmb2/examples/dcerpc.c create mode 100644 src/third_party/libsmb2/examples/epm-enum.c create mode 100644 src/third_party/libsmb2/examples/epm-srvsvc.c create mode 100644 src/third_party/libsmb2/examples/picow/CMakeLists.txt create mode 100644 src/third_party/libsmb2/examples/picow/README.md create mode 100644 src/third_party/libsmb2/examples/picow/main.cpp create mode 100644 src/third_party/libsmb2/examples/picow/smb-ls-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-CMD-FIND.c create mode 100644 src/third_party/libsmb2/examples/smb2-cat-async.c create mode 100644 src/third_party/libsmb2/examples/smb2-cat-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-ftruncate-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-link-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-ls-async.c create mode 100644 src/third_party/libsmb2/examples/smb2-ls-epoll.c create mode 100644 src/third_party/libsmb2/examples/smb2-lsa-lookupsids.c create mode 100644 src/third_party/libsmb2/examples/smb2-lseek-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-notify.c create mode 100644 src/third_party/libsmb2/examples/smb2-put-async.c create mode 100644 src/third_party/libsmb2/examples/smb2-put-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-raw-fsstat-async.c create mode 100644 src/third_party/libsmb2/examples/smb2-raw-getsd-async.c create mode 100644 src/third_party/libsmb2/examples/smb2-raw-stat-async.c create mode 100644 src/third_party/libsmb2/examples/smb2-readlink.c create mode 100644 src/third_party/libsmb2/examples/smb2-rename-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-server-side-copy-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-server-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-set-security-info.c create mode 100644 src/third_party/libsmb2/examples/smb2-share-enum-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-share-enum.c create mode 100644 src/third_party/libsmb2/examples/smb2-share-info.c create mode 100644 src/third_party/libsmb2/examples/smb2-stat-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-statvfs-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-truncate-sync.c create mode 100644 src/third_party/libsmb2/examples/smb2-winreg-enum.c create mode 100644 src/third_party/libsmb2/examples/winreg-tui.c create mode 100644 src/third_party/libsmb2/idf_component.yml create mode 100644 src/third_party/libsmb2/include/Makefile.am create mode 100644 src/third_party/libsmb2/include/amiga_os/config.h create mode 100644 src/third_party/libsmb2/include/apple/config.h create mode 100644 src/third_party/libsmb2/include/asprintf.h create mode 100644 src/third_party/libsmb2/include/dcerpc/dcerpc-dtyp.h create mode 100644 src/third_party/libsmb2/include/dcerpc/dcerpc-epm.h create mode 100644 src/third_party/libsmb2/include/dcerpc/dcerpc-lsa.h create mode 100644 src/third_party/libsmb2/include/dcerpc/dcerpc-srvsvc.h create mode 100644 src/third_party/libsmb2/include/dcerpc/dcerpc-winreg.h create mode 100644 src/third_party/libsmb2/include/dcerpc/dcerpc-wkssvc.h create mode 100644 src/third_party/libsmb2/include/dcerpc/dcerpc.h create mode 100644 src/third_party/libsmb2/include/esp/config.h create mode 100644 src/third_party/libsmb2/include/libsmb2-private.h create mode 100644 src/third_party/libsmb2/include/module.modulemap create mode 100644 src/third_party/libsmb2/include/picow/FreeRTOSConfig.h create mode 100644 src/third_party/libsmb2/include/picow/README.md create mode 100644 src/third_party/libsmb2/include/picow/config.h create mode 100644 src/third_party/libsmb2/include/picow/lwipopts.h create mode 100644 src/third_party/libsmb2/include/picow/lwipopts_examples_common.h create mode 100644 src/third_party/libsmb2/include/portable-endian.h create mode 100644 src/third_party/libsmb2/include/ps3/config.h create mode 100644 src/third_party/libsmb2/include/slist.h create mode 100644 src/third_party/libsmb2/include/smb2/libsmb2-raw.h create mode 100644 src/third_party/libsmb2/include/smb2/libsmb2-share-enum.h create mode 100644 src/third_party/libsmb2/include/smb2/libsmb2.h create mode 100644 src/third_party/libsmb2/include/smb2/smb2-errors.h create mode 100644 src/third_party/libsmb2/include/smb2/smb2-ioctl.h create mode 100644 src/third_party/libsmb2/include/smb2/smb2.h create mode 100644 src/third_party/libsmb2/include/xbox 360/config.h create mode 100644 src/third_party/libsmb2/include/xbox/config.h create mode 100644 src/third_party/libsmb2/lib/CMakeLists.txt create mode 100644 src/third_party/libsmb2/lib/Makefile.AMIGA create mode 100644 src/third_party/libsmb2/lib/Makefile.AMIGA_AROS create mode 100644 src/third_party/libsmb2/lib/Makefile.AMIGA_OS3 create mode 100644 src/third_party/libsmb2/lib/Makefile.PS3_PPU create mode 100644 src/third_party/libsmb2/lib/Makefile.am create mode 100644 src/third_party/libsmb2/lib/aes.c create mode 100644 src/third_party/libsmb2/lib/aes.h create mode 100644 src/third_party/libsmb2/lib/aes128ccm.c create mode 100644 src/third_party/libsmb2/lib/aes128ccm.h create mode 100644 src/third_party/libsmb2/lib/aes_apple.c create mode 100644 src/third_party/libsmb2/lib/aes_apple.h create mode 100644 src/third_party/libsmb2/lib/aes_reference.c create mode 100644 src/third_party/libsmb2/lib/aes_reference.h create mode 100644 src/third_party/libsmb2/lib/alloc.c create mode 100644 src/third_party/libsmb2/lib/asn1-ber.c create mode 100644 src/third_party/libsmb2/lib/asn1-ber.h create mode 100644 src/third_party/libsmb2/lib/compat.c create mode 100644 src/third_party/libsmb2/lib/compat.h create mode 100644 src/third_party/libsmb2/lib/dreamcast/vfs.c create mode 100644 src/third_party/libsmb2/lib/dreamcast/vfs.h create mode 100644 src/third_party/libsmb2/lib/errors.c create mode 100644 src/third_party/libsmb2/lib/hmac-md5.c create mode 100644 src/third_party/libsmb2/lib/hmac-md5.h create mode 100644 src/third_party/libsmb2/lib/hmac.c create mode 100644 src/third_party/libsmb2/lib/init.c create mode 100644 src/third_party/libsmb2/lib/krb5-wrapper.c create mode 100644 src/third_party/libsmb2/lib/krb5-wrapper.h create mode 100644 src/third_party/libsmb2/lib/libsmb2-dcerpc-full.syms create mode 100644 src/third_party/libsmb2/lib/libsmb2-dcerpc-prefix.h create mode 100644 src/third_party/libsmb2/lib/libsmb2-dcerpc-srvsvc.c create mode 100644 src/third_party/libsmb2/lib/libsmb2-dcerpc.c create mode 100644 src/third_party/libsmb2/lib/libsmb2.c create mode 100644 src/third_party/libsmb2/lib/libsmb2.syms create mode 100644 src/third_party/libsmb2/lib/md4.h create mode 100644 src/third_party/libsmb2/lib/md4c.c create mode 100644 src/third_party/libsmb2/lib/md5.c create mode 100644 src/third_party/libsmb2/lib/md5.h create mode 100644 src/third_party/libsmb2/lib/ntlmssp.c create mode 100644 src/third_party/libsmb2/lib/ntlmssp.h create mode 100644 src/third_party/libsmb2/lib/pdu.c create mode 100644 src/third_party/libsmb2/lib/ps2/TODO create mode 100644 src/third_party/libsmb2/lib/ps2/imports.lst create mode 100644 src/third_party/libsmb2/lib/ps2/irx_imports.h create mode 100644 src/third_party/libsmb2/lib/ps2/ps2smb2.h create mode 100644 src/third_party/libsmb2/lib/ps2/smb2_fio.c create mode 100644 src/third_party/libsmb2/lib/ps2/smb2_fio.h create mode 100644 src/third_party/libsmb2/lib/ps2/smb2man.c create mode 100644 src/third_party/libsmb2/lib/sha-private.h create mode 100644 src/third_party/libsmb2/lib/sha.h create mode 100644 src/third_party/libsmb2/lib/sha1.c create mode 100644 src/third_party/libsmb2/lib/sha224-256.c create mode 100644 src/third_party/libsmb2/lib/sha384-512.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-close.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-create.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-echo.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-error.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-flush.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-ioctl.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-lock.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-logoff.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-negotiate.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-notify-change.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-oplock-break.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-query-directory.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-query-info.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-read.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-session-setup.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-set-info.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-tree-connect.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-tree-disconnect.c create mode 100644 src/third_party/libsmb2/lib/smb2-cmd-write.c create mode 100644 src/third_party/libsmb2/lib/smb2-data-file-info.c create mode 100644 src/third_party/libsmb2/lib/smb2-data-filesystem-info.c create mode 100644 src/third_party/libsmb2/lib/smb2-data-reparse-point.c create mode 100644 src/third_party/libsmb2/lib/smb2-data-security-descriptor.c create mode 100644 src/third_party/libsmb2/lib/smb2-share-enum.c create mode 100644 src/third_party/libsmb2/lib/smb2-signing.c create mode 100644 src/third_party/libsmb2/lib/smb2-signing.h create mode 100644 src/third_party/libsmb2/lib/smb3-seal.c create mode 100644 src/third_party/libsmb2/lib/smb3-seal.h create mode 100644 src/third_party/libsmb2/lib/socket.c create mode 100644 src/third_party/libsmb2/lib/spnego-wrapper.c create mode 100644 src/third_party/libsmb2/lib/spnego-wrapper.h create mode 100644 src/third_party/libsmb2/lib/sync.c create mode 100644 src/third_party/libsmb2/lib/timestamps.c create mode 100644 src/third_party/libsmb2/lib/unicode.c create mode 100644 src/third_party/libsmb2/lib/usha.c create mode 100644 src/third_party/libsmb2/libdcerpc/CMakeLists.txt create mode 100644 src/third_party/libsmb2/libdcerpc/Makefile.am create mode 100644 src/third_party/libsmb2/libdcerpc/dcerpc-dtyp.c create mode 100644 src/third_party/libsmb2/libdcerpc/dcerpc-epm.c create mode 100644 src/third_party/libsmb2/libdcerpc/dcerpc-lsa.c create mode 100644 src/third_party/libsmb2/libdcerpc/dcerpc-srvsvc.c create mode 100644 src/third_party/libsmb2/libdcerpc/dcerpc-winreg.c create mode 100644 src/third_party/libsmb2/libdcerpc/dcerpc-wkssvc.c create mode 100644 src/third_party/libsmb2/libdcerpc/dcerpc.c create mode 100644 src/third_party/libsmb2/libdcerpc/libdcerpc.syms create mode 100644 src/third_party/libsmb2/packaging/RPM/makerpms.sh create mode 100644 src/third_party/libsmb2/tests/Makefile.am create mode 100644 src/third_party/libsmb2/tests/README create mode 100644 src/third_party/libsmb2/tests/aes128ccm-test.c create mode 100644 src/third_party/libsmb2/tests/functions.sh create mode 100644 src/third_party/libsmb2/tests/ld_sockerr.c create mode 100644 src/third_party/libsmb2/tests/metastat-0202-censored.c create mode 100644 src/third_party/libsmb2/tests/ntlmssp_generate_blob.c create mode 100644 src/third_party/libsmb2/tests/prog_cat.c create mode 100644 src/third_party/libsmb2/tests/prog_cat_cancel.c create mode 100644 src/third_party/libsmb2/tests/prog_ls.c create mode 100644 src/third_party/libsmb2/tests/prog_mkdir.c create mode 100644 src/third_party/libsmb2/tests/prog_rmdir.c create mode 100644 src/third_party/libsmb2/tests/prog_setsd.c create mode 100644 src/third_party/libsmb2/tests/prog_ssc.c create mode 100644 src/third_party/libsmb2/tests/smb2-dcerpc-coder-test.c create mode 100644 src/third_party/libsmb2/tests/test_0100_ls_basic.sh create mode 100644 src/third_party/libsmb2/tests/test_0101_ls_basic_valgrind.sh create mode 100644 src/third_party/libsmb2/tests/test_0102_ls_basic_socket_error.sh create mode 100644 src/third_party/libsmb2/tests/test_0103_ls_basic_valgrind_malloc_error.sh create mode 100644 src/third_party/libsmb2/tests/test_0200_mkdir.sh create mode 100644 src/third_party/libsmb2/tests/test_0201_mkdir_valgrind.sh create mode 100644 src/third_party/libsmb2/tests/test_0210_cp_basic.sh create mode 100644 src/third_party/libsmb2/tests/test_0211_cp_valgrind.sh create mode 100644 src/third_party/libsmb2/tests/test_0212_cp_valgrind_socket_error.sh create mode 100644 src/third_party/libsmb2/tests/test_0300_cat_basic.sh create mode 100644 src/third_party/libsmb2/tests/test_0301_cat_valgrind.sh create mode 100644 src/third_party/libsmb2/tests/test_0302_cat_valgrind_socket_error.sh create mode 100644 src/third_party/libsmb2/tests/test_0310_cancel_pdu.sh create mode 100644 src/third_party/libsmb2/tests/test_0400_overdrawn_0202.sh create mode 100644 src/third_party/libsmb2/tests/test_0500_setsd_basic.sh create mode 100644 src/third_party/libsmb2/tests/test_0600_ssc_basic.sh create mode 100644 src/third_party/libsmb2/tests/test_900_dcerpc.sh create mode 100644 src/third_party/libsmb2/utils/Makefile.am create mode 100644 src/third_party/libsmb2/utils/smb2-cp.c create mode 100644 src/third_party/libsmb2/utils/smb2-ls.c create mode 100644 test/ESP32-S3_DevKitC-1_pinlayout_v1.1.jpg create mode 100644 test/embedded_ft232h - spi_connection.png create mode 100644 test/esp.py create mode 100644 test/readme.txt create mode 100644 test/rpi/esp_spi.py create mode 100644 test/rpi/readme.txt create mode 100644 test/rpi/test.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f675394 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# ESP-IDF build output (regenerate with `idf.py build`) +build/ +.test-build/ +managed_components/ +sdkconfig.old + +# Editor/IDE cruft +.vscode/ +.idea/ +*.user + +# OS cruft +Thumbs.db +.DS_Store diff --git a/doc/cli.patch b/doc/cli.patch new file mode 100644 index 0000000..fcd3589 --- /dev/null +++ b/doc/cli.patch @@ -0,0 +1,31 @@ +diff --git a/components/console/linenoise/linenoise.c b/components/console/linenoise/linenoise.c +index 64fcf23a12..637e5cf8c0 100644 +--- a/components/console/linenoise/linenoise.c ++++ b/components/console/linenoise/linenoise.c +@@ -930,14 +930,18 @@ static int linenoiseEdit(char *buf, size_t buflen, const char *prompt) + return l.len; + } + +- if ( (getMillis() - t1) < LINENOISE_PASTE_KEY_DELAY && c != ENTER) { +- /* Pasting data, insert characters without formatting. +- * This can only be performed when the cursor is at the end of the +- * line. */ +- if (linenoiseInsertPastedChar(&l,c)) { +- return -1; +- } +- continue; ++ unsigned char uc = (unsigned char)c; ++ ++ if ((getMillis() - t1) < LINENOISE_PASTE_KEY_DELAY && ++ uc >= 0x20 && ++ uc != BACKSPACE && ++ c != ENTER) { ++ /* Fast path only for printable pasted bytes. ++ * Control keys must go through normal key handling. */ ++ if (linenoiseInsertPastedChar(&l, c)) { ++ return -1; ++ } ++ continue; + } + + /* Only autocomplete when the callback is set. It returns < 0 when diff --git a/doc/esp32-spi-wifi.md b/doc/esp32-spi-wifi.md new file mode 100644 index 0000000..5ce9e8f --- /dev/null +++ b/doc/esp32-spi-wifi.md @@ -0,0 +1,557 @@ +# ESP32 SPI WiFi + +## Description + +The module is based on ESP32-S2 and provides high-speed WiFi access via SPI bus. + +The key-features are: + +- 4-wire 1-bit SPI interface, Slave Mode. +- Up to 14Mbit/s data transfer speed. +- DMA capable transfers. + +## Programming + +### Communication protocol + +The SPI Slave communication protocol provides a few types of transactions: ***READ_REGS***, ***WRITE_REGS***, ***READ_DATA***, ***WRITE_DATA***. + + + +#### READ_REGS + +This type of transaction allows reading a number of bytes from the register memory. It can be used to read a register value or a status. + +##### Scenario + +| Step | Action | +| ---- | ---------------------------------------- | +| 1 | Assert SPI_CS. | +| 2 | Write SPI_DATA with **0x02**. | +| 3 | Write SPI_DATA with register number. | +| 4 | Write SPI_DATA with **two** dummy bytes. | +| 5 | Read one or more bytes from SPI_DATA. | +| 6 | De-assert SPI_CS. | + + + +##### Read 1-byte register in C + +```c +__sfr __at 0x57 SPI_DATA; +__sfr __at 0x77 SPI_CTRL; +#define SPI_ESP_CS_ON 0x0B +#define SPI_ESP_CS_OFF 0x03 + +u8 esp_rd_reg(u8 reg_num) +{ + SPI_CTRL = SPI_ESP_CS_ON; + SPI_DATA = 0x02; + SPI_DATA = reg_num; + SPI_DATA; // dummy + SPI_DATA; + u8 rc = SPI_DATA; + SPI_CTRL = SPI_ESP_CS_OFF; + + return rc; +} +``` + + + +#### WRITE_REGS + +This type of transaction allows writing a number of bytes in the register memory. Not used except for command issuing. +Each WRITE_REGS transaction triggers the command execution. Thus, all arguments **must** be transmitted in the same transaction along with the command. + +##### Scenario + +| Step | Action | +| ---- | --------------------------------------- | +| 1 | Assert SPI_CS. | +| 2 | Write SPI_DATA with **0x01**. | +| 3 | Write SPI_DATA with register number. | +| 4 | Write SPI_DATA with **one** dummy byte. | +| 5 | Write SPI_DATA with one or more bytes. | +| 6 | De-assert SPI_CS. | + + + +##### Write 1-byte register in C + +The following code snippet is just an example not to use. Please refer to 'Write command' snippet for more practical case. + +```c +__sfr __at 0x57 SPI_DATA; +__sfr __at 0x77 SPI_CTRL; +#define SPI_ESP_CS_ON 0x0B +#define SPI_ESP_CS_OFF 0x03 + +void esp_rd_reg(u8 reg_num, u8 reg_value) +{ + SPI_CTRL = SPI_ESP_CS_ON; + SPI_DATA = 0x01; + SPI_DATA = reg_num; + SPI_DATA; // dummy + SPI_DATA = reg_value; + SPI_CTRL = SPI_ESP_CS_OFF; +} +``` + + + +#### WRITE COMMAND + +This is a most used WRITE_REGS case, which triggers a command execution. + +##### Write command in C + +The following code snippet is just an example not to use. Please refer to 'Write command' snippet for more practical case. + +```c +__sfr __at 0x57 SPI_DATA; +__sfr __at 0x77 SPI_CTRL; +#define SPI_ESP_CS_ON 0x0B +#define SPI_ESP_CS_OFF 0x03 + +void esp_cmd(u8 cmd) +{ + SPI_CTRL = SPI_ESP_CS_ON; + SPI_DATA = 0x01; + SPI_DATA = 0x00; // ESP_REG_COMMAND + SPI_DATA; // dummy + SPI_DATA = cmd; // Command + SPI_DATA = 0x00; // Reset status + SPI_CTRL = SPI_ESP_CS_OFF; +} +``` + + + +#### READ_DATA + +The transaction must only be launched when STATUS register contains DATA_S2M status. + +The number of bytes to transfer must be read from xx_SIZE register before the transaction. + + + +##### Scenario + +| Step | Action | +| ---- | ------------------------------------------ | +| 1 | Assert SPI_CS. | +| 2 | Write SPI_DATA with **0x04**. | +| 4 | Write SPI_DATA with **three** dummy bytes. | +| 5 | Read one or more bytes from SPI_DATA. | +| 6 | De-assert SPI_CS. | +| 7 | Execute `esp_cmd(DATA_END);` | + + + +##### Read a data array in C + +```c +__sfr __at 0x57 SPI_DATA; +__sfr __at 0x77 SPI_CTRL; +#define SPI_ESP_CS_ON 0x0B +#define SPI_ESP_CS_OFF 0x03 + +void esp_recv(u8 *addr, u16 num) +{ + SPI_CTRL = SPI_ESP_CS_ON; + SPI_DATA = 0x04; + SPI_DATA; // dummy read means write with 0xFF + SPI_DATA; + SPI_DATA; + while (num--) *addr++ = SPI_DATA; + SPI_CTRL = SPI_ESP_CS_OFF; + esp_cmd(ESP_CMD_DATA_END); +} +``` + + + +#### WRITE_DATA + +The transaction must only be launched when STATUS register contains DATA_M2S status. + +The number of bytes to transfer must be read or written from/to xx_SIZE register before the transaction. + +**ATTENTION!** +When writing data, all transactions **must** be truncated to 4 bytes. If we need to write 1 byte only, we must write 4 bytes and so on. + +*To do: add code example.* + + + +### Registers + +All registers are read/writeable from both SPI Master via SPI and Slave firmware. At a low level, they're a shared memory cells inside ESP32 Slave. The total number of registers is 64. + +Common registers are COMMAND and STATUS. Registers with addresses 2-63 are used by the ESP32 firmware for different functions depending on a command. + + + +#### Register summary + +| Name | Register address, HEX | Size | Description | +| ---------- | ------------ | ----- | ------------------------------------------------------------ | +| COMMAND | 00 | 1 | Command. Set by Master. | +| STATUS | 01 | 1 | Status of device. Set by Slave while the command is being executed or after its execution. Must be zeroed by Master in the same transaction as the command issued, to ensure the correct synchronization. | +| PARAM/RESP | 02 | 0..61 | If written, **must** be sent in the same transaction as the command issued.
See parameter/response list for individual commands. | + + + +#### STATUS register + +| Name | Code, HEX | Description | +| -------- | --------- | ------------------------------------------------------------ | +| IDLE | 00 | No status. Must be set by Master along every command issued. | +| BUSY | 01 | Device is busy executing a command. | +| READY | 02 | Device has completed command execution and is ready for a new command. | +| ERROR | 03 | Error happened. Use GET_ERROR command to get the error code. | +| DATA_M2S | 04 | Device is ready to receive data from host. | +| DATA_S2M | 05 | Device is ready to send data to host. | + + + +#### ERROR register + +If a command has been completed with an error, the register 02 automatically indicates error code. + +| Name | Register address, HEX | Size | Description | +| ----- | ------------ | ---- | ----------- | +| ERROR | 02 | 1 | Error. | + + + +The following table contains error codes. + +| Name | Code, HEX | Description | +| --------------- | --------- | -------------------------------------------- | +| NONE | 00 | No error. | +| WRONG_PARAMETER | 01 | Wrong parameter. | +| INVALID_COMMAND | 02 | Invalid command. | +| WRONG_STATE | 03 | Command cannot be executed in current state. | +| AP_NOT_CONN | 10 | Cannot connect AP. | +| RESET | FE | Is set when reset happened. | + + + +### Commands + +#### Command summary + +| Name | Code, HEX | Description | +| ---------------- | --------- | ------------------------------------------------------------ | +| NOP | 00 | No operation. Issuing this command has no effect. | +| GET_ERROR | | Get extended error info. | +| GET_INFO | 02 | Get device info string. | +| GET_CHIP_INFO | 03 | Get chip info. | +| GET_CAPS | | Get device capabilities. | +| GET_HEAP | | Get heap size. | +| GET_NET_CAPS | | Get network capabilities. | +| GET_NETSTATE | 11 | Get network connection state. | +| WSCAN | 12 | Scan Wi-Fi APs. | +| SET_AP_NAME | 13 | Set Wi-Fi AP name. | +| SET_AP_PWD | 14 | Set Wi-Fi AP password. | +| GET_AP_NAME | 15 | Get Wi-Fi AP name. | +| AP_CONNECT | 16 | Connect to selected AP. | +| AP_DISCONNECT | 17 | Disconnect from AP. | +| SET_AUTOCONNECT | 18 | Set AP auto-connect. | +| GET_IP | 19 | Get own Wi-Fi IP, net mask, net gateway. | +| RESOLVE_DNS | | Resolve DNS name. | +| OPEN_UDP | | | +| CLOSE_UDP | | | +| STATUS_UDP | | | +| SEND_DATAGR | | | +| RECV_DATAGR | | | +| OPEN_TCP | | | +| CLOSE_TCP | | | +| STATUS_TCP | | | +| SEND_TCP | | | +| RECV_TCP | | | +| | | | +| SET_WSCAN_PARAMS | | Set parameters for Wi-Fi AP scan. | +| | | | +| EXT_STATUS_TCP | | ? | +| CONF_AUTO_IP | | ? | +| CONF_IP | | ? | +| | | | +| DATA_END | D0 | End DATA transaction. (A workaround for S3 CMD8 bug). | +| BREAK | E0 | Break an operation. | +| RESET | EE | Reset device. To be issued in the case of an unpredicted behavior. The reset takes milliseconds to complete. The STATUS register after the reset must contain READY value. The EXT_STAT register must contain RESET value. | +| GET_RND | F0 | Generate random numbers array. | +| TEST2 | F1 | Generate tunnel DL for FT812. | +| TEST3 | F2 | Generate 3D model DL for FT812. | + + + +#### Miscellaneous commands + + + +##### GET_INFO + +Get device information string. The string is **not** 0-terminated. + +**In:** none. + +**Out:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| INFO_SIZE | 02 | 1 | Info string size. | + +[DATA] - Info string. + + + +##### GET_CHIP_INFO + +Get ESP module hardware parameters. + +**In:** none. + +**Out:** See table below. + +| Name | Register address, HEX | Size, bytes | Description | +| --------- | ------------ | ---- | -------------------------------- | +| CPU_TYPE | 02 | 1 | ESP chip type, hex:
02 - ESP32-S3 | +| CPU_CORES | 03 | 1 | Number of CPU cores. | +| CPU_FREQ | 04 | 2 | CPU frequency, MHz. | +| CPU_SI_REV | 06 | 1 | Silicon revision. | +| WIFI | 07 | 1 | | +| BLE | 08 | 1 | | +| FLASH_SIZE | 09 | 1 | Flash size, MB. | +| FLASH_TYPE | 0A | 1 | | +| FLASH_FREQ | 0B | 1 | | +| PSRAM_SIZE | 0C | 1 | PSRAM size, MB. | +| PSRAM_TYPE | 0D | 1 | | +| PSRAM_FREQ | 0E | 1 | | + + + +##### GET_CAPS + +Read device capabilities. + +**In:** none. + +**Out:** + +| Name | Bit | Mask, Hex | Description | +| ---- | ---- | --------- | ----------- | +| | | | | + + + +##### BREAK + +Break execution of current command. If no command is being executed, this has no effect. + +**In:** none. + +**Out:** none. + + + +#### Wi-Fi commands + +Most Wi-Fi commands require time to complete. While in progress, the STATUS register indicates BUSY state. It changes to READY upon command completion if successful, or to ERROR, if not. + + + +##### GET_NETSTATE + +Get network state. + +**In:** none. + +**Out:** Network state. See the table below. + +| Name | Register address, HEX | Size | Description | +| -------- | ------------ | ---- | -------------- | +| NETSTATE | 02 | 1 | Network state. | + + + +**NETSTATE** + +| Name | Code, HEX | Description | +| --------------- | --------- | ---------------------------------- | +| NETWORK_CLOSED | 00 | No network connection established. | +| NETWORK_OPENING | 01 | Network connection in progress. | +| NETWORK_OPEN | 02 | Network connection established. | +| NETWORK_CLOSING | 03 | Network disconnection in progress. | +| NETWORK_UNKNOWN | FF | Network state undefined. | + + + +##### WSCAN + +Scan for Wi-Fi APs. Scanned APs are sorted by RSSI, highest first. +Requires STATUS register polling to check completion. + +**In:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| AP_MAX | 02 | 1 | Max number of AP to scan. | + +**Out:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| AP_TABLE_SIZE | 02 | 2 | AP table size. | + +[DATA] - scanned AP table. See the format below. + +| Name | Size, bytes | Description | +| ------------------------------ | ------------- | ---------------------- | +| NUM_APS | 1 | Number of APs scanned. | +| AP_AUTH | 1 | AP authorization type. | +| AP_RSSI | 1 | AP RSSI, dB. | +| AP_CHAN | 1 | AP primary channel | +| AP_SSID_LEN | 1 | AP SSID length. | +| AP_SSID | | AP SSID. | +| ... repeat AP_xx for | | | + + + +**APn_AUTH** + +| Name | Value, HEX | Description | +| ------------------ | ---------- | ----------- | +| AP_AUTH_OPEN | 00 | Open | +| AUTH_WEP | 01 | | +| AUTH_WPA_PSK | 02 | | +| AUTH_WPA2_PSK | 03 | | +| AUTH_WPA_WPA2_PSK | 04 | | +| AUTH_EAP | 05 | | +| AUTH_WPA3_PSK | 06 | | +| AUTH_WPA2_WPA3_PSK | 07 | | +| AUTH_WAPI_PSK | 08 | | +| AUTH_OWE | 09 | | +| AUTH_WPA3_ENT_192 | 0A | | +| AUTH_MAX | 0B | | + + + +##### SET_AP_NAME + +Set AP name. 32 bytes max. + +**In:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| AP_NAME_LEN | 02 | 1 | AP name length. | +| AP_NAME | 03 | | AP name. | + +**Out:** none. + + + +##### SET_AP_PWD + +Set AP password. 61 bytes max. + +**In:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| AP_PWD_LEN | 02 | 1 | AP password length. | +| AP_PWD | 03 | | AP password. | + +**Out:** none. + + + +##### GET_AP_NAME + +Set AP name. 32 bytes max. + +**In:** none. + +**Out:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| AP_NAME_LEN | 02 | 1 | AP name length. | +| AP_NAME | 03 | | AP name. | + + + +##### **AP_**CONNECT + +Connect to the selected AP. +Requires STATUS register polling to check completion. + +**In:** none. + +**Out:** none. + + + +##### AP_DISCONNECT + +Disconnect AP. +Requires STATUS register polling to check completion. + +**In:** none. + +**Out:** none. + + + +##### SET_AUTOCONNECT + +Enable or disable auto-connect. +SET_AP_NAME and SET_AP_PWD must be set before this command. + +**In:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| AUTOCONNECT | 02 | 1 | Mode:
0 - disabled.
1 - enabled. | + +**Out:** none. + + + +##### GET_IP + +Get network IP addresses. + +**In:** none. + +**Out:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| IP | 02 | 4 | Last DNS resolved IP address. | +| OWN_IP | 06 | 4 | Own IP address. | +| MASK | 0A | 4 | Net mask. | +| GATE | 0E | 4 | Net gateway. | + + + +##### RESOLVE_DNS + +Resolve IP address from domain name, which length must not be longer than 255 symbols. +Requires STATUS register polling to check completion. + +**In:** + +| Name | Register address, HEX | Size | Description | +| --------- | ------------ | ---- | -------------------------------- | +| DNAME_LEN | 02 | 1 | Domain name length. | +| DNAME | 03..3F | 1..61 | Domain name. | + +If DNAME_LEN<= 61, then it is sent using registers 03-3F. If it is longer than 61 symbols, send the symbols starting from 62 using DATA transaction (currently not supported). + +**Out:** + +Same as GET_IP. diff --git a/firmware/README.md b/firmware/README.md new file mode 100644 index 0000000..3e59ede --- /dev/null +++ b/firmware/README.md @@ -0,0 +1,111 @@ +# ESP32 firmware (ZX Evolution / TS-Conf ZiFi32 module) + +Compiled firmware for the ESP32-S3-based WiFi/SPI module used by the ZX +Evolution / TS-Conf ("Pentevo") platform. + +**Base source**: this firmware is based on +[tslabs/zx-evo](https://github.com/tslabs/zx-evo/tree/master/pentevo/esp32) — +full source for this fork lives in `pentevo/esp32/src` alongside this folder; +this `firmware/` directory only holds ready-to-flash binaries. + +## Requirements + +The ZX Evolution/TS-Conf board's own core firmware must be built with +**VDAC2** and **ESP32 (ZiFi32)** peripheral support enabled - without both, +the core won't recognize the ESP32 module on the SPI bus at all (no matter +how correct this ESP32-side firmware is), and won't drive the FT8xx video +chip either. Check this before assuming a connection problem is on the +ESP32 side. + +The **RESET jumper on the IDE connector must be installed** as well - see +`../hardware/connection_diagram.webp`. + +## What's changed vs. the upstream source + +Most of the work in this fork is a **VFS bridge that exposes the ZX +Evolution's real SD card as a network share over SMB2/3**, so any Windows/ +macOS/Linux SMB client can browse, download, upload to, and delete files on +the real Wild Commander filesystem without pulling the card. This is still +**actively being worked on** — see "Status" below. + +Changes so far, roughly in the order they were made: + +- **Real filesystem wired up.** `vfs_bridge.cpp`'s SMB2 handlers + (CREATE/READ/WRITE/CLOSE/QUERY_DIRECTORY/QUERY_INFO/etc.) now talk to the + real filesystem via a small request/response bridge (`vfs_request.cpp`) + over the existing SPI link to the Z80 side, instead of the original + hardcoded demo filesystem. +- **Upload (WRITE) and delete support** for files and empty directories, + including proper `FILE_DELETE_ON_CLOSE` handling and a + `SMB2_STATUS_DIRECTORY_NOT_EMPTY` reply when a non-empty directory delete + is rejected. +- **Directory listing fixes**: `SMB2_RETURN_SINGLE_ENTRY` pagination support + (needed by `cmd.exe`'s own SMB2 client, not just Explorer), the missing + non-"ID" directory info classes, synthesized `.`/`..` entries, and a + `NextEntryOffset` encoding bug in the vendored `libsmb2` that silently + corrupted any listing past the second entry. +- **`srvsvc` share-enumeration fix**: the RPC pipe used to always report the + Phase-1 placeholder share name `"test"` regardless of what a client had + actually connected to — fixed to report the real share name. +- **Added `SMB2_FILE_FS_VOLUME_INFORMATION`** support (a bare `dir`/`net use` + needs it; Explorer doesn't ask for it, which is why this was missed at + first). +- **Stability fixes**: a NULL-pointer crash in the named-pipe RPC transceive + path, and a 0-length SPI DMA transaction that could wedge the whole SPI + channel to the Z80 side. +- **`libsmb2` (vendored, `src/third_party/libsmb2`) patches**: + - `SMB2_FSCTL_DFS_GET_REFERRALS` now answers `STATUS_OBJECT_PATH_NOT_FOUND` + instead of `STATUS_NOT_IMPLEMENTED` — the wrong status code was sending + Windows Explorer into a retry storm before it would even attempt to + connect to the share. + - `SET_INFO` parsing is now permissive for info classes this server + doesn't specifically implement (passes the raw buffer through instead of + failing to parse) — a hard parse failure here used to tear down the + *entire* TCP connection instead of just failing that one request, which + showed up as Explorer aborting mid file-copy with a generic error. + - A `close_cmd` return value of `-2` now maps to + `SMB2_STATUS_DIRECTORY_NOT_EMPTY` in the CLOSE reply instead of a generic + `STATUS_NOT_IMPLEMENTED`. +- **Auth simplified** to plain guest/anonymous sessions (`authorize_handler` + always succeeds) — an earlier attempt at forcing NTLMv2 + SMB2 signing + turned out to be unrelated to a since-fixed listing bug, so it was backed + out rather than kept as unnecessary complexity. +- Removed high-frequency per-request debug logging that was originally added + to chase the above bugs, replaced with a single per-connection summary + line. + +## Status + +The SMB2/3 server (read, browse, upload, delete) works against real Windows/ +Samba clients. **This is still in-progress work** — directory/file creation +(`MKDIR`) isn't implemented yet, overwriting an existing file with shorter +content doesn't truncate the old tail, and there's no live-update +(`change_notify`) support, so Explorer can show a stale listing for a moment +after a change until it's refreshed. See the source tree's own code comments +for the current state of any specific handler. + +## Flashing + +Target chip: **ESP32-S3**. Using `esptool.py` directly: + +```bash +esptool.py --chip esp32s3 -p COM5 -b 460800 write_flash \ + --flash-mode dio --flash-freq 80m --flash-size detect \ + 0x0 bootloader.bin \ + 0x8000 partition-table.bin \ + 0x10000 esp-spi.bin +``` + +(replace `COM5` with the actual port; `flasher_args.json` in this folder has +the same offsets in `idf.py`'s own JSON format, for reference or scripting.) + +If you're building from source instead: ESP-IDF **v6.1** (not `v6.1-rc1`) — +`idf.py build flash`. + +## Hardware + +See `../hardware/` for: +- `connection_diagram.webp` — how this module wires up to a ZX Evolution + board. +- `pcb_photo.jpg` — a photo of the adapter board. +- `gerber/` — Gerber files for the adapter PCB. diff --git a/firmware/bootloader.bin b/firmware/bootloader.bin new file mode 100644 index 0000000000000000000000000000000000000000..960e142a31c0195ba4575ab80c42e77785e7cff9 GIT binary patch literal 21904 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 literal 0 HcmV?d00001 diff --git a/firmware/esp-spi.bin b/firmware/esp-spi.bin new file mode 100644 index 0000000000000000000000000000000000000000..d6f43ac350b2c6916cbd6a1ae91e72662cc8befd GIT binary patch literal 1618176 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

iN;3$?-+Rs-2<#}nf(Dpm!o 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 -GIdR)MN+NGsxu^?@;LiE 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∾b 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

|Qc$Tpex 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 z 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®KcRXZY9 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 z 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ⅆ9vn%AtL`&g?t<*}gwr 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≫Fa*c6E8nsLp~%9a5`dOQ!9ELZGFW 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 z z56+(1i@IF6nn)B`IDZ}jm(QE-Z*F_8)uV+p?}@6XVq=7qqGpBj=V{zwqerMO@!I%_ zaqF-%s?V|6tz`EX&^>t;-U%k#=j1G?ZVhf50&`GApd_lXHP-T9qNq?1#YA;j^&?dl8GW(&Rt&&innS3>!O0qG%^L|3d@yP#rKHwzE;j%28% z+T;fbeUMyhEg1#Ni-icI&Bhp4u0bM!CE_H(eQwprU1ozt#$u)F^t$`@ZM^8!`kMz&4HvqiYjE9ss z=S+Qzvl^U7KSnkcRZ^#I8r$@$6B9Q@*|GrC7r`W;UJgAp0+7E+MKvR1z?b!(f)9?b z?tGW$8?&AN`-TKx{zxHwzlwZ|o#zR!G*o_zkh0iC#JwD^#7t38QB}pg8f{D{qT0bW z)X>Ehwh`|uxT9?kA>6cR$jR3IPsnv654I5QpPG)5l925x9nWj4W`d5ZyC zdf+_$6t=K5U0tw*VD76YQ3@V)?um=k2>c-U&KR$ z=D(8a2e>FAg%u0np$7xgK~rj;#F8yoxqi$GBQ(Ld=Zvwa6I@4U9!BWi+I-$ydmduPZl4MwEdi1ZS3H-bt%@Hqr8;6Jj;sWaW%6r zA((_Z`YR4lqqtJ0Fy1IfC2}+Nns_ach}^PiFk)^i4c-eD~dS^Tlt$=)rE#>9N4i zXm#OeKzLEbfkzVwnTg|n=jcbx+t=GuU;dTJEj@S0OTCPUz(nW8N@49wO`~pjrVk^P zDY8i~q==cn>0wTR>`^J?iK6@Q*?*y{WVduxP&l4c-lupVv=ksv45gzE@np+`E!Be3 z4uqcw$qHs>5|dUbf4>aWH?7T3>~?dk5>(4i)Q1P-I3v7Ds_H6BlfYQL^p+lS8e=`( z+B+H#um-RAg#c(hOmD$}G2|-E8|ze~GheUl9VRWNiZ=uwrJKWhB=Zfko@_T0>p@3= z@u;%q?9TgjTp=!nd3jfOaVAwfUriS>yB*=r2Lc46L`KH50QVz(H8t2yD6G+Mjn|6|5tyfGZ2)#9`7RedG$zlEp}bO{Uv2s>W|;=qBK z`Q(3?s)l^efciwA*nurmn15;*MoBEk3}mcS+i7Gi~qQ z8&NFj7#>^LiA^E~)&?QO9EMl#4Rz=WQUx)+R#PBQ&-LS@@>1on!CTEXgRZ9!kEayg zV^xpYXtm!YP}m>?i)aNh$xSe{?8?J9NKD8jNZhXqcE{O;W-3vfCE$xK8~#@|k{D}I zhjh~b&8D4e?lr4hWiNMWB9AGhGbr+WrIn(;+-8R^tC#d@tt3zB6~P>fX!vROyIG>C zzr_^oY7DV@Y}g>UCnk#ki#t^0gzk189jJF6jH37UC1PJXEo88bL%Ep`yG$jCj~bOL zRWfEKrm||_4wv-n>6fKRBk;tmx}wVFBosQg37aEz{K1+EG0~lWR9}M?!Zb5!9Y^q8 zW*_BP5-4L6tj|a(`NB4CJ`iW^SupCDxU%>Leay4uhjT3VoKGK5EYFXT$q_-HSJVP{ z61gkUmd(Ka3LeU5bTXlpC;ll2WRK9pt}Y44*ldZ>u57D|XnUo&8f9Y-B~qFAC)!u% z_1-*REJl1Y^dYVY6A4z?UQS!Kz4nz%4hKayuUa#OQ?Wm;oo;|KA~k8^5^!|Zv`nnf z6(FHPfu0nxJE!aOV|VyrNY@I5KuoXzULn64gYrU+Jb3cmX2zD&*~pNozMrNh`=R$h zpxU~rhdnlBgENeAwCK^lz(^OIYn9>6TXjVO+67t|H}Uy+}aq6f>^N)u(E)s<8U0eN)$ z-aOVzRD2H*=Mft$Uw(p${6@?Y>|P$>?u?m12&62R7)gvufl{rwbf-iazW~%cp2q&> zkQn)y8AL_QqS&26_oJxGz&uyTENTrolq3`Bv5(UP0ps<*2vM+n%IAY+kO^~^l0C*v zx^?sjAFbStA|ATZ*_!CeFd&r{$MZ*6|E@iyl#qKnPH9lbM$UJ&IZc;dP~ZE9^vGy& z)_2B+PJy_ihs-?r>uPA^_A7Ytx-OzJoJTsxV1@wsz{zMq^L(rAOL^|jmAX|MD7@%a zljspRJh#V5<7Ca)nc3TW>rX~>8vp>UlAK?sQE@d)diR)+`m8-?i@wTwHamzn@-3JqW^TU8@(l zGuTa|^%oIJN z@VXF1B5mkNn0RLk#s=jPw)&aycWDPHOgSJ%dQ<;CI5R_}=-F{AxVbp)Is9|)TaMD3 z{(ONXz#l0kY=&z*!igk-XK_qZ$yLqRP-jo(?kWFi^67b_VNJvNH>`c=7<#&3Q7x9o z7K8qHL4ZPk_@5dvbX}FLO`8{t+pnHy;ZfiQ{lak?lRkvWNwEErBZZGPu5)uGQSQ_X zD)>?u3WA6Vyr*x~0K(l$m7b4ST+E1MNQ-hy9$}NzGglJ?E2&!>v99@&3?-wCb*;Yt z2Pcc-;Z9AQuMmr5oLyQF^gR~UJDV^p&Z*PdOBX^HHe5|S`+1JjO1k$Vrx^IcYRcFB zq;s`$0`FXG+PVOh4Va)IISp_dTmtgp)BJs+$gPDgri2=~IONWvVWxakdk0sS+fH@a zNshGl$Wqn@DN>0?RCW5ZsZyG5IJG4u$$UdS_}W5!WEw(5wYl|pC8RjJlUC8A*iW15 z@3Kl9pUjoKUc0(?GZt`L!s!@1`NNR|0&qwd)ykVr-$-1?a5b-HLkT8U<77r#DUOtc zurddCwxI-^D`y`ZvTRiSLgy{^+@e%>(?v3E@{{^*;}#6k9cXC^&h1&Qa4;k&bosLZ z-C(qQSJ`H8)WXjLWHhHy+|?sBE@-;0Aw1zK2lZE(XWFbxXev4st$Sfbv2Z%a!cqH;5wP3OFKmnq8TY< zbA$$5*j;o7=yHPe(bsli(OVGq}k_ds}UIy{G|fqLXWCF2mR9dK`U! zq%~o0Rby_X#Q{ZT&F?N(y39wNg7c+^=^h-$H|%bt3YVK;@dbEG=E!<9U)E;XmqC%e zrwYmxKw&GbSL6IO5ZmZ3^ai8CE_!va?!h~W=n~iaHQN@i#!x7MnZIOVy9Go?p&iw6 zi{N(KiM|A!L@JhNk5FNtC`vVH5i%;;TuR~P1EwET7B8DNM80jFd}H0E#;3xR?dptK zr9vXF+*DHYT9rC;w{>cjp6Jj<0PEdY-`N+l%XQtJaSM~0x_;@&@>Q1&#o!DRb2o_R zd8)g{e+6N7`wqS4BFQD5Wt|TkO^a0_+ZVp@)KIK)VQixyu72gHsOy?NJoqDvaqr<2 zx)%BP(uxswGzs91YRF#Y8<0p9fy1R|Ou(AvOb%Xa12mCkZxs<$`WaO!056B-YN|kT z4q8^(ut?rWHI%@)uF7|^!ip}%gOJLG5R6@8kz$FI=u4rb{?${(I4WBbapvI|x!p_GXuL~TH~ zxx;e<#6R<-EBwxC0;&q1HY3swus^5YrvD;DJ6DsGBkr>MjB!AGs)jRbKfMBs0c}>N zn!*5bT-aFSd95#=vdnPRpK!j8`-jypVb>u`3XcB|1bNE9gkRSo|GGuVtc0vSG zc|DZKO;%ZU%nt9!()k>U5Gt__e*L@wC%hg+1=xaMxcg+=hKB{kOWlhfKr;u5P4rNB z4Z3E(fU3g!6dlp&T2PQ$7A*>Cl)$Ry#_jtdzDf~9QCFeRYkC3K(6ZZJ)uu!A`bM_8 z6#OEGZU!50Z8Ziar2m|!9t7BGo@8qv{%N48u8bJBRWp)!&SM~3+P8Jf3;rd*ezE&{L1w6%8+mAqmqLv{G5Kw zP1(BC{-OvLqklwnE4~O>v+_&1+G)@uObZ78Gn6+V%g zq!s3`56!+gQ>zb}kbF%ewWs_9A{rm0OWJJz9(K+EUS3jUlxiaD)<4l7i`hB!V3XLJ zgy#2>bRjb?uZbz0L1 zO*yP#e*}WrbpyQIW&#J<<8`A?l>kxbXTC&8I95Ma+y8thnkB`8|e)KT+i}95ye;qav@dUQI`RMm`^%hkd zh};lYPi*;};?5N(1%l~0?2v+4I*^i?{DuiIW=emLqhG+);k1}0t<gy*iMp}6A3L1jF1j)TBS_Llv03X z2)AM?s4&QNYQd>7$EzqW6BA^3T0q*@;%!P%O-0gv*R`bASI-dxe zY{KE=#VL7RmUc_}#EyqcH`*hVqD?o>ktk{E=l8PipisBO@(KUS()y#YU`v)$B3VNfPz=>EB30&p}m(W;{S3?BWaXXUip z@vfiM9}9<~t&^bl1VwUU^d?UcNO*HmBX4lU(bO@7`Z zcs;a=|ERwo{*(!(n58;R0RVFK_0JE6k1-YoDc|oA5dpo?{P=Icom7cQZSL3yW154~ zS^!iTKXWYgU}|Zs`n60;%>$oiT>GfNz~;;H>>oA1OSOs`oRUH{oSg(;iJ(b@=>`#k znaS~OEuM*pMpl$CB-zS!XMB>)LNJIVoQ(1kZuX!7ej#s z%6#Ob8YmdA;Tbna#9+tc!X(a14rFd?tC47ohccoUQUbve@a4c{^6lw+k@B8_IKeLQ76O;U(CTy+3$O~gGfAyEV@ z!zg!DNN@WoU=O9lc}f1vW;pOO7ky~xoP%*)24ls%w%UHf;3TQFFrrJSjT(L_%C&tz zobxG`Iv5hHT{Bz7W6qMaHYc?fF)FvnP}1H99(z?r{%=D(oX8Wu`-Sy3VFY&#i=(&| z%&YhWJ^&lj^JeoYe5>wCIn{L3tfdY|f(tjbK4O@+e4f*v4^ofFX@;;*msV{CXXSRL zHo~5B4g0{k7TTnAL-D(_>Q73C-Er7>IE= z`_eq&y}^BPp^qpZ)o!@)#zRZPo!@R_XDxtIk##a`HiC#Bq0dls3^k}!DZSJT&T(@v z(Qu?!yi=OoQ_WG(s{`C)THs%Ve3|&d9r>_@Wcmq|(8J=lIW_}H{3PHMK_-mG>1ka4 zP*V09Y$H4_3ngy-j$$@TDNb_U=vb91Y)`sd-#An2{dA#uLY`Lk8q2L7TgCT%ALlY% zLZA;RaeIkxmaQl=6T>jhJQ8%tZ)1&ql(fSkIG!a9L?g?H6N@g1yD2?K|Ku=Q`J;j` ze6%oIeC;xuPOL`RylGgv!#{lNMCVnivtkmRiG&J}w;8UyAZnPhvDs6c9Jp+;iVJp` z9co=J?c%dY#ZU!83HQBBJk}B=%GXlsA0vY!BpO~8hDMK-eJ`|B3ja&lC&;juiEp{l z7Bfrh-EY3T@DKO*< zKM4_$bcAfvQxH=q%_$wC=k?xJg5Vl>+a%^>cnw_-XiVkr(?HkiG0e;hv2wVjd;ohc zrhiG3llvSEw`W59?V~W*+quklBcPW5%J(sdXPC4d#n*B$eFg#edQU`Mv|BKgr#L~v zK?N{Xq_sB*g8Rx*m{q4g15fwrUG`@Zor@(Am9OBSW^di|8aI_AX=T<60=lrOc&l%< z6MgMYJpmPU*JD?jakj6qD%UP|vln-L!`C^{Jz$F1h+8@)GVq_>`hJsO%Iljw6CeU6 z#GcTWi&cTeUV(K`%x?SXe-37Kldpyf2(@G`qiMD~-o2ORtO!%br|rY`?K7zLXYKs& zOasv6SE+yoMIzQ2ZW%3eC(@e(|Lsy)I`~>z%Br3$KbxeSPoGoixbs-6H1y%aAqFCd z?Rq-0@?5Izh*KtrA*%pY10V!ZB=7Jh#{zNMHfwz6*xdpgRR6=8l-k1@Zs;$D3o;h2 zjIdhwWJTg;n!>&$={tyzr&()73=R=?&Jh=~+5{)lR3H;N?+HMpo#rY0DKIUdVmPZV zET#ZgbEYN`Bvgb=ojceNSSLd2rwy~t0c(8T1&-GY*^cP7E&R+PPlzrhy}uaw_fbcV?N`RhcL zVc_3btD1?H@i?936?_@*TO%`a=Bz%D6co`pR?qw5g5*Vhp-f=DoI?gv!aJ`?p;Sy?U*=UA1QcY05DN9*%liN*j$XUHj}qPfvVNujKpK=Q>oiW)4v06(5n9; z*hsDZb2wlds(P=T6Ic4eu&y(+J~;}?OWZaI(bz#%LD>~A1^>ENm~~f^G_Lt;CYg3j zV+5<8LGU>R5RyS#Ts_PYKyPXPgZ^BRe9%yxf4f?Ca57VCM1>Ybnh z45XZRE|z!$hzZtmq;-X29;+^%dd&>KlPRXi%=1>t!WkwrFv@h@t29b3YkBsc) zTuZ7fTRqeIfmkdAj!RE58P4U&K0ILr#NYZiJrPc3W*eMeE-j&$ z3w0Y*aZAUPI)&1Mx)gbDUL!J0kfH7OOvI6RE~ulM(N^sp`o%I7^KNxe)5vsu@(L3t zl$MApw%IDkURc_q&X`{}+_kL_No`PG>yEu>S%UdVJNu!H9eo-u;5 z`@&0lwTWYtk6PEovMr3?WkGKfq-qb5Vj`z4MNRb@$x@hP4Q1$>_2%QJkmTintHZ!W zaGJ}g6rE&d05AE(TbcM z6m_Dzf7rE1!+w|Z;d15oXAv0Vsgr&9E#X*PjW+Z}w45wdRtW(hxD|2{+pgRt2>Wy( zha*{U%p&25)`X`Upb;}@R1xO6*hcE0OXlVZy!_o8p;?X7 zMus~xoj7g4H&>z2!;&9Q*I{3ob%832fF%}TCyJ}yJ!I!U1q{!Tt>$#Ryz5=SNJHAy zxGn!p7jfcX`HL{s@}48+A$m(WFbLNq#c-3CLpDMT=qkMV4I8A!2w zHT;0fwQTP21#&8X=7m7DAtyTYW-}y8HsjD7*w*DHD?0* z+D5pe*8jpnQns~d(FJ>=!pZhWaz$cpS)q}$B3vy-hkmt*946_0deL1$EaE)Ye~P)f zPJ#5T=}q)(+O>)^wVJ%7*b-C81#AVdCc5J;L&g1#`Be|~e;cv^i+b0UNSd&4$cM0f7WY9U~=5{fZ z`|S*k+eHpMw|HyR*?kPujjcsi`?bm)HcWP3<^=t!p`69Itix4woWBbRpn*!1G6U~B zMhB7oQr7vYRqvXU$=y5k{R$bS6DLz72)nh+istzQ+O|dp>t1sFmWu^JjRnL)fdc@$ z4M`b&5!+r^S@Iy=DLS5XG*ss$DjIjooIkEuCIm(7ZxHp??)_;O1?89^k3~_-U@x%5yGj1n?#P4uFw}|h7R93gg8}>*v4ftq zyyQnDN$lG)oR_N{qLP`Y#B(T8J#;V9Gc1jmwod(p1~{KSf(19oHWAXFNjB?;y-kQl ztG*A2%7@O0PcCU;M4it6(euBPQTo8l_G_#PDCn4KezoC7OXjQ*0qkAGYd*ja$b*nO zRt`l)Ug{V{0p|Z+(X7#|G`Mt0pLce~LG~rN9?F_ufCp%yknWz)U*1weqr>h>lA@%N zxODpjan~j~G<5e>1JYJ0^;p6fg=9WqSK`__DQwrfWC zc+XJ>opa*Gna*LA%jrV}1i}r%o{Hm(RyD5rG4G zA@(O4YQ1Oa>fBc16s16WRdg6#C$epP9n+sTvnjWt(x$%RxlbG zmZiFx6?7ZUgT_esO+LHfS}8Ra6ub%^ts37Hnec-P)Ncm%aKrAJrb3wFbUQN>o=SDE zrIaF7uUiU$uKd#(nt7+@P>Hy)+h(@|Au6)Wmq5rO{-i_t28NyE?zCnz!FyiF-h*q^c&<7&@ca-c$W@CcciUe-99ZOWXxtb zd_9e(X^sX%f%^}Lc}el5o-$j8=W{(1MlUH`eKJawqQS3An=+`6gEE=77lG)^U-rs#&AhYLi-P#ZxsSKtzuA8aY3c&fi9RFFm0_BJRCKT^qL z$gsI6z$Q{l32LgSPNlkSRw^g1g1l~PUHO=tX}rt_X_3F@c{zC0g1Zx{D8DZBqn9O$ zNcI0QkVQaS=lPWT0qwycZI0*`W!Hx)bz^mXM>g93AqwAX7z1Or;yUykP8J$8 zcS}Hu_35+0CSF?1muy(&yMKHjF5yrOmA7a?rGyt1j=I>SrC&3rg&co3C>?1{f2f=X z)L4}6RRoi#&tnv~j)jvGJC{X$Fs{l4icqL)z=!cSY(H{c4WgQKXt-D^Z|I{JMYdOdXF*H_io}+#|hv*yJ?PKCJo*Aos6!X?YweE~QIR=9a&R`^auN|&0 zrbRcOw`ogfuSXf^j`e|O7Aus-H|kcuuvt8)!8|Y`E5-``AM^P?S!k`YtO!r%qH9gM z(5yoY&--RybMrst5&AYseEe(Zq-OtV-!pB4T=`6WBh%pX@8T+9TfObM^1|MwaO>yi zXkx{{YHN#f<=`Bjx^bGDNh5p{?a?zHsQ^}Yar$I*|lF^QS54GfQEqBd)W%ThR zVzRYT&eZ{Ok55A!dV!myuL%2t)*@+Sw;()6yoc~8iZcAJW9PA&Amw7dBm}U%pcA*P z-1Q&<%=ZPB*}oTHK?Dtw4<%ZTg|WhEH?fDLFG^*@jjzlR5JGgyfxMzC=_;3zT?*be zj=X*GrG@~z?Drhwzx6ndMy9S<(k?f$JGdI!K!&B_|HF1j@gzDo29Se@gdAaMAb4US zcQ)Wy+xmrPy8848-4(R^vyR4BE(j1QFOPN-i;#K5{C%E4!$6Es#6S` z6v?uqN2XP8K)@qx<2F;+KWEy|HKn)}=yQcSWiy7p;Jz>EmR-Ss6#Dv1($o3EGZ71d2!>)i1>}9Fz<+pE?*UsCVuy8mpYYD$bh z(VDMk<{IimKm$um);^3Oep1FM0d*C?U<`5&zgjzJ`$ONuazsno!@f30OAVYj@c;(A zys7g_0+xj;RXmIsbOSBI=YRyMnK%2b-{c=?a2Pk9TECKinl(rZc(6aaNT|(vpEofSt19uBg{=bL6}rnvDd227K&3`Vts7}vYZldV)*N@Hs%v?Wu4P)p=u*lE9)H7G z+Eex$MNv4|AHUAX+RjE@_uvQPLUT-E$JSIAd=4ri5Z zLI{A-QcVxH`A1oG`ER`vCW}RLQw2oX-&c)y0I>Z7dYA>eeT%gMS(aFEk`dB=I$TC% zQE{R!xfmOJ*Iu$l>3IfT7kdsWkWC}u@xhO^YT(q#nBAG8P9oZ2jgx#FHosku4Q#kaF7rH6p<4(RlMGD@u4-UjltLCKBQ6cfiaoD*^LewmTah? z`tEm$2XT5<$nXR2;=siS_;1}V3Cqd=iq^(P>h37{zBwY=(dAH7jswag?UN+s$^JM_ zbc0+`yUI3nQ2v~57ofB)muHmJbv>glU%CDR?;6{D$9zMhA*H?Ogc_#5qww}XS{eVg zYQTC9I+x$d-`h(bcwQj@o9=z4#lwhOVfKFJj^;VehB~OP20*XOLH117;*qW|7@<#g zl4Z;EmX!FdHUb9198>7o+L{yR7)ui05TQ&VQH?lDOT!%Nd^ zC~aP>)?psF>rgH3mQTmNOiNAVdwv~9#DWw-1_ZeMHzs~nV;)zTjk8OwgVnYBG+jWs z@K7_o^!$$@UtR*~(rJGO&gz;U_)!oeCFn)+`a7}hgTH^hCPvwWVRsaHlP}1*w=0;F z^Y${}PhENrTe%rz6So#hz^cc?$~l>?;r<25RCvV5610e+m#F`fU z%0D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 literal 0 HcmV?d00001 diff --git a/hardware/gerber/Drill_PTH_Through.DRL b/hardware/gerber/Drill_PTH_Through.DRL new file mode 100644 index 0000000..c0ab774 --- /dev/null +++ b/hardware/gerber/Drill_PTH_Through.DRL @@ -0,0 +1,216 @@ +;TYPE=PLATED +;Layer: PTH_Through +;EasyEDA Pro v3.2.148, 2026-08-18 14:31:00 +;Gerber Generator version 0.3 +M48 +METRIC,LZ,0000.00000 +;Hole size 1 = 0.91440 METRIC +T01C0.91440 +;Hole size 2 = 0.96520 METRIC +T02C0.96520 +;Hole size 3 = 1.00000 METRIC +T03C1.00000 +% +G05 +G90 +T01 +X27.33397Y125.72895 +X27.33397Y123.18895 +X27.33397Y120.64895 +X27.33397Y118.10895 +X27.33397Y115.56895 +X27.33397Y113.02895 +X27.33397Y110.48895 +X27.33397Y107.94895 +X27.33397Y105.40895 +X27.33397Y102.86895 +X27.33397Y100.32895 +X27.33397Y97.78895 +X27.33397Y95.24895 +X27.33397Y92.70895 +X27.33397Y90.16895 +X27.33397Y87.62895 +X27.33397Y85.08895 +X27.33397Y82.54895 +X27.33397Y80.00895 +X27.33397Y77.46895 +X27.33397Y74.92895 +X27.33397Y72.38895 +X1.93402Y72.38895 +X1.93402Y74.92895 +X1.93402Y77.46895 +X1.93402Y80.00895 +X1.93402Y82.54895 +X1.93402Y85.08895 +X1.93402Y87.62895 +X1.93402Y90.16895 +X1.93402Y92.70895 +X1.93402Y95.24895 +X1.93402Y97.78895 +X1.93402Y100.32895 +X1.93402Y102.86895 +X1.93402Y105.40895 +X1.93402Y107.94895 +X1.93402Y110.48895 +X1.93402Y113.02895 +X1.93402Y115.56895 +X1.93402Y118.10895 +X1.93402Y120.64895 +X1.93402Y123.18895 +X1.93402Y125.72895 +X-2.765Y74.929 +X-2.765Y77.469 +X-2.765Y80.009 +X-2.765Y82.549 +X-2.765Y85.089 +X-2.765Y87.629 +X-2.765Y90.169 +X-2.765Y92.709 +X-2.765Y95.249 +X-23.085Y90.169 +X-23.085Y87.629 +X-23.085Y85.089 +X-23.085Y82.549 +X-23.085Y80.009 +X-23.085Y77.469 +X6.125Y5.46 +X3.585Y5.46 +X6.125Y8.0 +X3.585Y8.0 +X6.125Y10.54 +X3.585Y10.54 +X6.125Y13.08 +X3.585Y13.08 +X6.125Y15.62 +X3.585Y15.62 +X6.125Y18.16 +X3.585Y18.16 +X6.125Y20.7 +X3.585Y20.7 +X6.125Y23.24 +X3.585Y23.24 +X6.125Y25.78 +X3.585Y25.78 +X6.125Y28.32 +X3.585Y28.32 +X6.125Y30.86 +X3.585Y30.86 +X6.125Y33.4 +X3.585Y33.4 +X6.125Y35.94 +X3.585Y35.94 +X6.125Y38.48 +X3.585Y38.48 +X6.125Y41.02 +X3.585Y41.02 +X6.125Y43.56 +X3.585Y43.56 +X6.125Y46.1 +X3.585Y46.1 +X6.125Y48.64 +X3.585Y48.64 +X6.125Y51.18 +X3.585Y51.18 +X6.125Y53.72 +X3.585Y53.72 +X38.2941Y60.08016 +X35.7541Y60.08016 +X38.2941Y62.62016 +X35.7541Y62.62016 +X38.2941Y65.16016 +X35.7541Y65.16016 +X38.2941Y67.70016 +X35.7541Y67.70016 +X38.2941Y70.24016 +X35.7541Y70.24016 +X38.2941Y72.78016 +X35.7541Y72.78016 +X38.2941Y75.32016 +X35.7541Y75.32016 +X38.2941Y77.86016 +X35.7541Y77.86016 +X38.2941Y80.40016 +X35.7541Y80.40016 +X38.2941Y82.94016 +X35.7541Y82.94016 +X35.5Y96.19 +X32.96Y96.19 +X35.5Y98.73 +X32.96Y98.73 +X35.5Y101.27 +X32.96Y101.27 +X35.5Y103.80997 +X32.96Y103.80997 +X35.5Y106.34997 +X32.96Y106.34997 +X20.91542Y100.08008 +X20.91542Y97.54008 +X18.37542Y100.08008 +X18.37542Y97.54008 +X15.83542Y100.08008 +X15.83542Y97.54008 +X13.29542Y100.08008 +X13.29542Y97.54008 +X10.75542Y100.08008 +X10.75542Y97.54008 +X45.5Y96.19 +X42.96Y96.19 +X45.5Y98.73 +X42.96Y98.73 +X45.5Y101.27 +X42.96Y101.27 +X45.5Y103.80997 +X42.96Y103.80997 +X45.5Y106.34997 +X42.96Y106.34997 +X-23.085Y107.822 +X-20.545Y107.822 +X-18.005Y107.822 +X-15.465Y107.822 +T02 +X11.967Y35.94 +X11.967Y38.48 +T03 +X19.46Y53.72 +X22.0Y53.72 +X19.46Y51.18 +X22.0Y51.18 +X19.46Y48.64 +X22.0Y48.64 +X19.46Y46.1 +X22.0Y46.1 +X19.46Y43.56 +X22.0Y43.56 +X19.46Y41.02 +X22.0Y41.02 +X19.46Y38.48 +X22.0Y38.48 +X19.46Y35.94 +X22.0Y35.94 +X19.46Y33.4 +X22.0Y33.4 +X19.46Y30.86 +X22.0Y30.86 +X19.46Y28.32 +X22.0Y28.32 +X19.46Y25.78 +X22.0Y25.78 +X19.46Y23.24 +X22.0Y23.24 +X19.46Y20.7 +X22.0Y20.7 +X19.46Y18.16 +X22.0Y18.16 +X19.46Y15.62 +X22.0Y15.62 +X19.46Y13.08 +X22.0Y13.08 +X19.46Y10.54 +X22.0Y10.54 +X19.46Y8.0 +X22.0Y8.0 +X19.46Y5.46 +X22.0Y5.46 +X15.777Y42.10107 +X15.777Y33.40096 +M30 \ No newline at end of file diff --git a/hardware/gerber/FlyingProbeTesting.json b/hardware/gerber/FlyingProbeTesting.json new file mode 100644 index 0000000..2621a5a --- /dev/null +++ b/hardware/gerber/FlyingProbeTesting.json @@ -0,0 +1,996 @@ +{ +"lengthUnit": "mil", +"remark": [], +"components": { + "fields": ["COMPONENT_NO", "COMPONENT_NAME", "LAYER", "X_COORDINATE", "Y_COORDINATE", "ANGLE"], + "rows": [ + [1, "C65", "T", 726.1417, 2454.9606, 180], + [2, "J1", "T", 471.1417, 1464.9606, 270], + [3, "R1", "B", 228.7417, 3852.4908, 180], + [4, "R2", "B", 255.7417, 3250.4908, 0], + [5, "U1", "T", 576.1417, 3949.9606, 0], + [6, "U3", "T", -508.8583, 3349.9606, 90], + [7, "VD1", "T", 621.1417, 1486.2606, 270], + [8, "X1", "T", 816.1417, 1164.9606, 90], + [9, "X2", "T", 191.1417, 1164.9606, 90], + [10, "X3", "T", 1457.6417, 2815.3606, 270], + [11, "X4", "T", 1347.6378, 3987.0078, 90], + [12, "X5", "T", 623.4417, 3890.1606, 0], + [13, "X6", "T", 1741.3386, 3987.0078, 90], + [14, "X7", "T", -758.8583, 4244.9606, 0], + [15, "PAD1", "T", 471.1417, 1414.9606, 0], + [16, "PAD1", "T", 471.1417, 1414.9606, 0], + [17, "PAD2", "T", 471.1417, 1514.9606, 0], + [18, "PAD2", "T", 471.1417, 1514.9606, 0], + [19, "PAD3", "B", 189.3717, 3852.4908, 0], + [20, "PAD4", "B", 268.1117, 3852.4908, 0], + [21, "PAD5", "B", 295.1117, 3250.4908, 0], + [22, "PAD6", "B", 216.3717, 3250.4908, 0], + [23, "PAD7", "T", 1076.1417, 4949.9606, 0], + [24, "PAD7", "T", 1076.1417, 4949.9606, 0], + [25, "PAD8", "T", 1076.1417, 2949.9606, 0], + [26, "PAD8", "T", 1076.1417, 2949.9606, 0], + [27, "PAD9", "T", 1076.1417, 2849.9606, 0], + [28, "PAD9", "T", 1076.1417, 2849.9606, 0], + [29, "PAD10", "T", 76.1417, 2849.9606, 0], + [30, "PAD10", "T", 76.1417, 2849.9606, 0], + [31, "PAD11", "T", 76.1417, 2949.9606, 0], + [32, "PAD11", "T", 76.1417, 2949.9606, 0], + [33, "PAD12", "T", 76.1417, 3149.9606, 0], + [34, "PAD12", "T", 76.1417, 3149.9606, 0], + [35, "PAD13", "T", 76.1417, 3249.9606, 0], + [36, "PAD13", "T", 76.1417, 3249.9606, 0], + [37, "PAD14", "T", 76.1417, 3349.9606, 0], + [38, "PAD14", "T", 76.1417, 3349.9606, 0], + [39, "PAD15", "T", 76.1417, 3449.9606, 0], + [40, "PAD15", "T", 76.1417, 3449.9606, 0], + [41, "PAD16", "T", 76.1417, 3849.9606, 0], + [42, "PAD16", "T", 76.1417, 3849.9606, 0], + [43, "PAD17", "T", 76.1417, 3949.9606, 0], + [44, "PAD17", "T", 76.1417, 3949.9606, 0], + [45, "PAD18", "T", 76.1417, 4049.9606, 0], + [46, "PAD18", "T", 76.1417, 4049.9606, 0], + [47, "PAD19", "T", 76.1417, 4149.9606, 0], + [48, "PAD19", "T", 76.1417, 4149.9606, 0], + [49, "PAD20", "T", 76.1417, 4249.9606, 0], + [50, "PAD20", "T", 76.1417, 4249.9606, 0], + [51, "PAD21", "T", -108.8583, 2949.9606, 0], + [52, "PAD21", "T", -108.8583, 2949.9606, 0], + [53, "PAD22", "T", -108.8583, 3149.9606, 0], + [54, "PAD22", "T", -108.8583, 3149.9606, 0], + [55, "PAD23", "T", -108.8583, 3249.9606, 0], + [56, "PAD23", "T", -108.8583, 3249.9606, 0], + [57, "PAD24", "T", -108.8583, 3349.9606, 0], + [58, "PAD24", "T", -108.8583, 3349.9606, 0], + [59, "PAD25", "T", -108.8583, 3449.9606, 0], + [60, "PAD25", "T", -108.8583, 3449.9606, 0], + [61, "PAD26", "T", -108.8583, 3549.9606, 0], + [62, "PAD26", "T", -108.8583, 3549.9606, 0], + [63, "PAD27", "T", -108.8583, 3649.9606, 0], + [64, "PAD27", "T", -108.8583, 3649.9606, 0], + [65, "PAD28", "T", -108.8583, 3749.9606, 0], + [66, "PAD28", "T", -108.8583, 3749.9606, 0], + [67, "PAD29", "T", 766.1417, 2114.9606, 0], + [68, "PAD29", "T", 766.1417, 2114.9606, 0], + [69, "PAD30", "T", 866.1417, 2114.9606, 0], + [70, "PAD30", "T", 866.1417, 2114.9606, 0], + [71, "PAD31", "T", 766.1417, 2014.9606, 0], + [72, "PAD31", "T", 766.1417, 2014.9606, 0], + [73, "PAD32", "T", 866.1417, 2014.9606, 0], + [74, "PAD32", "T", 866.1417, 2014.9606, 0], + [75, "PAD33", "T", 766.1417, 1914.9606, 0], + [76, "PAD33", "T", 766.1417, 1914.9606, 0], + [77, "PAD34", "T", 866.1417, 1914.9606, 0], + [78, "PAD34", "T", 866.1417, 1914.9606, 0], + [79, "PAD35", "T", 866.1417, 1814.9606, 0], + [80, "PAD35", "T", 866.1417, 1814.9606, 0], + [81, "PAD36", "T", 766.1417, 1614.9606, 0], + [82, "PAD36", "T", 766.1417, 1614.9606, 0], + [83, "PAD37", "T", 866.1417, 1514.9606, 0], + [84, "PAD37", "T", 866.1417, 1514.9606, 0], + [85, "PAD38", "T", 766.1417, 1414.9606, 0], + [86, "PAD38", "T", 766.1417, 1414.9606, 0], + [87, "PAD39", "T", 866.1417, 1414.9606, 0], + [88, "PAD39", "T", 866.1417, 1414.9606, 0], + [89, "PAD40", "T", 766.1417, 1314.9606, 0], + [90, "PAD40", "T", 766.1417, 1314.9606, 0], + [91, "PAD41", "T", 866.1417, 1314.9606, 0], + [92, "PAD41", "T", 866.1417, 1314.9606, 0], + [93, "PAD42", "T", 766.1417, 1214.9606, 0], + [94, "PAD42", "T", 766.1417, 1214.9606, 0], + [95, "PAD43", "T", 766.1417, 1114.9606, 0], + [96, "PAD43", "T", 766.1417, 1114.9606, 0], + [97, "PAD44", "T", 866.1417, 1114.9606, 0], + [98, "PAD44", "T", 866.1417, 1114.9606, 0], + [99, "PAD45", "T", 766.1417, 1014.9606, 0], + [100, "PAD45", "T", 766.1417, 1014.9606, 0], + [101, "PAD46", "T", 866.1417, 1014.9606, 0], + [102, "PAD46", "T", 866.1417, 1014.9606, 0], + [103, "PAD47", "T", 766.1417, 914.9606, 0], + [104, "PAD47", "T", 766.1417, 914.9606, 0], + [105, "PAD48", "T", 866.1417, 914.9606, 0], + [106, "PAD48", "T", 866.1417, 914.9606, 0], + [107, "PAD49", "T", 766.1417, 814.9606, 0], + [108, "PAD49", "T", 766.1417, 814.9606, 0], + [109, "PAD50", "T", 866.1417, 814.9606, 0], + [110, "PAD50", "T", 866.1417, 814.9606, 0], + [111, "PAD51", "T", 766.1417, 714.9606, 0], + [112, "PAD51", "T", 766.1417, 714.9606, 0], + [113, "PAD52", "T", 866.1417, 714.9606, 0], + [114, "PAD52", "T", 866.1417, 714.9606, 0], + [115, "PAD53", "T", 766.1417, 614.9606, 0], + [116, "PAD53", "T", 766.1417, 614.9606, 0], + [117, "PAD54", "T", 866.1417, 614.9606, 0], + [118, "PAD54", "T", 866.1417, 614.9606, 0], + [119, "PAD55", "T", 766.1417, 514.9606, 0], + [120, "PAD55", "T", 766.1417, 514.9606, 0], + [121, "PAD56", "T", 866.1417, 514.9606, 0], + [122, "PAD56", "T", 866.1417, 514.9606, 0], + [123, "PAD57", "T", 766.1417, 414.9606, 0], + [124, "PAD57", "T", 766.1417, 414.9606, 0], + [125, "PAD58", "T", 866.1417, 414.9606, 0], + [126, "PAD58", "T", 866.1417, 414.9606, 0], + [127, "PAD59", "T", 766.1417, 314.9606, 0], + [128, "PAD59", "T", 766.1417, 314.9606, 0], + [129, "PAD60", "T", 866.1417, 314.9606, 0], + [130, "PAD60", "T", 866.1417, 314.9606, 0], + [131, "PAD61", "T", 766.1417, 214.9606, 0], + [132, "PAD61", "T", 766.1417, 214.9606, 0], + [133, "PAD62", "T", 866.1417, 214.9606, 0], + [134, "PAD62", "T", 866.1417, 214.9606, 0], + [135, "PAD63", "T", 241.1417, 214.9606, 0], + [136, "PAD63", "T", 241.1417, 214.9606, 0], + [137, "PAD64", "T", 241.1417, 314.9606, 0], + [138, "PAD64", "T", 241.1417, 314.9606, 0], + [139, "PAD65", "T", 141.1417, 314.9606, 0], + [140, "PAD65", "T", 141.1417, 314.9606, 0], + [141, "PAD66", "T", 241.1417, 414.9606, 0], + [142, "PAD66", "T", 241.1417, 414.9606, 0], + [143, "PAD67", "T", 141.1417, 414.9606, 0], + [144, "PAD67", "T", 141.1417, 414.9606, 0], + [145, "PAD68", "T", 241.1417, 514.9606, 0], + [146, "PAD68", "T", 241.1417, 514.9606, 0], + [147, "PAD69", "T", 141.1417, 514.9606, 0], + [148, "PAD69", "T", 141.1417, 514.9606, 0], + [149, "PAD70", "T", 241.1417, 614.9606, 0], + [150, "PAD70", "T", 241.1417, 614.9606, 0], + [151, "PAD71", "T", 141.1417, 614.9606, 0], + [152, "PAD71", "T", 141.1417, 614.9606, 0], + [153, "PAD72", "T", 241.1417, 714.9606, 0], + [154, "PAD72", "T", 241.1417, 714.9606, 0], + [155, "PAD73", "T", 141.1417, 714.9606, 0], + [156, "PAD73", "T", 141.1417, 714.9606, 0], + [157, "PAD74", "T", 241.1417, 814.9606, 0], + [158, "PAD74", "T", 241.1417, 814.9606, 0], + [159, "PAD75", "T", 141.1417, 814.9606, 0], + [160, "PAD75", "T", 141.1417, 814.9606, 0], + [161, "PAD76", "T", 241.1417, 914.9606, 0], + [162, "PAD76", "T", 241.1417, 914.9606, 0], + [163, "PAD77", "T", 141.1417, 914.9606, 0], + [164, "PAD77", "T", 141.1417, 914.9606, 0], + [165, "PAD78", "T", 241.1417, 1014.9606, 0], + [166, "PAD78", "T", 241.1417, 1014.9606, 0], + [167, "PAD79", "T", 141.1417, 1014.9606, 0], + [168, "PAD79", "T", 141.1417, 1014.9606, 0], + [169, "PAD80", "T", 241.1417, 1114.9606, 0], + [170, "PAD80", "T", 241.1417, 1114.9606, 0], + [171, "PAD81", "T", 141.1417, 1114.9606, 0], + [172, "PAD81", "T", 141.1417, 1114.9606, 0], + [173, "PAD82", "T", 141.1417, 1214.9606, 0], + [174, "PAD82", "T", 141.1417, 1214.9606, 0], + [175, "PAD83", "T", 241.1417, 1314.9606, 0], + [176, "PAD83", "T", 241.1417, 1314.9606, 0], + [177, "PAD84", "T", 141.1417, 1314.9606, 0], + [178, "PAD84", "T", 141.1417, 1314.9606, 0], + [179, "PAD85", "T", 241.1417, 1414.9606, 0], + [180, "PAD85", "T", 241.1417, 1414.9606, 0], + [181, "PAD86", "T", 141.1417, 1414.9606, 0], + [182, "PAD86", "T", 141.1417, 1414.9606, 0], + [183, "PAD87", "T", 241.1417, 1514.9606, 0], + [184, "PAD87", "T", 241.1417, 1514.9606, 0], + [185, "PAD88", "T", 141.1417, 1614.9606, 0], + [186, "PAD88", "T", 141.1417, 1614.9606, 0], + [187, "PAD89", "T", 241.1417, 1814.9606, 0], + [188, "PAD89", "T", 241.1417, 1814.9606, 0], + [189, "PAD90", "T", 241.1417, 1914.9606, 0], + [190, "PAD90", "T", 241.1417, 1914.9606, 0], + [191, "PAD91", "T", 141.1417, 1914.9606, 0], + [192, "PAD91", "T", 141.1417, 1914.9606, 0], + [193, "PAD92", "T", 241.1417, 2014.9606, 0], + [194, "PAD92", "T", 241.1417, 2014.9606, 0], + [195, "PAD93", "T", 141.1417, 2014.9606, 0], + [196, "PAD93", "T", 141.1417, 2014.9606, 0], + [197, "PAD94", "T", 241.1417, 2114.9606, 0], + [198, "PAD94", "T", 241.1417, 2114.9606, 0], + [199, "PAD95", "T", 141.1417, 2114.9606, 0], + [200, "PAD95", "T", 141.1417, 2114.9606, 0], + [201, "PAD96", "T", 1507.6417, 2365.3606, 0], + [202, "PAD96", "T", 1507.6417, 2365.3606, 0], + [203, "PAD97", "T", 1407.6417, 2365.3606, 0], + [204, "PAD97", "T", 1407.6417, 2365.3606, 0], + [205, "PAD98", "T", 1507.6417, 2465.3606, 0], + [206, "PAD98", "T", 1507.6417, 2465.3606, 0], + [207, "PAD99", "T", 1407.6417, 2465.3606, 0], + [208, "PAD99", "T", 1407.6417, 2465.3606, 0], + [209, "PAD100", "T", 1507.6417, 2565.3606, 0], + [210, "PAD100", "T", 1507.6417, 2565.3606, 0], + [211, "PAD101", "T", 1407.6417, 2565.3606, 0], + [212, "PAD101", "T", 1407.6417, 2565.3606, 0], + [213, "PAD102", "T", 1507.6417, 2665.3606, 0], + [214, "PAD102", "T", 1507.6417, 2665.3606, 0], + [215, "PAD103", "T", 1407.6417, 2665.3606, 0], + [216, "PAD103", "T", 1407.6417, 2665.3606, 0], + [217, "PAD104", "T", 1507.6417, 2765.3606, 0], + [218, "PAD104", "T", 1507.6417, 2765.3606, 0], + [219, "PAD105", "T", 1407.6417, 2765.3606, 0], + [220, "PAD105", "T", 1407.6417, 2765.3606, 0], + [221, "PAD106", "T", 1507.6417, 2865.3606, 0], + [222, "PAD106", "T", 1507.6417, 2865.3606, 0], + [223, "PAD107", "T", 1407.6417, 2865.3606, 0], + [224, "PAD107", "T", 1407.6417, 2865.3606, 0], + [225, "PAD108", "T", 1507.6417, 2965.3606, 0], + [226, "PAD108", "T", 1507.6417, 2965.3606, 0], + [227, "PAD109", "T", 1407.6417, 2965.3606, 0], + [228, "PAD109", "T", 1407.6417, 2965.3606, 0], + [229, "PAD110", "T", 1507.6417, 3065.3606, 0], + [230, "PAD110", "T", 1507.6417, 3065.3606, 0], + [231, "PAD111", "T", 1407.6417, 3065.3606, 0], + [232, "PAD111", "T", 1407.6417, 3065.3606, 0], + [233, "PAD112", "T", 1507.6417, 3165.3606, 0], + [234, "PAD112", "T", 1507.6417, 3165.3606, 0], + [235, "PAD113", "T", 1407.6417, 3165.3606, 0], + [236, "PAD113", "T", 1407.6417, 3165.3606, 0], + [237, "PAD114", "T", 1507.6417, 3265.3606, 0], + [238, "PAD114", "T", 1507.6417, 3265.3606, 0], + [239, "PAD115", "T", 1407.6417, 3265.3606, 0], + [240, "PAD115", "T", 1407.6417, 3265.3606, 0], + [241, "PAD116", "T", 1397.6378, 3787.0078, 0], + [242, "PAD116", "T", 1397.6378, 3787.0078, 0], + [243, "PAD117", "T", 1297.6378, 3787.0078, 0], + [244, "PAD117", "T", 1297.6378, 3787.0078, 0], + [245, "PAD118", "T", 1397.6378, 3887.0078, 0], + [246, "PAD118", "T", 1397.6378, 3887.0078, 0], + [247, "PAD119", "T", 1297.6378, 3887.0078, 0], + [248, "PAD119", "T", 1297.6378, 3887.0078, 0], + [249, "PAD120", "T", 1397.6378, 3987.0078, 0], + [250, "PAD120", "T", 1397.6378, 3987.0078, 0], + [251, "PAD121", "T", 1297.6378, 3987.0078, 0], + [252, "PAD121", "T", 1297.6378, 3987.0078, 0], + [253, "PAD122", "T", 1397.6378, 4087.0078, 0], + [254, "PAD122", "T", 1397.6378, 4087.0078, 0], + [255, "PAD123", "T", 1297.6378, 4087.0078, 0], + [256, "PAD123", "T", 1297.6378, 4087.0078, 0], + [257, "PAD124", "T", 1397.6378, 4187.0078, 0], + [258, "PAD124", "T", 1397.6378, 4187.0078, 0], + [259, "PAD125", "T", 823.4417, 3940.1606, 0], + [260, "PAD125", "T", 823.4417, 3940.1606, 0], + [261, "PAD126", "T", 823.4417, 3840.1606, 0], + [262, "PAD126", "T", 823.4417, 3840.1606, 0], + [263, "PAD127", "T", 523.4417, 3840.1606, 0], + [264, "PAD127", "T", 523.4417, 3840.1606, 0], + [265, "PAD128", "T", 423.4417, 3940.1606, 0], + [266, "PAD128", "T", 423.4417, 3940.1606, 0], + [267, "PAD129", "T", 1791.3386, 3787.0078, 0], + [268, "PAD129", "T", 1791.3386, 3787.0078, 0], + [269, "PAD130", "T", 1691.3386, 3787.0078, 0], + [270, "PAD130", "T", 1691.3386, 3787.0078, 0], + [271, "PAD131", "T", 1791.3386, 3887.0078, 0], + [272, "PAD131", "T", 1791.3386, 3887.0078, 0], + [273, "PAD132", "T", 1691.3386, 3887.0078, 0], + [274, "PAD132", "T", 1691.3386, 3887.0078, 0], + [275, "PAD133", "T", 1791.3386, 3987.0078, 0], + [276, "PAD133", "T", 1791.3386, 3987.0078, 0], + [277, "PAD134", "T", 1691.3386, 3987.0078, 0], + [278, "PAD134", "T", 1691.3386, 3987.0078, 0], + [279, "PAD135", "T", 1791.3386, 4087.0078, 0], + [280, "PAD135", "T", 1791.3386, 4087.0078, 0], + [281, "PAD136", "T", 1691.3386, 4087.0078, 0], + [282, "PAD136", "T", 1691.3386, 4087.0078, 0], + [283, "PAD137", "T", 1791.3386, 4187.0078, 0], + [284, "PAD137", "T", 1791.3386, 4187.0078, 0], + [285, "PAD138", "T", -908.8583, 4244.9606, 0], + [286, "PAD138", "T", -908.8583, 4244.9606, 0], + [287, "PAD139", "T", -808.8583, 4244.9606, 0], + [288, "PAD139", "T", -808.8583, 4244.9606, 0], + [289, "PAD140", "T", -708.8583, 4244.9606, 0], + [290, "PAD140", "T", -708.8583, 4244.9606, 0], + [291, "PAD141", "T", -608.8583, 4244.9606, 0], + [292, "PAD141", "T", -608.8583, 4244.9606, 0], + [293, "PAD142", "T", 623.7817, 2454.9606, 0], + [294, "PAD143", "T", 828.5017, 2454.9606, 0], + [295, "PAD144", "T", 621.1417, 1657.5206, 0], + [296, "PAD144", "T", 621.1417, 1657.5206, 0], + [297, "PAD145", "T", 621.1417, 1315.0006, 0], + [298, "PAD145", "T", 621.1417, 1315.0006, 0] + ] +}, +"pins": { + "fields": ["PIN_NO", "PIN_NAME", "PIN_X", "PIN_Y", "LAYER", "PIN_TYPE", "NET_NAME", "NET_TYPE", "PAD_SHAPE", "PAD_SIZEX", "PAD_SIZEY", "HOLE_SIZE", "HOLE_LEN", "PAD_ANGLE"], + "rows": [ + [1, "C65_1", 623.7817, 2454.9606, "T", "SMD", "VCC5", "", "R", 74.803, 93.543, 0, 0, 180], + [2, "C65_2", 828.5017, 2454.9606, "T", "SMD", "GND", "GND", "R", 74.803, 93.543, 0, 0, 180], + [3, "J1_1", 471.1417, 1514.9606, "T", "DIP", "VCC5", "", "R", 65, 65, 38, 38, 270], + [4, "J1_1", 471.1417, 1514.9606, "T", "DIP", "VCC5", "", "R", 65, 65, 38, 38, 270], + [5, "J1_2", 471.1417, 1414.9606, "T", "DIP", "IDE5V", "", "C", 65, 65, 38, 38, 270], + [6, "J1_2", 471.1417, 1414.9606, "T", "DIP", "IDE5V", "", "C", 65, 65, 38, 38, 270], + [7, "R1_1", 268.1117, 3852.4908, "B", "SMD", "ZIFI_RX", "", "R", 44.588, 54.213, 0, 0, 180], + [8, "R1_2", 189.3717, 3852.4908, "B", "SMD", "$1N45", "", "R", 44.588, 54.213, 0, 0, 180], + [9, "R2_1", 216.3717, 3250.4908, "B", "SMD", "ESP_SCK", "", "R", 44.588, 54.213, 0, 0, 0], + [10, "R2_2", 295.1117, 3250.4908, "B", "SMD", "$1N192", "", "R", 44.588, 54.213, 0, 0, 0], + [11, "U1_1", 76.1417, 4949.9606, "T", "DIP", "NET_1", "", "R", 75, 55, 36, 36, 0], + [12, "U1_1", 76.1417, 4949.9606, "T", "DIP", "NET_1", "", "R", 75, 55, 36, 36, 0], + [13, "U1_2", 76.1417, 4849.9606, "T", "DIP", "NET_2", "", "O", 75, 55, 36, 36, 0], + [14, "U1_2", 76.1417, 4849.9606, "T", "DIP", "NET_2", "", "O", 75, 55, 36, 36, 0], + [15, "U1_3", 76.1417, 4749.9606, "T", "DIP", "NET_3", "", "O", 75, 55, 36, 36, 0], + [16, "U1_3", 76.1417, 4749.9606, "T", "DIP", "NET_3", "", "O", 75, 55, 36, 36, 0], + [17, "U1_4", 76.1417, 4649.9606, "T", "DIP", "NET_4", "", "O", 75, 55, 36, 36, 0], + [18, "U1_4", 76.1417, 4649.9606, "T", "DIP", "NET_4", "", "O", 75, 55, 36, 36, 0], + [19, "U1_5", 76.1417, 4549.9606, "T", "DIP", "NET_5", "", "O", 75, 55, 36, 36, 0], + [20, "U1_5", 76.1417, 4549.9606, "T", "DIP", "NET_5", "", "O", 75, 55, 36, 36, 0], + [21, "U1_6", 76.1417, 4449.9606, "T", "DIP", "NET_6", "", "O", 75, 55, 36, 36, 0], + [22, "U1_6", 76.1417, 4449.9606, "T", "DIP", "NET_6", "", "O", 75, 55, 36, 36, 0], + [23, "U1_7", 76.1417, 4349.9606, "T", "DIP", "NET_7", "", "O", 75, 55, 36, 36, 0], + [24, "U1_7", 76.1417, 4349.9606, "T", "DIP", "NET_7", "", "O", 75, 55, 36, 36, 0], + [25, "U1_8", 76.1417, 4249.9606, "T", "DIP", "PCM_BLK", "", "O", 75, 55, 36, 36, 0], + [26, "U1_8", 76.1417, 4249.9606, "T", "DIP", "PCM_BLK", "", "O", 75, 55, 36, 36, 0], + [27, "U1_9", 76.1417, 4149.9606, "T", "DIP", "PCM_LRCK", "", "O", 75, 55, 36, 36, 0], + [28, "U1_9", 76.1417, 4149.9606, "T", "DIP", "PCM_LRCK", "", "O", 75, 55, 36, 36, 0], + [29, "U1_10", 76.1417, 4049.9606, "T", "DIP", "PCM_DIN", "", "O", 75, 55, 36, 36, 0], + [30, "U1_10", 76.1417, 4049.9606, "T", "DIP", "PCM_DIN", "", "O", 75, 55, 36, 36, 0], + [31, "U1_11", 76.1417, 3949.9606, "T", "DIP", "ZIFI_TX", "", "O", 75, 55, 36, 36, 0], + [32, "U1_11", 76.1417, 3949.9606, "T", "DIP", "ZIFI_TX", "", "O", 75, 55, 36, 36, 0], + [33, "U1_12", 76.1417, 3849.9606, "T", "DIP", "$1N45", "", "O", 75, 55, 36, 36, 0], + [34, "U1_12", 76.1417, 3849.9606, "T", "DIP", "$1N45", "", "O", 75, 55, 36, 36, 0], + [35, "U1_13", 76.1417, 3749.9606, "T", "DIP", "NET_8", "", "O", 75, 55, 36, 36, 0], + [36, "U1_13", 76.1417, 3749.9606, "T", "DIP", "NET_8", "", "O", 75, 55, 36, 36, 0], + [37, "U1_14", 76.1417, 3649.9606, "T", "DIP", "NET_9", "", "O", 75, 55, 36, 36, 0], + [38, "U1_14", 76.1417, 3649.9606, "T", "DIP", "NET_9", "", "O", 75, 55, 36, 36, 0], + [39, "U1_15", 76.1417, 3549.9606, "T", "DIP", "NET_10", "", "O", 75, 55, 36, 36, 0], + [40, "U1_15", 76.1417, 3549.9606, "T", "DIP", "NET_10", "", "O", 75, 55, 36, 36, 0], + [41, "U1_16", 76.1417, 3449.9606, "T", "DIP", "ESP_CS", "", "O", 75, 55, 36, 36, 0], + [42, "U1_16", 76.1417, 3449.9606, "T", "DIP", "ESP_CS", "", "O", 75, 55, 36, 36, 0], + [43, "U1_17", 76.1417, 3349.9606, "T", "DIP", "ESP_MISO", "", "O", 75, 55, 36, 36, 0], + [44, "U1_17", 76.1417, 3349.9606, "T", "DIP", "ESP_MISO", "", "O", 75, 55, 36, 36, 0], + [45, "U1_18", 76.1417, 3249.9606, "T", "DIP", "ESP_SCK", "", "O", 75, 55, 36, 36, 0], + [46, "U1_18", 76.1417, 3249.9606, "T", "DIP", "ESP_SCK", "", "O", 75, 55, 36, 36, 0], + [47, "U1_19", 76.1417, 3149.9606, "T", "DIP", "ESP_MOSI", "", "O", 75, 55, 36, 36, 0], + [48, "U1_19", 76.1417, 3149.9606, "T", "DIP", "ESP_MOSI", "", "O", 75, 55, 36, 36, 0], + [49, "U1_20", 76.1417, 3049.9606, "T", "DIP", "NET_11", "", "O", 75, 55, 36, 36, 0], + [50, "U1_20", 76.1417, 3049.9606, "T", "DIP", "NET_11", "", "O", 75, 55, 36, 36, 0], + [51, "U1_21", 76.1417, 2949.9606, "T", "DIP", "VCC5", "", "O", 75, 55, 36, 36, 0], + [52, "U1_21", 76.1417, 2949.9606, "T", "DIP", "VCC5", "", "O", 75, 55, 36, 36, 0], + [53, "U1_22", 76.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [54, "U1_22", 76.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [55, "U1_23", 1076.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [56, "U1_23", 1076.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [57, "U1_24", 1076.1417, 2949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [58, "U1_24", 1076.1417, 2949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [59, "U1_25", 1076.1417, 3049.9606, "T", "DIP", "NET_12", "", "O", 75, 55, 36, 36, 0], + [60, "U1_25", 1076.1417, 3049.9606, "T", "DIP", "NET_12", "", "O", 75, 55, 36, 36, 0], + [61, "U1_26", 1076.1417, 3149.9606, "T", "DIP", "NET_13", "", "O", 75, 55, 36, 36, 0], + [62, "U1_26", 1076.1417, 3149.9606, "T", "DIP", "NET_13", "", "O", 75, 55, 36, 36, 0], + [63, "U1_27", 1076.1417, 3249.9606, "T", "DIP", "NET_14", "", "O", 75, 55, 36, 36, 0], + [64, "U1_27", 1076.1417, 3249.9606, "T", "DIP", "NET_14", "", "O", 75, 55, 36, 36, 0], + [65, "U1_28", 1076.1417, 3349.9606, "T", "DIP", "NET_15", "", "O", 75, 55, 36, 36, 0], + [66, "U1_28", 1076.1417, 3349.9606, "T", "DIP", "NET_15", "", "O", 75, 55, 36, 36, 0], + [67, "U1_29", 1076.1417, 3449.9606, "T", "DIP", "NET_16", "", "O", 75, 55, 36, 36, 0], + [68, "U1_29", 1076.1417, 3449.9606, "T", "DIP", "NET_16", "", "O", 75, 55, 36, 36, 0], + [69, "U1_30", 1076.1417, 3549.9606, "T", "DIP", "NET_17", "", "O", 75, 55, 36, 36, 0], + [70, "U1_30", 1076.1417, 3549.9606, "T", "DIP", "NET_17", "", "O", 75, 55, 36, 36, 0], + [71, "U1_31", 1076.1417, 3649.9606, "T", "DIP", "NET_18", "", "O", 75, 55, 36, 36, 0], + [72, "U1_31", 1076.1417, 3649.9606, "T", "DIP", "NET_18", "", "O", 75, 55, 36, 36, 0], + [73, "U1_32", 1076.1417, 3749.9606, "T", "DIP", "NET_19", "", "O", 75, 55, 36, 36, 0], + [74, "U1_32", 1076.1417, 3749.9606, "T", "DIP", "NET_19", "", "O", 75, 55, 36, 36, 0], + [75, "U1_33", 1076.1417, 3849.9606, "T", "DIP", "NET_20", "", "O", 75, 55, 36, 36, 0], + [76, "U1_33", 1076.1417, 3849.9606, "T", "DIP", "NET_20", "", "O", 75, 55, 36, 36, 0], + [77, "U1_34", 1076.1417, 3949.9606, "T", "DIP", "NET_21", "", "O", 75, 55, 36, 36, 0], + [78, "U1_34", 1076.1417, 3949.9606, "T", "DIP", "NET_21", "", "O", 75, 55, 36, 36, 0], + [79, "U1_35", 1076.1417, 4049.9606, "T", "DIP", "NET_22", "", "O", 75, 55, 36, 36, 0], + [80, "U1_35", 1076.1417, 4049.9606, "T", "DIP", "NET_22", "", "O", 75, 55, 36, 36, 0], + [81, "U1_36", 1076.1417, 4149.9606, "T", "DIP", "NET_23", "", "O", 75, 55, 36, 36, 0], + [82, "U1_36", 1076.1417, 4149.9606, "T", "DIP", "NET_23", "", "O", 75, 55, 36, 36, 0], + [83, "U1_37", 1076.1417, 4249.9606, "T", "DIP", "NET_24", "", "O", 75, 55, 36, 36, 0], + [84, "U1_37", 1076.1417, 4249.9606, "T", "DIP", "NET_24", "", "O", 75, 55, 36, 36, 0], + [85, "U1_38", 1076.1417, 4349.9606, "T", "DIP", "NET_25", "", "O", 75, 55, 36, 36, 0], + [86, "U1_38", 1076.1417, 4349.9606, "T", "DIP", "NET_25", "", "O", 75, 55, 36, 36, 0], + [87, "U1_39", 1076.1417, 4449.9606, "T", "DIP", "NET_26", "", "O", 75, 55, 36, 36, 0], + [88, "U1_39", 1076.1417, 4449.9606, "T", "DIP", "NET_26", "", "O", 75, 55, 36, 36, 0], + [89, "U1_40", 1076.1417, 4549.9606, "T", "DIP", "NET_27", "", "O", 75, 55, 36, 36, 0], + [90, "U1_40", 1076.1417, 4549.9606, "T", "DIP", "NET_27", "", "O", 75, 55, 36, 36, 0], + [91, "U1_41", 1076.1417, 4649.9606, "T", "DIP", "NET_28", "", "O", 75, 55, 36, 36, 0], + [92, "U1_41", 1076.1417, 4649.9606, "T", "DIP", "NET_28", "", "O", 75, 55, 36, 36, 0], + [93, "U1_42", 1076.1417, 4749.9606, "T", "DIP", "NET_29", "", "O", 75, 55, 36, 36, 0], + [94, "U1_42", 1076.1417, 4749.9606, "T", "DIP", "NET_29", "", "O", 75, 55, 36, 36, 0], + [95, "U1_43", 1076.1417, 4849.9606, "T", "DIP", "NET_30", "", "O", 75, 55, 36, 36, 0], + [96, "U1_43", 1076.1417, 4849.9606, "T", "DIP", "NET_30", "", "O", 75, 55, 36, 36, 0], + [97, "U1_44", 1076.1417, 4949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [98, "U1_44", 1076.1417, 4949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [99, "U3_1", -108.8583, 2949.9606, "T", "DIP", "VCC5", "", "C", 65, 65, 36, 36, 90], + [100, "U3_1", -108.8583, 2949.9606, "T", "DIP", "VCC5", "", "C", 65, 65, 36, 36, 90], + [101, "U3_2", -108.8583, 3049.9606, "T", "DIP", "NET_31", "", "C", 65, 65, 36, 36, 90], + [102, "U3_2", -108.8583, 3049.9606, "T", "DIP", "NET_31", "", "C", 65, 65, 36, 36, 90], + [103, "U3_3", -108.8583, 3149.9606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 90], + [104, "U3_3", -108.8583, 3149.9606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 90], + [105, "U3_4", -108.8583, 3249.9606, "T", "DIP", "PCM_LRCK", "", "C", 65, 65, 36, 36, 90], + [106, "U3_4", -108.8583, 3249.9606, "T", "DIP", "PCM_LRCK", "", "C", 65, 65, 36, 36, 90], + [107, "U3_5", -108.8583, 3349.9606, "T", "DIP", "PCM_DIN", "", "C", 65, 65, 36, 36, 90], + [108, "U3_5", -108.8583, 3349.9606, "T", "DIP", "PCM_DIN", "", "C", 65, 65, 36, 36, 90], + [109, "U3_6", -108.8583, 3449.9606, "T", "DIP", "PCM_BLK", "", "C", 65, 65, 36, 36, 90], + [110, "U3_6", -108.8583, 3449.9606, "T", "DIP", "PCM_BLK", "", "C", 65, 65, 36, 36, 90], + [111, "U3_7", -108.8583, 3549.9606, "T", "DIP", "L_OUT", "", "C", 65, 65, 36, 36, 90], + [112, "U3_7", -108.8583, 3549.9606, "T", "DIP", "L_OUT", "", "C", 65, 65, 36, 36, 90], + [113, "U3_8", -108.8583, 3649.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 90], + [114, "U3_8", -108.8583, 3649.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 90], + [115, "U3_9", -108.8583, 3749.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 90], + [116, "U3_9", -108.8583, 3749.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 90], + [117, "U3_10", -908.8583, 3549.9606, "T", "DIP", "NET_32", "", "C", 65, 65, 36, 36, 90], + [118, "U3_10", -908.8583, 3549.9606, "T", "DIP", "NET_32", "", "C", 65, 65, 36, 36, 90], + [119, "U3_11", -908.8583, 3449.9606, "T", "DIP", "NET_33", "", "C", 65, 65, 36, 36, 90], + [120, "U3_11", -908.8583, 3449.9606, "T", "DIP", "NET_33", "", "C", 65, 65, 36, 36, 90], + [121, "U3_12", -908.8583, 3349.9606, "T", "DIP", "NET_34", "", "C", 65, 65, 36, 36, 90], + [122, "U3_12", -908.8583, 3349.9606, "T", "DIP", "NET_34", "", "C", 65, 65, 36, 36, 90], + [123, "U3_13", -908.8583, 3249.9606, "T", "DIP", "NET_35", "", "C", 65, 65, 36, 36, 90], + [124, "U3_13", -908.8583, 3249.9606, "T", "DIP", "NET_35", "", "C", 65, 65, 36, 36, 90], + [125, "U3_14", -908.8583, 3149.9606, "T", "DIP", "NET_36", "", "C", 65, 65, 36, 36, 90], + [126, "U3_14", -908.8583, 3149.9606, "T", "DIP", "NET_36", "", "C", 65, 65, 36, 36, 90], + [127, "U3_15", -908.8583, 3049.9606, "T", "DIP", "NET_37", "", "C", 65, 65, 36, 36, 90], + [128, "U3_15", -908.8583, 3049.9606, "T", "DIP", "NET_37", "", "C", 65, 65, 36, 36, 90], + [129, "VD1_1", 621.1417, 1657.5206, "T", "DIP", "VCC5", "", "C", 70.866, 70.866, 39.37, 39.37, 270], + [130, "VD1_1", 621.1417, 1657.5206, "T", "DIP", "VCC5", "", "C", 70.866, 70.866, 39.37, 39.37, 270], + [131, "VD1_2", 621.1417, 1315.0006, "T", "DIP", "$1N233", "", "C", 70.866, 70.866, 39.37, 39.37, 270], + [132, "VD1_2", 621.1417, 1315.0006, "T", "DIP", "$1N233", "", "C", 70.866, 70.866, 39.37, 39.37, 270], + [133, "X1_1", 866.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 39.37, 39.37, 90], + [134, "X1_1", 866.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 39.37, 39.37, 90], + [135, "X1_2", 766.1417, 214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [136, "X1_2", 766.1417, 214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [137, "X1_3", 866.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [138, "X1_3", 866.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [139, "X1_4", 766.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [140, "X1_4", 766.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [141, "X1_5", 866.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [142, "X1_5", 866.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [143, "X1_6", 766.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [144, "X1_6", 766.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [145, "X1_7", 866.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [146, "X1_7", 866.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [147, "X1_8", 766.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [148, "X1_8", 766.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [149, "X1_9", 866.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [150, "X1_9", 866.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [151, "X1_10", 766.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [152, "X1_10", 766.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [153, "X1_11", 866.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [154, "X1_11", 866.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [155, "X1_12", 766.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [156, "X1_12", 766.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [157, "X1_13", 866.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [158, "X1_13", 866.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [159, "X1_14", 766.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [160, "X1_14", 766.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [161, "X1_15", 866.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [162, "X1_15", 866.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [163, "X1_16", 766.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [164, "X1_16", 766.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [165, "X1_17", 866.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [166, "X1_17", 866.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [167, "X1_18", 766.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [168, "X1_18", 766.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [169, "X1_19", 866.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [170, "X1_19", 866.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [171, "X1_20", 766.1417, 1114.9606, "T", "DIP", "$1N233", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [172, "X1_20", 766.1417, 1114.9606, "T", "DIP", "$1N233", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [173, "X1_21", 866.1417, 1214.9606, "T", "DIP", "NET_38", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [174, "X1_21", 866.1417, 1214.9606, "T", "DIP", "NET_38", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [175, "X1_22", 766.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [176, "X1_22", 766.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [177, "X1_23", 866.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [178, "X1_23", 866.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [179, "X1_24", 766.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [180, "X1_24", 766.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [181, "X1_25", 866.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [182, "X1_25", 866.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [183, "X1_26", 766.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [184, "X1_26", 766.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [185, "X1_27", 866.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [186, "X1_27", 866.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [187, "X1_28", 766.1417, 1514.9606, "T", "DIP", "NET_39", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [188, "X1_28", 766.1417, 1514.9606, "T", "DIP", "NET_39", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [189, "X1_29", 866.1417, 1614.9606, "T", "DIP", "NET_40", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [190, "X1_29", 866.1417, 1614.9606, "T", "DIP", "NET_40", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [191, "X1_30", 766.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [192, "X1_30", 766.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [193, "X1_31", 866.1417, 1714.9606, "T", "DIP", "NET_41", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [194, "X1_31", 866.1417, 1714.9606, "T", "DIP", "NET_41", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [195, "X1_32", 766.1417, 1714.9606, "T", "DIP", "NET_42", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [196, "X1_32", 766.1417, 1714.9606, "T", "DIP", "NET_42", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [197, "X1_33", 866.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [198, "X1_33", 866.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [199, "X1_34", 766.1417, 1814.9606, "T", "DIP", "NET_43", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [200, "X1_34", 766.1417, 1814.9606, "T", "DIP", "NET_43", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [201, "X1_35", 866.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [202, "X1_35", 866.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [203, "X1_36", 766.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [204, "X1_36", 766.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [205, "X1_37", 866.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [206, "X1_37", 866.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [207, "X1_38", 766.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [208, "X1_38", 766.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [209, "X1_39", 866.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [210, "X1_39", 866.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [211, "X1_40", 766.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [212, "X1_40", 766.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [213, "X2_1", 241.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 36, 36, 90], + [214, "X2_1", 241.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 36, 36, 90], + [215, "X2_2", 141.1417, 214.9606, "T", "DIP", "NET_44", "", "C", 62.992, 62.992, 36, 36, 90], + [216, "X2_2", 141.1417, 214.9606, "T", "DIP", "NET_44", "", "C", 62.992, 62.992, 36, 36, 90], + [217, "X2_3", 241.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 36, 36, 90], + [218, "X2_3", 241.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 36, 36, 90], + [219, "X2_4", 141.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 36, 36, 90], + [220, "X2_4", 141.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 36, 36, 90], + [221, "X2_5", 241.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 36, 36, 90], + [222, "X2_5", 241.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 36, 36, 90], + [223, "X2_6", 141.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 36, 36, 90], + [224, "X2_6", 141.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 36, 36, 90], + [225, "X2_7", 241.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 36, 36, 90], + [226, "X2_7", 241.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 36, 36, 90], + [227, "X2_8", 141.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 36, 36, 90], + [228, "X2_8", 141.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 36, 36, 90], + [229, "X2_9", 241.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 36, 36, 90], + [230, "X2_9", 241.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 36, 36, 90], + [231, "X2_10", 141.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 36, 36, 90], + [232, "X2_10", 141.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 36, 36, 90], + [233, "X2_11", 241.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 36, 36, 90], + [234, "X2_11", 241.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 36, 36, 90], + [235, "X2_12", 141.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 36, 36, 90], + [236, "X2_12", 141.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 36, 36, 90], + [237, "X2_13", 241.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 36, 36, 90], + [238, "X2_13", 241.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 36, 36, 90], + [239, "X2_14", 141.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 36, 36, 90], + [240, "X2_14", 141.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 36, 36, 90], + [241, "X2_15", 241.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 36, 36, 90], + [242, "X2_15", 241.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 36, 36, 90], + [243, "X2_16", 141.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 36, 36, 90], + [244, "X2_16", 141.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 36, 36, 90], + [245, "X2_17", 241.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 36, 36, 90], + [246, "X2_17", 241.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 36, 36, 90], + [247, "X2_18", 141.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 36, 36, 90], + [248, "X2_18", 141.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 36, 36, 90], + [249, "X2_19", 241.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 55, 55, 36, 36, 90], + [250, "X2_19", 241.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 55, 55, 36, 36, 90], + [251, "X2_20", 141.1417, 1114.9606, "T", "DIP", "IDE5V", "", "C", 62.992, 62.992, 36, 36, 90], + [252, "X2_20", 141.1417, 1114.9606, "T", "DIP", "IDE5V", "", "C", 62.992, 62.992, 36, 36, 90], + [253, "X2_21", 241.1417, 1214.9606, "T", "DIP", "NET_45", "", "C", 55, 55, 36, 36, 90], + [254, "X2_21", 241.1417, 1214.9606, "T", "DIP", "NET_45", "", "C", 55, 55, 36, 36, 90], + [255, "X2_22", 141.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [256, "X2_22", 141.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [257, "X2_23", 241.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 36, 36, 90], + [258, "X2_23", 241.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 36, 36, 90], + [259, "X2_24", 141.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [260, "X2_24", 141.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [261, "X2_25", 241.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 36, 36, 90], + [262, "X2_25", 241.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 36, 36, 90], + [263, "X2_26", 141.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [264, "X2_26", 141.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [265, "X2_27", 241.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 36, 36, 90], + [266, "X2_27", 241.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 36, 36, 90], + [267, "X2_28", 141.1417, 1514.9606, "T", "DIP", "NET_46", "", "C", 62.992, 62.992, 36, 36, 90], + [268, "X2_28", 141.1417, 1514.9606, "T", "DIP", "NET_46", "", "C", 62.992, 62.992, 36, 36, 90], + [269, "X2_29", 241.1417, 1614.9606, "T", "DIP", "NET_47", "", "C", 62.992, 62.992, 36, 36, 90], + [270, "X2_29", 241.1417, 1614.9606, "T", "DIP", "NET_47", "", "C", 62.992, 62.992, 36, 36, 90], + [271, "X2_30", 141.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [272, "X2_30", 141.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [273, "X2_31", 241.1417, 1714.9606, "T", "DIP", "NET_48", "", "C", 62.992, 62.992, 36, 36, 90], + [274, "X2_31", 241.1417, 1714.9606, "T", "DIP", "NET_48", "", "C", 62.992, 62.992, 36, 36, 90], + [275, "X2_32", 141.1417, 1714.9606, "T", "DIP", "NET_49", "", "C", 62.992, 62.992, 36, 36, 90], + [276, "X2_32", 141.1417, 1714.9606, "T", "DIP", "NET_49", "", "C", 62.992, 62.992, 36, 36, 90], + [277, "X2_33", 241.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 36, 36, 90], + [278, "X2_33", 241.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 36, 36, 90], + [279, "X2_34", 141.1417, 1814.9606, "T", "DIP", "NET_50", "", "C", 62.992, 62.992, 36, 36, 90], + [280, "X2_34", 141.1417, 1814.9606, "T", "DIP", "NET_50", "", "C", 62.992, 62.992, 36, 36, 90], + [281, "X2_35", 241.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 36, 36, 90], + [282, "X2_35", 241.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 36, 36, 90], + [283, "X2_36", 141.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 36, 36, 90], + [284, "X2_36", 141.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 36, 36, 90], + [285, "X2_37", 241.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 36, 36, 90], + [286, "X2_37", 241.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 36, 36, 90], + [287, "X2_38", 141.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 36, 36, 90], + [288, "X2_38", 141.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 36, 36, 90], + [289, "X2_39", 241.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 36, 36, 90], + [290, "X2_39", 241.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 36, 36, 90], + [291, "X2_40", 141.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [292, "X2_40", 141.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [293, "X3_1", 1407.6417, 3265.3606, "T", "DIP", "ZXROW0", "", "R", 65, 65, 36, 36, 270], + [294, "X3_1", 1407.6417, 3265.3606, "T", "DIP", "ZXROW0", "", "R", 65, 65, 36, 36, 270], + [295, "X3_2", 1507.6417, 3265.3606, "T", "DIP", "ZXROW1", "", "C", 65, 65, 36, 36, 270], + [296, "X3_2", 1507.6417, 3265.3606, "T", "DIP", "ZXROW1", "", "C", 65, 65, 36, 36, 270], + [297, "X3_3", 1407.6417, 3165.3606, "T", "DIP", "ZXROW2", "", "C", 65, 65, 36, 36, 270], + [298, "X3_3", 1407.6417, 3165.3606, "T", "DIP", "ZXROW2", "", "C", 65, 65, 36, 36, 270], + [299, "X3_4", 1507.6417, 3165.3606, "T", "DIP", "ZXROW3", "", "C", 65, 65, 36, 36, 270], + [300, "X3_4", 1507.6417, 3165.3606, "T", "DIP", "ZXROW3", "", "C", 65, 65, 36, 36, 270], + [301, "X3_5", 1407.6417, 3065.3606, "T", "DIP", "ZXROW4", "", "C", 65, 65, 36, 36, 270], + [302, "X3_5", 1407.6417, 3065.3606, "T", "DIP", "ZXROW4", "", "C", 65, 65, 36, 36, 270], + [303, "X3_6", 1507.6417, 3065.3606, "T", "DIP", "ZXROW5", "", "C", 65, 65, 36, 36, 270], + [304, "X3_6", 1507.6417, 3065.3606, "T", "DIP", "ZXROW5", "", "C", 65, 65, 36, 36, 270], + [305, "X3_7", 1407.6417, 2965.3606, "T", "DIP", "ZXROW6", "", "C", 65, 65, 36, 36, 270], + [306, "X3_7", 1407.6417, 2965.3606, "T", "DIP", "ZXROW6", "", "C", 65, 65, 36, 36, 270], + [307, "X3_8", 1507.6417, 2965.3606, "T", "DIP", "ZXROW7", "", "C", 65, 65, 36, 36, 270], + [308, "X3_8", 1507.6417, 2965.3606, "T", "DIP", "ZXROW7", "", "C", 65, 65, 36, 36, 270], + [309, "X3_9", 1407.6417, 2865.3606, "T", "DIP", "SOFTRST_", "", "C", 65, 65, 36, 36, 270], + [310, "X3_9", 1407.6417, 2865.3606, "T", "DIP", "SOFTRST_", "", "C", 65, 65, 36, 36, 270], + [311, "X3_10", 1507.6417, 2865.3606, "T", "DIP", "ZXCOL4", "", "C", 65, 65, 36, 36, 270], + [312, "X3_10", 1507.6417, 2865.3606, "T", "DIP", "ZXCOL4", "", "C", 65, 65, 36, 36, 270], + [313, "X3_11", 1407.6417, 2765.3606, "T", "DIP", "ZXCOL3", "", "C", 65, 65, 36, 36, 270], + [314, "X3_11", 1407.6417, 2765.3606, "T", "DIP", "ZXCOL3", "", "C", 65, 65, 36, 36, 270], + [315, "X3_12", 1507.6417, 2765.3606, "T", "DIP", "ZXCOL2", "", "C", 65, 65, 36, 36, 270], + [316, "X3_12", 1507.6417, 2765.3606, "T", "DIP", "ZXCOL2", "", "C", 65, 65, 36, 36, 270], + [317, "X3_13", 1407.6417, 2665.3606, "T", "DIP", "ZXCOL1", "", "C", 65, 65, 36, 36, 270], + [318, "X3_13", 1407.6417, 2665.3606, "T", "DIP", "ZXCOL1", "", "C", 65, 65, 36, 36, 270], + [319, "X3_14", 1507.6417, 2665.3606, "T", "DIP", "ZXCOL0", "", "C", 65, 65, 36, 36, 270], + [320, "X3_14", 1507.6417, 2665.3606, "T", "DIP", "ZXCOL0", "", "C", 65, 65, 36, 36, 270], + [321, "X3_15", 1407.6417, 2565.3606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 270], + [322, "X3_15", 1407.6417, 2565.3606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 270], + [323, "X3_16", 1507.6417, 2565.3606, "T", "DIP", "JOYL", "", "C", 65, 65, 36, 36, 270], + [324, "X3_16", 1507.6417, 2565.3606, "T", "DIP", "JOYL", "", "C", 65, 65, 36, 36, 270], + [325, "X3_17", 1407.6417, 2465.3606, "T", "DIP", "JOYR", "", "C", 65, 65, 36, 36, 270], + [326, "X3_17", 1407.6417, 2465.3606, "T", "DIP", "JOYR", "", "C", 65, 65, 36, 36, 270], + [327, "X3_18", 1507.6417, 2465.3606, "T", "DIP", "JOYU", "", "C", 65, 65, 36, 36, 270], + [328, "X3_18", 1507.6417, 2465.3606, "T", "DIP", "JOYU", "", "C", 65, 65, 36, 36, 270], + [329, "X3_19", 1407.6417, 2365.3606, "T", "DIP", "JOYD", "", "C", 65, 65, 36, 36, 270], + [330, "X3_19", 1407.6417, 2365.3606, "T", "DIP", "JOYD", "", "C", 65, 65, 36, 36, 270], + [331, "X3_20", 1507.6417, 2365.3606, "T", "DIP", "JOYF", "", "C", 65, 65, 36, 36, 270], + [332, "X3_20", 1507.6417, 2365.3606, "T", "DIP", "JOYF", "", "C", 65, 65, 36, 36, 270], + [333, "X4_1", 1397.6378, 3787.0078, "T", "DIP", "JOYU", "", "R", 60, 60, 36, 36, 90], + [334, "X4_1", 1397.6378, 3787.0078, "T", "DIP", "JOYU", "", "R", 60, 60, 36, 36, 90], + [335, "X4_2", 1297.6378, 3787.0078, "T", "DIP", "JOYF", "", "C", 60, 60, 36, 36, 90], + [336, "X4_2", 1297.6378, 3787.0078, "T", "DIP", "JOYF", "", "C", 60, 60, 36, 36, 90], + [337, "X4_3", 1397.6378, 3887.0078, "T", "DIP", "JOYD", "", "C", 60, 60, 36, 36, 90], + [338, "X4_3", 1397.6378, 3887.0078, "T", "DIP", "JOYD", "", "C", 60, 60, 36, 36, 90], + [339, "X4_4", 1297.6378, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [340, "X4_4", 1297.6378, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [341, "X4_5", 1397.6378, 3987.0078, "T", "DIP", "JOYL", "", "C", 60, 60, 36, 36, 90], + [342, "X4_5", 1397.6378, 3987.0078, "T", "DIP", "JOYL", "", "C", 60, 60, 36, 36, 90], + [343, "X4_6", 1297.6378, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [344, "X4_6", 1297.6378, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [345, "X4_7", 1397.6378, 4087.0078, "T", "DIP", "JOYR", "", "C", 60, 60, 36, 36, 90], + [346, "X4_7", 1397.6378, 4087.0078, "T", "DIP", "JOYR", "", "C", 60, 60, 36, 36, 90], + [347, "X4_8", 1297.6378, 4087.0078, "T", "DIP", "ZXROW5", "", "C", 60, 60, 36, 36, 90], + [348, "X4_8", 1297.6378, 4087.0078, "T", "DIP", "ZXROW5", "", "C", 60, 60, 36, 36, 90], + [349, "X4_9", 1397.6378, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [350, "X4_9", 1397.6378, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [351, "X4_10", 1297.6378, 4187.0078, "T", "DIP", "NET_51", "", "C", 60, 60, 36, 36, 90], + [352, "X4_10", 1297.6378, 4187.0078, "T", "DIP", "NET_51", "", "C", 60, 60, 36, 36, 90], + [353, "X5_1", 423.4417, 3840.1606, "T", "DIP", "NET_52", "", "R", 65, 65, 36, 36, 0], + [354, "X5_1", 423.4417, 3840.1606, "T", "DIP", "NET_52", "", "R", 65, 65, 36, 36, 0], + [355, "X5_2", 423.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [356, "X5_2", 423.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [357, "X5_3", 523.4417, 3840.1606, "T", "DIP", "ZIFI_RX", "", "C", 65, 65, 36, 36, 0], + [358, "X5_3", 523.4417, 3840.1606, "T", "DIP", "ZIFI_RX", "", "C", 65, 65, 36, 36, 0], + [359, "X5_4", 523.4417, 3940.1606, "T", "DIP", "NET_53", "", "C", 65, 65, 36, 36, 0], + [360, "X5_4", 523.4417, 3940.1606, "T", "DIP", "NET_53", "", "C", 65, 65, 36, 36, 0], + [361, "X5_5", 623.4417, 3840.1606, "T", "DIP", "NET_54", "", "C", 65, 65, 36, 36, 0], + [362, "X5_5", 623.4417, 3840.1606, "T", "DIP", "NET_54", "", "C", 65, 65, 36, 36, 0], + [363, "X5_6", 623.4417, 3940.1606, "T", "DIP", "NET_55", "", "C", 65, 65, 36, 36, 0], + [364, "X5_6", 623.4417, 3940.1606, "T", "DIP", "NET_55", "", "C", 65, 65, 36, 36, 0], + [365, "X5_7", 723.4417, 3840.1606, "T", "DIP", "NET_56", "", "C", 65, 65, 36, 36, 0], + [366, "X5_7", 723.4417, 3840.1606, "T", "DIP", "NET_56", "", "C", 65, 65, 36, 36, 0], + [367, "X5_8", 723.4417, 3940.1606, "T", "DIP", "NET_57", "", "C", 65, 65, 36, 36, 0], + [368, "X5_8", 723.4417, 3940.1606, "T", "DIP", "NET_57", "", "C", 65, 65, 36, 36, 0], + [369, "X5_9", 823.4417, 3840.1606, "T", "DIP", "ZIFI_TX", "", "C", 65, 65, 36, 36, 0], + [370, "X5_9", 823.4417, 3840.1606, "T", "DIP", "ZIFI_TX", "", "C", 65, 65, 36, 36, 0], + [371, "X5_10", 823.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [372, "X5_10", 823.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [373, "X6_1", 1791.3386, 3787.0078, "T", "DIP", "ZXCOL3", "", "R", 60, 60, 36, 36, 90], + [374, "X6_1", 1791.3386, 3787.0078, "T", "DIP", "ZXCOL3", "", "R", 60, 60, 36, 36, 90], + [375, "X6_2", 1691.3386, 3787.0078, "T", "DIP", "ZXCOL4", "", "C", 60, 60, 36, 36, 90], + [376, "X6_2", 1691.3386, 3787.0078, "T", "DIP", "ZXCOL4", "", "C", 60, 60, 36, 36, 90], + [377, "X6_3", 1791.3386, 3887.0078, "T", "DIP", "ZXCOL2", "", "C", 60, 60, 36, 36, 90], + [378, "X6_3", 1791.3386, 3887.0078, "T", "DIP", "ZXCOL2", "", "C", 60, 60, 36, 36, 90], + [379, "X6_4", 1691.3386, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [380, "X6_4", 1691.3386, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [381, "X6_5", 1791.3386, 3987.0078, "T", "DIP", "ZXCOL1", "", "C", 60, 60, 36, 36, 90], + [382, "X6_5", 1791.3386, 3987.0078, "T", "DIP", "ZXCOL1", "", "C", 60, 60, 36, 36, 90], + [383, "X6_6", 1691.3386, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [384, "X6_6", 1691.3386, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [385, "X6_7", 1791.3386, 4087.0078, "T", "DIP", "ZXCOL0", "", "C", 60, 60, 36, 36, 90], + [386, "X6_7", 1791.3386, 4087.0078, "T", "DIP", "ZXCOL0", "", "C", 60, 60, 36, 36, 90], + [387, "X6_8", 1691.3386, 4087.0078, "T", "DIP", "ZXROW1", "", "C", 60, 60, 36, 36, 90], + [388, "X6_8", 1691.3386, 4087.0078, "T", "DIP", "ZXROW1", "", "C", 60, 60, 36, 36, 90], + [389, "X6_9", 1791.3386, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [390, "X6_9", 1791.3386, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [391, "X6_10", 1691.3386, 4187.0078, "T", "DIP", "NET_58", "", "C", 60, 60, 36, 36, 90], + [392, "X6_10", 1691.3386, 4187.0078, "T", "DIP", "NET_58", "", "C", 60, 60, 36, 36, 90], + [393, "X7_1", -908.8583, 4244.9606, "T", "DIP", "L_OUT", "", "R", 65, 65, 36, 36, 0], + [394, "X7_1", -908.8583, 4244.9606, "T", "DIP", "L_OUT", "", "R", 65, 65, 36, 36, 0], + [395, "X7_2", -808.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [396, "X7_2", -808.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [397, "X7_3", -708.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [398, "X7_3", -708.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [399, "X7_4", -608.8583, 4244.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 0], + [400, "X7_4", -608.8583, 4244.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 0], + [401, "PAD1_2", 471.1417, 1414.9606, "T", "DIP", "IDE5V", "", "C", 65, 65, 38, 38, 270], + [402, "PAD1_2", 471.1417, 1414.9606, "T", "DIP", "IDE5V", "", "C", 65, 65, 38, 38, 270], + [403, "PAD2_1", 471.1417, 1514.9606, "T", "DIP", "VCC5", "", "R", 65, 65, 38, 38, 270], + [404, "PAD2_1", 471.1417, 1514.9606, "T", "DIP", "VCC5", "", "R", 65, 65, 38, 38, 270], + [405, "PAD3_2", 189.3717, 3852.4908, "B", "SMD", "$1N45", "", "R", 44.588, 54.213, 0, 0, 180], + [406, "PAD4_1", 268.1117, 3852.4908, "B", "SMD", "ZIFI_RX", "", "R", 44.588, 54.213, 0, 0, 180], + [407, "PAD5_2", 295.1117, 3250.4908, "B", "SMD", "$1N192", "", "R", 44.588, 54.213, 0, 0, 0], + [408, "PAD6_1", 216.3717, 3250.4908, "B", "SMD", "ESP_SCK", "", "R", 44.588, 54.213, 0, 0, 0], + [409, "PAD7_44", 1076.1417, 4949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [410, "PAD7_44", 1076.1417, 4949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [411, "PAD8_24", 1076.1417, 2949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [412, "PAD8_24", 1076.1417, 2949.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [413, "PAD9_23", 1076.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [414, "PAD9_23", 1076.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [415, "PAD10_22", 76.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [416, "PAD10_22", 76.1417, 2849.9606, "T", "DIP", "GND", "GND", "O", 75, 55, 36, 36, 0], + [417, "PAD11_21", 76.1417, 2949.9606, "T", "DIP", "VCC5", "", "O", 75, 55, 36, 36, 0], + [418, "PAD11_21", 76.1417, 2949.9606, "T", "DIP", "VCC5", "", "O", 75, 55, 36, 36, 0], + [419, "PAD12_19", 76.1417, 3149.9606, "T", "DIP", "ESP_MOSI", "", "O", 75, 55, 36, 36, 0], + [420, "PAD12_19", 76.1417, 3149.9606, "T", "DIP", "ESP_MOSI", "", "O", 75, 55, 36, 36, 0], + [421, "PAD13_18", 76.1417, 3249.9606, "T", "DIP", "ESP_SCK", "", "O", 75, 55, 36, 36, 0], + [422, "PAD13_18", 76.1417, 3249.9606, "T", "DIP", "ESP_SCK", "", "O", 75, 55, 36, 36, 0], + [423, "PAD14_17", 76.1417, 3349.9606, "T", "DIP", "ESP_MISO", "", "O", 75, 55, 36, 36, 0], + [424, "PAD14_17", 76.1417, 3349.9606, "T", "DIP", "ESP_MISO", "", "O", 75, 55, 36, 36, 0], + [425, "PAD15_16", 76.1417, 3449.9606, "T", "DIP", "ESP_CS", "", "O", 75, 55, 36, 36, 0], + [426, "PAD15_16", 76.1417, 3449.9606, "T", "DIP", "ESP_CS", "", "O", 75, 55, 36, 36, 0], + [427, "PAD16_12", 76.1417, 3849.9606, "T", "DIP", "$1N45", "", "O", 75, 55, 36, 36, 0], + [428, "PAD16_12", 76.1417, 3849.9606, "T", "DIP", "$1N45", "", "O", 75, 55, 36, 36, 0], + [429, "PAD17_11", 76.1417, 3949.9606, "T", "DIP", "ZIFI_TX", "", "O", 75, 55, 36, 36, 0], + [430, "PAD17_11", 76.1417, 3949.9606, "T", "DIP", "ZIFI_TX", "", "O", 75, 55, 36, 36, 0], + [431, "PAD18_10", 76.1417, 4049.9606, "T", "DIP", "PCM_DIN", "", "O", 75, 55, 36, 36, 0], + [432, "PAD18_10", 76.1417, 4049.9606, "T", "DIP", "PCM_DIN", "", "O", 75, 55, 36, 36, 0], + [433, "PAD19_9", 76.1417, 4149.9606, "T", "DIP", "PCM_LRCK", "", "O", 75, 55, 36, 36, 0], + [434, "PAD19_9", 76.1417, 4149.9606, "T", "DIP", "PCM_LRCK", "", "O", 75, 55, 36, 36, 0], + [435, "PAD20_8", 76.1417, 4249.9606, "T", "DIP", "PCM_BLK", "", "O", 75, 55, 36, 36, 0], + [436, "PAD20_8", 76.1417, 4249.9606, "T", "DIP", "PCM_BLK", "", "O", 75, 55, 36, 36, 0], + [437, "PAD21_1", -108.8583, 2949.9606, "T", "DIP", "VCC5", "", "C", 65, 65, 36, 36, 90], + [438, "PAD21_1", -108.8583, 2949.9606, "T", "DIP", "VCC5", "", "C", 65, 65, 36, 36, 90], + [439, "PAD22_3", -108.8583, 3149.9606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 90], + [440, "PAD22_3", -108.8583, 3149.9606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 90], + [441, "PAD23_4", -108.8583, 3249.9606, "T", "DIP", "PCM_LRCK", "", "C", 65, 65, 36, 36, 90], + [442, "PAD23_4", -108.8583, 3249.9606, "T", "DIP", "PCM_LRCK", "", "C", 65, 65, 36, 36, 90], + [443, "PAD24_5", -108.8583, 3349.9606, "T", "DIP", "PCM_DIN", "", "C", 65, 65, 36, 36, 90], + [444, "PAD24_5", -108.8583, 3349.9606, "T", "DIP", "PCM_DIN", "", "C", 65, 65, 36, 36, 90], + [445, "PAD25_6", -108.8583, 3449.9606, "T", "DIP", "PCM_BLK", "", "C", 65, 65, 36, 36, 90], + [446, "PAD25_6", -108.8583, 3449.9606, "T", "DIP", "PCM_BLK", "", "C", 65, 65, 36, 36, 90], + [447, "PAD26_7", -108.8583, 3549.9606, "T", "DIP", "L_OUT", "", "C", 65, 65, 36, 36, 90], + [448, "PAD26_7", -108.8583, 3549.9606, "T", "DIP", "L_OUT", "", "C", 65, 65, 36, 36, 90], + [449, "PAD27_8", -108.8583, 3649.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 90], + [450, "PAD27_8", -108.8583, 3649.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 90], + [451, "PAD28_9", -108.8583, 3749.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 90], + [452, "PAD28_9", -108.8583, 3749.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 90], + [453, "PAD29_40", 766.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [454, "PAD29_40", 766.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [455, "PAD30_39", 866.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [456, "PAD30_39", 866.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [457, "PAD31_38", 766.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [458, "PAD31_38", 766.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [459, "PAD32_37", 866.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [460, "PAD32_37", 866.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [461, "PAD33_36", 766.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [462, "PAD33_36", 766.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [463, "PAD34_35", 866.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [464, "PAD34_35", 866.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [465, "PAD35_33", 866.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [466, "PAD35_33", 866.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [467, "PAD36_30", 766.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [468, "PAD36_30", 766.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [469, "PAD37_27", 866.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [470, "PAD37_27", 866.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [471, "PAD38_26", 766.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [472, "PAD38_26", 766.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [473, "PAD39_25", 866.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [474, "PAD39_25", 866.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [475, "PAD40_24", 766.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [476, "PAD40_24", 766.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [477, "PAD41_23", 866.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [478, "PAD41_23", 866.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [479, "PAD42_22", 766.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [480, "PAD42_22", 766.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [481, "PAD43_20", 766.1417, 1114.9606, "T", "DIP", "$1N233", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [482, "PAD43_20", 766.1417, 1114.9606, "T", "DIP", "$1N233", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [483, "PAD44_19", 866.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [484, "PAD44_19", 866.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [485, "PAD45_18", 766.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [486, "PAD45_18", 766.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [487, "PAD46_17", 866.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [488, "PAD46_17", 866.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [489, "PAD47_16", 766.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [490, "PAD47_16", 766.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [491, "PAD48_15", 866.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [492, "PAD48_15", 866.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [493, "PAD49_14", 766.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [494, "PAD49_14", 766.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [495, "PAD50_13", 866.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [496, "PAD50_13", 866.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [497, "PAD51_12", 766.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [498, "PAD51_12", 766.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [499, "PAD52_11", 866.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [500, "PAD52_11", 866.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [501, "PAD53_10", 766.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [502, "PAD53_10", 766.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [503, "PAD54_9", 866.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [504, "PAD54_9", 866.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [505, "PAD55_8", 766.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [506, "PAD55_8", 766.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [507, "PAD56_7", 866.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [508, "PAD56_7", 866.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [509, "PAD57_6", 766.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [510, "PAD57_6", 766.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [511, "PAD58_5", 866.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [512, "PAD58_5", 866.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [513, "PAD59_4", 766.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [514, "PAD59_4", 766.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [515, "PAD60_3", 866.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [516, "PAD60_3", 866.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 39.37, 39.37, 90], + [517, "PAD61_2", 766.1417, 214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [518, "PAD61_2", 766.1417, 214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 39.37, 39.37, 90], + [519, "PAD62_1", 866.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 39.37, 39.37, 90], + [520, "PAD62_1", 866.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 39.37, 39.37, 90], + [521, "PAD63_1", 241.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 36, 36, 90], + [522, "PAD63_1", 241.1417, 214.9606, "T", "DIP", "ESP_CS", "", "R", 62.992, 62.992, 36, 36, 90], + [523, "PAD64_3", 241.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 36, 36, 90], + [524, "PAD64_3", 241.1417, 314.9606, "T", "DIP", "ID7", "", "C", 62.992, 62.992, 36, 36, 90], + [525, "PAD65_4", 141.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 36, 36, 90], + [526, "PAD65_4", 141.1417, 314.9606, "T", "DIP", "ID8", "", "C", 62.992, 62.992, 36, 36, 90], + [527, "PAD66_5", 241.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 36, 36, 90], + [528, "PAD66_5", 241.1417, 414.9606, "T", "DIP", "ID6", "", "C", 62.992, 62.992, 36, 36, 90], + [529, "PAD67_6", 141.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 36, 36, 90], + [530, "PAD67_6", 141.1417, 414.9606, "T", "DIP", "ID9", "", "C", 62.992, 62.992, 36, 36, 90], + [531, "PAD68_7", 241.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 36, 36, 90], + [532, "PAD68_7", 241.1417, 514.9606, "T", "DIP", "ID5", "", "C", 62.992, 62.992, 36, 36, 90], + [533, "PAD69_8", 141.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 36, 36, 90], + [534, "PAD69_8", 141.1417, 514.9606, "T", "DIP", "ID10", "", "C", 62.992, 62.992, 36, 36, 90], + [535, "PAD70_9", 241.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 36, 36, 90], + [536, "PAD70_9", 241.1417, 614.9606, "T", "DIP", "ID4", "", "C", 62.992, 62.992, 36, 36, 90], + [537, "PAD71_10", 141.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 36, 36, 90], + [538, "PAD71_10", 141.1417, 614.9606, "T", "DIP", "ID11", "", "C", 62.992, 62.992, 36, 36, 90], + [539, "PAD72_11", 241.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 36, 36, 90], + [540, "PAD72_11", 241.1417, 714.9606, "T", "DIP", "ID3", "", "C", 62.992, 62.992, 36, 36, 90], + [541, "PAD73_12", 141.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 36, 36, 90], + [542, "PAD73_12", 141.1417, 714.9606, "T", "DIP", "ID12", "", "C", 62.992, 62.992, 36, 36, 90], + [543, "PAD74_13", 241.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 36, 36, 90], + [544, "PAD74_13", 241.1417, 814.9606, "T", "DIP", "ID2", "", "C", 62.992, 62.992, 36, 36, 90], + [545, "PAD75_14", 141.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 36, 36, 90], + [546, "PAD75_14", 141.1417, 814.9606, "T", "DIP", "ID13", "", "C", 62.992, 62.992, 36, 36, 90], + [547, "PAD76_15", 241.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 36, 36, 90], + [548, "PAD76_15", 241.1417, 914.9606, "T", "DIP", "ID1", "", "C", 62.992, 62.992, 36, 36, 90], + [549, "PAD77_16", 141.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 36, 36, 90], + [550, "PAD77_16", 141.1417, 914.9606, "T", "DIP", "ID14", "", "C", 62.992, 62.992, 36, 36, 90], + [551, "PAD78_17", 241.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 36, 36, 90], + [552, "PAD78_17", 241.1417, 1014.9606, "T", "DIP", "ID0", "", "C", 62.992, 62.992, 36, 36, 90], + [553, "PAD79_18", 141.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 36, 36, 90], + [554, "PAD79_18", 141.1417, 1014.9606, "T", "DIP", "ID15", "", "C", 62.992, 62.992, 36, 36, 90], + [555, "PAD80_19", 241.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 55, 55, 36, 36, 90], + [556, "PAD80_19", 241.1417, 1114.9606, "T", "DIP", "GND", "GND", "C", 55, 55, 36, 36, 90], + [557, "PAD81_20", 141.1417, 1114.9606, "T", "DIP", "IDE5V", "", "C", 62.992, 62.992, 36, 36, 90], + [558, "PAD81_20", 141.1417, 1114.9606, "T", "DIP", "IDE5V", "", "C", 62.992, 62.992, 36, 36, 90], + [559, "PAD82_22", 141.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [560, "PAD82_22", 141.1417, 1214.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [561, "PAD83_23", 241.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 36, 36, 90], + [562, "PAD83_23", 241.1417, 1314.9606, "T", "DIP", "IWR_", "", "C", 62.992, 62.992, 36, 36, 90], + [563, "PAD84_24", 141.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [564, "PAD84_24", 141.1417, 1314.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [565, "PAD85_25", 241.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 36, 36, 90], + [566, "PAD85_25", 241.1417, 1414.9606, "T", "DIP", "IRD_", "", "C", 62.992, 62.992, 36, 36, 90], + [567, "PAD86_26", 141.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [568, "PAD86_26", 141.1417, 1414.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [569, "PAD87_27", 241.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 36, 36, 90], + [570, "PAD87_27", 241.1417, 1514.9606, "T", "DIP", "ESP_MISO", "", "C", 62.992, 62.992, 36, 36, 90], + [571, "PAD88_30", 141.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [572, "PAD88_30", 141.1417, 1614.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [573, "PAD89_33", 241.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 36, 36, 90], + [574, "PAD89_33", 241.1417, 1814.9606, "T", "DIP", "ESP_MOSI", "", "C", 62.992, 62.992, 36, 36, 90], + [575, "PAD90_35", 241.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 36, 36, 90], + [576, "PAD90_35", 241.1417, 1914.9606, "T", "DIP", "$1N192", "", "C", 62.992, 62.992, 36, 36, 90], + [577, "PAD91_36", 141.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 36, 36, 90], + [578, "PAD91_36", 141.1417, 1914.9606, "T", "DIP", "IA2", "", "C", 62.992, 62.992, 36, 36, 90], + [579, "PAD92_37", 241.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 36, 36, 90], + [580, "PAD92_37", 241.1417, 2014.9606, "T", "DIP", "ICS0_", "", "C", 62.992, 62.992, 36, 36, 90], + [581, "PAD93_38", 141.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 36, 36, 90], + [582, "PAD93_38", 141.1417, 2014.9606, "T", "DIP", "ICS1_", "", "C", 62.992, 62.992, 36, 36, 90], + [583, "PAD94_39", 241.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 36, 36, 90], + [584, "PAD94_39", 241.1417, 2114.9606, "T", "DIP", "DASP_", "", "C", 62.992, 62.992, 36, 36, 90], + [585, "PAD95_40", 141.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [586, "PAD95_40", 141.1417, 2114.9606, "T", "DIP", "GND", "GND", "C", 62.992, 62.992, 36, 36, 90], + [587, "PAD96_20", 1507.6417, 2365.3606, "T", "DIP", "JOYF", "", "C", 65, 65, 36, 36, 270], + [588, "PAD96_20", 1507.6417, 2365.3606, "T", "DIP", "JOYF", "", "C", 65, 65, 36, 36, 270], + [589, "PAD97_19", 1407.6417, 2365.3606, "T", "DIP", "JOYD", "", "C", 65, 65, 36, 36, 270], + [590, "PAD97_19", 1407.6417, 2365.3606, "T", "DIP", "JOYD", "", "C", 65, 65, 36, 36, 270], + [591, "PAD98_18", 1507.6417, 2465.3606, "T", "DIP", "JOYU", "", "C", 65, 65, 36, 36, 270], + [592, "PAD98_18", 1507.6417, 2465.3606, "T", "DIP", "JOYU", "", "C", 65, 65, 36, 36, 270], + [593, "PAD99_17", 1407.6417, 2465.3606, "T", "DIP", "JOYR", "", "C", 65, 65, 36, 36, 270], + [594, "PAD99_17", 1407.6417, 2465.3606, "T", "DIP", "JOYR", "", "C", 65, 65, 36, 36, 270], + [595, "PAD100_16", 1507.6417, 2565.3606, "T", "DIP", "JOYL", "", "C", 65, 65, 36, 36, 270], + [596, "PAD100_16", 1507.6417, 2565.3606, "T", "DIP", "JOYL", "", "C", 65, 65, 36, 36, 270], + [597, "PAD101_15", 1407.6417, 2565.3606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 270], + [598, "PAD101_15", 1407.6417, 2565.3606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 270], + [599, "PAD102_14", 1507.6417, 2665.3606, "T", "DIP", "ZXCOL0", "", "C", 65, 65, 36, 36, 270], + [600, "PAD102_14", 1507.6417, 2665.3606, "T", "DIP", "ZXCOL0", "", "C", 65, 65, 36, 36, 270], + [601, "PAD103_13", 1407.6417, 2665.3606, "T", "DIP", "ZXCOL1", "", "C", 65, 65, 36, 36, 270], + [602, "PAD103_13", 1407.6417, 2665.3606, "T", "DIP", "ZXCOL1", "", "C", 65, 65, 36, 36, 270], + [603, "PAD104_12", 1507.6417, 2765.3606, "T", "DIP", "ZXCOL2", "", "C", 65, 65, 36, 36, 270], + [604, "PAD104_12", 1507.6417, 2765.3606, "T", "DIP", "ZXCOL2", "", "C", 65, 65, 36, 36, 270], + [605, "PAD105_11", 1407.6417, 2765.3606, "T", "DIP", "ZXCOL3", "", "C", 65, 65, 36, 36, 270], + [606, "PAD105_11", 1407.6417, 2765.3606, "T", "DIP", "ZXCOL3", "", "C", 65, 65, 36, 36, 270], + [607, "PAD106_10", 1507.6417, 2865.3606, "T", "DIP", "ZXCOL4", "", "C", 65, 65, 36, 36, 270], + [608, "PAD106_10", 1507.6417, 2865.3606, "T", "DIP", "ZXCOL4", "", "C", 65, 65, 36, 36, 270], + [609, "PAD107_9", 1407.6417, 2865.3606, "T", "DIP", "SOFTRST_", "", "C", 65, 65, 36, 36, 270], + [610, "PAD107_9", 1407.6417, 2865.3606, "T", "DIP", "SOFTRST_", "", "C", 65, 65, 36, 36, 270], + [611, "PAD108_8", 1507.6417, 2965.3606, "T", "DIP", "ZXROW7", "", "C", 65, 65, 36, 36, 270], + [612, "PAD108_8", 1507.6417, 2965.3606, "T", "DIP", "ZXROW7", "", "C", 65, 65, 36, 36, 270], + [613, "PAD109_7", 1407.6417, 2965.3606, "T", "DIP", "ZXROW6", "", "C", 65, 65, 36, 36, 270], + [614, "PAD109_7", 1407.6417, 2965.3606, "T", "DIP", "ZXROW6", "", "C", 65, 65, 36, 36, 270], + [615, "PAD110_6", 1507.6417, 3065.3606, "T", "DIP", "ZXROW5", "", "C", 65, 65, 36, 36, 270], + [616, "PAD110_6", 1507.6417, 3065.3606, "T", "DIP", "ZXROW5", "", "C", 65, 65, 36, 36, 270], + [617, "PAD111_5", 1407.6417, 3065.3606, "T", "DIP", "ZXROW4", "", "C", 65, 65, 36, 36, 270], + [618, "PAD111_5", 1407.6417, 3065.3606, "T", "DIP", "ZXROW4", "", "C", 65, 65, 36, 36, 270], + [619, "PAD112_4", 1507.6417, 3165.3606, "T", "DIP", "ZXROW3", "", "C", 65, 65, 36, 36, 270], + [620, "PAD112_4", 1507.6417, 3165.3606, "T", "DIP", "ZXROW3", "", "C", 65, 65, 36, 36, 270], + [621, "PAD113_3", 1407.6417, 3165.3606, "T", "DIP", "ZXROW2", "", "C", 65, 65, 36, 36, 270], + [622, "PAD113_3", 1407.6417, 3165.3606, "T", "DIP", "ZXROW2", "", "C", 65, 65, 36, 36, 270], + [623, "PAD114_2", 1507.6417, 3265.3606, "T", "DIP", "ZXROW1", "", "C", 65, 65, 36, 36, 270], + [624, "PAD114_2", 1507.6417, 3265.3606, "T", "DIP", "ZXROW1", "", "C", 65, 65, 36, 36, 270], + [625, "PAD115_1", 1407.6417, 3265.3606, "T", "DIP", "ZXROW0", "", "R", 65, 65, 36, 36, 270], + [626, "PAD115_1", 1407.6417, 3265.3606, "T", "DIP", "ZXROW0", "", "R", 65, 65, 36, 36, 270], + [627, "PAD116_1", 1397.6378, 3787.0078, "T", "DIP", "JOYU", "", "R", 60, 60, 36, 36, 90], + [628, "PAD116_1", 1397.6378, 3787.0078, "T", "DIP", "JOYU", "", "R", 60, 60, 36, 36, 90], + [629, "PAD117_2", 1297.6378, 3787.0078, "T", "DIP", "JOYF", "", "C", 60, 60, 36, 36, 90], + [630, "PAD117_2", 1297.6378, 3787.0078, "T", "DIP", "JOYF", "", "C", 60, 60, 36, 36, 90], + [631, "PAD118_3", 1397.6378, 3887.0078, "T", "DIP", "JOYD", "", "C", 60, 60, 36, 36, 90], + [632, "PAD118_3", 1397.6378, 3887.0078, "T", "DIP", "JOYD", "", "C", 60, 60, 36, 36, 90], + [633, "PAD119_4", 1297.6378, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [634, "PAD119_4", 1297.6378, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [635, "PAD120_5", 1397.6378, 3987.0078, "T", "DIP", "JOYL", "", "C", 60, 60, 36, 36, 90], + [636, "PAD120_5", 1397.6378, 3987.0078, "T", "DIP", "JOYL", "", "C", 60, 60, 36, 36, 90], + [637, "PAD121_6", 1297.6378, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [638, "PAD121_6", 1297.6378, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [639, "PAD122_7", 1397.6378, 4087.0078, "T", "DIP", "JOYR", "", "C", 60, 60, 36, 36, 90], + [640, "PAD122_7", 1397.6378, 4087.0078, "T", "DIP", "JOYR", "", "C", 60, 60, 36, 36, 90], + [641, "PAD123_8", 1297.6378, 4087.0078, "T", "DIP", "ZXROW5", "", "C", 60, 60, 36, 36, 90], + [642, "PAD123_8", 1297.6378, 4087.0078, "T", "DIP", "ZXROW5", "", "C", 60, 60, 36, 36, 90], + [643, "PAD124_9", 1397.6378, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [644, "PAD124_9", 1397.6378, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [645, "PAD125_10", 823.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [646, "PAD125_10", 823.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [647, "PAD126_9", 823.4417, 3840.1606, "T", "DIP", "ZIFI_TX", "", "C", 65, 65, 36, 36, 0], + [648, "PAD126_9", 823.4417, 3840.1606, "T", "DIP", "ZIFI_TX", "", "C", 65, 65, 36, 36, 0], + [649, "PAD127_3", 523.4417, 3840.1606, "T", "DIP", "ZIFI_RX", "", "C", 65, 65, 36, 36, 0], + [650, "PAD127_3", 523.4417, 3840.1606, "T", "DIP", "ZIFI_RX", "", "C", 65, 65, 36, 36, 0], + [651, "PAD128_2", 423.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [652, "PAD128_2", 423.4417, 3940.1606, "T", "DIP", "GND", "GND", "C", 65, 65, 36, 36, 0], + [653, "PAD129_1", 1791.3386, 3787.0078, "T", "DIP", "ZXCOL3", "", "R", 60, 60, 36, 36, 90], + [654, "PAD129_1", 1791.3386, 3787.0078, "T", "DIP", "ZXCOL3", "", "R", 60, 60, 36, 36, 90], + [655, "PAD130_2", 1691.3386, 3787.0078, "T", "DIP", "ZXCOL4", "", "C", 60, 60, 36, 36, 90], + [656, "PAD130_2", 1691.3386, 3787.0078, "T", "DIP", "ZXCOL4", "", "C", 60, 60, 36, 36, 90], + [657, "PAD131_3", 1791.3386, 3887.0078, "T", "DIP", "ZXCOL2", "", "C", 60, 60, 36, 36, 90], + [658, "PAD131_3", 1791.3386, 3887.0078, "T", "DIP", "ZXCOL2", "", "C", 60, 60, 36, 36, 90], + [659, "PAD132_4", 1691.3386, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [660, "PAD132_4", 1691.3386, 3887.0078, "T", "DIP", "ZXROW2", "", "C", 60, 60, 36, 36, 90], + [661, "PAD133_5", 1791.3386, 3987.0078, "T", "DIP", "ZXCOL1", "", "C", 60, 60, 36, 36, 90], + [662, "PAD133_5", 1791.3386, 3987.0078, "T", "DIP", "ZXCOL1", "", "C", 60, 60, 36, 36, 90], + [663, "PAD134_6", 1691.3386, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [664, "PAD134_6", 1691.3386, 3987.0078, "T", "DIP", "GND", "GND", "C", 60, 60, 36, 36, 90], + [665, "PAD135_7", 1791.3386, 4087.0078, "T", "DIP", "ZXCOL0", "", "C", 60, 60, 36, 36, 90], + [666, "PAD135_7", 1791.3386, 4087.0078, "T", "DIP", "ZXCOL0", "", "C", 60, 60, 36, 36, 90], + [667, "PAD136_8", 1691.3386, 4087.0078, "T", "DIP", "ZXROW1", "", "C", 60, 60, 36, 36, 90], + [668, "PAD136_8", 1691.3386, 4087.0078, "T", "DIP", "ZXROW1", "", "C", 60, 60, 36, 36, 90], + [669, "PAD137_9", 1791.3386, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [670, "PAD137_9", 1791.3386, 4187.0078, "T", "DIP", "VCC5", "", "C", 60, 60, 36, 36, 90], + [671, "PAD138_1", -908.8583, 4244.9606, "T", "DIP", "L_OUT", "", "R", 65, 65, 36, 36, 0], + [672, "PAD138_1", -908.8583, 4244.9606, "T", "DIP", "L_OUT", "", "R", 65, 65, 36, 36, 0], + [673, "PAD139_2", -808.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [674, "PAD139_2", -808.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [675, "PAD140_3", -708.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [676, "PAD140_3", -708.8583, 4244.9606, "T", "DIP", "AGND", "", "C", 65, 65, 36, 36, 0], + [677, "PAD141_4", -608.8583, 4244.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 0], + [678, "PAD141_4", -608.8583, 4244.9606, "T", "DIP", "R_OUT", "", "C", 65, 65, 36, 36, 0], + [679, "PAD142_1", 623.7817, 2454.9606, "T", "SMD", "VCC5", "", "R", 74.803, 93.543, 0, 0, 180], + [680, "PAD143_2", 828.5017, 2454.9606, "T", "SMD", "GND", "GND", "R", 74.803, 93.543, 0, 0, 180], + [681, "PAD144_1", 621.1417, 1657.5206, "T", "DIP", "VCC5", "", "C", 70.866, 70.866, 39.37, 39.37, 270], + [682, "PAD144_1", 621.1417, 1657.5206, "T", "DIP", "VCC5", "", "C", 70.866, 70.866, 39.37, 39.37, 270], + [683, "PAD145_2", 621.1417, 1315.0006, "T", "DIP", "$1N233", "", "C", 70.866, 70.866, 39.37, 39.37, 270], + [684, "PAD145_2", 621.1417, 1315.0006, "T", "DIP", "$1N233", "", "C", 70.866, 70.866, 39.37, 39.37, 270] + ] +} +} \ No newline at end of file diff --git a/hardware/gerber/Gerber_BoardOutlineLayer.GKO b/hardware/gerber/Gerber_BoardOutlineLayer.GKO new file mode 100644 index 0000000..f554376 --- /dev/null +++ b/hardware/gerber/Gerber_BoardOutlineLayer.GKO @@ -0,0 +1,62 @@ +G04 Layer: BoardOutlineLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%ADD10C,0.254*% +%ADD11C,0.8282*% +G75* + + +G04 PolygonModel Start* +G54D10* +G01X4777706Y5500016D02* +G01X2454000Y5500016D01* +G01X2454000Y5500016D02* +G01X2454000Y150000D01* +G01X4927706Y5650016D02* +G01X4900000Y11150000D01* +G01X2750004Y13499997D02* +G01X150000Y13500000D01* +G01X0Y13350000D02* +G01X0Y10946000D01* +G01X2304000Y0D02* +G01X150000Y0D01* +G01X-2572300Y10796000D02* +G01X-2572300Y6796000D01* +G01X-2422300Y10946000D02* +G01X0Y10946000D01* +G01X-2422300Y6646000D02* +G01X0Y6646000D01* +G01X2900000Y11300000D02* +G01X2900004Y13349997D01* +G01X2900000Y11300000D02* +G01X4750000Y11300000D01* +G01X0Y6646000D02* +G01X0Y150000D01* +G01X2900004Y13349997D02* +G03X2750004Y13499997I-150000J0D01* +G01X150000Y13500000D02* +G03X0Y13350000I0J-150000D01* +G01X4777706Y5500016D02* +G03X4927706Y5650016I0J150000D01* +G01X4900000Y11150000D02* +G03X4750000Y11300000I-150000J0D01* +G01X-2572300Y6796000D02* +G03X-2422300Y6646000I150000J0D01* +G01X-2422300Y10946000D02* +G03X-2572300Y10796000I0J-150000D01* +G01X2304000Y0D02* +G03X2454000Y150000I0J150000D01* +G01X0Y150000D02* +G03X150000Y0I150000J0D01* + +M02* + diff --git a/hardware/gerber/Gerber_BottomLayer.GBL b/hardware/gerber/Gerber_BottomLayer.GBL new file mode 100644 index 0000000..dcd098f --- /dev/null +++ b/hardware/gerber/Gerber_BottomLayer.GBL @@ -0,0 +1,8024 @@ +G04 Layer: BottomLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 85* +%FSLAX45Y45*% +%MOMM*% +%ADD10C,0.2032*% +%ADD11C,0.254*% +%ADD12C,1.651*% +%ADD13R,1.651X1.651*% +%ADD14R,1.13254X1.37701*% +%ADD15O,1.905X1.397*% +%ADD16R,1.9127X1.397*% +%ADD17R,1.905X1.397*% +%ADD18C,1.6*% +%ADD19R,1.6X1.6*% +%ADD20C,1.397*% +%ADD21R,1.524X1.524*% +%ADD22C,1.524*% +%ADD23C,1.8*% +%ADD24C,0.4064*% +%ADD25C,1.016*% +G75* + + +G04 Copper Start* +G36* +G01X-5842Y6762187D02* +G01X-5842Y6681814D01* +G01X-2422300Y6681814D01* +G01X-2442128Y6683549D01* +G01X-2461354Y6688700D01* +G01X-2479393Y6697112D01* +G01X-2495697Y6708528D01* +G01X-2509772Y6722603D01* +G01X-2521188Y6738907D01* +G01X-2529600Y6756946D01* +G01X-2534751Y6776172D01* +G01X-2536486Y6796000D01* +G01X-2536486Y7503821D01* +G01X-394359Y7503821D01* +G01X-394359Y7481979D01* +G01X-390346Y7460508D01* +G01X-382455Y7440141D01* +G01X-370957Y7421570D01* +G01X-356241Y7405428D01* +G01X-338811Y7392265D01* +G01X-319258Y7382529D01* +G01X-298249Y7376551D01* +G01X-276500Y7374536D01* +G01X-276500Y7374536D01* +G01X-254751Y7376551D01* +G01X-233742Y7382529D01* +G01X-214189Y7392265D01* +G01X-196759Y7405428D01* +G01X-182044Y7421570D01* +G01X-170545Y7440141D01* +G01X-162655Y7460508D01* +G01X-158641Y7481979D01* +G01X-158641Y7503821D01* +G01X-162655Y7525292D01* +G01X-170545Y7545659D01* +G01X-182044Y7564230D01* +G01X-196759Y7580372D01* +G01X-214189Y7593535D01* +G01X-233742Y7603271D01* +G01X-254751Y7609249D01* +G01X-276500Y7611264D01* +G01X-298249Y7609249D01* +G01X-319258Y7603271D01* +G01X-338811Y7593535D01* +G01X-356241Y7580372D01* +G01X-370957Y7564230D01* +G01X-382455Y7545659D01* +G01X-390346Y7525292D01* +G01X-394359Y7503821D01* +G01X-2536486Y7503821D01* +G01X-2536486Y7757821D01* +G01X-2426359Y7757821D01* +G01X-2426359Y7735979D01* +G01X-2422346Y7714508D01* +G01X-2414455Y7694141D01* +G01X-2402957Y7675570D01* +G01X-2388241Y7659428D01* +G01X-2370811Y7646265D01* +G01X-2351258Y7636529D01* +G01X-2330249Y7630551D01* +G01X-2308500Y7628536D01* +G01X-2308500Y7628536D01* +G01X-2286751Y7630551D01* +G01X-2265742Y7636529D01* +G01X-2246189Y7646265D01* +G01X-2228759Y7659428D01* +G01X-2214044Y7675570D01* +G01X-2202545Y7694141D01* +G01X-2194655Y7714508D01* +G01X-2190641Y7735979D01* +G01X-2190641Y7757821D01* +G01X-2190641Y7757821D01* +G01X-394359Y7757821D01* +G01X-394359Y7735979D01* +G01X-390346Y7714508D01* +G01X-382455Y7694141D01* +G01X-370957Y7675570D01* +G01X-356241Y7659428D01* +G01X-338811Y7646265D01* +G01X-319258Y7636529D01* +G01X-298249Y7630551D01* +G01X-276500Y7628536D01* +G01X-276500Y7628536D01* +G01X-254751Y7630551D01* +G01X-233742Y7636529D01* +G01X-214189Y7646265D01* +G01X-196759Y7659428D01* +G01X-182044Y7675570D01* +G01X-170545Y7694141D01* +G01X-162655Y7714508D01* +G01X-158641Y7735979D01* +G01X-158641Y7757821D01* +G01X-162655Y7779292D01* +G01X-170545Y7799659D01* +G01X-182044Y7818230D01* +G01X-196759Y7834372D01* +G01X-214189Y7847535D01* +G01X-233742Y7857271D01* +G01X-254751Y7863249D01* +G01X-276500Y7865264D01* +G01X-298249Y7863249D01* +G01X-319258Y7857271D01* +G01X-338811Y7847535D01* +G01X-356241Y7834372D01* +G01X-370957Y7818230D01* +G01X-382455Y7799659D01* +G01X-390346Y7779292D01* +G01X-394359Y7757821D01* +G01X-2190641Y7757821D01* +G01X-2194655Y7779292D01* +G01X-2202545Y7799659D01* +G01X-2214044Y7818230D01* +G01X-2228759Y7834372D01* +G01X-2246189Y7847535D01* +G01X-2265742Y7857271D01* +G01X-2286751Y7863249D01* +G01X-2308500Y7865264D01* +G01X-2330249Y7863249D01* +G01X-2351258Y7857271D01* +G01X-2370811Y7847535D01* +G01X-2388241Y7834372D01* +G01X-2402957Y7818230D01* +G01X-2414455Y7799659D01* +G01X-2422346Y7779292D01* +G01X-2426359Y7757821D01* +G01X-2536486Y7757821D01* +G01X-2536486Y8011821D01* +G01X-2426359Y8011821D01* +G01X-2426359Y7989979D01* +G01X-2422346Y7968508D01* +G01X-2414455Y7948141D01* +G01X-2402957Y7929570D01* +G01X-2388241Y7913428D01* +G01X-2370811Y7900265D01* +G01X-2351258Y7890529D01* +G01X-2330249Y7884551D01* +G01X-2308500Y7882536D01* +G01X-2308500Y7882536D01* +G01X-2286751Y7884551D01* +G01X-2265742Y7890529D01* +G01X-2246189Y7900265D01* +G01X-2228759Y7913428D01* +G01X-2214044Y7929570D01* +G01X-2202545Y7948141D01* +G01X-2194655Y7968508D01* +G01X-2190641Y7989979D01* +G01X-2190641Y8011821D01* +G01X-2190641Y8011821D01* +G01X-394359Y8011821D01* +G01X-394359Y7989979D01* +G01X-390346Y7968508D01* +G01X-382455Y7948141D01* +G01X-370957Y7929570D01* +G01X-356241Y7913428D01* +G01X-338811Y7900265D01* +G01X-319258Y7890529D01* +G01X-298249Y7884551D01* +G01X-276500Y7882536D01* +G01X-276500Y7882536D01* +G01X-254751Y7884551D01* +G01X-233742Y7890529D01* +G01X-214189Y7900265D01* +G01X-196759Y7913428D01* +G01X-182044Y7929570D01* +G01X-170545Y7948141D01* +G01X-162655Y7968508D01* +G01X-158641Y7989979D01* +G01X-158641Y8011821D01* +G01X-162655Y8033292D01* +G01X-170545Y8053659D01* +G01X-182044Y8072230D01* +G01X-196759Y8088372D01* +G01X-214189Y8101535D01* +G01X-233742Y8111271D01* +G01X-254751Y8117249D01* +G01X-276500Y8119264D01* +G01X-298249Y8117249D01* +G01X-319258Y8111271D01* +G01X-338811Y8101535D01* +G01X-356241Y8088372D01* +G01X-370957Y8072230D01* +G01X-382455Y8053659D01* +G01X-390346Y8033292D01* +G01X-394359Y8011821D01* +G01X-2190641Y8011821D01* +G01X-2194655Y8033292D01* +G01X-2202545Y8053659D01* +G01X-2214044Y8072230D01* +G01X-2228759Y8088372D01* +G01X-2246189Y8101535D01* +G01X-2265742Y8111271D01* +G01X-2286751Y8117249D01* +G01X-2308500Y8119264D01* +G01X-2330249Y8117249D01* +G01X-2351258Y8111271D01* +G01X-2370811Y8101535D01* +G01X-2388241Y8088372D01* +G01X-2402957Y8072230D01* +G01X-2414455Y8053659D01* +G01X-2422346Y8033292D01* +G01X-2426359Y8011821D01* +G01X-2536486Y8011821D01* +G01X-2536486Y8265821D01* +G01X-2426359Y8265821D01* +G01X-2426359Y8243979D01* +G01X-2422346Y8222508D01* +G01X-2414455Y8202141D01* +G01X-2402957Y8183570D01* +G01X-2388241Y8167428D01* +G01X-2370811Y8154265D01* +G01X-2351258Y8144529D01* +G01X-2330249Y8138551D01* +G01X-2308500Y8136536D01* +G01X-2308500Y8136536D01* +G01X-2286751Y8138551D01* +G01X-2265742Y8144529D01* +G01X-2246189Y8154265D01* +G01X-2228759Y8167428D01* +G01X-2214044Y8183570D01* +G01X-2202545Y8202141D01* +G01X-2194655Y8222508D01* +G01X-2190641Y8243979D01* +G01X-2190641Y8265821D01* +G01X-2190641Y8265821D01* +G01X-394359Y8265821D01* +G01X-394359Y8243979D01* +G01X-390346Y8222508D01* +G01X-382455Y8202141D01* +G01X-370957Y8183570D01* +G01X-356241Y8167428D01* +G01X-338811Y8154265D01* +G01X-319258Y8144529D01* +G01X-298249Y8138551D01* +G01X-276500Y8136536D01* +G01X-276500Y8136536D01* +G01X-254751Y8138551D01* +G01X-233742Y8144529D01* +G01X-214189Y8154265D01* +G01X-196759Y8167428D01* +G01X-182044Y8183570D01* +G01X-170545Y8202141D01* +G01X-162655Y8222508D01* +G01X-158641Y8243979D01* +G01X-158641Y8265821D01* +G01X-162655Y8287292D01* +G01X-170545Y8307659D01* +G01X-182044Y8326230D01* +G01X-196759Y8342372D01* +G01X-214189Y8355535D01* +G01X-233742Y8365271D01* +G01X-254751Y8371249D01* +G01X-276500Y8373264D01* +G01X-298249Y8371249D01* +G01X-319258Y8365271D01* +G01X-338811Y8355535D01* +G01X-356241Y8342372D01* +G01X-370957Y8326230D01* +G01X-382455Y8307659D01* +G01X-390346Y8287292D01* +G01X-394359Y8265821D01* +G01X-2190641Y8265821D01* +G01X-2194655Y8287292D01* +G01X-2202545Y8307659D01* +G01X-2214044Y8326230D01* +G01X-2228759Y8342372D01* +G01X-2246189Y8355535D01* +G01X-2265742Y8365271D01* +G01X-2286751Y8371249D01* +G01X-2308500Y8373264D01* +G01X-2330249Y8371249D01* +G01X-2351258Y8365271D01* +G01X-2370811Y8355535D01* +G01X-2388241Y8342372D01* +G01X-2402957Y8326230D01* +G01X-2414455Y8307659D01* +G01X-2422346Y8287292D01* +G01X-2426359Y8265821D01* +G01X-2536486Y8265821D01* +G01X-2536486Y8519821D01* +G01X-2426359Y8519821D01* +G01X-2426359Y8497979D01* +G01X-2422346Y8476508D01* +G01X-2414455Y8456141D01* +G01X-2402957Y8437570D01* +G01X-2388241Y8421428D01* +G01X-2370811Y8408265D01* +G01X-2351258Y8398529D01* +G01X-2330249Y8392551D01* +G01X-2308500Y8390536D01* +G01X-2308500Y8390536D01* +G01X-2286751Y8392551D01* +G01X-2265742Y8398529D01* +G01X-2246189Y8408265D01* +G01X-2228759Y8421428D01* +G01X-2214044Y8437570D01* +G01X-2202545Y8456141D01* +G01X-2194655Y8476508D01* +G01X-2190641Y8497979D01* +G01X-2190641Y8499511D01* +G01X-394491Y8499511D01* +G01X-391010Y8478940D01* +G01X-383970Y8459299D01* +G01X-373591Y8441200D01* +G01X-360196Y8425204D01* +G01X-344200Y8411809D01* +G01X-326101Y8401430D01* +G01X-306460Y8394390D01* +G01X-285889Y8390909D01* +G01X-265025Y8391093D01* +G01X-244519Y8394938D01* +G01X-225006Y8402324D01* +G01X-207093Y8413021D01* +G01X-191336Y8426698D01* +G01X-178226Y8442928D01* +G01X-168169Y8461208D01* +G01X-161478Y8480970D01* +G01X-158361Y8501600D01* +G01X-158915Y8522457D01* +G01X-163122Y8542892D01* +G01X11097Y8717111D01* +G01X20017Y8728737D01* +G01X25625Y8742275D01* +G01X27538Y8756804D01* +G01X27538Y9026649D01* +G01X62787Y9026649D01* +G01X62787Y9007150D01* +G01X66370Y8987984D01* +G01X73413Y8969801D01* +G01X83678Y8953223D01* +G01X96815Y8938813D01* +G01X112375Y8927063D01* +G01X129830Y8918371D01* +G01X148584Y8913035D01* +G01X168000Y8911236D01* +G01X218800Y8911236D01* +G01X238216Y8913035D01* +G01X256970Y8918371D01* +G01X274425Y8927063D01* +G01X289985Y8938813D01* +G01X303122Y8953223D01* +G01X313386Y8969801D01* +G01X320430Y8987984D01* +G01X324013Y9007150D01* +G01X324013Y9026649D01* +G01X2602787Y9026649D01* +G01X2602787Y9007150D01* +G01X2606370Y8987984D01* +G01X2613413Y8969801D01* +G01X2623678Y8953223D01* +G01X2636815Y8938813D01* +G01X2652375Y8927063D01* +G01X2669830Y8918371D01* +G01X2688584Y8913035D01* +G01X2708000Y8911236D01* +G01X2758800Y8911236D01* +G01X2778216Y8913035D01* +G01X2796970Y8918371D01* +G01X2814425Y8927063D01* +G01X2829985Y8938813D01* +G01X2843122Y8953223D01* +G01X2853386Y8969801D01* +G01X2860430Y8987984D01* +G01X2864013Y9007150D01* +G01X2864013Y9026649D01* +G01X2860430Y9045816D01* +G01X2853386Y9063998D01* +G01X2843122Y9080577D01* +G01X2829985Y9094987D01* +G01X2814425Y9106737D01* +G01X2796970Y9115429D01* +G01X2778216Y9120765D01* +G01X2758800Y9122564D01* +G01X2758800Y9122564D01* +G01X2708000Y9122564D01* +G01X2688584Y9120765D01* +G01X2669830Y9115429D01* +G01X2652375Y9106737D01* +G01X2636815Y9094987D01* +G01X2623678Y9080577D01* +G01X2613413Y9063998D01* +G01X2606370Y9045816D01* +G01X2602787Y9026649D01* +G01X324013Y9026649D01* +G01X324013Y9026649D01* +G01X320430Y9045816D01* +G01X313386Y9063998D01* +G01X303122Y9080577D01* +G01X289985Y9094987D01* +G01X274425Y9106737D01* +G01X256970Y9115429D01* +G01X238216Y9120765D01* +G01X218800Y9122564D01* +G01X218800Y9122564D01* +G01X168000Y9122564D01* +G01X148584Y9120765D01* +G01X129830Y9115429D01* +G01X112375Y9106737D01* +G01X96815Y9094987D01* +G01X83678Y9080577D01* +G01X73413Y9063998D01* +G01X66370Y9045816D01* +G01X62787Y9026649D01* +G01X27538Y9026649D01* +G01X27538Y9280649D01* +G01X62787Y9280649D01* +G01X62787Y9261150D01* +G01X66370Y9241984D01* +G01X73413Y9223801D01* +G01X83678Y9207223D01* +G01X96815Y9192813D01* +G01X112375Y9181063D01* +G01X129830Y9172371D01* +G01X148584Y9167035D01* +G01X168000Y9165236D01* +G01X218800Y9165236D01* +G01X238216Y9167035D01* +G01X256970Y9172371D01* +G01X274425Y9181063D01* +G01X289985Y9192813D01* +G01X303122Y9207223D01* +G01X313386Y9223801D01* +G01X320430Y9241984D01* +G01X324013Y9261150D01* +G01X324013Y9280649D01* +G01X2602787Y9280649D01* +G01X2602787Y9261150D01* +G01X2606370Y9241984D01* +G01X2613413Y9223801D01* +G01X2623678Y9207223D01* +G01X2636815Y9192813D01* +G01X2652375Y9181063D01* +G01X2669830Y9172371D01* +G01X2688584Y9167035D01* +G01X2708000Y9165236D01* +G01X2758800Y9165236D01* +G01X2778216Y9167035D01* +G01X2796970Y9172371D01* +G01X2814425Y9181063D01* +G01X2829985Y9192813D01* +G01X2843122Y9207223D01* +G01X2853386Y9223801D01* +G01X2860430Y9241984D01* +G01X2864013Y9261150D01* +G01X2864013Y9280649D01* +G01X2860430Y9299816D01* +G01X2853386Y9317998D01* +G01X2843122Y9334577D01* +G01X2829985Y9348987D01* +G01X2814425Y9360737D01* +G01X2796970Y9369429D01* +G01X2778216Y9374765D01* +G01X2758800Y9376564D01* +G01X2758800Y9376564D01* +G01X2708000Y9376564D01* +G01X2688584Y9374765D01* +G01X2669830Y9369429D01* +G01X2652375Y9360737D01* +G01X2636815Y9348987D01* +G01X2623678Y9334577D01* +G01X2613413Y9317998D01* +G01X2606370Y9299816D01* +G01X2602787Y9280649D01* +G01X324013Y9280649D01* +G01X324013Y9280649D01* +G01X320430Y9299816D01* +G01X313386Y9317998D01* +G01X303122Y9334577D01* +G01X289985Y9348987D01* +G01X274425Y9360737D01* +G01X256970Y9369429D01* +G01X238216Y9374765D01* +G01X218800Y9376564D01* +G01X218800Y9376564D01* +G01X168000Y9376564D01* +G01X148584Y9374765D01* +G01X129830Y9369429D01* +G01X112375Y9360737D01* +G01X96815Y9348987D01* +G01X83678Y9334577D01* +G01X73413Y9317998D01* +G01X66370Y9299816D01* +G01X62787Y9280649D01* +G01X27538Y9280649D01* +G01X27538Y9534649D01* +G01X62787Y9534649D01* +G01X62787Y9515150D01* +G01X66370Y9495984D01* +G01X73413Y9477801D01* +G01X83678Y9461223D01* +G01X96815Y9446813D01* +G01X112375Y9435063D01* +G01X129830Y9426371D01* +G01X148584Y9421035D01* +G01X168000Y9419236D01* +G01X218800Y9419236D01* +G01X238216Y9421035D01* +G01X256970Y9426371D01* +G01X274425Y9435063D01* +G01X289985Y9446813D01* +G01X303122Y9461223D01* +G01X313386Y9477801D01* +G01X320430Y9495984D01* +G01X324013Y9515150D01* +G01X324013Y9534649D01* +G01X2602787Y9534649D01* +G01X2602787Y9515150D01* +G01X2606370Y9495984D01* +G01X2613413Y9477801D01* +G01X2623678Y9461223D01* +G01X2636815Y9446813D01* +G01X2652375Y9435063D01* +G01X2669830Y9426371D01* +G01X2688584Y9421035D01* +G01X2708000Y9419236D01* +G01X2758800Y9419236D01* +G01X2778216Y9421035D01* +G01X2796970Y9426371D01* +G01X2814425Y9435063D01* +G01X2829985Y9446813D01* +G01X2843122Y9461223D01* +G01X2853386Y9477801D01* +G01X2860430Y9495984D01* +G01X2864013Y9515150D01* +G01X2864013Y9534649D01* +G01X2860430Y9553816D01* +G01X2853386Y9571998D01* +G01X2843122Y9588577D01* +G01X2829985Y9602987D01* +G01X2814425Y9614737D01* +G01X2796970Y9623429D01* +G01X2778216Y9628765D01* +G01X2758800Y9630564D01* +G01X2758800Y9630564D01* +G01X2708000Y9630564D01* +G01X2688584Y9628765D01* +G01X2669830Y9623429D01* +G01X2652375Y9614737D01* +G01X2636815Y9602987D01* +G01X2623678Y9588577D01* +G01X2613413Y9571998D01* +G01X2606370Y9553816D01* +G01X2602787Y9534649D01* +G01X324013Y9534649D01* +G01X324013Y9534649D01* +G01X320430Y9553816D01* +G01X313386Y9571998D01* +G01X303122Y9588577D01* +G01X289985Y9602987D01* +G01X274425Y9614737D01* +G01X256970Y9623429D01* +G01X238216Y9628765D01* +G01X218800Y9630564D01* +G01X218800Y9630564D01* +G01X168000Y9630564D01* +G01X148584Y9628765D01* +G01X129830Y9623429D01* +G01X112375Y9614737D01* +G01X96815Y9602987D01* +G01X83678Y9588577D01* +G01X73413Y9571998D01* +G01X66370Y9553816D01* +G01X62787Y9534649D01* +G01X27538Y9534649D01* +G01X27538Y9788649D01* +G01X62787Y9788649D01* +G01X62787Y9769150D01* +G01X66370Y9749984D01* +G01X73413Y9731801D01* +G01X83678Y9715223D01* +G01X96815Y9700813D01* +G01X112375Y9689063D01* +G01X129830Y9680371D01* +G01X148584Y9675035D01* +G01X168000Y9673236D01* +G01X218800Y9673236D01* +G01X237735Y9674946D01* +G01X256056Y9680022D01* +G01X273172Y9688299D01* +G01X288527Y9699509D01* +G01X301625Y9713289D01* +G01X312042Y9729193D01* +G01X388563Y9729193D01* +G01X388563Y9729193D01* +G01X388563Y9716476D01* +G01X390316Y9705409D01* +G01X395403Y9695425D01* +G01X403326Y9687502D01* +G01X413310Y9682415D01* +G01X424377Y9680662D01* +G01X537631Y9680662D01* +G01X548698Y9682415D01* +G01X558682Y9687502D01* +G01X566605Y9695425D01* +G01X571692Y9705409D01* +G01X573445Y9716476D01* +G01X573445Y9854177D01* +G01X571692Y9865244D01* +G01X566605Y9875228D01* +G01X558682Y9883151D01* +G01X548698Y9888238D01* +G01X537631Y9889991D01* +G01X424377Y9889991D01* +G01X413310Y9888238D01* +G01X403326Y9883151D01* +G01X395403Y9875228D01* +G01X390316Y9865244D01* +G01X388563Y9854177D01* +G01X388563Y9841461D01* +G01X303953Y9841461D01* +G01X290804Y9856232D01* +G01X275133Y9868295D01* +G01X257489Y9877226D01* +G01X238489Y9882713D01* +G01X218800Y9884564D01* +G01X168000Y9884564D01* +G01X148584Y9882765D01* +G01X129830Y9877429D01* +G01X112375Y9868737D01* +G01X96815Y9856987D01* +G01X83678Y9842577D01* +G01X73413Y9825998D01* +G01X66370Y9807816D01* +G01X62787Y9788649D01* +G01X27538Y9788649D01* +G01X27538Y10041475D01* +G01X88057Y10101994D01* +G01X76431Y10085626D01* +G01X68111Y10067354D01* +G01X63397Y10047839D01* +G01X62460Y10027784D01* +G01X65333Y10007913D01* +G01X71912Y9988945D01* +G01X81961Y9971564D01* +G01X95116Y9956397D01* +G01X110902Y9943992D01* +G01X128749Y9934797D01* +G01X148014Y9929143D01* +G01X168000Y9927236D01* +G01X218800Y9927236D01* +G01X236515Y9928732D01* +G01X253729Y9933176D01* +G01X269954Y9940444D01* +G01X284731Y9950329D01* +G01X297642Y9962552D01* +G01X308320Y9976766D01* +G01X792448Y9976766D01* +G01X925867Y9843347D01* +G01X935100Y9835889D01* +G01X945695Y9830538D01* +G01X957178Y9827535D01* +G01X957178Y9671458D01* +G01X958827Y9660714D01* +G01X963624Y9650961D01* +G01X782055Y9650961D01* +G01X750109Y9682906D01* +G01X759578Y9688175D01* +G01X767038Y9696034D01* +G01X771805Y9705765D01* +G01X773444Y9716476D01* +G01X773444Y9854177D01* +G01X771692Y9865244D01* +G01X766605Y9875228D01* +G01X758681Y9883151D01* +G01X748698Y9888238D01* +G01X737630Y9889991D01* +G01X624377Y9889991D01* +G01X613310Y9888238D01* +G01X603326Y9883151D01* +G01X595403Y9875228D01* +G01X590316Y9865244D01* +G01X588563Y9854177D01* +G01X588563Y9716476D01* +G01X590316Y9705409D01* +G01X595403Y9695425D01* +G01X603326Y9687502D01* +G01X613310Y9682415D01* +G01X624377Y9680662D01* +G01X624870Y9680662D01* +G01X624870Y9672627D01* +G01X626782Y9658098D01* +G01X632390Y9644560D01* +G01X641311Y9632934D01* +G01X719111Y9555134D01* +G01X730737Y9546213D01* +G01X744275Y9540605D01* +G01X758804Y9538693D01* +G01X1170361Y9538693D01* +G01X1170361Y9538693D01* +G01X1184889Y9540605D01* +G01X1198428Y9546213D01* +G01X1210053Y9555134D01* +G01X1295549Y9640630D01* +G01X1295549Y9640630D01* +G01X1316444Y9636371D01* +G01X1337763Y9635930D01* +G01X1358815Y9639321D01* +G01X1378918Y9646434D01* +G01X1397417Y9657039D01* +G01X1413714Y9670791D01* +G01X1427279Y9687244D01* +G01X1437672Y9705864D01* +G01X1444556Y9726046D01* +G01X1447706Y9747136D01* +G01X1447022Y9768448D01* +G01X1442524Y9789293D01* +G01X1434360Y9808991D01* +G01X1422794Y9826906D01* +G01X1490290Y9826906D01* +G01X1490290Y9826906D01* +G01X1479197Y9809884D01* +G01X1471178Y9791215D01* +G01X1466470Y9771450D01* +G01X1465212Y9751171D01* +G01X1467441Y9730975D01* +G01X1473090Y9711458D01* +G01X1481995Y9693195D01* +G01X1493891Y9676724D01* +G01X1508429Y9662530D01* +G01X1525181Y9651032D01* +G01X1543652Y9642568D01* +G01X1563299Y9637388D01* +G01X1583542Y9635644D01* +G01X1583542Y9635644D01* +G01X1603785Y9637388D01* +G01X1623432Y9642568D01* +G01X1641903Y9651032D01* +G01X1658654Y9662530D01* +G01X1673193Y9676724D01* +G01X1685089Y9693195D01* +G01X1693994Y9711458D01* +G01X1699643Y9730975D01* +G01X1701872Y9751171D01* +G01X1700614Y9771450D01* +G01X1695906Y9791215D01* +G01X1687887Y9809884D01* +G01X1676794Y9826906D01* +G01X1744290Y9826906D01* +G01X1744290Y9826906D01* +G01X1733197Y9809884D01* +G01X1725178Y9791215D01* +G01X1720470Y9771450D01* +G01X1719212Y9751171D01* +G01X1721441Y9730975D01* +G01X1727090Y9711458D01* +G01X1735995Y9693195D01* +G01X1747891Y9676724D01* +G01X1762429Y9662530D01* +G01X1779181Y9651032D01* +G01X1797652Y9642568D01* +G01X1817299Y9637388D01* +G01X1837542Y9635644D01* +G01X1837542Y9635644D01* +G01X1857785Y9637388D01* +G01X1877432Y9642568D01* +G01X1895903Y9651032D01* +G01X1912654Y9662530D01* +G01X1927193Y9676724D01* +G01X1939089Y9693195D01* +G01X1947994Y9711458D01* +G01X1953643Y9730975D01* +G01X1955872Y9751171D01* +G01X1954614Y9771450D01* +G01X1949906Y9791215D01* +G01X1941887Y9809884D01* +G01X1930794Y9826906D01* +G01X1939258Y9826906D01* +G01X1978164Y9788000D01* +G01X1973957Y9767565D01* +G01X1973403Y9746708D01* +G01X1976520Y9726078D01* +G01X1983211Y9706316D01* +G01X1993268Y9688036D01* +G01X2006378Y9671806D01* +G01X2022135Y9658129D01* +G01X2040048Y9647432D01* +G01X2059561Y9640046D01* +G01X2080067Y9636201D01* +G01X2100930Y9636017D01* +G01X2121502Y9639498D01* +G01X2141143Y9646538D01* +G01X2159242Y9656917D01* +G01X2175238Y9670312D01* +G01X2188633Y9686308D01* +G01X2199012Y9704407D01* +G01X2206051Y9724048D01* +G01X2209533Y9744619D01* +G01X2209348Y9765483D01* +G01X2205503Y9785989D01* +G01X2204497Y9788649D01* +G01X2602787Y9788649D01* +G01X2602787Y9769150D01* +G01X2606370Y9749984D01* +G01X2613413Y9731801D01* +G01X2623678Y9715223D01* +G01X2636815Y9700813D01* +G01X2652375Y9689063D01* +G01X2669830Y9680371D01* +G01X2688584Y9675035D01* +G01X2708000Y9673236D01* +G01X2758800Y9673236D01* +G01X2778216Y9675035D01* +G01X2796970Y9680371D01* +G01X2814425Y9689063D01* +G01X2829985Y9700813D01* +G01X2843122Y9715223D01* +G01X2853386Y9731801D01* +G01X2860430Y9749984D01* +G01X2864013Y9769150D01* +G01X2864013Y9788649D01* +G01X2860430Y9807816D01* +G01X2853386Y9825998D01* +G01X2843122Y9842577D01* +G01X2829985Y9856987D01* +G01X2814425Y9868737D01* +G01X2796970Y9877429D01* +G01X2778216Y9882765D01* +G01X2758800Y9884564D01* +G01X2758800Y9884564D01* +G01X2708000Y9884564D01* +G01X2688584Y9882765D01* +G01X2669830Y9877429D01* +G01X2652375Y9868737D01* +G01X2636815Y9856987D01* +G01X2623678Y9842577D01* +G01X2613413Y9825998D01* +G01X2606370Y9807816D01* +G01X2602787Y9788649D01* +G01X2204497Y9788649D01* +G01X2198118Y9805502D01* +G01X2187420Y9823415D01* +G01X2173744Y9839172D01* +G01X2157514Y9852282D01* +G01X2139233Y9862339D01* +G01X2119471Y9869030D01* +G01X2098842Y9872147D01* +G01X2077985Y9871593D01* +G01X2057549Y9867386D01* +G01X2002203Y9922733D01* +G01X1990577Y9931653D01* +G01X1977038Y9937261D01* +G01X1962510Y9939174D01* +G01X1933833Y9939174D01* +G01X1944732Y9957805D01* +G01X1952067Y9978107D01* +G01X1955593Y9999402D01* +G01X1955433Y10008008D01* +G01X1973178Y10008008D01* +G01X1975193Y9986259D01* +G01X1981171Y9965250D01* +G01X1990907Y9945697D01* +G01X2004070Y9928267D01* +G01X2020212Y9913551D01* +G01X2038783Y9902053D01* +G01X2059150Y9894162D01* +G01X2080621Y9890149D01* +G01X2102463Y9890149D01* +G01X2123934Y9894162D01* +G01X2144301Y9902053D01* +G01X2162872Y9913551D01* +G01X2179014Y9928267D01* +G01X2192177Y9945697D01* +G01X2201913Y9965250D01* +G01X2207891Y9986259D01* +G01X2209906Y10008008D01* +G01X2207891Y10029757D01* +G01X2204222Y10042649D01* +G01X2602787Y10042649D01* +G01X2602787Y10023150D01* +G01X2606370Y10003984D01* +G01X2613413Y9985801D01* +G01X2623678Y9969223D01* +G01X2636815Y9954813D01* +G01X2652375Y9943063D01* +G01X2669830Y9934371D01* +G01X2688584Y9929035D01* +G01X2708000Y9927236D01* +G01X2758800Y9927236D01* +G01X2778216Y9929035D01* +G01X2796970Y9934371D01* +G01X2814425Y9943063D01* +G01X2829985Y9954813D01* +G01X2843122Y9969223D01* +G01X2853386Y9985801D01* +G01X2860430Y10003984D01* +G01X2864013Y10023150D01* +G01X2864013Y10042649D01* +G01X2860430Y10061816D01* +G01X2853386Y10079998D01* +G01X2843122Y10096577D01* +G01X2829985Y10110987D01* +G01X2814425Y10122737D01* +G01X2796970Y10131429D01* +G01X2778216Y10136765D01* +G01X2772059Y10137335D01* +G01X3184464Y10137335D01* +G01X3184464Y10116665D01* +G01X3188262Y10096346D01* +G01X3195729Y10077071D01* +G01X3206611Y10059496D01* +G01X3220537Y10044221D01* +G01X3237032Y10031764D01* +G01X3255536Y10022550D01* +G01X3275417Y10016893D01* +G01X3296000Y10014986D01* +G01X3296000Y10014986D01* +G01X3316582Y10016893D01* +G01X3336464Y10022550D01* +G01X3354968Y10031764D01* +G01X3371463Y10044221D01* +G01X3385389Y10059496D01* +G01X3396271Y10077071D01* +G01X3403738Y10096346D01* +G01X3407536Y10116665D01* +G01X3407536Y10137335D01* +G01X3438464Y10137335D01* +G01X3438464Y10116665D01* +G01X3442262Y10096346D01* +G01X3449729Y10077071D01* +G01X3460611Y10059496D01* +G01X3474537Y10044221D01* +G01X3491032Y10031764D01* +G01X3509536Y10022550D01* +G01X3529417Y10016893D01* +G01X3550000Y10014986D01* +G01X3550000Y10014986D01* +G01X3570582Y10016893D01* +G01X3590464Y10022550D01* +G01X3608968Y10031764D01* +G01X3625463Y10044221D01* +G01X3639389Y10059496D01* +G01X3650271Y10077071D01* +G01X3657738Y10096346D01* +G01X3661536Y10116665D01* +G01X3661536Y10137335D01* +G01X3657738Y10157654D01* +G01X3650271Y10176929D01* +G01X3639389Y10194503D01* +G01X3625463Y10209779D01* +G01X3608968Y10222236D01* +G01X3590464Y10231450D01* +G01X3570582Y10237107D01* +G01X3550000Y10239014D01* +G01X3529417Y10237107D01* +G01X3509536Y10231450D01* +G01X3491032Y10222236D01* +G01X3474537Y10209779D01* +G01X3460611Y10194503D01* +G01X3449729Y10176929D01* +G01X3442262Y10157654D01* +G01X3438464Y10137335D01* +G01X3407536Y10137335D01* +G01X3403738Y10157654D01* +G01X3396271Y10176929D01* +G01X3385389Y10194503D01* +G01X3371463Y10209779D01* +G01X3354968Y10222236D01* +G01X3336464Y10231450D01* +G01X3316582Y10237107D01* +G01X3296000Y10239014D01* +G01X3275417Y10237107D01* +G01X3255536Y10231450D01* +G01X3237032Y10222236D01* +G01X3220537Y10209779D01* +G01X3206611Y10194503D01* +G01X3195729Y10176929D01* +G01X3188262Y10157654D01* +G01X3184464Y10137335D01* +G01X2772059Y10137335D01* +G01X2758800Y10138564D01* +G01X2758800Y10138564D01* +G01X2708000Y10138564D01* +G01X2688584Y10136765D01* +G01X2669830Y10131429D01* +G01X2652375Y10122737D01* +G01X2636815Y10110987D01* +G01X2623678Y10096577D01* +G01X2613413Y10079998D01* +G01X2606370Y10061816D01* +G01X2602787Y10042649D01* +G01X2204222Y10042649D01* +G01X2201913Y10050766D01* +G01X2192177Y10070319D01* +G01X2179014Y10087749D01* +G01X2162872Y10102464D01* +G01X2144301Y10113963D01* +G01X2123934Y10121853D01* +G01X2102463Y10125867D01* +G01X2080621Y10125867D01* +G01X2059150Y10121853D01* +G01X2038783Y10113963D01* +G01X2020212Y10102464D01* +G01X2004070Y10087749D01* +G01X1990907Y10070319D01* +G01X1981171Y10050766D01* +G01X1975193Y10029757D01* +G01X1973178Y10008008D01* +G01X1973178Y10008008D01* +G01X1955433Y10008008D01* +G01X1955193Y10020984D01* +G01X1950880Y10042134D01* +G01X1942798Y10062149D01* +G01X1931215Y10080364D01* +G01X1916517Y10096172D01* +G01X1899193Y10109049D01* +G01X1879818Y10118565D01* +G01X1859037Y10124404D01* +G01X1837542Y10126372D01* +G01X1816046Y10124404D01* +G01X1795266Y10118565D01* +G01X1775891Y10109049D01* +G01X1758567Y10096172D01* +G01X1743869Y10080364D01* +G01X1732286Y10062149D01* +G01X1724204Y10042134D01* +G01X1719891Y10020984D01* +G01X1719491Y9999402D01* +G01X1723017Y9978107D01* +G01X1730352Y9957805D01* +G01X1741251Y9939174D01* +G01X1679833Y9939174D01* +G01X1690732Y9957805D01* +G01X1698067Y9978107D01* +G01X1701593Y9999402D01* +G01X1701193Y10020984D01* +G01X1696880Y10042134D01* +G01X1688798Y10062149D01* +G01X1677215Y10080364D01* +G01X1662517Y10096172D01* +G01X1645193Y10109049D01* +G01X1625818Y10118565D01* +G01X1605037Y10124404D01* +G01X1583542Y10126372D01* +G01X1562046Y10124404D01* +G01X1541266Y10118565D01* +G01X1521891Y10109049D01* +G01X1504567Y10096172D01* +G01X1489869Y10080364D01* +G01X1478286Y10062149D01* +G01X1470204Y10042134D01* +G01X1465891Y10020984D01* +G01X1465491Y9999402D01* +G01X1469017Y9978107D01* +G01X1476352Y9957805D01* +G01X1487251Y9939174D01* +G01X1425833Y9939174D01* +G01X1436732Y9957805D01* +G01X1444067Y9978107D01* +G01X1447593Y9999402D01* +G01X1447193Y10020984D01* +G01X1442880Y10042134D01* +G01X1434798Y10062149D01* +G01X1423215Y10080364D01* +G01X1408517Y10096172D01* +G01X1391193Y10109049D01* +G01X1371818Y10118565D01* +G01X1351037Y10124404D01* +G01X1329542Y10126372D01* +G01X1308046Y10124404D01* +G01X1287266Y10118565D01* +G01X1267891Y10109049D01* +G01X1250567Y10096172D01* +G01X1235869Y10080364D01* +G01X1224286Y10062149D01* +G01X1216204Y10042134D01* +G01X1211891Y10020984D01* +G01X1211491Y9999402D01* +G01X1215017Y9978107D01* +G01X1222352Y9957805D01* +G01X1233251Y9939174D01* +G01X1171833Y9939174D01* +G01X1182282Y9956854D01* +G01X1189517Y9976075D01* +G01X1193321Y9996257D01* +G01X1193580Y10016792D01* +G01X1190284Y10037063D01* +G01X1183535Y10056460D01* +G01X1173534Y10074397D01* +G01X1160583Y10090336D01* +G01X1145072Y10103797D01* +G01X1127468Y10114374D01* +G01X1108301Y10121748D01* +G01X1088147Y10125699D01* +G01X1067614Y10126106D01* +G01X1047320Y10122958D01* +G01X1027875Y10116349D01* +G01X1009865Y10106479D01* +G01X993832Y10093644D01* +G01X980260Y10078231D01* +G01X969555Y10060704D01* +G01X962042Y10041591D01* +G01X957946Y10021466D01* +G01X957389Y10000937D01* +G01X960390Y9980620D01* +G01X966858Y9961128D01* +G01X855393Y10072593D01* +G01X843767Y10081513D01* +G01X830228Y10087121D01* +G01X815700Y10089034D01* +G01X308320Y10089034D01* +G01X297642Y10103248D01* +G01X284731Y10115471D01* +G01X269954Y10125356D01* +G01X253729Y10132624D01* +G01X236515Y10137068D01* +G01X218800Y10138564D01* +G01X168000Y10138564D01* +G01X149272Y10136891D01* +G01X131137Y10131925D01* +G01X114169Y10123823D01* +G01X98905Y10112843D01* +G01X167301Y10181238D01* +G01X168000Y10181236D01* +G01X218800Y10181236D01* +G01X238216Y10183035D01* +G01X256970Y10188371D01* +G01X274425Y10197063D01* +G01X289985Y10208813D01* +G01X303122Y10223223D01* +G01X313386Y10239801D01* +G01X320430Y10257984D01* +G01X324013Y10277150D01* +G01X324013Y10296649D01* +G01X2602787Y10296649D01* +G01X2602787Y10277150D01* +G01X2606370Y10257984D01* +G01X2613413Y10239801D01* +G01X2623678Y10223223D01* +G01X2636815Y10208813D01* +G01X2652375Y10197063D01* +G01X2669830Y10188371D01* +G01X2688584Y10183035D01* +G01X2708000Y10181236D01* +G01X2758800Y10181236D01* +G01X2778216Y10183035D01* +G01X2796970Y10188371D01* +G01X2814425Y10197063D01* +G01X2829985Y10208813D01* +G01X2843122Y10223223D01* +G01X2853386Y10239801D01* +G01X2860430Y10257984D01* +G01X2864013Y10277150D01* +G01X2864013Y10296649D01* +G01X2860430Y10315816D01* +G01X2853386Y10333998D01* +G01X2843122Y10350577D01* +G01X2829985Y10364987D01* +G01X2814425Y10376737D01* +G01X2796970Y10385429D01* +G01X2778216Y10390765D01* +G01X2758800Y10392564D01* +G01X2758800Y10392564D01* +G01X2708000Y10392564D01* +G01X2688584Y10390765D01* +G01X2669830Y10385429D01* +G01X2652375Y10376737D01* +G01X2636815Y10364987D01* +G01X2623678Y10350577D01* +G01X2613413Y10333998D01* +G01X2606370Y10315816D01* +G01X2602787Y10296649D01* +G01X324013Y10296649D01* +G01X320430Y10315816D01* +G01X313386Y10333998D01* +G01X303122Y10350577D01* +G01X289985Y10364987D01* +G01X274425Y10376737D01* +G01X256970Y10385429D01* +G01X238216Y10390765D01* +G01X218800Y10392564D01* +G01X168000Y10392564D01* +G01X149009Y10390843D01* +G01X130636Y10385737D01* +G01X113481Y10377413D01* +G01X98101Y10366140D01* +G01X84997Y10352287D01* +G01X74597Y10336304D01* +G01X67238Y10318712D01* +G01X63162Y10300084D01* +G01X62499Y10281027D01* +G01X65273Y10262161D01* +G01X71392Y10244100D01* +G01X-68289Y10104419D01* +G01X-77210Y10092794D01* +G01X-82817Y10079255D01* +G01X-84730Y10064727D01* +G01X-84730Y8780055D01* +G01X-242508Y8622278D01* +G01X-262943Y8626485D01* +G01X-283800Y8627039D01* +G01X-304430Y8623922D01* +G01X-324192Y8617231D01* +G01X-342472Y8607174D01* +G01X-358702Y8594064D01* +G01X-372379Y8578307D01* +G01X-383076Y8560394D01* +G01X-390462Y8540881D01* +G01X-394307Y8520375D01* +G01X-394491Y8499511D01* +G01X-2190641Y8499511D01* +G01X-2190641Y8519821D01* +G01X-2194655Y8541292D01* +G01X-2202545Y8561659D01* +G01X-2214044Y8580230D01* +G01X-2228759Y8596372D01* +G01X-2246189Y8609535D01* +G01X-2265742Y8619271D01* +G01X-2286751Y8625249D01* +G01X-2308500Y8627264D01* +G01X-2330249Y8625249D01* +G01X-2351258Y8619271D01* +G01X-2370811Y8609535D01* +G01X-2388241Y8596372D01* +G01X-2402957Y8580230D01* +G01X-2414455Y8561659D01* +G01X-2422346Y8541292D01* +G01X-2426359Y8519821D01* +G01X-2536486Y8519821D01* +G01X-2536486Y8773821D01* +G01X-2426359Y8773821D01* +G01X-2426359Y8751979D01* +G01X-2422346Y8730508D01* +G01X-2414455Y8710141D01* +G01X-2402957Y8691570D01* +G01X-2388241Y8675428D01* +G01X-2370811Y8662265D01* +G01X-2351258Y8652529D01* +G01X-2330249Y8646551D01* +G01X-2308500Y8644536D01* +G01X-2308500Y8644536D01* +G01X-2286751Y8646551D01* +G01X-2265742Y8652529D01* +G01X-2246189Y8662265D01* +G01X-2228759Y8675428D01* +G01X-2214044Y8691570D01* +G01X-2202545Y8710141D01* +G01X-2194655Y8730508D01* +G01X-2190641Y8751979D01* +G01X-2190641Y8773821D01* +G01X-2190641Y8773821D01* +G01X-394359Y8773821D01* +G01X-394359Y8751979D01* +G01X-390346Y8730508D01* +G01X-382455Y8710141D01* +G01X-370957Y8691570D01* +G01X-356241Y8675428D01* +G01X-338811Y8662265D01* +G01X-319258Y8652529D01* +G01X-298249Y8646551D01* +G01X-276500Y8644536D01* +G01X-276500Y8644536D01* +G01X-254751Y8646551D01* +G01X-233742Y8652529D01* +G01X-214189Y8662265D01* +G01X-196759Y8675428D01* +G01X-182044Y8691570D01* +G01X-170545Y8710141D01* +G01X-162655Y8730508D01* +G01X-158641Y8751979D01* +G01X-158641Y8773821D01* +G01X-162655Y8795292D01* +G01X-170545Y8815659D01* +G01X-182044Y8834230D01* +G01X-196759Y8850372D01* +G01X-214189Y8863535D01* +G01X-233742Y8873271D01* +G01X-254751Y8879249D01* +G01X-276500Y8881264D01* +G01X-298249Y8879249D01* +G01X-319258Y8873271D01* +G01X-338811Y8863535D01* +G01X-356241Y8850372D01* +G01X-370957Y8834230D01* +G01X-382455Y8815659D01* +G01X-390346Y8795292D01* +G01X-394359Y8773821D01* +G01X-2190641Y8773821D01* +G01X-2194655Y8795292D01* +G01X-2202545Y8815659D01* +G01X-2214044Y8834230D01* +G01X-2228759Y8850372D01* +G01X-2246189Y8863535D01* +G01X-2265742Y8873271D01* +G01X-2286751Y8879249D01* +G01X-2308500Y8881264D01* +G01X-2330249Y8879249D01* +G01X-2351258Y8873271D01* +G01X-2370811Y8863535D01* +G01X-2388241Y8850372D01* +G01X-2402957Y8834230D01* +G01X-2414455Y8815659D01* +G01X-2422346Y8795292D01* +G01X-2426359Y8773821D01* +G01X-2536486Y8773821D01* +G01X-2536486Y9027821D01* +G01X-2426359Y9027821D01* +G01X-2426359Y9005979D01* +G01X-2422346Y8984508D01* +G01X-2414455Y8964141D01* +G01X-2402957Y8945570D01* +G01X-2388241Y8929428D01* +G01X-2370811Y8916265D01* +G01X-2351258Y8906529D01* +G01X-2330249Y8900551D01* +G01X-2308500Y8898536D01* +G01X-2308500Y8898536D01* +G01X-2286751Y8900551D01* +G01X-2265742Y8906529D01* +G01X-2246189Y8916265D01* +G01X-2228759Y8929428D01* +G01X-2214044Y8945570D01* +G01X-2202545Y8964141D01* +G01X-2194655Y8984508D01* +G01X-2190641Y9005979D01* +G01X-2190641Y9027821D01* +G01X-2194655Y9049292D01* +G01X-2202545Y9069659D01* +G01X-2214044Y9088230D01* +G01X-2228759Y9104372D01* +G01X-2246189Y9117535D01* +G01X-2265742Y9127271D01* +G01X-2286751Y9133249D01* +G01X-2308500Y9135264D01* +G01X-2330249Y9133249D01* +G01X-2351258Y9127271D01* +G01X-2370811Y9117535D01* +G01X-2388241Y9104372D01* +G01X-2402957Y9088230D01* +G01X-2414455Y9069659D01* +G01X-2422346Y9049292D01* +G01X-2426359Y9027821D01* +G01X-2536486Y9027821D01* +G01X-2536486Y10699650D01* +G01X-2426864Y10699650D01* +G01X-2425111Y10688583D01* +G01X-2420024Y10678599D01* +G01X-2412101Y10670676D01* +G01X-2402117Y10665589D01* +G01X-2391050Y10663836D01* +G01X-2269522Y10663836D01* +G01X-582893Y8977207D01* +G01X-571267Y8968286D01* +G01X-557729Y8962679D01* +G01X-543200Y8960766D01* +G01X-380707Y8960766D01* +G01X-369232Y8943341D01* +G01X-354875Y8928202D01* +G01X-338084Y8915818D01* +G01X-319379Y8906576D01* +G01X-299341Y8900761D01* +G01X-278594Y8898554D01* +G01X-257782Y8900025D01* +G01X-237552Y8905128D01* +G01X-218531Y8913703D01* +G01X-201312Y8925484D01* +G01X-186429Y8940106D01* +G01X-174345Y8957114D01* +G01X-165434Y8975980D01* +G01X-159975Y8996117D01* +G01X-158136Y9016900D01* +G01X-159975Y9037683D01* +G01X-165434Y9057820D01* +G01X-174345Y9076685D01* +G01X-186429Y9093693D01* +G01X-201312Y9108315D01* +G01X-218531Y9120097D01* +G01X-237552Y9128672D01* +G01X-257782Y9133775D01* +G01X-278594Y9135245D01* +G01X-299341Y9133039D01* +G01X-319379Y9127224D01* +G01X-338084Y9117982D01* +G01X-354875Y9105598D01* +G01X-369232Y9090459D01* +G01X-380707Y9073034D01* +G01X-519949Y9073034D01* +G01X-2190136Y10743221D01* +G01X-2190136Y10743221D01* +G01X-2190136Y10782200D01* +G01X-2172864Y10782200D01* +G01X-2171025Y10761417D01* +G01X-2165566Y10741280D01* +G01X-2156655Y10722414D01* +G01X-2144571Y10705406D01* +G01X-2129688Y10690784D01* +G01X-2112469Y10679003D01* +G01X-2093449Y10670428D01* +G01X-2073218Y10665325D01* +G01X-2052406Y10663854D01* +G01X-2031659Y10666061D01* +G01X-2011622Y10671876D01* +G01X-1992917Y10681118D01* +G01X-1976125Y10693502D01* +G01X-1961769Y10708641D01* +G01X-1950294Y10726066D01* +G01X-1904707Y10726066D01* +G01X-1893635Y10709152D01* +G01X-1879846Y10694369D01* +G01X-1863744Y10682148D01* +G01X-1845796Y10672846D01* +G01X-1826527Y10666733D01* +G01X-1806499Y10663988D01* +G01X-1786296Y10664691D01* +G01X-1766508Y10668822D01* +G01X-392436Y9294751D01* +G01X-392436Y9294751D01* +G01X-394822Y9274039D01* +G01X-393538Y9253231D01* +G01X-388622Y9232971D01* +G01X-380228Y9213887D01* +G01X-368616Y9196572D01* +G01X-354146Y9181563D01* +G01X-337268Y9169326D01* +G01X-318504Y9160240D01* +G01X-298437Y9154586D01* +G01X-277689Y9152542D01* +G01X-256904Y9154169D01* +G01X-236728Y9159418D01* +G01X-217785Y9168125D01* +G01X-200664Y9180021D01* +G01X-185896Y9194737D01* +G01X-185896Y9194737D01* +G01X-173938Y9211815D01* +G01X-165162Y9230726D01* +G01X-159841Y9250883D01* +G01X-158139Y9271662D01* +G01X-160108Y9292417D01* +G01X-165689Y9312504D01* +G01X-174707Y9331301D01* +G01X-186884Y9348224D01* +G01X-201840Y9362747D01* +G01X-219113Y9374422D01* +G01X-238167Y9382885D01* +G01X-258409Y9387873D01* +G01X-279213Y9389233D01* +G01X-299932Y9386921D01* +G01X-319925Y9381010D01* +G01X-1687122Y10748207D01* +G01X-1682821Y10769487D01* +G01X-1682478Y10791194D01* +G01X-1682545Y10791589D01* +G01X-1664491Y10791589D01* +G01X-1664307Y10770725D01* +G01X-1660462Y10750219D01* +G01X-1653076Y10730706D01* +G01X-1642379Y10712793D01* +G01X-1628702Y10697036D01* +G01X-1612472Y10683926D01* +G01X-1594192Y10673869D01* +G01X-1574430Y10667178D01* +G01X-1553800Y10664061D01* +G01X-1532943Y10664615D01* +G01X-1512508Y10668822D01* +G01X-392436Y9548751D01* +G01X-392436Y9548751D01* +G01X-394822Y9528039D01* +G01X-393538Y9507231D01* +G01X-388622Y9486971D01* +G01X-380228Y9467887D01* +G01X-368616Y9450572D01* +G01X-354146Y9435563D01* +G01X-337268Y9423326D01* +G01X-318504Y9414240D01* +G01X-298437Y9408586D01* +G01X-277689Y9406542D01* +G01X-256904Y9408169D01* +G01X-236728Y9413418D01* +G01X-217785Y9422125D01* +G01X-200664Y9434021D01* +G01X-185896Y9448737D01* +G01X-185896Y9448737D01* +G01X-173938Y9465815D01* +G01X-165162Y9484726D01* +G01X-159841Y9504883D01* +G01X-158139Y9525662D01* +G01X-160108Y9546417D01* +G01X-165689Y9566504D01* +G01X-174707Y9585301D01* +G01X-186884Y9602224D01* +G01X-201840Y9616747D01* +G01X-219113Y9628422D01* +G01X-238167Y9636885D01* +G01X-258409Y9641873D01* +G01X-279213Y9643233D01* +G01X-299932Y9640921D01* +G01X-319925Y9635010D01* +G01X-1235564Y10550649D01* +G01X62787Y10550649D01* +G01X62787Y10531150D01* +G01X66370Y10511984D01* +G01X73413Y10493801D01* +G01X83678Y10477223D01* +G01X96815Y10462813D01* +G01X112375Y10451063D01* +G01X129830Y10442371D01* +G01X148584Y10437035D01* +G01X168000Y10435236D01* +G01X218800Y10435236D01* +G01X238216Y10437035D01* +G01X256970Y10442371D01* +G01X274425Y10451063D01* +G01X289985Y10462813D01* +G01X303122Y10477223D01* +G01X313386Y10493801D01* +G01X320430Y10511984D01* +G01X324013Y10531150D01* +G01X324013Y10550649D01* +G01X2602787Y10550649D01* +G01X2602787Y10531150D01* +G01X2606370Y10511984D01* +G01X2613413Y10493801D01* +G01X2623678Y10477223D01* +G01X2636815Y10462813D01* +G01X2652375Y10451063D01* +G01X2669830Y10442371D01* +G01X2688584Y10437035D01* +G01X2708000Y10435236D01* +G01X2758800Y10435236D01* +G01X2778216Y10437035D01* +G01X2796970Y10442371D01* +G01X2814425Y10451063D01* +G01X2829985Y10462813D01* +G01X2843122Y10477223D01* +G01X2853386Y10493801D01* +G01X2860430Y10511984D01* +G01X2864013Y10531150D01* +G01X2864013Y10550649D01* +G01X2860430Y10569816D01* +G01X2853386Y10587998D01* +G01X2843122Y10604577D01* +G01X2829985Y10618987D01* +G01X2814425Y10630737D01* +G01X2796970Y10639429D01* +G01X2778216Y10644765D01* +G01X2772059Y10645335D01* +G01X3184464Y10645335D01* +G01X3184464Y10624665D01* +G01X3188262Y10604346D01* +G01X3195729Y10585071D01* +G01X3206611Y10567496D01* +G01X3220537Y10552221D01* +G01X3237032Y10539764D01* +G01X3255536Y10530550D01* +G01X3275417Y10524893D01* +G01X3296000Y10522986D01* +G01X3296000Y10522986D01* +G01X3316582Y10524893D01* +G01X3336464Y10530550D01* +G01X3354968Y10539764D01* +G01X3371463Y10552221D01* +G01X3385389Y10567496D01* +G01X3396271Y10585071D01* +G01X3403738Y10604346D01* +G01X3407536Y10624665D01* +G01X3407536Y10645335D01* +G01X3403738Y10665654D01* +G01X3396271Y10684929D01* +G01X3385389Y10702503D01* +G01X3371463Y10717779D01* +G01X3354968Y10730236D01* +G01X3336464Y10739450D01* +G01X3316582Y10745107D01* +G01X3296000Y10747014D01* +G01X3275417Y10745107D01* +G01X3255536Y10739450D01* +G01X3237032Y10730236D01* +G01X3220537Y10717779D01* +G01X3206611Y10702503D01* +G01X3195729Y10684929D01* +G01X3188262Y10665654D01* +G01X3184464Y10645335D01* +G01X2772059Y10645335D01* +G01X2758800Y10646564D01* +G01X2758800Y10646564D01* +G01X2708000Y10646564D01* +G01X2688584Y10644765D01* +G01X2669830Y10639429D01* +G01X2652375Y10630737D01* +G01X2636815Y10618987D01* +G01X2623678Y10604577D01* +G01X2613413Y10587998D01* +G01X2606370Y10569816D01* +G01X2602787Y10550649D01* +G01X324013Y10550649D01* +G01X320430Y10569816D01* +G01X313386Y10587998D01* +G01X303122Y10604577D01* +G01X289985Y10618987D01* +G01X274425Y10630737D01* +G01X256970Y10639429D01* +G01X238216Y10644765D01* +G01X218800Y10646564D01* +G01X218800Y10646564D01* +G01X168000Y10646564D01* +G01X148584Y10644765D01* +G01X129830Y10639429D01* +G01X112375Y10630737D01* +G01X96815Y10618987D01* +G01X83678Y10604577D01* +G01X73413Y10587998D01* +G01X66370Y10569816D01* +G01X62787Y10550649D01* +G01X-1235564Y10550649D01* +G01X-1433122Y10748207D01* +G01X-1428915Y10768643D01* +G01X-1428361Y10789500D01* +G01X-1430650Y10804649D01* +G01X62787Y10804649D01* +G01X62787Y10785150D01* +G01X66370Y10765984D01* +G01X73413Y10747801D01* +G01X83678Y10731223D01* +G01X96815Y10716813D01* +G01X112375Y10705063D01* +G01X129830Y10696371D01* +G01X148584Y10691035D01* +G01X168000Y10689236D01* +G01X218800Y10689236D01* +G01X238216Y10691035D01* +G01X256970Y10696371D01* +G01X274425Y10705063D01* +G01X289985Y10716813D01* +G01X303122Y10731223D01* +G01X313386Y10747801D01* +G01X320430Y10765984D01* +G01X324013Y10785150D01* +G01X324013Y10804649D01* +G01X2602787Y10804649D01* +G01X2602787Y10785150D01* +G01X2606370Y10765984D01* +G01X2613413Y10747801D01* +G01X2623678Y10731223D01* +G01X2636815Y10716813D01* +G01X2652375Y10705063D01* +G01X2669830Y10696371D01* +G01X2688584Y10691035D01* +G01X2708000Y10689236D01* +G01X2758800Y10689236D01* +G01X2778216Y10691035D01* +G01X2796970Y10696371D01* +G01X2814425Y10705063D01* +G01X2829985Y10716813D01* +G01X2843122Y10731223D01* +G01X2853386Y10747801D01* +G01X2860430Y10765984D01* +G01X2864013Y10785150D01* +G01X2864013Y10804649D01* +G01X2860430Y10823816D01* +G01X2853386Y10841998D01* +G01X2843122Y10858577D01* +G01X2829985Y10872987D01* +G01X2814425Y10884737D01* +G01X2796970Y10893429D01* +G01X2778216Y10898765D01* +G01X2758800Y10900564D01* +G01X2758800Y10900564D01* +G01X2708000Y10900564D01* +G01X2688584Y10898765D01* +G01X2669830Y10893429D01* +G01X2652375Y10884737D01* +G01X2636815Y10872987D01* +G01X2623678Y10858577D01* +G01X2613413Y10841998D01* +G01X2606370Y10823816D01* +G01X2602787Y10804649D01* +G01X324013Y10804649D01* +G01X320430Y10823816D01* +G01X313386Y10841998D01* +G01X303122Y10858577D01* +G01X289985Y10872987D01* +G01X274425Y10884737D01* +G01X256970Y10893429D01* +G01X238216Y10898765D01* +G01X218800Y10900564D01* +G01X218800Y10900564D01* +G01X168000Y10900564D01* +G01X148584Y10898765D01* +G01X129830Y10893429D01* +G01X112375Y10884737D01* +G01X96815Y10872987D01* +G01X83678Y10858577D01* +G01X73413Y10841998D01* +G01X66370Y10823816D01* +G01X62787Y10804649D01* +G01X-1430650Y10804649D01* +G01X-1431478Y10810129D01* +G01X-1438169Y10829891D01* +G01X-1448226Y10848172D01* +G01X-1461336Y10864402D01* +G01X-1477093Y10878078D01* +G01X-1495006Y10888776D01* +G01X-1514519Y10896161D01* +G01X-1535025Y10900006D01* +G01X-1555889Y10900191D01* +G01X-1576460Y10896709D01* +G01X-1596101Y10889670D01* +G01X-1614200Y10879291D01* +G01X-1630196Y10865896D01* +G01X-1643591Y10849900D01* +G01X-1653970Y10831801D01* +G01X-1661010Y10812160D01* +G01X-1664491Y10791589D01* +G01X-1682545Y10791589D01* +G01X-1686106Y10812598D01* +G01X-1693582Y10832980D01* +G01X-1704655Y10851654D01* +G01X-1718953Y10867991D01* +G01X-1735993Y10881442D01* +G01X-1755204Y10891554D01* +G01X-1775939Y10897988D01* +G01X-1797500Y10900526D01* +G01X-1819161Y10899084D01* +G01X-1840195Y10893709D01* +G01X-1859894Y10884584D01* +G01X-1877594Y10872014D01* +G01X-1892701Y10856422D01* +G01X-1904707Y10838334D01* +G01X-1950294Y10838334D01* +G01X-1961769Y10855759D01* +G01X-1976125Y10870898D01* +G01X-1992917Y10883282D01* +G01X-2011622Y10892524D01* +G01X-2031659Y10898339D01* +G01X-2052406Y10900545D01* +G01X-2073218Y10899075D01* +G01X-2093449Y10893972D01* +G01X-2112469Y10885397D01* +G01X-2129688Y10873615D01* +G01X-2144571Y10858993D01* +G01X-2156655Y10841985D01* +G01X-2165566Y10823120D01* +G01X-2171025Y10802983D01* +G01X-2172864Y10782200D01* +G01X-2190136Y10782200D01* +G01X-2190136Y10864750D01* +G01X-2191889Y10875817D01* +G01X-2196976Y10885801D01* +G01X-2204899Y10893724D01* +G01X-2214883Y10898811D01* +G01X-2225950Y10900564D01* +G01X-2391050Y10900564D01* +G01X-2402117Y10898811D01* +G01X-2412101Y10893724D01* +G01X-2420024Y10885801D01* +G01X-2425111Y10875817D01* +G01X-2426864Y10864750D01* +G01X-2426864Y10699650D01* +G01X-2536486Y10699650D01* +G01X-2536486Y10796000D01* +G01X-2534751Y10815828D01* +G01X-2529600Y10835054D01* +G01X-2521188Y10853093D01* +G01X-2509772Y10869397D01* +G01X-2495697Y10883471D01* +G01X-2479393Y10894888D01* +G01X-2461354Y10903300D01* +G01X-2442128Y10908451D01* +G01X-2422300Y10910186D01* +G01X0Y10910186D01* +G01X11067Y10911939D01* +G01X21051Y10917026D01* +G01X28974Y10924949D01* +G01X34061Y10934933D01* +G01X35814Y10946000D01* +G01X35814Y11058649D01* +G01X62787Y11058649D01* +G01X62787Y11039150D01* +G01X66370Y11019984D01* +G01X73413Y11001801D01* +G01X83678Y10985223D01* +G01X96815Y10970813D01* +G01X112375Y10959063D01* +G01X129830Y10950371D01* +G01X148584Y10945035D01* +G01X168000Y10943236D01* +G01X218800Y10943236D01* +G01X238216Y10945035D01* +G01X256970Y10950371D01* +G01X274425Y10959063D01* +G01X289985Y10970813D01* +G01X303122Y10985223D01* +G01X313386Y11001801D01* +G01X320430Y11019984D01* +G01X324013Y11039150D01* +G01X324013Y11058649D01* +G01X2602787Y11058649D01* +G01X2602787Y11039150D01* +G01X2606370Y11019984D01* +G01X2613413Y11001801D01* +G01X2623678Y10985223D01* +G01X2636815Y10970813D01* +G01X2652375Y10959063D01* +G01X2669830Y10950371D01* +G01X2688584Y10945035D01* +G01X2708000Y10943236D01* +G01X2758800Y10943236D01* +G01X2778216Y10945035D01* +G01X2796970Y10950371D01* +G01X2814425Y10959063D01* +G01X2829985Y10970813D01* +G01X2843122Y10985223D01* +G01X2853386Y11001801D01* +G01X2860430Y11019984D01* +G01X2864013Y11039150D01* +G01X2864013Y11058649D01* +G01X2860430Y11077816D01* +G01X2853386Y11095998D01* +G01X2843122Y11112577D01* +G01X2829985Y11126987D01* +G01X2814425Y11138737D01* +G01X2796970Y11147429D01* +G01X2778216Y11152765D01* +G01X2758800Y11154564D01* +G01X2758800Y11154564D01* +G01X2708000Y11154564D01* +G01X2688584Y11152765D01* +G01X2669830Y11147429D01* +G01X2652375Y11138737D01* +G01X2636815Y11126987D01* +G01X2623678Y11112577D01* +G01X2613413Y11095998D01* +G01X2606370Y11077816D01* +G01X2602787Y11058649D01* +G01X324013Y11058649D01* +G01X320430Y11077816D01* +G01X313386Y11095998D01* +G01X303122Y11112577D01* +G01X289985Y11126987D01* +G01X274425Y11138737D01* +G01X256970Y11147429D01* +G01X238216Y11152765D01* +G01X218800Y11154564D01* +G01X218800Y11154564D01* +G01X168000Y11154564D01* +G01X148584Y11152765D01* +G01X129830Y11147429D01* +G01X112375Y11138737D01* +G01X96815Y11126987D01* +G01X83678Y11112577D01* +G01X73413Y11095998D01* +G01X66370Y11077816D01* +G01X62787Y11058649D01* +G01X35814Y11058649D01* +G01X35814Y11312649D01* +G01X62787Y11312649D01* +G01X62787Y11293150D01* +G01X66370Y11273984D01* +G01X73413Y11255801D01* +G01X83678Y11239223D01* +G01X96815Y11224813D01* +G01X112375Y11213063D01* +G01X129830Y11204371D01* +G01X148584Y11199035D01* +G01X168000Y11197236D01* +G01X218800Y11197236D01* +G01X238216Y11199035D01* +G01X256970Y11204371D01* +G01X274425Y11213063D01* +G01X289985Y11224813D01* +G01X303122Y11239223D01* +G01X313386Y11255801D01* +G01X320430Y11273984D01* +G01X324013Y11293150D01* +G01X324013Y11312649D01* +G01X320430Y11331816D01* +G01X313386Y11349998D01* +G01X303122Y11366577D01* +G01X289985Y11380987D01* +G01X274425Y11392737D01* +G01X256970Y11401429D01* +G01X238216Y11406765D01* +G01X218800Y11408564D01* +G01X218800Y11408564D01* +G01X168000Y11408564D01* +G01X148584Y11406765D01* +G01X129830Y11401429D01* +G01X112375Y11392737D01* +G01X96815Y11380987D01* +G01X83678Y11366577D01* +G01X73413Y11349998D01* +G01X66370Y11331816D01* +G01X62787Y11312649D01* +G01X35814Y11312649D01* +G01X35814Y11566649D01* +G01X62787Y11566649D01* +G01X62787Y11547150D01* +G01X66370Y11527984D01* +G01X73413Y11509801D01* +G01X83678Y11493223D01* +G01X96815Y11478813D01* +G01X112375Y11467063D01* +G01X129830Y11458371D01* +G01X148584Y11453035D01* +G01X168000Y11451236D01* +G01X218800Y11451236D01* +G01X238216Y11453035D01* +G01X256970Y11458371D01* +G01X274425Y11467063D01* +G01X289985Y11478813D01* +G01X303122Y11493223D01* +G01X313386Y11509801D01* +G01X320430Y11527984D01* +G01X324013Y11547150D01* +G01X324013Y11566649D01* +G01X320430Y11585816D01* +G01X313386Y11603998D01* +G01X303122Y11620577D01* +G01X289985Y11634987D01* +G01X274425Y11646737D01* +G01X256970Y11655429D01* +G01X238216Y11660765D01* +G01X218800Y11662564D01* +G01X218800Y11662564D01* +G01X168000Y11662564D01* +G01X148584Y11660765D01* +G01X129830Y11655429D01* +G01X112375Y11646737D01* +G01X96815Y11634987D01* +G01X83678Y11620577D01* +G01X73413Y11603998D01* +G01X66370Y11585816D01* +G01X62787Y11566649D01* +G01X35814Y11566649D01* +G01X35814Y11820649D01* +G01X62787Y11820649D01* +G01X62787Y11801150D01* +G01X66370Y11781984D01* +G01X73413Y11763801D01* +G01X83678Y11747223D01* +G01X96815Y11732813D01* +G01X112375Y11721063D01* +G01X129830Y11712371D01* +G01X148584Y11707035D01* +G01X168000Y11705236D01* +G01X218800Y11705236D01* +G01X238216Y11707035D01* +G01X256970Y11712371D01* +G01X274425Y11721063D01* +G01X289985Y11732813D01* +G01X303122Y11747223D01* +G01X313386Y11763801D01* +G01X320430Y11781984D01* +G01X324013Y11801150D01* +G01X324013Y11820649D01* +G01X320430Y11839816D01* +G01X313386Y11857998D01* +G01X303122Y11874577D01* +G01X289985Y11888987D01* +G01X274425Y11900737D01* +G01X256970Y11909429D01* +G01X238216Y11914765D01* +G01X218800Y11916564D01* +G01X218800Y11916564D01* +G01X168000Y11916564D01* +G01X148584Y11914765D01* +G01X129830Y11909429D01* +G01X112375Y11900737D01* +G01X96815Y11888987D01* +G01X83678Y11874577D01* +G01X73413Y11857998D01* +G01X66370Y11839816D01* +G01X62787Y11820649D01* +G01X35814Y11820649D01* +G01X35814Y12074649D01* +G01X62787Y12074649D01* +G01X62787Y12055150D01* +G01X66370Y12035984D01* +G01X73413Y12017801D01* +G01X83678Y12001223D01* +G01X96815Y11986813D01* +G01X112375Y11975063D01* +G01X129830Y11966371D01* +G01X148584Y11961035D01* +G01X168000Y11959236D01* +G01X218800Y11959236D01* +G01X238216Y11961035D01* +G01X256970Y11966371D01* +G01X274425Y11975063D01* +G01X289985Y11986813D01* +G01X303122Y12001223D01* +G01X313386Y12017801D01* +G01X320430Y12035984D01* +G01X324013Y12055150D01* +G01X324013Y12074649D01* +G01X320430Y12093816D01* +G01X313386Y12111998D01* +G01X303122Y12128577D01* +G01X289985Y12142987D01* +G01X274425Y12154737D01* +G01X256970Y12163429D01* +G01X238216Y12168765D01* +G01X218800Y12170564D01* +G01X218800Y12170564D01* +G01X168000Y12170564D01* +G01X148584Y12168765D01* +G01X129830Y12163429D01* +G01X112375Y12154737D01* +G01X96815Y12142987D01* +G01X83678Y12128577D01* +G01X73413Y12111998D01* +G01X66370Y12093816D01* +G01X62787Y12074649D01* +G01X35814Y12074649D01* +G01X35814Y12328649D01* +G01X62787Y12328649D01* +G01X62787Y12309150D01* +G01X66370Y12289984D01* +G01X73413Y12271801D01* +G01X83678Y12255223D01* +G01X96815Y12240813D01* +G01X112375Y12229063D01* +G01X129830Y12220371D01* +G01X148584Y12215035D01* +G01X168000Y12213236D01* +G01X218800Y12213236D01* +G01X238216Y12215035D01* +G01X256970Y12220371D01* +G01X274425Y12229063D01* +G01X289985Y12240813D01* +G01X303122Y12255223D01* +G01X313386Y12271801D01* +G01X320430Y12289984D01* +G01X324013Y12309150D01* +G01X324013Y12328649D01* +G01X320430Y12347816D01* +G01X313386Y12365998D01* +G01X303122Y12382577D01* +G01X289985Y12396987D01* +G01X274425Y12408737D01* +G01X256970Y12417429D01* +G01X238216Y12422765D01* +G01X218800Y12424564D01* +G01X218800Y12424564D01* +G01X168000Y12424564D01* +G01X148584Y12422765D01* +G01X129830Y12417429D01* +G01X112375Y12408737D01* +G01X96815Y12396987D01* +G01X83678Y12382577D01* +G01X73413Y12365998D01* +G01X66370Y12347816D01* +G01X62787Y12328649D01* +G01X35814Y12328649D01* +G01X35814Y12642750D01* +G01X62336Y12642750D01* +G01X62336Y12503050D01* +G01X64089Y12491983D01* +G01X69176Y12481999D01* +G01X77099Y12474076D01* +G01X87083Y12468989D01* +G01X98150Y12467236D01* +G01X288650Y12467236D01* +G01X288650Y12467236D01* +G01X299717Y12468989D01* +G01X309701Y12474076D01* +G01X317624Y12481999D01* +G01X322711Y12491983D01* +G01X324464Y12503050D01* +G01X324464Y12642750D01* +G01X322711Y12653817D01* +G01X317624Y12663801D01* +G01X309701Y12671724D01* +G01X299717Y12676811D01* +G01X288650Y12678564D01* +G01X98150Y12678564D01* +G01X87083Y12676811D01* +G01X77099Y12671724D01* +G01X69176Y12663801D01* +G01X64089Y12653817D01* +G01X62336Y12642750D01* +G01X35814Y12642750D01* +G01X35814Y13350000D01* +G01X37549Y13369828D01* +G01X42700Y13389054D01* +G01X51112Y13407093D01* +G01X62528Y13423397D01* +G01X76603Y13437471D01* +G01X92907Y13448888D01* +G01X110946Y13457300D01* +G01X130172Y13462451D01* +G01X150000Y13464186D01* +G01X2750004Y13464183D01* +G01X2769832Y13462448D01* +G01X2789058Y13457296D01* +G01X2807097Y13448884D01* +G01X2823401Y13437468D01* +G01X2837475Y13423394D01* +G01X2848892Y13407090D01* +G01X2857304Y13389050D01* +G01X2862455Y13369825D01* +G01X2864190Y13349997D01* +G01X2864188Y12580525D01* +G01X2860925Y12600018D01* +G01X2854088Y12618562D01* +G01X2843918Y12635508D01* +G01X2830769Y12650265D01* +G01X2815103Y12662314D01* +G01X2797467Y12671235D01* +G01X2778477Y12676716D01* +G01X2758800Y12678564D01* +G01X2708000Y12678564D01* +G01X2688584Y12676765D01* +G01X2669830Y12671429D01* +G01X2652375Y12662737D01* +G01X2636815Y12650987D01* +G01X2623678Y12636577D01* +G01X2613413Y12619998D01* +G01X2606370Y12601816D01* +G01X2602787Y12582649D01* +G01X2602787Y12563150D01* +G01X2606370Y12543984D01* +G01X2613413Y12525801D01* +G01X2623678Y12509223D01* +G01X2636815Y12494813D01* +G01X2652375Y12483063D01* +G01X2669830Y12474371D01* +G01X2688584Y12469035D01* +G01X2708000Y12467236D01* +G01X2758800Y12467236D01* +G01X2778477Y12469084D01* +G01X2797467Y12474565D01* +G01X2815103Y12483486D01* +G01X2830769Y12495535D01* +G01X2843918Y12510291D01* +G01X2854088Y12527238D01* +G01X2860925Y12545782D01* +G01X2864188Y12565274D01* +G01X2864188Y12326532D01* +G01X2864188Y12326532D01* +G01X2860923Y12346023D01* +G01X2854086Y12364566D01* +G01X2843915Y12381512D01* +G01X2830767Y12396267D01* +G01X2815101Y12408315D01* +G01X2797465Y12417236D01* +G01X2778477Y12422716D01* +G01X2758800Y12424564D01* +G01X2708000Y12424564D01* +G01X2688584Y12422765D01* +G01X2669830Y12417429D01* +G01X2652375Y12408737D01* +G01X2636815Y12396987D01* +G01X2623678Y12382577D01* +G01X2613413Y12365998D01* +G01X2606370Y12347816D01* +G01X2602787Y12328649D01* +G01X2602787Y12309150D01* +G01X2606370Y12289984D01* +G01X2613413Y12271801D01* +G01X2623678Y12255223D01* +G01X2636815Y12240813D01* +G01X2652375Y12229063D01* +G01X2669830Y12220371D01* +G01X2688584Y12215035D01* +G01X2708000Y12213236D01* +G01X2758800Y12213236D01* +G01X2778477Y12215084D01* +G01X2797465Y12220564D01* +G01X2815101Y12229485D01* +G01X2830767Y12241533D01* +G01X2843915Y12256288D01* +G01X2854086Y12273233D01* +G01X2860923Y12291776D01* +G01X2864188Y12311268D01* +G01X2864187Y12072538D01* +G01X2860922Y12092029D01* +G01X2854084Y12110571D01* +G01X2843913Y12127515D01* +G01X2830764Y12142269D01* +G01X2815099Y12154317D01* +G01X2797464Y12163236D01* +G01X2778476Y12168716D01* +G01X2758800Y12170564D01* +G01X2708000Y12170564D01* +G01X2688584Y12168765D01* +G01X2669830Y12163429D01* +G01X2652375Y12154737D01* +G01X2636815Y12142987D01* +G01X2623678Y12128577D01* +G01X2613413Y12111998D01* +G01X2606370Y12093816D01* +G01X2602787Y12074649D01* +G01X2602787Y12055150D01* +G01X2606370Y12035984D01* +G01X2613413Y12017801D01* +G01X2623678Y12001223D01* +G01X2636815Y11986813D01* +G01X2652375Y11975063D01* +G01X2669830Y11966371D01* +G01X2688584Y11961035D01* +G01X2708000Y11959236D01* +G01X2758800Y11959236D01* +G01X2778476Y11961084D01* +G01X2797463Y11966564D01* +G01X2815099Y11975483D01* +G01X2830764Y11987531D01* +G01X2843913Y12002285D01* +G01X2854084Y12019229D01* +G01X2860922Y12037771D01* +G01X2864187Y12057261D01* +G01X2864187Y11818545D01* +G01X2864187Y11818545D01* +G01X2860920Y11838035D01* +G01X2854082Y11856575D01* +G01X2843910Y11873518D01* +G01X2830762Y11888271D01* +G01X2815097Y11900318D01* +G01X2797462Y11909237D01* +G01X2778475Y11914716D01* +G01X2758800Y11916564D01* +G01X2708000Y11916564D01* +G01X2688584Y11914765D01* +G01X2669830Y11909429D01* +G01X2652375Y11900737D01* +G01X2636815Y11888987D01* +G01X2623678Y11874577D01* +G01X2613413Y11857998D01* +G01X2606370Y11839816D01* +G01X2602787Y11820649D01* +G01X2602787Y11801150D01* +G01X2606370Y11781984D01* +G01X2613413Y11763801D01* +G01X2623678Y11747223D01* +G01X2636815Y11732813D01* +G01X2652375Y11721063D01* +G01X2669830Y11712371D01* +G01X2688584Y11707035D01* +G01X2708000Y11705236D01* +G01X2758800Y11705236D01* +G01X2778475Y11707084D01* +G01X2797462Y11712563D01* +G01X2815097Y11721482D01* +G01X2830762Y11733528D01* +G01X2843910Y11748281D01* +G01X2854082Y11765224D01* +G01X2860920Y11783765D01* +G01X2864187Y11803255D01* +G01X2864187Y11564551D01* +G01X2864187Y11564551D01* +G01X2860919Y11584040D01* +G01X2854080Y11602580D01* +G01X2843908Y11619522D01* +G01X2830760Y11634274D01* +G01X2815095Y11646319D01* +G01X2797460Y11655237D01* +G01X2778474Y11660716D01* +G01X2758800Y11662564D01* +G01X2708000Y11662564D01* +G01X2688584Y11660765D01* +G01X2669830Y11655429D01* +G01X2652375Y11646737D01* +G01X2636815Y11634987D01* +G01X2623678Y11620577D01* +G01X2613413Y11603998D01* +G01X2606370Y11585816D01* +G01X2602787Y11566649D01* +G01X2602787Y11547150D01* +G01X2606370Y11527984D01* +G01X2613413Y11509801D01* +G01X2623678Y11493223D01* +G01X2636815Y11478813D01* +G01X2652375Y11467063D01* +G01X2669830Y11458371D01* +G01X2688584Y11453035D01* +G01X2708000Y11451236D01* +G01X2758800Y11451236D01* +G01X2778474Y11453084D01* +G01X2797460Y11458563D01* +G01X2815094Y11467481D01* +G01X2830760Y11479526D01* +G01X2843908Y11494278D01* +G01X2854080Y11511220D01* +G01X2860919Y11529759D01* +G01X2864187Y11549248D01* +G01X2864186Y11310558D01* +G01X2864186Y11310558D01* +G01X2860917Y11330046D01* +G01X2854078Y11348584D01* +G01X2843906Y11365525D01* +G01X2830757Y11380276D01* +G01X2815092Y11392320D01* +G01X2797459Y11401238D01* +G01X2778473Y11406716D01* +G01X2758800Y11408564D01* +G01X2708000Y11408564D01* +G01X2688584Y11406765D01* +G01X2669830Y11401429D01* +G01X2652375Y11392737D01* +G01X2636815Y11380987D01* +G01X2623678Y11366577D01* +G01X2613413Y11349998D01* +G01X2606370Y11331816D01* +G01X2602787Y11312649D01* +G01X2602787Y11293150D01* +G01X2606370Y11273984D01* +G01X2613413Y11255801D01* +G01X2623678Y11239223D01* +G01X2636815Y11224813D01* +G01X2652375Y11213063D01* +G01X2669830Y11204371D01* +G01X2688584Y11199035D01* +G01X2708000Y11197236D01* +G01X2758800Y11197236D01* +G01X2778701Y11199127D01* +G01X2797890Y11204733D01* +G01X2815680Y11213852D01* +G01X2831434Y11226159D01* +G01X2844587Y11241212D01* +G01X2854671Y11258474D01* +G01X2861322Y11277326D01* +G01X2864304Y11297093D01* +G01X2866730Y11286744D01* +G01X2872086Y11277562D01* +G01X2879902Y11270357D01* +G01X2889488Y11265764D01* +G01X2900000Y11264186D01* +G01X4750000Y11264186D01* +G01X4769828Y11262451D01* +G01X4789054Y11257300D01* +G01X4807093Y11248888D01* +G01X4823397Y11237472D01* +G01X4837472Y11223397D01* +G01X4848888Y11207093D01* +G01X4857300Y11189054D01* +G01X4862451Y11169828D01* +G01X4864186Y11150000D01* +G01X4891892Y5650013D01* +G01X4891892Y5650013D01* +G01X4890157Y5630186D01* +G01X4885005Y5610960D01* +G01X4876593Y5592922D01* +G01X4865177Y5576618D01* +G01X4851102Y5562544D01* +G01X4834798Y5551128D01* +G01X4816759Y5542716D01* +G01X4797534Y5537565D01* +G01X4777706Y5535830D01* +G01X2454000Y5535830D01* +G01X2444343Y5534503D01* +G01X2435402Y5530622D01* +G01X2427838Y5524474D01* +G01X2427838Y6318227D01* +G01X3026770Y6318227D01* +G01X3028683Y6303698D01* +G01X3034290Y6290160D01* +G01X3043211Y6278534D01* +G01X3353422Y5968323D01* +G01X3365048Y5959402D01* +G01X3378586Y5953795D01* +G01X3393115Y5951882D01* +G01X3471203Y5951882D01* +G01X3482937Y5934132D01* +G01X3497659Y5918770D01* +G01X3514894Y5906291D01* +G01X3534085Y5897100D01* +G01X3554611Y5891494D01* +G01X3575809Y5889653D01* +G01X3596994Y5891636D01* +G01X3617481Y5897381D01* +G01X3636610Y5906701D01* +G01X3653760Y5919295D01* +G01X3668378Y5934757D01* +G01X3679992Y5952585D01* +G01X3688227Y5972205D01* +G01X3692815Y5992982D01* +G01X3693610Y6014245D01* +G01X3690585Y6035307D01* +G01X3683838Y6055487D01* +G01X3673586Y6074133D01* +G01X3683908Y6074133D01* +G01X3716032Y6042008D01* +G01X3711825Y6021573D01* +G01X3711271Y6000716D01* +G01X3714388Y5980086D01* +G01X3721079Y5960324D01* +G01X3731136Y5942044D01* +G01X3744246Y5925814D01* +G01X3760003Y5912137D01* +G01X3777916Y5901440D01* +G01X3797429Y5894054D01* +G01X3817935Y5890209D01* +G01X3838798Y5890025D01* +G01X3859370Y5893506D01* +G01X3879011Y5900546D01* +G01X3897110Y5910925D01* +G01X3913106Y5924320D01* +G01X3926501Y5940316D01* +G01X3936880Y5958415D01* +G01X3943919Y5978056D01* +G01X3947401Y5998627D01* +G01X3947216Y6019491D01* +G01X3943371Y6039997D01* +G01X3935986Y6059510D01* +G01X3925288Y6077423D01* +G01X3911612Y6093180D01* +G01X3895382Y6106290D01* +G01X3877101Y6116347D01* +G01X3857339Y6123038D01* +G01X3836710Y6126155D01* +G01X3815853Y6125601D01* +G01X3795417Y6121394D01* +G01X3746852Y6169959D01* +G01X3735226Y6178880D01* +G01X3721688Y6184488D01* +G01X3707159Y6186401D01* +G01X3666472Y6186401D01* +G01X3678684Y6204184D01* +G01X3687465Y6223888D01* +G01X3692524Y6244858D01* +G01X3693693Y6266398D01* +G01X3692849Y6272937D01* +G01X3711551Y6272937D01* +G01X3711551Y6251095D01* +G01X3715564Y6229624D01* +G01X3723455Y6209257D01* +G01X3734953Y6190686D01* +G01X3749669Y6174544D01* +G01X3767099Y6161381D01* +G01X3786652Y6151645D01* +G01X3807661Y6145667D01* +G01X3829410Y6143652D01* +G01X3851159Y6145667D01* +G01X3872168Y6151645D01* +G01X3891721Y6161381D01* +G01X3909151Y6174544D01* +G01X3923866Y6190686D01* +G01X3935365Y6209257D01* +G01X3943255Y6229624D01* +G01X3947269Y6251095D01* +G01X3947269Y6272937D01* +G01X3943255Y6294408D01* +G01X3935365Y6314775D01* +G01X3923866Y6333346D01* +G01X3909151Y6349488D01* +G01X3891721Y6362651D01* +G01X3872168Y6372387D01* +G01X3851159Y6378365D01* +G01X3829410Y6380380D01* +G01X3829410Y6380380D01* +G01X3807661Y6378365D01* +G01X3786652Y6372387D01* +G01X3767099Y6362651D01* +G01X3749669Y6349488D01* +G01X3734953Y6333346D01* +G01X3723455Y6314775D01* +G01X3715564Y6294408D01* +G01X3711551Y6272937D01* +G01X3692849Y6272937D01* +G01X3690933Y6287793D01* +G01X3684336Y6308332D01* +G01X3674121Y6327332D01* +G01X3660627Y6344163D01* +G01X3644303Y6358265D01* +G01X3625690Y6369170D01* +G01X3605407Y6376516D01* +G01X3584128Y6380058D01* +G01X3562559Y6379680D01* +G01X3541417Y6375394D01* +G01X3443838Y6472973D01* +G01X3443838Y6526937D01* +G01X3457551Y6526937D01* +G01X3457551Y6505095D01* +G01X3461564Y6483624D01* +G01X3469455Y6463257D01* +G01X3480953Y6444686D01* +G01X3495669Y6428544D01* +G01X3513099Y6415381D01* +G01X3532652Y6405645D01* +G01X3553661Y6399667D01* +G01X3575410Y6397652D01* +G01X3597159Y6399667D01* +G01X3618168Y6405645D01* +G01X3637721Y6415381D01* +G01X3655151Y6428544D01* +G01X3669866Y6444686D01* +G01X3681365Y6463257D01* +G01X3689255Y6483624D01* +G01X3693269Y6505095D01* +G01X3693269Y6526937D01* +G01X3689255Y6548408D01* +G01X3681365Y6568775D01* +G01X3669866Y6587346D01* +G01X3655151Y6603488D01* +G01X3637721Y6616651D01* +G01X3618168Y6626387D01* +G01X3597159Y6632365D01* +G01X3575410Y6634380D01* +G01X3575410Y6634380D01* +G01X3553661Y6632365D01* +G01X3532652Y6626387D01* +G01X3513099Y6616651D01* +G01X3495669Y6603488D01* +G01X3480953Y6587346D01* +G01X3469455Y6568775D01* +G01X3461564Y6548408D01* +G01X3457551Y6526937D01* +G01X3443838Y6526937D01* +G01X3443838Y6779405D01* +G01X3457419Y6779405D01* +G01X3457603Y6758541D01* +G01X3461448Y6738035D01* +G01X3468834Y6718522D01* +G01X3479531Y6700609D01* +G01X3493208Y6684852D01* +G01X3509438Y6671742D01* +G01X3527718Y6661685D01* +G01X3547480Y6654994D01* +G01X3568110Y6651877D01* +G01X3588967Y6652431D01* +G01X3609402Y6656638D01* +G01X3659847Y6606194D01* +G01X3671472Y6597273D01* +G01X3685011Y6591665D01* +G01X3699539Y6589753D01* +G01X3736820Y6589753D01* +G01X3736820Y6589753D01* +G01X3725534Y6572759D01* +G01X3717333Y6554080D01* +G01X3712462Y6534270D01* +G01X3711065Y6513918D01* +G01X3713182Y6493628D01* +G01X3718753Y6474003D01* +G01X3727610Y6455627D01* +G01X3739491Y6439044D01* +G01X3754044Y6424747D01* +G01X3770835Y6413162D01* +G01X3789365Y6404632D01* +G01X3809086Y6399410D01* +G01X3829410Y6397652D01* +G01X3829410Y6397652D01* +G01X3849734Y6399410D01* +G01X3869454Y6404632D01* +G01X3887985Y6413162D01* +G01X3904776Y6424747D01* +G01X3919328Y6439044D01* +G01X3931210Y6455627D01* +G01X3940067Y6474003D01* +G01X3945637Y6493628D01* +G01X3947755Y6513918D01* +G01X3946358Y6534270D01* +G01X3941487Y6554080D01* +G01X3933286Y6572759D01* +G01X3922000Y6589753D01* +G01X3956664Y6589753D01* +G01X3971192Y6591665D01* +G01X3984731Y6597273D01* +G01X3996357Y6606194D01* +G01X4786297Y7396134D01* +G01X4795217Y7407760D01* +G01X4800825Y7421298D01* +G01X4802738Y7435827D01* +G01X4802738Y9930396D01* +G01X4800825Y9944924D01* +G01X4795217Y9958463D01* +G01X4786297Y9970089D01* +G01X4658235Y10098150D01* +G01X4661711Y10118765D01* +G01X4661295Y10139666D01* +G01X4657003Y10160127D01* +G01X4648984Y10179433D01* +G01X4637517Y10196913D01* +G01X4623002Y10211958D01* +G01X4605943Y10224044D01* +G01X4586936Y10232749D01* +G01X4566643Y10237771D01* +G01X4545770Y10238934D01* +G01X4525044Y10236198D01* +G01X4505187Y10229659D01* +G01X4486892Y10219544D01* +G01X4470794Y10206206D01* +G01X4470794Y10206206D01* +G01X4457456Y10190108D01* +G01X4447340Y10171813D01* +G01X4440801Y10151956D01* +G01X4438066Y10131230D01* +G01X4439229Y10110357D01* +G01X4444251Y10090063D01* +G01X4452956Y10071056D01* +G01X4465042Y10053998D01* +G01X4480087Y10039483D01* +G01X4497567Y10028016D01* +G01X4516873Y10019996D01* +G01X4537333Y10015704D01* +G01X4558235Y10015289D01* +G01X4578850Y10018765D01* +G01X4690470Y9907144D01* +G01X4690470Y7459078D01* +G01X3933412Y6702021D01* +G01X3926295Y6702021D01* +G01X3926295Y6702021D01* +G01X3936749Y6720132D01* +G01X3943852Y6739800D01* +G01X3947384Y6760411D01* +G01X3947233Y6781322D01* +G01X3943404Y6801880D01* +G01X3936018Y6821444D01* +G01X3925304Y6839402D01* +G01X3952313Y6839402D01* +G01X3966842Y6841315D01* +G01X3980380Y6846922D01* +G01X3992006Y6855843D01* +G01X4589693Y7453530D01* +G01X4598613Y7465156D01* +G01X4604221Y7478694D01* +G01X4606134Y7493223D01* +G01X4606134Y9506986D01* +G01X4626200Y9506986D01* +G01X4637267Y9508739D01* +G01X4647251Y9513826D01* +G01X4655174Y9521749D01* +G01X4660261Y9531733D01* +G01X4662014Y9542800D01* +G01X4662014Y9695200D01* +G01X4660261Y9706267D01* +G01X4655174Y9716251D01* +G01X4647251Y9724174D01* +G01X4637267Y9729261D01* +G01X4626200Y9731014D01* +G01X4487399Y9731014D01* +G01X4521150Y9764765D01* +G01X4541765Y9761289D01* +G01X4562666Y9761704D01* +G01X4583127Y9765996D01* +G01X4602433Y9774016D01* +G01X4619913Y9785483D01* +G01X4634958Y9799998D01* +G01X4647044Y9817056D01* +G01X4655749Y9836063D01* +G01X4660771Y9856357D01* +G01X4661934Y9877230D01* +G01X4659198Y9897956D01* +G01X4652659Y9917813D01* +G01X4642544Y9936108D01* +G01X4629206Y9952206D01* +G01X4613108Y9965544D01* +G01X4594813Y9975659D01* +G01X4574956Y9982198D01* +G01X4554230Y9984934D01* +G01X4533357Y9983771D01* +G01X4513063Y9978749D01* +G01X4494056Y9970044D01* +G01X4476998Y9957958D01* +G01X4462483Y9942913D01* +G01X4451016Y9925433D01* +G01X4442996Y9906127D01* +G01X4438704Y9885666D01* +G01X4438289Y9864765D01* +G01X4441765Y9844150D01* +G01X4376711Y9779097D01* +G01X4367790Y9767471D01* +G01X4362183Y9753932D01* +G01X4360270Y9739404D01* +G01X4360270Y9710741D01* +G01X4342876Y9720734D01* +G01X4323979Y9727463D01* +G01X4304185Y9730714D01* +G01X4284128Y9730383D01* +G01X4264452Y9726479D01* +G01X4245787Y9719129D01* +G01X4228733Y9708567D01* +G01X4213837Y9695133D01* +G01X4201575Y9679258D01* +G01X4192341Y9661450D01* +G01X4186432Y9642280D01* +G01X4184036Y9622364D01* +G01X4185232Y9602340D01* +G01X4189979Y9582851D01* +G01X4198127Y9564520D01* +G01X4209413Y9547937D01* +G01X4223477Y9533633D01* +G01X4239866Y9522066D01* +G01X4239866Y7767857D01* +G01X4239866Y7767857D01* +G01X3863402Y7391394D01* +G01X3863402Y7391394D01* +G01X3842967Y7395601D01* +G01X3822110Y7396155D01* +G01X3801480Y7393038D01* +G01X3781718Y7386347D01* +G01X3763438Y7376290D01* +G01X3747208Y7363180D01* +G01X3733531Y7347423D01* +G01X3722834Y7329510D01* +G01X3715448Y7309997D01* +G01X3711603Y7289491D01* +G01X3711419Y7268627D01* +G01X3714900Y7248056D01* +G01X3721940Y7228415D01* +G01X3732319Y7210316D01* +G01X3745714Y7194320D01* +G01X3761710Y7180925D01* +G01X3779809Y7170546D01* +G01X3799450Y7163506D01* +G01X3820021Y7160025D01* +G01X3840885Y7160209D01* +G01X3861391Y7164054D01* +G01X3880904Y7171440D01* +G01X3898817Y7182137D01* +G01X3914574Y7195814D01* +G01X3927684Y7212044D01* +G01X3937741Y7230324D01* +G01X3944432Y7250086D01* +G01X3947549Y7270716D01* +G01X3946995Y7291573D01* +G01X3942788Y7312008D01* +G01X4335693Y7704913D01* +G01X4344613Y7716539D01* +G01X4350221Y7730077D01* +G01X4352134Y7744606D01* +G01X4352134Y9522066D01* +G01X4360270Y9527258D01* +G01X4360270Y7634261D01* +G01X3863402Y7137394D01* +G01X3863402Y7137394D01* +G01X3842558Y7141647D01* +G01X3821289Y7142101D01* +G01X3800282Y7138740D01* +G01X3780216Y7131673D01* +G01X3761739Y7121128D01* +G01X3745448Y7107446D01* +G01X3731870Y7091068D01* +G01X3731870Y7091068D01* +G01X3721443Y7072525D01* +G01X3714503Y7052414D01* +G01X3711276Y7031387D01* +G01X3711864Y7010121D01* +G01X3716250Y6989304D01* +G01X3724292Y6969608D01* +G01X3735729Y6951670D01* +G01X3727141Y6951670D01* +G01X3688788Y6990023D01* +G01X3692995Y7010459D01* +G01X3693549Y7031316D01* +G01X3690432Y7051945D01* +G01X3683741Y7071707D01* +G01X3673684Y7089988D01* +G01X3660574Y7106218D01* +G01X3644817Y7119894D01* +G01X3626904Y7130592D01* +G01X3607391Y7137977D01* +G01X3586885Y7141822D01* +G01X3566021Y7142007D01* +G01X3545450Y7138525D01* +G01X3525809Y7131486D01* +G01X3507710Y7121107D01* +G01X3491714Y7107712D01* +G01X3478319Y7091716D01* +G01X3467940Y7073617D01* +G01X3460900Y7053976D01* +G01X3457419Y7033405D01* +G01X3457603Y7012541D01* +G01X3461448Y6992035D01* +G01X3468834Y6972522D01* +G01X3479531Y6954609D01* +G01X3493208Y6938852D01* +G01X3509438Y6925742D01* +G01X3527718Y6915685D01* +G01X3547480Y6908994D01* +G01X3568110Y6905877D01* +G01X3588967Y6906431D01* +G01X3609402Y6910638D01* +G01X3664197Y6855843D01* +G01X3675823Y6846922D01* +G01X3689361Y6841315D01* +G01X3703890Y6839402D01* +G01X3733516Y6839402D01* +G01X3733516Y6839402D01* +G01X3722802Y6821444D01* +G01X3715416Y6801880D01* +G01X3711587Y6781322D01* +G01X3711436Y6760411D01* +G01X3714968Y6739800D01* +G01X3722071Y6720132D01* +G01X3732525Y6702021D01* +G01X3722791Y6702021D01* +G01X3688788Y6736023D01* +G01X3692995Y6756459D01* +G01X3693549Y6777316D01* +G01X3690432Y6797945D01* +G01X3683741Y6817707D01* +G01X3673684Y6835988D01* +G01X3660574Y6852218D01* +G01X3644817Y6865894D01* +G01X3626904Y6876592D01* +G01X3607391Y6883977D01* +G01X3586885Y6887822D01* +G01X3566021Y6888007D01* +G01X3545450Y6884525D01* +G01X3525809Y6877486D01* +G01X3507710Y6867107D01* +G01X3491714Y6853712D01* +G01X3478319Y6837716D01* +G01X3467940Y6819617D01* +G01X3460900Y6799976D01* +G01X3457419Y6779405D01* +G01X3443838Y6779405D01* +G01X3443838Y7288937D01* +G01X3457551Y7288937D01* +G01X3457551Y7267095D01* +G01X3461564Y7245624D01* +G01X3469455Y7225257D01* +G01X3480953Y7206686D01* +G01X3495669Y7190544D01* +G01X3513099Y7177381D01* +G01X3532652Y7167645D01* +G01X3553661Y7161667D01* +G01X3575410Y7159652D01* +G01X3597159Y7161667D01* +G01X3618168Y7167645D01* +G01X3637721Y7177381D01* +G01X3655151Y7190544D01* +G01X3669866Y7206686D01* +G01X3681365Y7225257D01* +G01X3689255Y7245624D01* +G01X3693269Y7267095D01* +G01X3693269Y7288937D01* +G01X3689255Y7310408D01* +G01X3681365Y7330775D01* +G01X3669866Y7349346D01* +G01X3655151Y7365488D01* +G01X3637721Y7378651D01* +G01X3618168Y7388387D01* +G01X3597159Y7394365D01* +G01X3575410Y7396380D01* +G01X3575410Y7396380D01* +G01X3553661Y7394365D01* +G01X3532652Y7388387D01* +G01X3513099Y7378651D01* +G01X3495669Y7365488D01* +G01X3480953Y7349346D01* +G01X3469455Y7330775D01* +G01X3461564Y7310408D01* +G01X3457551Y7288937D01* +G01X3443838Y7288937D01* +G01X3443838Y7542937D01* +G01X3457551Y7542937D01* +G01X3457551Y7521095D01* +G01X3461564Y7499624D01* +G01X3469455Y7479257D01* +G01X3480953Y7460686D01* +G01X3495669Y7444544D01* +G01X3513099Y7431381D01* +G01X3532652Y7421645D01* +G01X3553661Y7415667D01* +G01X3575410Y7413652D01* +G01X3597159Y7415667D01* +G01X3618168Y7421645D01* +G01X3637721Y7431381D01* +G01X3655151Y7444544D01* +G01X3669866Y7460686D01* +G01X3681365Y7479257D01* +G01X3689255Y7499624D01* +G01X3693269Y7521095D01* +G01X3693269Y7542937D01* +G01X3711551Y7542937D01* +G01X3711551Y7521095D01* +G01X3715564Y7499624D01* +G01X3723455Y7479257D01* +G01X3734953Y7460686D01* +G01X3749669Y7444544D01* +G01X3767099Y7431381D01* +G01X3786652Y7421645D01* +G01X3807661Y7415667D01* +G01X3829410Y7413652D01* +G01X3851159Y7415667D01* +G01X3872168Y7421645D01* +G01X3891721Y7431381D01* +G01X3909151Y7444544D01* +G01X3923866Y7460686D01* +G01X3935365Y7479257D01* +G01X3943255Y7499624D01* +G01X3947269Y7521095D01* +G01X3947269Y7542937D01* +G01X3943255Y7564408D01* +G01X3935365Y7584775D01* +G01X3923866Y7603346D01* +G01X3909151Y7619488D01* +G01X3891721Y7632651D01* +G01X3872168Y7642387D01* +G01X3851159Y7648365D01* +G01X3829410Y7650380D01* +G01X3829410Y7650380D01* +G01X3807661Y7648365D01* +G01X3786652Y7642387D01* +G01X3767099Y7632651D01* +G01X3749669Y7619488D01* +G01X3734953Y7603346D01* +G01X3723455Y7584775D01* +G01X3715564Y7564408D01* +G01X3711551Y7542937D01* +G01X3693269Y7542937D01* +G01X3689255Y7564408D01* +G01X3681365Y7584775D01* +G01X3669866Y7603346D01* +G01X3655151Y7619488D01* +G01X3637721Y7632651D01* +G01X3618168Y7642387D01* +G01X3597159Y7648365D01* +G01X3575410Y7650380D01* +G01X3575410Y7650380D01* +G01X3553661Y7648365D01* +G01X3532652Y7642387D01* +G01X3513099Y7632651D01* +G01X3495669Y7619488D01* +G01X3480953Y7603346D01* +G01X3469455Y7584775D01* +G01X3461564Y7564408D01* +G01X3457551Y7542937D01* +G01X3443838Y7542937D01* +G01X3443838Y7796937D01* +G01X3457551Y7796937D01* +G01X3457551Y7775095D01* +G01X3461564Y7753624D01* +G01X3469455Y7733257D01* +G01X3480953Y7714686D01* +G01X3495669Y7698544D01* +G01X3513099Y7685381D01* +G01X3532652Y7675645D01* +G01X3553661Y7669667D01* +G01X3575410Y7667652D01* +G01X3597159Y7669667D01* +G01X3618168Y7675645D01* +G01X3637721Y7685381D01* +G01X3655151Y7698544D01* +G01X3669866Y7714686D01* +G01X3681365Y7733257D01* +G01X3689255Y7753624D01* +G01X3693269Y7775095D01* +G01X3693269Y7796937D01* +G01X3689255Y7818408D01* +G01X3681365Y7838775D01* +G01X3669866Y7857346D01* +G01X3655151Y7873488D01* +G01X3637721Y7886651D01* +G01X3618168Y7896387D01* +G01X3597159Y7902365D01* +G01X3575410Y7904380D01* +G01X3575410Y7904380D01* +G01X3553661Y7902365D01* +G01X3532652Y7896387D01* +G01X3513099Y7886651D01* +G01X3495669Y7873488D01* +G01X3480953Y7857346D01* +G01X3469455Y7838775D01* +G01X3461564Y7818408D01* +G01X3457551Y7796937D01* +G01X3443838Y7796937D01* +G01X3443838Y9078652D01* +G01X3782997Y9417811D01* +G01X3791917Y9429437D01* +G01X3797525Y9442975D01* +G01X3799438Y9457504D01* +G01X3799438Y10187696D01* +G01X3797525Y10202224D01* +G01X3791917Y10215763D01* +G01X3782997Y10227389D01* +G01X3658235Y10352150D01* +G01X3658235Y10352150D01* +G01X3661521Y10370501D01* +G01X3661718Y10389142D01* +G01X3658820Y10407557D01* +G01X3652908Y10425238D01* +G01X3644146Y10441692D01* +G01X3632777Y10456466D01* +G01X3682949Y10456466D01* +G01X3852270Y10287145D01* +G01X3852270Y9429955D01* +G01X3671647Y9249332D01* +G01X3662726Y9237707D01* +G01X3657119Y9224168D01* +G01X3655206Y9209640D01* +G01X3655206Y8412380D01* +G01X3492860Y8412380D01* +G01X3481793Y8410627D01* +G01X3471809Y8405540D01* +G01X3463886Y8397617D01* +G01X3458799Y8387633D01* +G01X3457046Y8376566D01* +G01X3457046Y8211466D01* +G01X3458799Y8200399D01* +G01X3463886Y8190415D01* +G01X3471809Y8182492D01* +G01X3481793Y8177405D01* +G01X3492860Y8175652D01* +G01X3655206Y8175652D01* +G01X3655206Y8127438D01* +G01X3655206Y8127438D01* +G01X3638492Y8140169D01* +G01X3619790Y8149745D01* +G01X3599691Y8155863D01* +G01X3578826Y8158331D01* +G01X3557853Y8157071D01* +G01X3537434Y8152122D01* +G01X3518211Y8143642D01* +G01X3500791Y8131896D01* +G01X3485721Y8117256D01* +G01X3473478Y8100181D01* +G01X3464446Y8081211D01* +G01X3458911Y8060943D01* +G01X3457046Y8040016D01* +G01X3457046Y8040016D01* +G01X3458911Y8019089D01* +G01X3464446Y7998820D01* +G01X3473478Y7979850D01* +G01X3485721Y7962776D01* +G01X3500791Y7948136D01* +G01X3518211Y7936390D01* +G01X3537434Y7927909D01* +G01X3557853Y7922961D01* +G01X3578826Y7921701D01* +G01X3599691Y7924169D01* +G01X3619790Y7930287D01* +G01X3638492Y7939863D01* +G01X3655206Y7952594D01* +G01X3655206Y7904086D01* +G01X3657119Y7889557D01* +G01X3662726Y7876019D01* +G01X3671647Y7864393D01* +G01X3716032Y7820008D01* +G01X3711825Y7799573D01* +G01X3711271Y7778716D01* +G01X3714388Y7758086D01* +G01X3721079Y7738324D01* +G01X3731136Y7720044D01* +G01X3744246Y7703814D01* +G01X3760003Y7690137D01* +G01X3777916Y7679440D01* +G01X3797429Y7672054D01* +G01X3817935Y7668209D01* +G01X3838798Y7668025D01* +G01X3859370Y7671506D01* +G01X3879011Y7678546D01* +G01X3897110Y7688925D01* +G01X3913106Y7702320D01* +G01X3926501Y7718316D01* +G01X3936880Y7736415D01* +G01X3943919Y7756056D01* +G01X3947401Y7776627D01* +G01X3947216Y7797491D01* +G01X3943371Y7817997D01* +G01X3935986Y7837510D01* +G01X3925288Y7855423D01* +G01X3911612Y7871180D01* +G01X3895382Y7884290D01* +G01X3877101Y7894347D01* +G01X3857339Y7901038D01* +G01X3836710Y7904155D01* +G01X3815853Y7903601D01* +G01X3795417Y7899394D01* +G01X3767474Y7927338D01* +G01X3767474Y7939150D01* +G01X3767474Y7939150D01* +G01X3786179Y7929829D01* +G01X3806231Y7923944D01* +G01X3827006Y7921676D01* +G01X3847856Y7923098D01* +G01X3868131Y7928164D01* +G01X3887198Y7936718D01* +G01X3904465Y7948491D01* +G01X3919391Y7963118D01* +G01X3931513Y7980141D01* +G01X3940452Y7999031D01* +G01X3945929Y8019199D01* +G01X3947774Y8040016D01* +G01X3947774Y8040016D01* +G01X3945929Y8060833D01* +G01X3940452Y8081000D01* +G01X3931513Y8099891D01* +G01X3919391Y8116914D01* +G01X3904465Y8131541D01* +G01X3887198Y8143314D01* +G01X3868131Y8151867D01* +G01X3847856Y8156934D01* +G01X3827006Y8158356D01* +G01X3806231Y8156088D01* +G01X3786179Y8150203D01* +G01X3767474Y8140882D01* +G01X3767474Y8193150D01* +G01X3767474Y8193150D01* +G01X3786276Y8183791D01* +G01X3806437Y8177903D01* +G01X3827320Y8175670D01* +G01X3848270Y8177164D01* +G01X3868626Y8182337D01* +G01X3887747Y8191026D01* +G01X3905031Y8202958D01* +G01X3919934Y8217757D01* +G01X3931987Y8234957D01* +G01X3931987Y8234957D01* +G01X3940811Y8254017D01* +G01X3946126Y8274336D01* +G01X3947767Y8295274D01* +G01X3945682Y8316173D01* +G01X3939935Y8336374D01* +G01X3930708Y8355242D01* +G01X3918292Y8372182D01* +G01X3903078Y8386661D01* +G01X3885544Y8398223D01* +G01X3885544Y9073481D01* +G01X4125897Y9313834D01* +G01X4134817Y9325460D01* +G01X4140425Y9338998D01* +G01X4142338Y9353527D01* +G01X4142338Y9883335D01* +G01X4184464Y9883335D01* +G01X4184464Y9862665D01* +G01X4188262Y9842346D01* +G01X4195729Y9823071D01* +G01X4206611Y9805496D01* +G01X4220537Y9790221D01* +G01X4237032Y9777764D01* +G01X4255536Y9768550D01* +G01X4275417Y9762893D01* +G01X4296000Y9760986D01* +G01X4296000Y9760986D01* +G01X4316582Y9762893D01* +G01X4336464Y9768550D01* +G01X4354968Y9777764D01* +G01X4371463Y9790221D01* +G01X4385389Y9805496D01* +G01X4396271Y9823071D01* +G01X4403738Y9842346D01* +G01X4407536Y9862665D01* +G01X4407536Y9883335D01* +G01X4403738Y9903654D01* +G01X4396271Y9922929D01* +G01X4385389Y9940503D01* +G01X4371463Y9955779D01* +G01X4354968Y9968236D01* +G01X4336464Y9977450D01* +G01X4316582Y9983107D01* +G01X4296000Y9985014D01* +G01X4275417Y9983107D01* +G01X4255536Y9977450D01* +G01X4237032Y9968236D01* +G01X4220537Y9955779D01* +G01X4206611Y9940503D01* +G01X4195729Y9922929D01* +G01X4188262Y9903654D01* +G01X4184464Y9883335D01* +G01X4142338Y9883335D01* +G01X4142338Y10137335D01* +G01X4184464Y10137335D01* +G01X4184464Y10116665D01* +G01X4188262Y10096346D01* +G01X4195729Y10077071D01* +G01X4206611Y10059496D01* +G01X4220537Y10044221D01* +G01X4237032Y10031764D01* +G01X4255536Y10022550D01* +G01X4275417Y10016893D01* +G01X4296000Y10014986D01* +G01X4296000Y10014986D01* +G01X4316582Y10016893D01* +G01X4336464Y10022550D01* +G01X4354968Y10031764D01* +G01X4371463Y10044221D01* +G01X4385389Y10059496D01* +G01X4396271Y10077071D01* +G01X4403738Y10096346D01* +G01X4407536Y10116665D01* +G01X4407536Y10137335D01* +G01X4403738Y10157654D01* +G01X4396271Y10176929D01* +G01X4385389Y10194503D01* +G01X4371463Y10209779D01* +G01X4354968Y10222236D01* +G01X4336464Y10231450D01* +G01X4316582Y10237107D01* +G01X4296000Y10239014D01* +G01X4275417Y10237107D01* +G01X4255536Y10231450D01* +G01X4237032Y10222236D01* +G01X4220537Y10209779D01* +G01X4206611Y10194503D01* +G01X4195729Y10176929D01* +G01X4188262Y10157654D01* +G01X4184464Y10137335D01* +G01X4142338Y10137335D01* +G01X4142338Y10147952D01* +G01X4267150Y10272765D01* +G01X4287765Y10269289D01* +G01X4308666Y10269704D01* +G01X4329127Y10273996D01* +G01X4348433Y10282016D01* +G01X4365913Y10293483D01* +G01X4380958Y10307998D01* +G01X4393044Y10325056D01* +G01X4401749Y10344063D01* +G01X4406771Y10364357D01* +G01X4407934Y10385230D01* +G01X4407128Y10391335D01* +G01X4438464Y10391335D01* +G01X4438464Y10370665D01* +G01X4442262Y10350346D01* +G01X4449729Y10331071D01* +G01X4460611Y10313496D01* +G01X4474537Y10298221D01* +G01X4491032Y10285764D01* +G01X4509536Y10276550D01* +G01X4529417Y10270893D01* +G01X4550000Y10268986D01* +G01X4550000Y10268986D01* +G01X4570582Y10270893D01* +G01X4590464Y10276550D01* +G01X4608968Y10285764D01* +G01X4625463Y10298221D01* +G01X4639389Y10313496D01* +G01X4650271Y10331071D01* +G01X4657738Y10350346D01* +G01X4661536Y10370665D01* +G01X4661536Y10391335D01* +G01X4657738Y10411654D01* +G01X4650271Y10430929D01* +G01X4639389Y10448503D01* +G01X4625463Y10463779D01* +G01X4608968Y10476236D01* +G01X4590464Y10485450D01* +G01X4570582Y10491107D01* +G01X4550000Y10493014D01* +G01X4529417Y10491107D01* +G01X4509536Y10485450D01* +G01X4491032Y10476236D01* +G01X4474537Y10463779D01* +G01X4460611Y10448503D01* +G01X4449729Y10430929D01* +G01X4442262Y10411654D01* +G01X4438464Y10391335D01* +G01X4407128Y10391335D01* +G01X4405198Y10405956D01* +G01X4398659Y10425813D01* +G01X4388544Y10444108D01* +G01X4375206Y10460206D01* +G01X4359108Y10473544D01* +G01X4340813Y10483659D01* +G01X4320956Y10490198D01* +G01X4300230Y10492934D01* +G01X4279357Y10491771D01* +G01X4259063Y10486749D01* +G01X4240056Y10478044D01* +G01X4222998Y10465958D01* +G01X4208483Y10450913D01* +G01X4197016Y10433433D01* +G01X4188996Y10414127D01* +G01X4184704Y10393666D01* +G01X4184289Y10372765D01* +G01X4187765Y10352150D01* +G01X4046511Y10210897D01* +G01X4037590Y10199271D01* +G01X4031983Y10185732D01* +G01X4030070Y10171204D01* +G01X4030070Y9376778D01* +G01X3789717Y9136425D01* +G01X3780796Y9124800D01* +G01X3775189Y9111261D01* +G01X3773276Y9096733D01* +G01X3773276Y8398223D01* +G01X3767474Y8394882D01* +G01X3767474Y9186388D01* +G01X3948097Y9367011D01* +G01X3957017Y9378637D01* +G01X3962625Y9392175D01* +G01X3964538Y9406704D01* +G01X3964538Y10310396D01* +G01X3962625Y10324925D01* +G01X3957017Y10338463D01* +G01X3948097Y10350089D01* +G01X3745893Y10552293D01* +G01X3734267Y10561213D01* +G01X3720729Y10566821D01* +G01X3706200Y10568734D01* +G01X3640310Y10568734D01* +G01X3650893Y10586341D01* +G01X3658083Y10605584D01* +G01X3661637Y10625817D01* +G01X3661446Y10645335D01* +G01X4184464Y10645335D01* +G01X4184464Y10624665D01* +G01X4188262Y10604346D01* +G01X4195729Y10585071D01* +G01X4206611Y10567496D01* +G01X4220537Y10552221D01* +G01X4237032Y10539764D01* +G01X4255536Y10530550D01* +G01X4275417Y10524893D01* +G01X4296000Y10522986D01* +G01X4296000Y10522986D01* +G01X4316582Y10524893D01* +G01X4336464Y10530550D01* +G01X4354968Y10539764D01* +G01X4371463Y10552221D01* +G01X4385389Y10567496D01* +G01X4396271Y10585071D01* +G01X4403738Y10604346D01* +G01X4407536Y10624665D01* +G01X4407536Y10645335D01* +G01X4438464Y10645335D01* +G01X4438464Y10624665D01* +G01X4442262Y10604346D01* +G01X4449729Y10585071D01* +G01X4460611Y10567496D01* +G01X4474537Y10552221D01* +G01X4491032Y10539764D01* +G01X4509536Y10530550D01* +G01X4529417Y10524893D01* +G01X4550000Y10522986D01* +G01X4550000Y10522986D01* +G01X4570582Y10524893D01* +G01X4590464Y10530550D01* +G01X4608968Y10539764D01* +G01X4625463Y10552221D01* +G01X4639389Y10567496D01* +G01X4650271Y10585071D01* +G01X4657738Y10604346D01* +G01X4661536Y10624665D01* +G01X4661536Y10645335D01* +G01X4657738Y10665654D01* +G01X4650271Y10684929D01* +G01X4639389Y10702503D01* +G01X4625463Y10717779D01* +G01X4608968Y10730236D01* +G01X4590464Y10739450D01* +G01X4570582Y10745107D01* +G01X4550000Y10747014D01* +G01X4529417Y10745107D01* +G01X4509536Y10739450D01* +G01X4491032Y10730236D01* +G01X4474537Y10717779D01* +G01X4460611Y10702503D01* +G01X4449729Y10684929D01* +G01X4442262Y10665654D01* +G01X4438464Y10645335D01* +G01X4407536Y10645335D01* +G01X4403738Y10665654D01* +G01X4396271Y10684929D01* +G01X4385389Y10702503D01* +G01X4371463Y10717779D01* +G01X4354968Y10730236D01* +G01X4336464Y10739450D01* +G01X4316582Y10745107D01* +G01X4296000Y10747014D01* +G01X4275417Y10745107D01* +G01X4255536Y10739450D01* +G01X4237032Y10730236D01* +G01X4220537Y10717779D01* +G01X4206611Y10702503D01* +G01X4195729Y10684929D01* +G01X4188262Y10665654D01* +G01X4184464Y10645335D01* +G01X3661446Y10645335D01* +G01X3661436Y10646359D01* +G01X3657488Y10666519D01* +G01X3649925Y10685618D01* +G01X3639000Y10703015D01* +G01X3625082Y10718125D01* +G01X3608639Y10730439D01* +G01X3590224Y10739542D01* +G01X3570456Y10745130D01* +G01X3550000Y10747014D01* +G01X3529544Y10745130D01* +G01X3509776Y10739542D01* +G01X3491360Y10730439D01* +G01X3474917Y10718125D01* +G01X3461000Y10703015D01* +G01X3450075Y10685618D01* +G01X3442512Y10666519D01* +G01X3438563Y10646359D01* +G01X3438363Y10625817D01* +G01X3441917Y10605584D01* +G01X3449107Y10586341D01* +G01X3459690Y10568734D01* +G01X3427600Y10568734D01* +G01X3413071Y10566821D01* +G01X3399533Y10561213D01* +G01X3387907Y10552293D01* +G01X3324850Y10489235D01* +G01X3304235Y10492711D01* +G01X3283333Y10492295D01* +G01X3262873Y10488003D01* +G01X3243567Y10479984D01* +G01X3226087Y10468517D01* +G01X3211042Y10454002D01* +G01X3198956Y10436943D01* +G01X3190251Y10417936D01* +G01X3185229Y10397643D01* +G01X3184066Y10376770D01* +G01X3186801Y10356044D01* +G01X3193340Y10336187D01* +G01X3203456Y10317892D01* +G01X3216794Y10301794D01* +G01X3232892Y10288456D01* +G01X3251187Y10278341D01* +G01X3271044Y10271801D01* +G01X3291770Y10269066D01* +G01X3312643Y10270229D01* +G01X3332936Y10275251D01* +G01X3351943Y10283956D01* +G01X3369002Y10296042D01* +G01X3383517Y10311087D01* +G01X3394984Y10328567D01* +G01X3403003Y10347873D01* +G01X3407295Y10368333D01* +G01X3407711Y10389235D01* +G01X3404235Y10409850D01* +G01X3450851Y10456466D01* +G01X3467223Y10456466D01* +G01X3467223Y10456466D01* +G01X3454836Y10440084D01* +G01X3445648Y10421716D01* +G01X3439968Y10401979D01* +G01X3437987Y10381537D01* +G01X3439772Y10361077D01* +G01X3445262Y10341287D01* +G01X3454273Y10322831D01* +G01X3454273Y10322831D01* +G01X3466503Y10306332D01* +G01X3481539Y10292342D01* +G01X3498877Y10281333D01* +G01X3517933Y10273674D01* +G01X3538068Y10269623D01* +G01X3558603Y10269317D01* +G01X3578850Y10272765D01* +G01X3687170Y10164444D01* +G01X3687170Y9480755D01* +G01X3348011Y9141597D01* +G01X3339090Y9129971D01* +G01X3333483Y9116432D01* +G01X3331570Y9101904D01* +G01X3331570Y6449722D01* +G01X3333483Y6435193D01* +G01X3339090Y6421655D01* +G01X3348011Y6410029D01* +G01X3462032Y6296008D01* +G01X3458003Y6277036D01* +G01X3457126Y6257661D01* +G01X3459425Y6238402D01* +G01X3464839Y6219778D01* +G01X3473221Y6202287D01* +G01X3484348Y6186401D01* +G01X3459215Y6186401D01* +G01X3291438Y6354178D01* +G01X3291438Y9507079D01* +G01X3309889Y9507850D01* +G01X3327963Y9511643D01* +G01X3345167Y9518354D01* +G01X3361036Y9527800D01* +G01X3375136Y9539725D01* +G01X3387086Y9553805D01* +G01X3396560Y9569656D01* +G01X3403301Y9586849D01* +G01X3407125Y9604916D01* +G01X3407929Y9623366D01* +G01X3405690Y9641697D01* +G01X3400470Y9659411D01* +G01X3392411Y9676027D01* +G01X3381731Y9691093D01* +G01X3424227Y9691093D01* +G01X3437986Y9692805D01* +G01X3437986Y9542800D01* +G01X3439739Y9531733D01* +G01X3444826Y9521749D01* +G01X3452749Y9513826D01* +G01X3462733Y9508739D01* +G01X3473800Y9506986D01* +G01X3626200Y9506986D01* +G01X3637267Y9508739D01* +G01X3647251Y9513826D01* +G01X3655174Y9521749D01* +G01X3660261Y9531733D01* +G01X3662014Y9542800D01* +G01X3662014Y9695200D01* +G01X3660261Y9706267D01* +G01X3655174Y9716251D01* +G01X3647251Y9724174D01* +G01X3637267Y9729261D01* +G01X3626200Y9731014D01* +G01X3487399Y9731014D01* +G01X3521150Y9764765D01* +G01X3541765Y9761289D01* +G01X3562666Y9761704D01* +G01X3583127Y9765996D01* +G01X3602433Y9774016D01* +G01X3619913Y9785483D01* +G01X3634958Y9799998D01* +G01X3647044Y9817056D01* +G01X3655749Y9836063D01* +G01X3660771Y9856357D01* +G01X3661934Y9877230D01* +G01X3659198Y9897956D01* +G01X3652659Y9917813D01* +G01X3642544Y9936108D01* +G01X3629206Y9952206D01* +G01X3613108Y9965544D01* +G01X3594813Y9975659D01* +G01X3574956Y9982198D01* +G01X3554230Y9984934D01* +G01X3533357Y9983771D01* +G01X3513063Y9978749D01* +G01X3494056Y9970044D01* +G01X3476998Y9957958D01* +G01X3462483Y9942913D01* +G01X3451016Y9925433D01* +G01X3442996Y9906127D01* +G01X3438704Y9885666D01* +G01X3438289Y9864765D01* +G01X3441765Y9844150D01* +G01X3400975Y9803361D01* +G01X3383735Y9803361D01* +G01X3395170Y9820919D01* +G01X3403135Y9840300D01* +G01X3407350Y9860825D01* +G01X3407670Y9881776D01* +G01X3404081Y9902420D01* +G01X3396711Y9922035D01* +G01X3385817Y9939933D01* +G01X3371779Y9955490D01* +G01X3355090Y9968160D01* +G01X3336334Y9977500D01* +G01X3316166Y9983184D01* +G01X3295292Y9985012D01* +G01X3274443Y9982920D01* +G01X3254349Y9976982D01* +G01X3235711Y9967406D01* +G01X3219184Y9954526D01* +G01X3205344Y9938793D01* +G01X3194677Y9920758D01* +G01X3187555Y9901052D01* +G01X3184228Y9880364D01* +G01X3184812Y9859419D01* +G01X3189287Y9838948D01* +G01X3197496Y9819670D01* +G01X3209152Y9802257D01* +G01X3198667Y9799055D01* +G01X3189005Y9793877D01* +G01X3180534Y9786919D01* +G01X3043211Y9649597D01* +G01X3034290Y9637971D01* +G01X3028683Y9624432D01* +G01X3026770Y9609904D01* +G01X3026770Y6318227D01* +G01X3026770Y6318227D01* +G01X2427838Y6318227D01* +G01X2427838Y6800827D01* +G01X2425925Y6815355D01* +G01X2420317Y6828894D01* +G01X2411397Y6840519D01* +G01X2003267Y7248649D01* +G01X2602787Y7248649D01* +G01X2602787Y7229150D01* +G01X2606370Y7209984D01* +G01X2613413Y7191801D01* +G01X2623678Y7175223D01* +G01X2636815Y7160813D01* +G01X2652375Y7149063D01* +G01X2669830Y7140371D01* +G01X2688584Y7135035D01* +G01X2708000Y7133236D01* +G01X2758800Y7133236D01* +G01X2778216Y7135035D01* +G01X2796970Y7140371D01* +G01X2814425Y7149063D01* +G01X2829985Y7160813D01* +G01X2843122Y7175223D01* +G01X2853386Y7191801D01* +G01X2860430Y7209984D01* +G01X2864013Y7229150D01* +G01X2864013Y7248649D01* +G01X2860430Y7267816D01* +G01X2853386Y7285998D01* +G01X2843122Y7302577D01* +G01X2829985Y7316987D01* +G01X2814425Y7328737D01* +G01X2796970Y7337429D01* +G01X2778216Y7342765D01* +G01X2758800Y7344564D01* +G01X2758800Y7344564D01* +G01X2708000Y7344564D01* +G01X2688584Y7342765D01* +G01X2669830Y7337429D01* +G01X2652375Y7328737D01* +G01X2636815Y7316987D01* +G01X2623678Y7302577D01* +G01X2613413Y7285998D01* +G01X2606370Y7267816D01* +G01X2602787Y7248649D01* +G01X2003267Y7248649D01* +G01X1749267Y7502649D01* +G01X2602787Y7502649D01* +G01X2602787Y7483150D01* +G01X2606370Y7463984D01* +G01X2613413Y7445801D01* +G01X2623678Y7429223D01* +G01X2636815Y7414813D01* +G01X2652375Y7403063D01* +G01X2669830Y7394371D01* +G01X2688584Y7389035D01* +G01X2708000Y7387236D01* +G01X2758800Y7387236D01* +G01X2778216Y7389035D01* +G01X2796970Y7394371D01* +G01X2814425Y7403063D01* +G01X2829985Y7414813D01* +G01X2843122Y7429223D01* +G01X2853386Y7445801D01* +G01X2860430Y7463984D01* +G01X2864013Y7483150D01* +G01X2864013Y7502649D01* +G01X2860430Y7521816D01* +G01X2853386Y7539998D01* +G01X2843122Y7556577D01* +G01X2829985Y7570987D01* +G01X2814425Y7582737D01* +G01X2796970Y7591429D01* +G01X2778216Y7596765D01* +G01X2758800Y7598564D01* +G01X2758800Y7598564D01* +G01X2708000Y7598564D01* +G01X2688584Y7596765D01* +G01X2669830Y7591429D01* +G01X2652375Y7582737D01* +G01X2636815Y7570987D01* +G01X2623678Y7556577D01* +G01X2613413Y7539998D01* +G01X2606370Y7521816D01* +G01X2602787Y7502649D01* +G01X1749267Y7502649D01* +G01X1495267Y7756649D01* +G01X2602787Y7756649D01* +G01X2602787Y7737150D01* +G01X2606370Y7717984D01* +G01X2613413Y7699801D01* +G01X2623678Y7683223D01* +G01X2636815Y7668813D01* +G01X2652375Y7657063D01* +G01X2669830Y7648371D01* +G01X2688584Y7643035D01* +G01X2708000Y7641236D01* +G01X2758800Y7641236D01* +G01X2778216Y7643035D01* +G01X2796970Y7648371D01* +G01X2814425Y7657063D01* +G01X2829985Y7668813D01* +G01X2843122Y7683223D01* +G01X2853386Y7699801D01* +G01X2860430Y7717984D01* +G01X2864013Y7737150D01* +G01X2864013Y7756649D01* +G01X2860430Y7775816D01* +G01X2853386Y7793998D01* +G01X2843122Y7810577D01* +G01X2829985Y7824987D01* +G01X2814425Y7836737D01* +G01X2796970Y7845429D01* +G01X2778216Y7850765D01* +G01X2758800Y7852564D01* +G01X2758800Y7852564D01* +G01X2708000Y7852564D01* +G01X2688584Y7850765D01* +G01X2669830Y7845429D01* +G01X2652375Y7836737D01* +G01X2636815Y7824987D01* +G01X2623678Y7810577D01* +G01X2613413Y7793998D01* +G01X2606370Y7775816D01* +G01X2602787Y7756649D01* +G01X1495267Y7756649D01* +G01X1241267Y8010649D01* +G01X2602787Y8010649D01* +G01X2602787Y7991150D01* +G01X2606370Y7971984D01* +G01X2613413Y7953801D01* +G01X2623678Y7937223D01* +G01X2636815Y7922813D01* +G01X2652375Y7911063D01* +G01X2669830Y7902371D01* +G01X2688584Y7897035D01* +G01X2708000Y7895236D01* +G01X2758800Y7895236D01* +G01X2778216Y7897035D01* +G01X2796970Y7902371D01* +G01X2814425Y7911063D01* +G01X2829985Y7922813D01* +G01X2843122Y7937223D01* +G01X2853386Y7953801D01* +G01X2860430Y7971984D01* +G01X2864013Y7991150D01* +G01X2864013Y8010649D01* +G01X2860430Y8029816D01* +G01X2853386Y8047998D01* +G01X2843122Y8064577D01* +G01X2829985Y8078987D01* +G01X2814425Y8090737D01* +G01X2796970Y8099429D01* +G01X2778216Y8104765D01* +G01X2758800Y8106564D01* +G01X2758800Y8106564D01* +G01X2708000Y8106564D01* +G01X2688584Y8104765D01* +G01X2669830Y8099429D01* +G01X2652375Y8090737D01* +G01X2636815Y8078987D01* +G01X2623678Y8064577D01* +G01X2613413Y8047998D01* +G01X2606370Y8029816D01* +G01X2602787Y8010649D01* +G01X1241267Y8010649D01* +G01X987267Y8264649D01* +G01X2602787Y8264649D01* +G01X2602787Y8245150D01* +G01X2606370Y8225984D01* +G01X2613413Y8207801D01* +G01X2623678Y8191223D01* +G01X2636815Y8176813D01* +G01X2652375Y8165063D01* +G01X2669830Y8156371D01* +G01X2688584Y8151035D01* +G01X2708000Y8149236D01* +G01X2758800Y8149236D01* +G01X2778216Y8151035D01* +G01X2796970Y8156371D01* +G01X2814425Y8165063D01* +G01X2829985Y8176813D01* +G01X2843122Y8191223D01* +G01X2853386Y8207801D01* +G01X2860430Y8225984D01* +G01X2864013Y8245150D01* +G01X2864013Y8264649D01* +G01X2860430Y8283816D01* +G01X2853386Y8301998D01* +G01X2843122Y8318577D01* +G01X2829985Y8332987D01* +G01X2814425Y8344737D01* +G01X2796970Y8353429D01* +G01X2778216Y8358765D01* +G01X2758800Y8360564D01* +G01X2758800Y8360564D01* +G01X2708000Y8360564D01* +G01X2688584Y8358765D01* +G01X2669830Y8353429D01* +G01X2652375Y8344737D01* +G01X2636815Y8332987D01* +G01X2623678Y8318577D01* +G01X2613413Y8301998D01* +G01X2606370Y8283816D01* +G01X2602787Y8264649D01* +G01X987267Y8264649D01* +G01X955977Y8295939D01* +G01X944351Y8304860D01* +G01X930812Y8310468D01* +G01X916284Y8312381D01* +G01X842024Y8312381D01* +G01X842024Y8325097D01* +G01X840272Y8336164D01* +G01X835185Y8346148D01* +G01X827261Y8354071D01* +G01X817278Y8359158D01* +G01X806210Y8360911D01* +G01X692957Y8360911D01* +G01X681890Y8359158D01* +G01X671906Y8354071D01* +G01X663983Y8346148D01* +G01X658896Y8336164D01* +G01X657143Y8325097D01* +G01X657143Y8187396D01* +G01X658896Y8176329D01* +G01X663983Y8166345D01* +G01X671906Y8158422D01* +G01X681890Y8153335D01* +G01X692957Y8151582D01* +G01X806210Y8151582D01* +G01X817278Y8153335D01* +G01X827261Y8158422D01* +G01X835185Y8166345D01* +G01X840272Y8176329D01* +G01X842024Y8187396D01* +G01X842024Y8200113D01* +G01X893032Y8200113D01* +G01X2315570Y6777575D01* +G01X2315570Y5379511D01* +G01X2315570Y5379511D01* +G01X2312175Y5400804D01* +G01X2304891Y5421099D01* +G01X2293972Y5439692D01* +G01X2279795Y5455938D01* +G01X2262852Y5469275D01* +G01X2243731Y5479240D01* +G01X2223094Y5485488D01* +G01X2201656Y5487802D01* +G01X2180161Y5486102D01* +G01X2180161Y5486102D01* +G01X2159354Y5480447D01* +G01X2139956Y5471033D01* +G01X2122639Y5458186D01* +G01X2108003Y5442352D01* +G01X2096556Y5424079D01* +G01X2088695Y5404001D01* +G01X2084692Y5382814D01* +G01X2084686Y5361252D01* +G01X2088677Y5340062D01* +G01X2049748Y5301134D01* +G01X2037602Y5301134D01* +G01X2037602Y5301134D01* +G01X2049115Y5319272D01* +G01X2057080Y5339225D01* +G01X2061222Y5360306D01* +G01X2061399Y5381789D01* +G01X2057606Y5402936D01* +G01X2049971Y5423017D01* +G01X2038759Y5441344D01* +G01X2024355Y5457284D01* +G01X2007255Y5470289D01* +G01X1988046Y5479912D01* +G01X1967391Y5485821D01* +G01X1946000Y5487814D01* +G01X1946000Y5487814D01* +G01X1924609Y5485821D01* +G01X1903953Y5479912D01* +G01X1884745Y5470289D01* +G01X1867645Y5457284D01* +G01X1853241Y5441344D01* +G01X1842029Y5423017D01* +G01X1834394Y5402936D01* +G01X1830601Y5381789D01* +G01X1830778Y5360306D01* +G01X1834920Y5339225D01* +G01X1842885Y5319272D01* +G01X1854398Y5301134D01* +G01X1385051Y5301134D01* +G01X1274493Y5411693D01* +G01X1262867Y5420613D01* +G01X1249328Y5426221D01* +G01X1234800Y5428134D01* +G01X713801Y5428134D01* +G01X701894Y5445632D01* +G01X687001Y5460670D01* +G01X669621Y5472747D01* +G01X650333Y5481460D01* +G01X629781Y5486517D01* +G01X608653Y5487750D01* +G01X587652Y5485117D01* +G01X567482Y5478706D01* +G01X548815Y5468732D01* +G01X532275Y5455527D01* +G01X518414Y5439533D01* +G01X507695Y5421283D01* +G01X500477Y5401388D01* +G01X496999Y5380511D01* +G01X497379Y5359350D01* +G01X501604Y5338611D01* +G01X509532Y5318987D01* +G01X520898Y5301134D01* +G01X485500Y5301134D01* +G01X470971Y5299221D01* +G01X457433Y5293613D01* +G01X445807Y5284693D01* +G01X390438Y5229323D01* +G01X371407Y5233092D01* +G01X352014Y5233632D01* +G01X332803Y5230927D01* +G01X314314Y5225053D01* +G01X297064Y5216176D01* +G01X281538Y5204543D01* +G01X281538Y5285457D01* +G01X297953Y5273273D01* +G01X316255Y5264166D01* +G01X335873Y5258418D01* +G01X356196Y5256209D01* +G01X376591Y5257608D01* +G01X396422Y5262571D01* +G01X415072Y5270943D01* +G01X431959Y5282464D01* +G01X446557Y5296775D01* +G01X458411Y5313429D01* +G01X467153Y5331909D01* +G01X472510Y5351637D01* +G01X474314Y5372000D01* +G01X472510Y5392363D01* +G01X467153Y5412091D01* +G01X458411Y5430571D01* +G01X446557Y5447225D01* +G01X431959Y5461536D01* +G01X415072Y5473057D01* +G01X396422Y5481429D01* +G01X376591Y5486392D01* +G01X356196Y5487791D01* +G01X335873Y5485582D01* +G01X316255Y5479834D01* +G01X297953Y5470727D01* +G01X281538Y5458543D01* +G01X281538Y6802975D01* +G01X430197Y6951634D01* +G01X439117Y6963260D01* +G01X444725Y6976798D01* +G01X446638Y6991327D01* +G01X446638Y7803796D01* +G01X444725Y7818324D01* +G01X439117Y7831863D01* +G01X430197Y7843489D01* +G01X315462Y7958223D01* +G01X315462Y7958223D01* +G01X321556Y7976279D01* +G01X324307Y7995136D01* +G01X323626Y8014181D01* +G01X319536Y8032793D01* +G01X312169Y8050368D01* +G01X301765Y8066335D01* +G01X288663Y8080172D01* +G01X273288Y8091431D01* +G01X256141Y8099746D01* +G01X237779Y8104845D01* +G01X218800Y8106564D01* +G01X168000Y8106564D01* +G01X148584Y8104765D01* +G01X129830Y8099429D01* +G01X112375Y8090737D01* +G01X96815Y8078987D01* +G01X83678Y8064577D01* +G01X73413Y8047998D01* +G01X66370Y8029816D01* +G01X62787Y8010649D01* +G01X62787Y7991150D01* +G01X66370Y7971984D01* +G01X73413Y7953801D01* +G01X83678Y7937223D01* +G01X96815Y7922813D01* +G01X112375Y7911063D01* +G01X129830Y7902371D01* +G01X148584Y7897035D01* +G01X168000Y7895236D01* +G01X218800Y7895236D01* +G01X219675Y7895240D01* +G01X289383Y7825532D01* +G01X273906Y7837057D01* +G01X256591Y7845575D01* +G01X238016Y7850802D01* +G01X218800Y7852564D01* +G01X168000Y7852564D01* +G01X148584Y7850765D01* +G01X129830Y7845429D01* +G01X112375Y7836737D01* +G01X96815Y7824987D01* +G01X83678Y7810577D01* +G01X73413Y7793998D01* +G01X66370Y7775816D01* +G01X62787Y7756649D01* +G01X62787Y7737150D01* +G01X66370Y7717984D01* +G01X73413Y7699801D01* +G01X83678Y7683223D01* +G01X96815Y7668813D01* +G01X112375Y7657063D01* +G01X129830Y7648371D01* +G01X148584Y7643035D01* +G01X168000Y7641236D01* +G01X218800Y7641236D01* +G01X238948Y7643175D01* +G01X258357Y7648920D01* +G01X276315Y7658261D01* +G01X292162Y7670854D01* +G01X305316Y7686238D01* +G01X315296Y7703849D01* +G01X321735Y7723039D01* +G01X324396Y7743105D01* +G01X323182Y7763310D01* +G01X318138Y7782913D01* +G01X309448Y7801194D01* +G01X297432Y7817483D01* +G01X334370Y7780544D01* +G01X334370Y7014578D01* +G01X185711Y6865919D01* +G01X180954Y6860508D01* +G01X176197Y6865919D01* +G01X53934Y6988182D01* +G01X53934Y7248649D01* +G01X62787Y7248649D01* +G01X62787Y7229150D01* +G01X66370Y7209984D01* +G01X73413Y7191801D01* +G01X83678Y7175223D01* +G01X96815Y7160813D01* +G01X112375Y7149063D01* +G01X129830Y7140371D01* +G01X148584Y7135035D01* +G01X168000Y7133236D01* +G01X218800Y7133236D01* +G01X238216Y7135035D01* +G01X256970Y7140371D01* +G01X274425Y7149063D01* +G01X289985Y7160813D01* +G01X303122Y7175223D01* +G01X313386Y7191801D01* +G01X320430Y7209984D01* +G01X324013Y7229150D01* +G01X324013Y7248649D01* +G01X320430Y7267816D01* +G01X313386Y7285998D01* +G01X303122Y7302577D01* +G01X289985Y7316987D01* +G01X274425Y7328737D01* +G01X256970Y7337429D01* +G01X238216Y7342765D01* +G01X218800Y7344564D01* +G01X218800Y7344564D01* +G01X168000Y7344564D01* +G01X148584Y7342765D01* +G01X129830Y7337429D01* +G01X112375Y7328737D01* +G01X96815Y7316987D01* +G01X83678Y7302577D01* +G01X73413Y7285998D01* +G01X66370Y7267816D01* +G01X62787Y7248649D01* +G01X53934Y7248649D01* +G01X53934Y7502649D01* +G01X62787Y7502649D01* +G01X62787Y7483150D01* +G01X66370Y7463984D01* +G01X73413Y7445801D01* +G01X83678Y7429223D01* +G01X96815Y7414813D01* +G01X112375Y7403063D01* +G01X129830Y7394371D01* +G01X148584Y7389035D01* +G01X168000Y7387236D01* +G01X218800Y7387236D01* +G01X238216Y7389035D01* +G01X256970Y7394371D01* +G01X274425Y7403063D01* +G01X289985Y7414813D01* +G01X303122Y7429223D01* +G01X313386Y7445801D01* +G01X320430Y7463984D01* +G01X324013Y7483150D01* +G01X324013Y7502649D01* +G01X320430Y7521816D01* +G01X313386Y7539998D01* +G01X303122Y7556577D01* +G01X289985Y7570987D01* +G01X274425Y7582737D01* +G01X256970Y7591429D01* +G01X238216Y7596765D01* +G01X218800Y7598564D01* +G01X218800Y7598564D01* +G01X168000Y7598564D01* +G01X148584Y7596765D01* +G01X129830Y7591429D01* +G01X112375Y7582737D01* +G01X96815Y7570987D01* +G01X83678Y7556577D01* +G01X73413Y7539998D01* +G01X66370Y7521816D01* +G01X62787Y7502649D01* +G01X53934Y7502649D01* +G01X53934Y8289871D01* +G01X88057Y8323994D01* +G01X76431Y8307626D01* +G01X68111Y8289354D01* +G01X63397Y8269839D01* +G01X62460Y8249784D01* +G01X65333Y8229913D01* +G01X71912Y8210945D01* +G01X81961Y8193564D01* +G01X95116Y8178397D01* +G01X110902Y8165992D01* +G01X128749Y8156797D01* +G01X148014Y8151143D01* +G01X168000Y8149236D01* +G01X218800Y8149236D01* +G01X236515Y8150732D01* +G01X253729Y8155176D01* +G01X269954Y8162444D01* +G01X284731Y8172329D01* +G01X297642Y8184552D01* +G01X308320Y8198766D01* +G01X457143Y8198766D01* +G01X457143Y8187396D01* +G01X458896Y8176329D01* +G01X463983Y8166345D01* +G01X471906Y8158422D01* +G01X481890Y8153335D01* +G01X492957Y8151582D01* +G01X606211Y8151582D01* +G01X617278Y8153335D01* +G01X627262Y8158422D01* +G01X635185Y8166345D01* +G01X640272Y8176329D01* +G01X642025Y8187396D01* +G01X642025Y8325097D01* +G01X640272Y8336164D01* +G01X635185Y8346148D01* +G01X627262Y8354071D01* +G01X617278Y8359158D01* +G01X606211Y8360911D01* +G01X492957Y8360911D01* +G01X481890Y8359158D01* +G01X471906Y8354071D01* +G01X463983Y8346148D01* +G01X458896Y8336164D01* +G01X457143Y8325097D01* +G01X457143Y8311034D01* +G01X308320Y8311034D01* +G01X297642Y8325248D01* +G01X284731Y8337471D01* +G01X269954Y8347356D01* +G01X253729Y8354624D01* +G01X236515Y8359068D01* +G01X218800Y8360564D01* +G01X168000Y8360564D01* +G01X149272Y8358891D01* +G01X131137Y8353925D01* +G01X114169Y8345823D01* +G01X98905Y8334843D01* +G01X167301Y8403238D01* +G01X168000Y8403236D01* +G01X218800Y8403236D01* +G01X238216Y8405035D01* +G01X256970Y8410371D01* +G01X274425Y8419063D01* +G01X289985Y8430813D01* +G01X303122Y8445223D01* +G01X313386Y8461801D01* +G01X320430Y8479984D01* +G01X324013Y8499150D01* +G01X324013Y8518649D01* +G01X2602787Y8518649D01* +G01X2602787Y8499150D01* +G01X2606370Y8479984D01* +G01X2613413Y8461801D01* +G01X2623678Y8445223D01* +G01X2636815Y8430813D01* +G01X2652375Y8419063D01* +G01X2669830Y8410371D01* +G01X2688584Y8405035D01* +G01X2708000Y8403236D01* +G01X2758800Y8403236D01* +G01X2778216Y8405035D01* +G01X2796970Y8410371D01* +G01X2814425Y8419063D01* +G01X2829985Y8430813D01* +G01X2843122Y8445223D01* +G01X2853386Y8461801D01* +G01X2860430Y8479984D01* +G01X2864013Y8499150D01* +G01X2864013Y8518649D01* +G01X2860430Y8537816D01* +G01X2853386Y8555998D01* +G01X2843122Y8572577D01* +G01X2829985Y8586987D01* +G01X2814425Y8598737D01* +G01X2796970Y8607429D01* +G01X2778216Y8612765D01* +G01X2758800Y8614564D01* +G01X2758800Y8614564D01* +G01X2708000Y8614564D01* +G01X2688584Y8612765D01* +G01X2669830Y8607429D01* +G01X2652375Y8598737D01* +G01X2636815Y8586987D01* +G01X2623678Y8572577D01* +G01X2613413Y8555998D01* +G01X2606370Y8537816D01* +G01X2602787Y8518649D01* +G01X324013Y8518649D01* +G01X320430Y8537816D01* +G01X313386Y8555998D01* +G01X303122Y8572577D01* +G01X289985Y8586987D01* +G01X274425Y8598737D01* +G01X256970Y8607429D01* +G01X238216Y8612765D01* +G01X218800Y8614564D01* +G01X168000Y8614564D01* +G01X149272Y8612891D01* +G01X131137Y8607925D01* +G01X114169Y8599823D01* +G01X98905Y8588843D01* +G01X167301Y8657238D01* +G01X168000Y8657236D01* +G01X218800Y8657236D01* +G01X238216Y8659035D01* +G01X256970Y8664371D01* +G01X274425Y8673063D01* +G01X289985Y8684813D01* +G01X303122Y8699223D01* +G01X313386Y8715801D01* +G01X320430Y8733984D01* +G01X324013Y8753150D01* +G01X324013Y8772649D01* +G01X2602787Y8772649D01* +G01X2602787Y8753150D01* +G01X2606370Y8733984D01* +G01X2613413Y8715801D01* +G01X2623678Y8699223D01* +G01X2636815Y8684813D01* +G01X2652375Y8673063D01* +G01X2669830Y8664371D01* +G01X2688584Y8659035D01* +G01X2708000Y8657236D01* +G01X2758800Y8657236D01* +G01X2778216Y8659035D01* +G01X2796970Y8664371D01* +G01X2814425Y8673063D01* +G01X2829985Y8684813D01* +G01X2843122Y8699223D01* +G01X2853386Y8715801D01* +G01X2860430Y8733984D01* +G01X2864013Y8753150D01* +G01X2864013Y8772649D01* +G01X2860430Y8791816D01* +G01X2853386Y8809998D01* +G01X2843122Y8826577D01* +G01X2829985Y8840987D01* +G01X2814425Y8852737D01* +G01X2796970Y8861429D01* +G01X2778216Y8866765D01* +G01X2758800Y8868564D01* +G01X2758800Y8868564D01* +G01X2708000Y8868564D01* +G01X2688584Y8866765D01* +G01X2669830Y8861429D01* +G01X2652375Y8852737D01* +G01X2636815Y8840987D01* +G01X2623678Y8826577D01* +G01X2613413Y8809998D01* +G01X2606370Y8791816D01* +G01X2602787Y8772649D01* +G01X324013Y8772649D01* +G01X320430Y8791816D01* +G01X313386Y8809998D01* +G01X303122Y8826577D01* +G01X289985Y8840987D01* +G01X274425Y8852737D01* +G01X256970Y8861429D01* +G01X238216Y8866765D01* +G01X218800Y8868564D01* +G01X168000Y8868564D01* +G01X149009Y8866843D01* +G01X130636Y8861737D01* +G01X113481Y8853413D01* +G01X98101Y8842140D01* +G01X84997Y8828287D01* +G01X74597Y8812304D01* +G01X67238Y8794712D01* +G01X63162Y8776084D01* +G01X62499Y8757027D01* +G01X65273Y8738161D01* +G01X71392Y8720100D01* +G01X-131789Y8516919D01* +G01X-140710Y8505294D01* +G01X-146317Y8491755D01* +G01X-148230Y8477227D01* +G01X-148230Y6927827D01* +G01X-146317Y6913298D01* +G01X-140710Y6899760D01* +G01X-131789Y6888134D01* +G01X-5842Y6762187D01* +G37* +G36* +G01X35814Y150000D02* +G01X35814Y827731D01* +G01X231431Y632114D01* +G01X241633Y624044D01* +G01X253418Y618538D01* +G01X266154Y615893D01* +G01X254884Y597735D01* +G01X247142Y577816D01* +G01X243192Y556814D01* +G01X243168Y535443D01* +G01X247072Y514431D01* +G01X254769Y494495D01* +G01X265999Y476312D01* +G01X280378Y460503D01* +G01X297417Y447604D01* +G01X316536Y438056D01* +G01X337085Y432183D01* +G01X358362Y430186D01* +G01X379644Y432133D01* +G01X400206Y437956D01* +G01X419348Y447459D01* +G01X436418Y460317D01* +G01X450835Y476092D01* +G01X462108Y494248D01* +G01X469853Y514166D01* +G01X473806Y535168D01* +G01X473833Y556538D01* +G01X469933Y577550D01* +G01X462239Y597488D01* +G01X451012Y615673D01* +G01X463442Y615673D01* +G01X496686Y582428D01* +G01X496686Y466000D01* +G01X498439Y454933D01* +G01X503526Y444949D01* +G01X511449Y437026D01* +G01X521433Y431939D01* +G01X532500Y430186D01* +G01X692500Y430186D01* +G01X703567Y431939D01* +G01X713551Y437026D01* +G01X721474Y444949D01* +G01X726561Y454933D01* +G01X728314Y466000D01* +G01X728314Y489866D01* +G01X881348Y489866D01* +G01X998181Y373034D01* +G01X1009806Y364113D01* +G01X1023345Y358505D01* +G01X1037873Y356593D01* +G01X2066727Y356593D01* +G01X2081255Y358505D01* +G01X2094794Y364113D01* +G01X2106419Y373034D01* +G01X2163572Y430186D01* +G01X2280000Y430186D01* +G01X2291067Y431939D01* +G01X2301051Y437026D01* +G01X2308974Y444949D01* +G01X2314061Y454933D01* +G01X2315814Y466000D01* +G01X2315814Y626000D01* +G01X2314061Y637067D01* +G01X2308974Y647051D01* +G01X2301051Y654974D01* +G01X2291067Y660061D01* +G01X2280000Y661814D01* +G01X2141199Y661814D01* +G01X2168062Y688677D01* +G01X2188014Y684808D01* +G01X2208334Y684486D01* +G01X2228398Y687722D01* +G01X2247587Y694414D01* +G01X2265311Y704358D01* +G01X2281024Y717248D01* +G01X2294242Y732685D01* +G01X2304558Y750195D01* +G01X2311654Y769239D01* +G01X2315312Y789230D01* +G01X2315419Y809553D01* +G01X2311972Y829581D01* +G01X2305077Y848699D01* +G01X2294947Y866317D01* +G01X2281893Y881893D01* +G01X2266317Y894947D01* +G01X2248699Y905077D01* +G01X2229581Y911972D01* +G01X2209553Y915419D01* +G01X2189230Y915312D01* +G01X2169239Y911654D01* +G01X2150195Y904558D01* +G01X2132685Y894242D01* +G01X2117248Y881024D01* +G01X2104358Y865311D01* +G01X2094414Y847587D01* +G01X2087722Y828398D01* +G01X2084486Y808334D01* +G01X2084808Y788014D01* +G01X2088677Y768062D01* +G01X2049748Y729134D01* +G01X2037602Y729134D01* +G01X2037602Y729134D01* +G01X2047976Y745103D01* +G01X2055594Y762556D01* +G01X2060248Y781021D01* +G01X2061814Y800000D01* +G01X2060248Y818978D01* +G01X2055594Y837444D01* +G01X2047976Y854897D01* +G01X2037602Y870866D01* +G01X2073000Y870866D01* +G01X2087528Y872779D01* +G01X2101067Y878386D01* +G01X2112693Y887307D01* +G01X2168062Y942677D01* +G01X2188014Y938808D01* +G01X2208334Y938486D01* +G01X2228398Y941722D01* +G01X2247587Y948414D01* +G01X2265311Y958358D01* +G01X2281024Y971248D01* +G01X2294242Y986685D01* +G01X2304558Y1004195D01* +G01X2311654Y1023239D01* +G01X2315312Y1043230D01* +G01X2315419Y1063553D01* +G01X2311972Y1083581D01* +G01X2305077Y1102699D01* +G01X2294947Y1120317D01* +G01X2281893Y1135893D01* +G01X2266317Y1148947D01* +G01X2248699Y1159077D01* +G01X2229581Y1165972D01* +G01X2209553Y1169419D01* +G01X2189230Y1169312D01* +G01X2169239Y1165654D01* +G01X2150195Y1158558D01* +G01X2132685Y1148242D01* +G01X2117248Y1135024D01* +G01X2104358Y1119311D01* +G01X2094414Y1101587D01* +G01X2087722Y1082398D01* +G01X2084486Y1062334D01* +G01X2084808Y1042014D01* +G01X2088677Y1022062D01* +G01X2049748Y983134D01* +G01X2037602Y983134D01* +G01X2037602Y983134D01* +G01X2047976Y999103D01* +G01X2055594Y1016556D01* +G01X2060248Y1035021D01* +G01X2061814Y1054000D01* +G01X2060248Y1072978D01* +G01X2055594Y1091444D01* +G01X2047976Y1108897D01* +G01X2037602Y1124866D01* +G01X2073000Y1124866D01* +G01X2087528Y1126779D01* +G01X2101067Y1132386D01* +G01X2112693Y1141307D01* +G01X2168062Y1196677D01* +G01X2188014Y1192808D01* +G01X2208334Y1192486D01* +G01X2228398Y1195722D01* +G01X2247587Y1202414D01* +G01X2265311Y1212358D01* +G01X2281024Y1225248D01* +G01X2294242Y1240685D01* +G01X2304558Y1258195D01* +G01X2311654Y1277239D01* +G01X2315312Y1297230D01* +G01X2315419Y1317553D01* +G01X2311972Y1337581D01* +G01X2305077Y1356699D01* +G01X2294947Y1374317D01* +G01X2281893Y1389893D01* +G01X2266317Y1402947D01* +G01X2248699Y1413077D01* +G01X2229581Y1419972D01* +G01X2209553Y1423419D01* +G01X2189230Y1423312D01* +G01X2169239Y1419654D01* +G01X2150195Y1412558D01* +G01X2132685Y1402242D01* +G01X2117248Y1389024D01* +G01X2104358Y1373311D01* +G01X2094414Y1355587D01* +G01X2087722Y1336398D01* +G01X2084486Y1316334D01* +G01X2084808Y1296014D01* +G01X2088677Y1276062D01* +G01X2049748Y1237134D01* +G01X2037602Y1237134D01* +G01X2037602Y1237134D01* +G01X2047976Y1253103D01* +G01X2055594Y1270556D01* +G01X2060248Y1289021D01* +G01X2061814Y1308000D01* +G01X2060248Y1326978D01* +G01X2055594Y1345444D01* +G01X2047976Y1362897D01* +G01X2037602Y1378866D01* +G01X2073000Y1378866D01* +G01X2087528Y1380779D01* +G01X2101067Y1386386D01* +G01X2112693Y1395307D01* +G01X2168062Y1450677D01* +G01X2188014Y1446808D01* +G01X2208334Y1446486D01* +G01X2228398Y1449722D01* +G01X2247587Y1456414D01* +G01X2265311Y1466358D01* +G01X2281024Y1479248D01* +G01X2294242Y1494685D01* +G01X2304558Y1512195D01* +G01X2311654Y1531239D01* +G01X2315312Y1551230D01* +G01X2315419Y1571553D01* +G01X2311972Y1591581D01* +G01X2305077Y1610699D01* +G01X2294947Y1628317D01* +G01X2281893Y1643893D01* +G01X2266317Y1656947D01* +G01X2248699Y1667077D01* +G01X2229581Y1673972D01* +G01X2209553Y1677419D01* +G01X2189230Y1677312D01* +G01X2169239Y1673654D01* +G01X2150195Y1666558D01* +G01X2132685Y1656242D01* +G01X2117248Y1643024D01* +G01X2104358Y1627311D01* +G01X2094414Y1609587D01* +G01X2087722Y1590398D01* +G01X2084486Y1570334D01* +G01X2084808Y1550014D01* +G01X2088677Y1530062D01* +G01X2049748Y1491134D01* +G01X2037602Y1491134D01* +G01X2037602Y1491134D01* +G01X2047976Y1507103D01* +G01X2055594Y1524556D01* +G01X2060248Y1543021D01* +G01X2061814Y1562000D01* +G01X2060248Y1580978D01* +G01X2055594Y1599444D01* +G01X2047976Y1616897D01* +G01X2037602Y1632866D01* +G01X2073000Y1632866D01* +G01X2087528Y1634779D01* +G01X2101067Y1640386D01* +G01X2112693Y1649307D01* +G01X2168062Y1704677D01* +G01X2188014Y1700808D01* +G01X2208334Y1700486D01* +G01X2228398Y1703722D01* +G01X2247587Y1710414D01* +G01X2265311Y1720358D01* +G01X2281024Y1733248D01* +G01X2294242Y1748685D01* +G01X2304558Y1766195D01* +G01X2311654Y1785239D01* +G01X2315312Y1805230D01* +G01X2315419Y1825553D01* +G01X2311972Y1845581D01* +G01X2305077Y1864699D01* +G01X2294947Y1882317D01* +G01X2281893Y1897893D01* +G01X2266317Y1910947D01* +G01X2248699Y1921077D01* +G01X2229581Y1927972D01* +G01X2209553Y1931419D01* +G01X2189230Y1931312D01* +G01X2169239Y1927654D01* +G01X2150195Y1920558D01* +G01X2132685Y1910242D01* +G01X2117248Y1897024D01* +G01X2104358Y1881311D01* +G01X2094414Y1863587D01* +G01X2087722Y1844398D01* +G01X2084486Y1824334D01* +G01X2084808Y1804014D01* +G01X2088677Y1784062D01* +G01X2049748Y1745134D01* +G01X2037602Y1745134D01* +G01X2037602Y1745134D01* +G01X2047976Y1761103D01* +G01X2055594Y1778556D01* +G01X2060248Y1797021D01* +G01X2061814Y1816000D01* +G01X2060248Y1834978D01* +G01X2055594Y1853444D01* +G01X2047976Y1870897D01* +G01X2037602Y1886866D01* +G01X2073000Y1886866D01* +G01X2087528Y1888779D01* +G01X2101067Y1894386D01* +G01X2112693Y1903307D01* +G01X2168062Y1958677D01* +G01X2188014Y1954808D01* +G01X2208334Y1954486D01* +G01X2228398Y1957722D01* +G01X2247587Y1964414D01* +G01X2265311Y1974358D01* +G01X2281024Y1987248D01* +G01X2294242Y2002685D01* +G01X2304558Y2020195D01* +G01X2311654Y2039239D01* +G01X2315312Y2059230D01* +G01X2315419Y2079553D01* +G01X2311972Y2099581D01* +G01X2305077Y2118699D01* +G01X2294947Y2136317D01* +G01X2281893Y2151893D01* +G01X2266317Y2164947D01* +G01X2248699Y2175077D01* +G01X2229581Y2181972D01* +G01X2209553Y2185419D01* +G01X2189230Y2185312D01* +G01X2169239Y2181654D01* +G01X2150195Y2174558D01* +G01X2132685Y2164242D01* +G01X2117248Y2151024D01* +G01X2104358Y2135311D01* +G01X2094414Y2117587D01* +G01X2087722Y2098398D01* +G01X2084486Y2078334D01* +G01X2084808Y2058014D01* +G01X2088677Y2038062D01* +G01X2049748Y1999134D01* +G01X2037602Y1999134D01* +G01X2037602Y1999134D01* +G01X2047976Y2015103D01* +G01X2055594Y2032556D01* +G01X2060248Y2051021D01* +G01X2061814Y2070000D01* +G01X2060248Y2088978D01* +G01X2055594Y2107444D01* +G01X2047976Y2124897D01* +G01X2037602Y2140866D01* +G01X2073000Y2140866D01* +G01X2087528Y2142779D01* +G01X2101067Y2148386D01* +G01X2112693Y2157307D01* +G01X2168062Y2212677D01* +G01X2188014Y2208808D01* +G01X2208334Y2208486D01* +G01X2228398Y2211722D01* +G01X2247587Y2218414D01* +G01X2265311Y2228358D01* +G01X2281024Y2241248D01* +G01X2294242Y2256685D01* +G01X2304558Y2274195D01* +G01X2311654Y2293239D01* +G01X2315312Y2313230D01* +G01X2315419Y2333553D01* +G01X2311972Y2353581D01* +G01X2305077Y2372699D01* +G01X2294947Y2390317D01* +G01X2281893Y2405893D01* +G01X2266317Y2418947D01* +G01X2248699Y2429077D01* +G01X2229581Y2435972D01* +G01X2209553Y2439419D01* +G01X2189230Y2439312D01* +G01X2169239Y2435654D01* +G01X2150195Y2428558D01* +G01X2132685Y2418242D01* +G01X2117248Y2405024D01* +G01X2104358Y2389311D01* +G01X2094414Y2371587D01* +G01X2087722Y2352398D01* +G01X2084486Y2332334D01* +G01X2084808Y2312014D01* +G01X2088677Y2292062D01* +G01X2049748Y2253134D01* +G01X2037602Y2253134D01* +G01X2037602Y2253134D01* +G01X2047976Y2269103D01* +G01X2055594Y2286556D01* +G01X2060248Y2305021D01* +G01X2061814Y2324000D01* +G01X2060248Y2342978D01* +G01X2055594Y2361444D01* +G01X2047976Y2378897D01* +G01X2037602Y2394866D01* +G01X2073000Y2394866D01* +G01X2087528Y2396779D01* +G01X2101067Y2402386D01* +G01X2112693Y2411307D01* +G01X2168062Y2466677D01* +G01X2188014Y2462808D01* +G01X2208334Y2462486D01* +G01X2228398Y2465722D01* +G01X2247587Y2472414D01* +G01X2265311Y2482358D01* +G01X2281024Y2495248D01* +G01X2294242Y2510685D01* +G01X2304558Y2528195D01* +G01X2311654Y2547239D01* +G01X2315312Y2567230D01* +G01X2315419Y2587553D01* +G01X2311972Y2607581D01* +G01X2305077Y2626699D01* +G01X2294947Y2644317D01* +G01X2281893Y2659893D01* +G01X2266317Y2672947D01* +G01X2248699Y2683077D01* +G01X2229581Y2689972D01* +G01X2209553Y2693419D01* +G01X2189230Y2693312D01* +G01X2169239Y2689654D01* +G01X2150195Y2682558D01* +G01X2132685Y2672242D01* +G01X2117248Y2659024D01* +G01X2104358Y2643311D01* +G01X2094414Y2625587D01* +G01X2087722Y2606398D01* +G01X2084486Y2586334D01* +G01X2084808Y2566014D01* +G01X2088677Y2546062D01* +G01X2049748Y2507134D01* +G01X2037602Y2507134D01* +G01X2037602Y2507134D01* +G01X2048968Y2524987D01* +G01X2056896Y2544611D01* +G01X2061121Y2565350D01* +G01X2061501Y2586511D01* +G01X2058023Y2607388D01* +G01X2050805Y2627283D01* +G01X2040086Y2645533D01* +G01X2026225Y2661527D01* +G01X2009685Y2674732D01* +G01X2009685Y2674732D01* +G01X1991018Y2684706D01* +G01X1970848Y2691117D01* +G01X1949847Y2693750D01* +G01X1928719Y2692517D01* +G01X1908167Y2687460D01* +G01X1888879Y2678747D01* +G01X1871499Y2666670D01* +G01X1856606Y2651632D01* +G01X1844699Y2634134D01* +G01X1588251Y2634134D01* +G01X1477693Y2744693D01* +G01X1466067Y2753613D01* +G01X1452528Y2759221D01* +G01X1438000Y2761134D01* +G01X690877Y2761134D01* +G01X702968Y2777407D01* +G01X711729Y2795689D01* +G01X716837Y2815308D01* +G01X718105Y2835541D01* +G01X715484Y2855644D01* +G01X709073Y2874877D01* +G01X699107Y2892531D01* +G01X685953Y2907957D01* +G01X670095Y2920587D01* +G01X652116Y2929956D01* +G01X632680Y2935719D01* +G01X612500Y2937664D01* +G01X592320Y2935719D01* +G01X572884Y2929956D01* +G01X554905Y2920587D01* +G01X539047Y2907957D01* +G01X525893Y2892531D01* +G01X515926Y2874877D01* +G01X509515Y2855644D01* +G01X506895Y2835541D01* +G01X508163Y2815308D01* +G01X513271Y2795689D01* +G01X522032Y2777407D01* +G01X534123Y2761134D01* +G01X485500Y2761134D01* +G01X470971Y2759221D01* +G01X457433Y2753613D01* +G01X445807Y2744693D01* +G01X390438Y2689323D01* +G01X370486Y2693192D01* +G01X350166Y2693514D01* +G01X330102Y2690278D01* +G01X310913Y2683585D01* +G01X293189Y2673641D01* +G01X277476Y2660752D01* +G01X264258Y2645315D01* +G01X253942Y2627805D01* +G01X246846Y2608761D01* +G01X243188Y2588770D01* +G01X243081Y2568447D01* +G01X246528Y2548419D01* +G01X253422Y2529301D01* +G01X263553Y2511683D01* +G01X276607Y2496107D01* +G01X292183Y2483053D01* +G01X309801Y2472922D01* +G01X328919Y2466028D01* +G01X348947Y2462581D01* +G01X369270Y2462688D01* +G01X389261Y2466346D01* +G01X408305Y2473442D01* +G01X425815Y2483758D01* +G01X441252Y2496976D01* +G01X454141Y2512689D01* +G01X464085Y2530413D01* +G01X470778Y2549602D01* +G01X474014Y2569666D01* +G01X473692Y2589986D01* +G01X469823Y2609938D01* +G01X508751Y2648866D01* +G01X520898Y2648866D01* +G01X520898Y2648866D01* +G01X510524Y2632897D01* +G01X502906Y2615444D01* +G01X498252Y2596978D01* +G01X496686Y2578000D01* +G01X498252Y2559021D01* +G01X502906Y2540556D01* +G01X510524Y2523103D01* +G01X520898Y2507134D01* +G01X485500Y2507134D01* +G01X470971Y2505221D01* +G01X457433Y2499613D01* +G01X445807Y2490693D01* +G01X390438Y2435323D01* +G01X370486Y2439192D01* +G01X350166Y2439514D01* +G01X330102Y2436278D01* +G01X310913Y2429585D01* +G01X293189Y2419641D01* +G01X277476Y2406752D01* +G01X264258Y2391315D01* +G01X253942Y2373805D01* +G01X246846Y2354761D01* +G01X243188Y2334770D01* +G01X243081Y2314447D01* +G01X246528Y2294419D01* +G01X253422Y2275301D01* +G01X263553Y2257683D01* +G01X276607Y2242107D01* +G01X292183Y2229053D01* +G01X309801Y2218922D01* +G01X328919Y2212028D01* +G01X348947Y2208581D01* +G01X369270Y2208688D01* +G01X389261Y2212346D01* +G01X408305Y2219442D01* +G01X425815Y2229758D01* +G01X441252Y2242976D01* +G01X454141Y2258689D01* +G01X464085Y2276413D01* +G01X470778Y2295602D01* +G01X474014Y2315666D01* +G01X473692Y2335986D01* +G01X469823Y2355938D01* +G01X508751Y2394866D01* +G01X520898Y2394866D01* +G01X520898Y2394866D01* +G01X510524Y2378897D01* +G01X502906Y2361444D01* +G01X498252Y2342978D01* +G01X496686Y2324000D01* +G01X498252Y2305021D01* +G01X502906Y2286556D01* +G01X510524Y2269103D01* +G01X520898Y2253134D01* +G01X485500Y2253134D01* +G01X470971Y2251221D01* +G01X457433Y2245613D01* +G01X445807Y2236693D01* +G01X390438Y2181323D01* +G01X370486Y2185192D01* +G01X350166Y2185514D01* +G01X330102Y2182278D01* +G01X310913Y2175585D01* +G01X293189Y2165641D01* +G01X277476Y2152752D01* +G01X264258Y2137315D01* +G01X253942Y2119805D01* +G01X246846Y2100761D01* +G01X243188Y2080770D01* +G01X243081Y2060447D01* +G01X246528Y2040419D01* +G01X253422Y2021301D01* +G01X263553Y2003683D01* +G01X276607Y1988107D01* +G01X292183Y1975053D01* +G01X309801Y1964922D01* +G01X328919Y1958028D01* +G01X348947Y1954581D01* +G01X369270Y1954688D01* +G01X389261Y1958346D01* +G01X408305Y1965442D01* +G01X425815Y1975758D01* +G01X441252Y1988976D01* +G01X454141Y2004689D01* +G01X464085Y2022413D01* +G01X470778Y2041602D01* +G01X474014Y2061666D01* +G01X473692Y2081986D01* +G01X469823Y2101938D01* +G01X508751Y2140866D01* +G01X520898Y2140866D01* +G01X520898Y2140866D01* +G01X510524Y2124897D01* +G01X502906Y2107444D01* +G01X498252Y2088978D01* +G01X496686Y2070000D01* +G01X498252Y2051021D01* +G01X502906Y2032556D01* +G01X510524Y2015103D01* +G01X520898Y1999134D01* +G01X485500Y1999134D01* +G01X470971Y1997221D01* +G01X457433Y1991613D01* +G01X445807Y1982693D01* +G01X390438Y1927323D01* +G01X370486Y1931192D01* +G01X350166Y1931514D01* +G01X330102Y1928278D01* +G01X310913Y1921585D01* +G01X293189Y1911641D01* +G01X277476Y1898752D01* +G01X264258Y1883315D01* +G01X253942Y1865805D01* +G01X246846Y1846761D01* +G01X243188Y1826770D01* +G01X243081Y1806447D01* +G01X246528Y1786419D01* +G01X253422Y1767301D01* +G01X263553Y1749683D01* +G01X276607Y1734107D01* +G01X292183Y1721053D01* +G01X309801Y1710922D01* +G01X328919Y1704028D01* +G01X348947Y1700581D01* +G01X369270Y1700688D01* +G01X389261Y1704346D01* +G01X408305Y1711442D01* +G01X425815Y1721758D01* +G01X441252Y1734976D01* +G01X454141Y1750689D01* +G01X464085Y1768413D01* +G01X470778Y1787602D01* +G01X474014Y1807666D01* +G01X473692Y1827986D01* +G01X469823Y1847938D01* +G01X508751Y1886866D01* +G01X520898Y1886866D01* +G01X520898Y1886866D01* +G01X510524Y1870897D01* +G01X502906Y1853444D01* +G01X498252Y1834978D01* +G01X496686Y1816000D01* +G01X498252Y1797021D01* +G01X502906Y1778556D01* +G01X510524Y1761103D01* +G01X520898Y1745134D01* +G01X485500Y1745134D01* +G01X470971Y1743221D01* +G01X457433Y1737613D01* +G01X445807Y1728693D01* +G01X390438Y1673323D01* +G01X370486Y1677192D01* +G01X350166Y1677514D01* +G01X330102Y1674278D01* +G01X310913Y1667585D01* +G01X293189Y1657641D01* +G01X277476Y1644752D01* +G01X264258Y1629315D01* +G01X253942Y1611805D01* +G01X246846Y1592761D01* +G01X243188Y1572770D01* +G01X243081Y1552447D01* +G01X246528Y1532419D01* +G01X253422Y1513301D01* +G01X263553Y1495683D01* +G01X276607Y1480107D01* +G01X292183Y1467053D01* +G01X309801Y1456922D01* +G01X328919Y1450028D01* +G01X348947Y1446581D01* +G01X369270Y1446688D01* +G01X389261Y1450346D01* +G01X408305Y1457442D01* +G01X425815Y1467758D01* +G01X441252Y1480976D01* +G01X454141Y1496689D01* +G01X464085Y1514413D01* +G01X470778Y1533602D01* +G01X474014Y1553666D01* +G01X473692Y1573986D01* +G01X469823Y1593938D01* +G01X508751Y1632866D01* +G01X520898Y1632866D01* +G01X520898Y1632866D01* +G01X510524Y1616897D01* +G01X502906Y1599444D01* +G01X498252Y1580978D01* +G01X496686Y1562000D01* +G01X498252Y1543021D01* +G01X502906Y1524556D01* +G01X510524Y1507103D01* +G01X520898Y1491134D01* +G01X485500Y1491134D01* +G01X470971Y1489221D01* +G01X457433Y1483613D01* +G01X445807Y1474693D01* +G01X390438Y1419323D01* +G01X370486Y1423192D01* +G01X350166Y1423514D01* +G01X330102Y1420278D01* +G01X310913Y1413585D01* +G01X293189Y1403641D01* +G01X277476Y1390752D01* +G01X264258Y1375315D01* +G01X253942Y1357805D01* +G01X246846Y1338761D01* +G01X243188Y1318770D01* +G01X243081Y1298447D01* +G01X246528Y1278419D01* +G01X253422Y1259301D01* +G01X263553Y1241683D01* +G01X276607Y1226107D01* +G01X292183Y1213053D01* +G01X309801Y1202922D01* +G01X328919Y1196028D01* +G01X348947Y1192581D01* +G01X369270Y1192688D01* +G01X389261Y1196346D01* +G01X408305Y1203442D01* +G01X425815Y1213758D01* +G01X441252Y1226976D01* +G01X454141Y1242689D01* +G01X464085Y1260413D01* +G01X470778Y1279602D01* +G01X474014Y1299666D01* +G01X473692Y1319986D01* +G01X469823Y1339938D01* +G01X508751Y1378866D01* +G01X520898Y1378866D01* +G01X520898Y1378866D01* +G01X510524Y1362897D01* +G01X502906Y1345444D01* +G01X498252Y1326978D01* +G01X496686Y1308000D01* +G01X498252Y1289021D01* +G01X502906Y1270556D01* +G01X510524Y1253103D01* +G01X520898Y1237134D01* +G01X485500Y1237134D01* +G01X470971Y1235221D01* +G01X457433Y1229613D01* +G01X445807Y1220693D01* +G01X390438Y1165323D01* +G01X370486Y1169192D01* +G01X350166Y1169514D01* +G01X330102Y1166278D01* +G01X310913Y1159585D01* +G01X293189Y1149641D01* +G01X277476Y1136752D01* +G01X264258Y1121315D01* +G01X253942Y1103805D01* +G01X246846Y1084761D01* +G01X243188Y1064770D01* +G01X243081Y1044447D01* +G01X246528Y1024419D01* +G01X253422Y1005301D01* +G01X263553Y987683D01* +G01X276607Y972107D01* +G01X292183Y959053D01* +G01X309801Y948922D01* +G01X328919Y942028D01* +G01X348947Y938581D01* +G01X369270Y938688D01* +G01X389261Y942346D01* +G01X408305Y949442D01* +G01X425815Y959758D01* +G01X441252Y972976D01* +G01X454141Y988689D01* +G01X464085Y1006413D01* +G01X470778Y1025602D01* +G01X474014Y1045666D01* +G01X473692Y1065986D01* +G01X469823Y1085938D01* +G01X508751Y1124866D01* +G01X520898Y1124866D01* +G01X520898Y1124866D01* +G01X510524Y1108897D01* +G01X502906Y1091444D01* +G01X498252Y1072978D01* +G01X496686Y1054000D01* +G01X498252Y1035021D01* +G01X502906Y1016556D01* +G01X510524Y999103D01* +G01X520898Y983134D01* +G01X485500Y983134D01* +G01X470971Y981221D01* +G01X457433Y975613D01* +G01X445807Y966693D01* +G01X390438Y911323D01* +G01X369294Y915310D01* +G01X347778Y915316D01* +G01X326632Y911343D01* +G01X306586Y903527D01* +G01X288332Y892137D01* +G01X272499Y877567D01* +G01X259635Y860321D01* +G01X250183Y840992D01* +G01X244470Y820248D01* +G01X242692Y798806D01* +G01X244912Y777404D01* +G01X106426Y915890D01* +G01X106426Y2842686D01* +G01X243180Y2842686D01* +G01X243180Y2821314D01* +G01X247107Y2800306D01* +G01X254828Y2780377D01* +G01X266078Y2762206D01* +G01X280477Y2746412D01* +G01X297532Y2733533D01* +G01X316663Y2724007D01* +G01X337219Y2718158D01* +G01X358500Y2716186D01* +G01X358500Y2716186D01* +G01X379781Y2718158D01* +G01X400337Y2724007D01* +G01X419468Y2733533D01* +G01X436523Y2746412D01* +G01X450921Y2762206D01* +G01X462172Y2780377D01* +G01X469893Y2800306D01* +G01X473820Y2821314D01* +G01X473820Y2842686D01* +G01X469893Y2863694D01* +G01X462172Y2883623D01* +G01X450921Y2901793D01* +G01X436523Y2917587D01* +G01X419468Y2930467D01* +G01X400337Y2939993D01* +G01X379781Y2945842D01* +G01X358500Y2947814D01* +G01X337219Y2945842D01* +G01X316663Y2939993D01* +G01X297532Y2930467D01* +G01X280477Y2917587D01* +G01X266078Y2901793D01* +G01X254828Y2883623D01* +G01X247107Y2863694D01* +G01X243180Y2842686D01* +G01X106426Y2842686D01* +G01X106426Y3096686D01* +G01X243180Y3096686D01* +G01X243180Y3075314D01* +G01X247107Y3054306D01* +G01X254828Y3034377D01* +G01X266078Y3016206D01* +G01X280477Y3000412D01* +G01X297532Y2987533D01* +G01X316663Y2978007D01* +G01X337219Y2972158D01* +G01X358500Y2970186D01* +G01X358500Y2970186D01* +G01X379781Y2972158D01* +G01X400337Y2978007D01* +G01X419468Y2987533D01* +G01X436523Y3000412D01* +G01X450921Y3016206D01* +G01X462172Y3034377D01* +G01X469893Y3054306D01* +G01X473820Y3075314D01* +G01X473820Y3095749D01* +G01X507287Y3095749D01* +G01X507287Y3076250D01* +G01X510870Y3057084D01* +G01X517913Y3038901D01* +G01X528178Y3022323D01* +G01X541315Y3007913D01* +G01X556875Y2996163D01* +G01X574330Y2987471D01* +G01X593084Y2982135D01* +G01X612500Y2980336D01* +G01X612500Y2980336D01* +G01X631916Y2982135D01* +G01X650670Y2987471D01* +G01X668125Y2996163D01* +G01X683685Y3007913D01* +G01X696822Y3022323D01* +G01X707086Y3038901D01* +G01X714130Y3057084D01* +G01X717713Y3076250D01* +G01X717713Y3095749D01* +G01X714130Y3114916D01* +G01X707086Y3133098D01* +G01X696822Y3149677D01* +G01X683685Y3164087D01* +G01X668125Y3175837D01* +G01X650670Y3184529D01* +G01X631916Y3189865D01* +G01X612500Y3191664D01* +G01X593084Y3189865D01* +G01X574330Y3184529D01* +G01X556875Y3175837D01* +G01X541315Y3164087D01* +G01X528178Y3149677D01* +G01X517913Y3133098D01* +G01X510870Y3114916D01* +G01X507287Y3095749D01* +G01X473820Y3095749D01* +G01X473820Y3096686D01* +G01X469893Y3117694D01* +G01X462172Y3137623D01* +G01X450921Y3155793D01* +G01X436523Y3171587D01* +G01X419468Y3184467D01* +G01X400337Y3193993D01* +G01X379781Y3199842D01* +G01X358500Y3201814D01* +G01X337219Y3199842D01* +G01X316663Y3193993D01* +G01X297532Y3184467D01* +G01X280477Y3171587D01* +G01X266078Y3155793D01* +G01X254828Y3137623D01* +G01X247107Y3117694D01* +G01X243180Y3096686D01* +G01X106426Y3096686D01* +G01X106426Y3350686D01* +G01X243180Y3350686D01* +G01X243180Y3329314D01* +G01X247107Y3308306D01* +G01X254828Y3288377D01* +G01X266078Y3270206D01* +G01X280477Y3254412D01* +G01X297532Y3241533D01* +G01X316663Y3232007D01* +G01X337219Y3226158D01* +G01X358500Y3224186D01* +G01X358500Y3224186D01* +G01X379781Y3226158D01* +G01X400337Y3232007D01* +G01X419468Y3241533D01* +G01X436523Y3254412D01* +G01X450921Y3270206D01* +G01X462172Y3288377D01* +G01X469893Y3308306D01* +G01X473820Y3329314D01* +G01X473820Y3350686D01* +G01X469893Y3371694D01* +G01X462172Y3391623D01* +G01X450921Y3409793D01* +G01X436523Y3425587D01* +G01X419468Y3438467D01* +G01X400337Y3447993D01* +G01X379781Y3453842D01* +G01X358500Y3455814D01* +G01X337219Y3453842D01* +G01X316663Y3447993D01* +G01X297532Y3438467D01* +G01X280477Y3425587D01* +G01X266078Y3409793D01* +G01X254828Y3391623D01* +G01X247107Y3371694D01* +G01X243180Y3350686D01* +G01X106426Y3350686D01* +G01X106426Y3604686D01* +G01X243180Y3604686D01* +G01X243180Y3583314D01* +G01X247107Y3562306D01* +G01X254828Y3542377D01* +G01X266078Y3524206D01* +G01X280477Y3508412D01* +G01X297532Y3495533D01* +G01X316663Y3486007D01* +G01X337219Y3480158D01* +G01X358500Y3478186D01* +G01X358500Y3478186D01* +G01X379781Y3480158D01* +G01X400337Y3486007D01* +G01X419468Y3495533D01* +G01X436523Y3508412D01* +G01X450921Y3524206D01* +G01X462172Y3542377D01* +G01X469893Y3562306D01* +G01X473820Y3583314D01* +G01X473820Y3604686D01* +G01X469893Y3625694D01* +G01X462172Y3645623D01* +G01X450921Y3663793D01* +G01X436523Y3679587D01* +G01X419468Y3692467D01* +G01X400337Y3701993D01* +G01X379781Y3707842D01* +G01X358500Y3709814D01* +G01X337219Y3707842D01* +G01X316663Y3701993D01* +G01X297532Y3692467D01* +G01X280477Y3679587D01* +G01X266078Y3663793D01* +G01X254828Y3645623D01* +G01X247107Y3625694D01* +G01X243180Y3604686D01* +G01X106426Y3604686D01* +G01X106426Y4033719D01* +G01X206031Y3934114D01* +G01X217657Y3925193D01* +G01X231195Y3919585D01* +G01X245724Y3917673D01* +G01X265987Y3917673D01* +G01X254766Y3899498D01* +G01X247073Y3879573D01* +G01X243170Y3858573D01* +G01X243189Y3837214D01* +G01X247131Y3816221D01* +G01X254861Y3796310D01* +G01X266116Y3778156D01* +G01X280514Y3762378D01* +G01X297564Y3749513D01* +G01X316687Y3739998D01* +G01X337232Y3734156D01* +G01X358500Y3732186D01* +G01X358500Y3732186D01* +G01X379768Y3734156D01* +G01X400313Y3739998D01* +G01X419436Y3749513D01* +G01X436486Y3762378D01* +G01X450883Y3778156D01* +G01X462138Y3796310D01* +G01X469868Y3816221D01* +G01X473810Y3837214D01* +G01X473830Y3858573D01* +G01X469927Y3879573D01* +G01X462234Y3899498D01* +G01X451012Y3917673D01* +G01X463442Y3917673D01* +G01X501177Y3879938D01* +G01X501177Y3879938D01* +G01X497201Y3858913D01* +G01X497162Y3837516D01* +G01X501059Y3816477D01* +G01X508760Y3796513D01* +G01X520002Y3778308D01* +G01X534402Y3762481D01* +G01X551467Y3749573D01* +G01X570616Y3740025D01* +G01X591194Y3734163D01* +G01X612500Y3732186D01* +G01X612500Y3732186D01* +G01X633806Y3734163D01* +G01X654384Y3740025D01* +G01X673533Y3749573D01* +G01X690598Y3762481D01* +G01X704998Y3778308D01* +G01X716240Y3796513D01* +G01X723941Y3816477D01* +G01X727838Y3837516D01* +G01X727798Y3858913D01* +G01X723823Y3879938D01* +G01X762751Y3918866D01* +G01X1078336Y3918866D01* +G01X1078336Y3777134D01* +G01X739500Y3777134D01* +G01X724971Y3775221D01* +G01X711433Y3769613D01* +G01X699807Y3760693D01* +G01X644438Y3705323D01* +G01X624486Y3709192D01* +G01X604166Y3709514D01* +G01X584102Y3706278D01* +G01X564913Y3699585D01* +G01X547189Y3689641D01* +G01X531476Y3676752D01* +G01X518258Y3661315D01* +G01X507942Y3643805D01* +G01X500846Y3624761D01* +G01X497188Y3604770D01* +G01X497081Y3584447D01* +G01X500528Y3564419D01* +G01X507422Y3545301D01* +G01X517553Y3527683D01* +G01X530607Y3512107D01* +G01X546183Y3499053D01* +G01X563801Y3488922D01* +G01X582919Y3482028D01* +G01X602947Y3478581D01* +G01X623270Y3478688D01* +G01X643261Y3482346D01* +G01X662305Y3489442D01* +G01X679815Y3499758D01* +G01X695252Y3512976D01* +G01X708141Y3528689D01* +G01X718085Y3546413D01* +G01X724778Y3565602D01* +G01X728014Y3585666D01* +G01X727692Y3605986D01* +G01X723823Y3625938D01* +G01X762751Y3664866D01* +G01X1101895Y3664866D01* +G01X1101895Y3664866D01* +G01X1090561Y3646388D01* +G01X1082787Y3626152D01* +G01X1078833Y3604839D01* +G01X1078833Y3583161D01* +G01X1082787Y3561848D01* +G01X1090561Y3541612D01* +G01X1101895Y3523134D01* +G01X739500Y3523134D01* +G01X724971Y3521221D01* +G01X711433Y3515613D01* +G01X699807Y3506693D01* +G01X644438Y3451323D01* +G01X624486Y3455192D01* +G01X604166Y3455514D01* +G01X584102Y3452278D01* +G01X564913Y3445585D01* +G01X547189Y3435641D01* +G01X531476Y3422752D01* +G01X518258Y3407315D01* +G01X507942Y3389805D01* +G01X500846Y3370761D01* +G01X497188Y3350770D01* +G01X497081Y3330447D01* +G01X500528Y3310419D01* +G01X507422Y3291301D01* +G01X517553Y3273683D01* +G01X530607Y3258107D01* +G01X546183Y3245053D01* +G01X563801Y3234922D01* +G01X582919Y3228028D01* +G01X602947Y3224581D01* +G01X623270Y3224688D01* +G01X643261Y3228346D01* +G01X662305Y3235442D01* +G01X679815Y3245758D01* +G01X695252Y3258976D01* +G01X708141Y3274689D01* +G01X718085Y3292413D01* +G01X724778Y3311602D01* +G01X728014Y3331666D01* +G01X727692Y3351986D01* +G01X723823Y3371938D01* +G01X762751Y3410866D01* +G01X1473673Y3410866D01* +G01X1462885Y3391547D01* +G01X1455648Y3370636D01* +G01X1452186Y3348781D01* +G01X1452606Y3326657D01* +G01X1456897Y3304950D01* +G01X1464923Y3284329D01* +G01X1476438Y3265434D01* +G01X1491086Y3248848D01* +G01X1491086Y3200300D01* +G01X1492750Y3183402D01* +G01X1497679Y3167154D01* +G01X1505683Y3152180D01* +G01X1516455Y3139055D01* +G01X1830391Y2825118D01* +G01X1830391Y2825118D01* +G01X1833400Y2804907D01* +G01X1839914Y2785538D01* +G01X1849731Y2767617D01* +G01X1862546Y2751699D01* +G01X1877958Y2738282D01* +G01X1895488Y2727782D01* +G01X1914592Y2720526D01* +G01X1934672Y2716741D01* +G01X1955106Y2716545D01* +G01X1975256Y2719942D01* +G01X1994495Y2726828D01* +G01X2012225Y2736989D01* +G01X2027893Y2750107D01* +G01X2027893Y2750107D01* +G01X2041011Y2765775D01* +G01X2051171Y2783504D01* +G01X2058058Y2802744D01* +G01X2061455Y2822894D01* +G01X2061265Y2842686D01* +G01X2084680Y2842686D01* +G01X2084680Y2821314D01* +G01X2088607Y2800306D01* +G01X2096328Y2780377D01* +G01X2107578Y2762206D01* +G01X2121977Y2746412D01* +G01X2139032Y2733533D01* +G01X2158163Y2724007D01* +G01X2178719Y2718158D01* +G01X2200000Y2716186D01* +G01X2200000Y2716186D01* +G01X2221281Y2718158D01* +G01X2241837Y2724007D01* +G01X2260968Y2733533D01* +G01X2278023Y2746412D01* +G01X2292421Y2762206D01* +G01X2303672Y2780377D01* +G01X2311393Y2800306D01* +G01X2315320Y2821314D01* +G01X2315320Y2842686D01* +G01X2311393Y2863694D01* +G01X2303672Y2883623D01* +G01X2292421Y2901793D01* +G01X2278023Y2917587D01* +G01X2260968Y2930467D01* +G01X2241837Y2939993D01* +G01X2221281Y2945842D01* +G01X2200000Y2947814D01* +G01X2178719Y2945842D01* +G01X2158163Y2939993D01* +G01X2139032Y2930467D01* +G01X2121977Y2917587D01* +G01X2107578Y2901793D01* +G01X2096328Y2883623D01* +G01X2088607Y2863694D01* +G01X2084680Y2842686D01* +G01X2061265Y2842686D01* +G01X2061258Y2843327D01* +G01X2057474Y2863408D01* +G01X2050218Y2882511D01* +G01X2039718Y2900042D01* +G01X2026301Y2915454D01* +G01X2010383Y2928268D01* +G01X1992461Y2938086D01* +G01X1973093Y2944600D01* +G01X1952881Y2947609D01* +G01X1929059Y2971432D01* +G01X1949703Y2970245D01* +G01X1970229Y2972749D01* +G01X1989983Y2978863D01* +G01X2008334Y2988392D01* +G01X2024699Y3001033D01* +G01X2038555Y3016383D01* +G01X2049460Y3033952D01* +G01X2057066Y3053181D01* +G01X2061132Y3073455D01* +G01X2061528Y3094130D01* +G01X2061116Y3096686D01* +G01X2084680Y3096686D01* +G01X2084680Y3075314D01* +G01X2088607Y3054306D01* +G01X2096328Y3034377D01* +G01X2107578Y3016206D01* +G01X2121977Y3000412D01* +G01X2139032Y2987533D01* +G01X2158163Y2978007D01* +G01X2178719Y2972158D01* +G01X2200000Y2970186D01* +G01X2200000Y2970186D01* +G01X2221281Y2972158D01* +G01X2241837Y2978007D01* +G01X2260968Y2987533D01* +G01X2278023Y3000412D01* +G01X2292421Y3016206D01* +G01X2303672Y3034377D01* +G01X2311393Y3054306D01* +G01X2315320Y3075314D01* +G01X2315320Y3096686D01* +G01X2311393Y3117694D01* +G01X2303672Y3137623D01* +G01X2292421Y3155793D01* +G01X2278023Y3171587D01* +G01X2260968Y3184467D01* +G01X2241837Y3193993D01* +G01X2221281Y3199842D01* +G01X2200000Y3201814D01* +G01X2178719Y3199842D01* +G01X2158163Y3193993D01* +G01X2139032Y3184467D01* +G01X2121977Y3171587D01* +G01X2107578Y3155793D01* +G01X2096328Y3137623D01* +G01X2088607Y3117694D01* +G01X2084680Y3096686D01* +G01X2061116Y3096686D01* +G01X2058241Y3114545D01* +G01X2051375Y3134050D01* +G01X2041151Y3152024D01* +G01X2027893Y3167893D01* +G01X2012024Y3181151D01* +G01X1994050Y3191375D01* +G01X1974545Y3198241D01* +G01X1954130Y3201528D01* +G01X1933455Y3201132D01* +G01X1913181Y3197066D01* +G01X1893952Y3189460D01* +G01X1876383Y3178555D01* +G01X1861033Y3164699D01* +G01X1848392Y3148334D01* +G01X1838863Y3129983D01* +G01X1832749Y3110229D01* +G01X1830245Y3089703D01* +G01X1831432Y3069059D01* +G01X1664314Y3236177D01* +G01X1664314Y3248848D01* +G01X1664314Y3248848D01* +G01X1678961Y3265434D01* +G01X1690477Y3284329D01* +G01X1698503Y3304950D01* +G01X1702793Y3326657D01* +G01X1703214Y3348781D01* +G01X1699752Y3370636D01* +G01X1692515Y3391547D01* +G01X1681726Y3410866D01* +G01X1854398Y3410866D01* +G01X1854398Y3410866D01* +G01X1842885Y3392727D01* +G01X1834920Y3372774D01* +G01X1830778Y3351694D01* +G01X1830601Y3330210D01* +G01X1834394Y3309064D01* +G01X1842029Y3288982D01* +G01X1853241Y3270656D01* +G01X1867645Y3254716D01* +G01X1884745Y3241711D01* +G01X1903953Y3232088D01* +G01X1924609Y3226179D01* +G01X1946000Y3224186D01* +G01X1946000Y3224186D01* +G01X1967391Y3226179D01* +G01X1988046Y3232088D01* +G01X2007255Y3241711D01* +G01X2024355Y3254716D01* +G01X2038759Y3270656D01* +G01X2049971Y3288982D01* +G01X2057606Y3309064D01* +G01X2061399Y3330210D01* +G01X2061222Y3351694D01* +G01X2057080Y3372774D01* +G01X2049115Y3392727D01* +G01X2037602Y3410866D01* +G01X2049748Y3410866D01* +G01X2088677Y3371938D01* +G01X2088677Y3371938D01* +G01X2084808Y3351986D01* +G01X2084486Y3331666D01* +G01X2087722Y3311602D01* +G01X2094414Y3292413D01* +G01X2104358Y3274689D01* +G01X2117248Y3258976D01* +G01X2132685Y3245758D01* +G01X2150195Y3235442D01* +G01X2169239Y3228346D01* +G01X2189230Y3224688D01* +G01X2209553Y3224581D01* +G01X2229581Y3228028D01* +G01X2248699Y3234922D01* +G01X2266317Y3245053D01* +G01X2281893Y3258107D01* +G01X2294947Y3273683D01* +G01X2305077Y3291301D01* +G01X2311972Y3310419D01* +G01X2315419Y3330447D01* +G01X2315312Y3350770D01* +G01X2311654Y3370761D01* +G01X2304558Y3389805D01* +G01X2294242Y3407315D01* +G01X2281024Y3422752D01* +G01X2265311Y3435641D01* +G01X2247587Y3445585D01* +G01X2228398Y3452278D01* +G01X2208334Y3455514D01* +G01X2188014Y3455192D01* +G01X2168062Y3451323D01* +G01X2112693Y3506693D01* +G01X2101067Y3515613D01* +G01X2087528Y3521221D01* +G01X2073000Y3523134D01* +G01X2037602Y3523134D01* +G01X2047976Y3539103D01* +G01X2055594Y3556556D01* +G01X2060248Y3575021D01* +G01X2061814Y3594000D01* +G01X2060248Y3612978D01* +G01X2055594Y3631444D01* +G01X2047976Y3648897D01* +G01X2037602Y3664866D01* +G01X2049748Y3664866D01* +G01X2088677Y3625938D01* +G01X2088677Y3625938D01* +G01X2084808Y3605986D01* +G01X2084486Y3585666D01* +G01X2087722Y3565602D01* +G01X2094414Y3546413D01* +G01X2104358Y3528689D01* +G01X2117248Y3512976D01* +G01X2132685Y3499758D01* +G01X2150195Y3489442D01* +G01X2169239Y3482346D01* +G01X2189230Y3478688D01* +G01X2209553Y3478581D01* +G01X2229581Y3482028D01* +G01X2248699Y3488922D01* +G01X2266317Y3499053D01* +G01X2281893Y3512107D01* +G01X2294947Y3527683D01* +G01X2305077Y3545301D01* +G01X2311972Y3564419D01* +G01X2315419Y3584447D01* +G01X2315312Y3604770D01* +G01X2311654Y3624761D01* +G01X2304558Y3643805D01* +G01X2294242Y3661315D01* +G01X2281024Y3676752D01* +G01X2265311Y3689641D01* +G01X2247587Y3699585D01* +G01X2228398Y3706278D01* +G01X2208334Y3709514D01* +G01X2188014Y3709192D01* +G01X2168062Y3705323D01* +G01X2112693Y3760693D01* +G01X2101067Y3769613D01* +G01X2087528Y3775221D01* +G01X2073000Y3777134D01* +G01X2037602Y3777134D01* +G01X2037602Y3777134D01* +G01X2047976Y3793103D01* +G01X2055594Y3810556D01* +G01X2060248Y3829021D01* +G01X2061814Y3848000D01* +G01X2060248Y3866978D01* +G01X2055594Y3885444D01* +G01X2047976Y3902897D01* +G01X2037602Y3918866D01* +G01X2049748Y3918866D01* +G01X2088677Y3879938D01* +G01X2088677Y3879938D01* +G01X2084808Y3859986D01* +G01X2084486Y3839666D01* +G01X2087722Y3819602D01* +G01X2094414Y3800413D01* +G01X2104358Y3782689D01* +G01X2117248Y3766976D01* +G01X2132685Y3753758D01* +G01X2150195Y3743442D01* +G01X2169239Y3736346D01* +G01X2189230Y3732688D01* +G01X2209553Y3732581D01* +G01X2229581Y3736028D01* +G01X2248699Y3742922D01* +G01X2266317Y3753053D01* +G01X2281893Y3766107D01* +G01X2294947Y3781683D01* +G01X2305077Y3799301D01* +G01X2311972Y3818419D01* +G01X2315419Y3838447D01* +G01X2315312Y3858770D01* +G01X2311654Y3878761D01* +G01X2304558Y3897805D01* +G01X2294242Y3915315D01* +G01X2281024Y3930752D01* +G01X2265311Y3943641D01* +G01X2247587Y3953585D01* +G01X2228398Y3960278D01* +G01X2208334Y3963514D01* +G01X2188014Y3963192D01* +G01X2168062Y3959323D01* +G01X2112693Y4014693D01* +G01X2101067Y4023613D01* +G01X2087528Y4029221D01* +G01X2073000Y4031134D01* +G01X2037602Y4031134D01* +G01X2037602Y4031134D01* +G01X2049115Y4049272D01* +G01X2057080Y4069225D01* +G01X2061222Y4090306D01* +G01X2061399Y4111789D01* +G01X2061238Y4112686D01* +G01X2084680Y4112686D01* +G01X2084680Y4091314D01* +G01X2088607Y4070306D01* +G01X2096328Y4050377D01* +G01X2107578Y4032206D01* +G01X2121977Y4016412D01* +G01X2139032Y4003533D01* +G01X2158163Y3994007D01* +G01X2178719Y3988158D01* +G01X2200000Y3986186D01* +G01X2200000Y3986186D01* +G01X2221281Y3988158D01* +G01X2241837Y3994007D01* +G01X2260968Y4003533D01* +G01X2278023Y4016412D01* +G01X2292421Y4032206D01* +G01X2303672Y4050377D01* +G01X2311393Y4070306D01* +G01X2315320Y4091314D01* +G01X2315320Y4112686D01* +G01X2311393Y4133694D01* +G01X2303672Y4153623D01* +G01X2292421Y4171793D01* +G01X2278023Y4187587D01* +G01X2260968Y4200467D01* +G01X2241837Y4209993D01* +G01X2221281Y4215842D01* +G01X2200000Y4217814D01* +G01X2178719Y4215842D01* +G01X2158163Y4209993D01* +G01X2139032Y4200467D01* +G01X2121977Y4187587D01* +G01X2107578Y4171793D01* +G01X2096328Y4153623D01* +G01X2088607Y4133694D01* +G01X2084680Y4112686D01* +G01X2061238Y4112686D01* +G01X2057606Y4132936D01* +G01X2049971Y4153017D01* +G01X2038759Y4171344D01* +G01X2024355Y4187284D01* +G01X2007255Y4200289D01* +G01X1988046Y4209912D01* +G01X1967391Y4215821D01* +G01X1946000Y4217814D01* +G01X1946000Y4217814D01* +G01X1924609Y4215821D01* +G01X1903953Y4209912D01* +G01X1884745Y4200289D01* +G01X1867645Y4187284D01* +G01X1853241Y4171344D01* +G01X1842029Y4153017D01* +G01X1834394Y4132936D01* +G01X1830601Y4111789D01* +G01X1830778Y4090306D01* +G01X1834920Y4069225D01* +G01X1842885Y4049272D01* +G01X1854398Y4031134D01* +G01X739500Y4031134D01* +G01X724971Y4029221D01* +G01X711433Y4023613D01* +G01X699807Y4014693D01* +G01X644438Y3959323D01* +G01X623270Y3963312D01* +G01X601730Y3963312D01* +G01X580562Y3959323D01* +G01X526386Y4013499D01* +G01X514760Y4022420D01* +G01X501222Y4028028D01* +G01X486693Y4029941D01* +G01X449166Y4029941D01* +G01X449166Y4029941D01* +G01X460861Y4047824D01* +G01X469072Y4067552D01* +G01X473519Y4088452D01* +G01X474050Y4109813D01* +G01X473587Y4112686D01* +G01X497180Y4112686D01* +G01X497180Y4091314D01* +G01X501107Y4070306D01* +G01X508828Y4050377D01* +G01X520078Y4032206D01* +G01X534477Y4016412D01* +G01X551532Y4003533D01* +G01X570663Y3994007D01* +G01X591219Y3988158D01* +G01X612500Y3986186D01* +G01X612500Y3986186D01* +G01X633781Y3988158D01* +G01X654337Y3994007D01* +G01X673468Y4003533D01* +G01X690523Y4016412D01* +G01X704921Y4032206D01* +G01X716172Y4050377D01* +G01X723893Y4070306D01* +G01X727820Y4091314D01* +G01X727820Y4112686D01* +G01X723893Y4133694D01* +G01X716172Y4153623D01* +G01X704921Y4171793D01* +G01X690523Y4187587D01* +G01X673468Y4200467D01* +G01X654337Y4209993D01* +G01X653953Y4210102D01* +G01X1451886Y4210102D01* +G01X1453797Y4188255D01* +G01X1459474Y4167071D01* +G01X1468742Y4147195D01* +G01X1481321Y4129231D01* +G01X1496828Y4113723D01* +G01X1514793Y4101144D01* +G01X1534669Y4091876D01* +G01X1555853Y4086200D01* +G01X1577700Y4084289D01* +G01X1599547Y4086200D01* +G01X1620731Y4091876D01* +G01X1640607Y4101144D01* +G01X1658571Y4113723D01* +G01X1674079Y4129231D01* +G01X1686658Y4147195D01* +G01X1695926Y4167071D01* +G01X1701602Y4188255D01* +G01X1703514Y4210102D01* +G01X1701602Y4231950D01* +G01X1695926Y4253133D01* +G01X1686658Y4273009D01* +G01X1674079Y4290974D01* +G01X1658571Y4306481D01* +G01X1640607Y4319060D01* +G01X1620731Y4328329D01* +G01X1599547Y4334005D01* +G01X1577700Y4335916D01* +G01X1577700Y4335916D01* +G01X1555853Y4334005D01* +G01X1534669Y4328329D01* +G01X1514793Y4319060D01* +G01X1496828Y4306481D01* +G01X1481321Y4290974D01* +G01X1468742Y4273009D01* +G01X1459474Y4253133D01* +G01X1453797Y4231950D01* +G01X1451886Y4210102D01* +G01X653953Y4210102D01* +G01X633781Y4215842D01* +G01X612500Y4217814D01* +G01X591219Y4215842D01* +G01X570663Y4209993D01* +G01X551532Y4200467D01* +G01X534477Y4187587D01* +G01X520078Y4171793D01* +G01X508828Y4153623D01* +G01X501107Y4133694D01* +G01X497180Y4112686D01* +G01X473587Y4112686D01* +G01X470648Y4130909D01* +G01X463428Y4151020D01* +G01X452636Y4169463D01* +G01X438640Y4185609D01* +G01X421915Y4198909D01* +G01X403032Y4208910D01* +G01X382633Y4215271D01* +G01X361412Y4217777D01* +G01X340092Y4216342D01* +G01X319399Y4211014D01* +G01X300037Y4201975D01* +G01X282665Y4189532D01* +G01X267875Y4174110D01* +G01X256169Y4156234D01* +G01X247947Y4136511D01* +G01X243489Y4115613D01* +G01X242946Y4094252D01* +G01X246336Y4073154D01* +G01X253544Y4053039D01* +G01X264326Y4034590D01* +G01X192638Y4106278D01* +G01X192638Y4366686D01* +G01X243180Y4366686D01* +G01X243180Y4345314D01* +G01X247107Y4324306D01* +G01X254828Y4304377D01* +G01X266078Y4286206D01* +G01X280477Y4270412D01* +G01X297532Y4257533D01* +G01X316663Y4248007D01* +G01X337219Y4242158D01* +G01X358500Y4240186D01* +G01X358500Y4240186D01* +G01X379781Y4242158D01* +G01X400337Y4248007D01* +G01X419468Y4257533D01* +G01X436523Y4270412D01* +G01X450921Y4286206D01* +G01X462172Y4304377D01* +G01X469893Y4324306D01* +G01X473820Y4345314D01* +G01X473820Y4366686D01* +G01X497180Y4366686D01* +G01X497180Y4345314D01* +G01X501107Y4324306D01* +G01X508828Y4304377D01* +G01X520078Y4286206D01* +G01X534477Y4270412D01* +G01X551532Y4257533D01* +G01X570663Y4248007D01* +G01X591219Y4242158D01* +G01X612500Y4240186D01* +G01X612500Y4240186D01* +G01X633781Y4242158D01* +G01X654337Y4248007D01* +G01X673468Y4257533D01* +G01X690523Y4270412D01* +G01X704921Y4286206D01* +G01X716172Y4304377D01* +G01X723893Y4324306D01* +G01X727820Y4345314D01* +G01X727820Y4366686D01* +G01X723893Y4387694D01* +G01X716172Y4407623D01* +G01X704921Y4425793D01* +G01X690523Y4441587D01* +G01X673468Y4454467D01* +G01X654337Y4463993D01* +G01X633781Y4469842D01* +G01X612500Y4471814D01* +G01X591219Y4469842D01* +G01X570663Y4463993D01* +G01X551532Y4454467D01* +G01X534477Y4441587D01* +G01X520078Y4425793D01* +G01X508828Y4407623D01* +G01X501107Y4387694D01* +G01X497180Y4366686D01* +G01X473820Y4366686D01* +G01X469893Y4387694D01* +G01X462172Y4407623D01* +G01X450921Y4425793D01* +G01X436523Y4441587D01* +G01X419468Y4454467D01* +G01X400337Y4463993D01* +G01X379781Y4469842D01* +G01X358500Y4471814D01* +G01X337219Y4469842D01* +G01X316663Y4463993D01* +G01X297532Y4454467D01* +G01X280477Y4441587D01* +G01X266078Y4425793D01* +G01X254828Y4407623D01* +G01X247107Y4387694D01* +G01X243180Y4366686D01* +G01X192638Y4366686D01* +G01X192638Y4773007D01* +G01X274611Y4691034D01* +G01X275196Y4690457D01* +G01X275196Y4690457D01* +G01X262582Y4674904D01* +G01X252835Y4657411D01* +G01X246248Y4638500D01* +G01X243016Y4618738D01* +G01X243237Y4598714D01* +G01X246905Y4579027D01* +G01X253908Y4560266D01* +G01X264039Y4542993D01* +G01X276994Y4527722D01* +G01X292386Y4514912D01* +G01X309754Y4504944D01* +G01X328580Y4498118D01* +G01X348300Y4494636D01* +G01X348300Y4494636D01* +G01X368325Y4494604D01* +G01X388057Y4498021D01* +G01X406905Y4504787D01* +G01X424305Y4514698D01* +G01X439738Y4527458D01* +G01X452743Y4542686D01* +G01X462930Y4559927D01* +G01X469994Y4578665D01* +G01X473725Y4598339D01* +G01X474011Y4618363D01* +G01X470844Y4638136D01* +G01X464318Y4657068D01* +G01X454628Y4674593D01* +G01X468522Y4674593D01* +G01X501177Y4641938D01* +G01X497233Y4621240D01* +G01X497104Y4600169D01* +G01X500795Y4579425D01* +G01X508183Y4559692D01* +G01X519024Y4541625D01* +G01X532960Y4525820D01* +G01X549528Y4512803D01* +G01X568180Y4503002D01* +G01X588299Y4496743D01* +G01X609220Y4494233D01* +G01X630249Y4495554D01* +G01X650690Y4500664D01* +G01X669867Y4509393D01* +G01X687146Y4521452D01* +G01X701954Y4536441D01* +G01X713801Y4553866D01* +G01X1109948Y4553866D01* +G01X1220507Y4443307D01* +G01X1232133Y4434386D01* +G01X1245671Y4428779D01* +G01X1260200Y4426866D01* +G01X1854398Y4426866D01* +G01X1842885Y4408727D01* +G01X1834920Y4388774D01* +G01X1830778Y4367694D01* +G01X1830601Y4346210D01* +G01X1834394Y4325064D01* +G01X1842029Y4304982D01* +G01X1853241Y4286656D01* +G01X1867645Y4270716D01* +G01X1884745Y4257711D01* +G01X1903953Y4248088D01* +G01X1924609Y4242179D01* +G01X1946000Y4240186D01* +G01X1967391Y4242179D01* +G01X1988046Y4248088D01* +G01X2007255Y4257711D01* +G01X2024355Y4270716D01* +G01X2038759Y4286656D01* +G01X2049971Y4304982D01* +G01X2057606Y4325064D01* +G01X2061399Y4346210D01* +G01X2061230Y4366686D01* +G01X2084680Y4366686D01* +G01X2084680Y4345314D01* +G01X2088607Y4324306D01* +G01X2096328Y4304377D01* +G01X2107578Y4286206D01* +G01X2121977Y4270412D01* +G01X2139032Y4257533D01* +G01X2158163Y4248007D01* +G01X2178719Y4242158D01* +G01X2200000Y4240186D01* +G01X2200000Y4240186D01* +G01X2221281Y4242158D01* +G01X2241837Y4248007D01* +G01X2260968Y4257533D01* +G01X2278023Y4270412D01* +G01X2292421Y4286206D01* +G01X2303672Y4304377D01* +G01X2311393Y4324306D01* +G01X2315320Y4345314D01* +G01X2315320Y4366686D01* +G01X2311393Y4387694D01* +G01X2303672Y4407623D01* +G01X2292421Y4425793D01* +G01X2278023Y4441587D01* +G01X2260968Y4454467D01* +G01X2241837Y4463993D01* +G01X2221281Y4469842D01* +G01X2200000Y4471814D01* +G01X2178719Y4469842D01* +G01X2158163Y4463993D01* +G01X2139032Y4454467D01* +G01X2121977Y4441587D01* +G01X2107578Y4425793D01* +G01X2096328Y4407623D01* +G01X2088607Y4387694D01* +G01X2084680Y4366686D01* +G01X2061230Y4366686D01* +G01X2061222Y4367694D01* +G01X2057080Y4388774D01* +G01X2049115Y4408727D01* +G01X2037602Y4426866D01* +G01X2073000Y4426866D01* +G01X2087528Y4428779D01* +G01X2101067Y4434386D01* +G01X2112693Y4443307D01* +G01X2168062Y4498677D01* +G01X2188014Y4494808D01* +G01X2208334Y4494486D01* +G01X2228398Y4497722D01* +G01X2247587Y4504414D01* +G01X2265311Y4514358D01* +G01X2281024Y4527248D01* +G01X2294242Y4542685D01* +G01X2304558Y4560195D01* +G01X2311654Y4579239D01* +G01X2315312Y4599230D01* +G01X2315419Y4619553D01* +G01X2311972Y4639581D01* +G01X2305077Y4658699D01* +G01X2294947Y4676317D01* +G01X2281893Y4691893D01* +G01X2266317Y4704947D01* +G01X2248699Y4715077D01* +G01X2229581Y4721972D01* +G01X2209553Y4725419D01* +G01X2189230Y4725312D01* +G01X2169239Y4721654D01* +G01X2150195Y4714558D01* +G01X2132685Y4704242D01* +G01X2117248Y4691024D01* +G01X2104358Y4675311D01* +G01X2094414Y4657587D01* +G01X2087722Y4638398D01* +G01X2084486Y4618334D01* +G01X2084808Y4598014D01* +G01X2088677Y4578062D01* +G01X2049748Y4539134D01* +G01X2037602Y4539134D01* +G01X2037602Y4539134D01* +G01X2047976Y4555103D01* +G01X2055594Y4572556D01* +G01X2060248Y4591021D01* +G01X2061814Y4610000D01* +G01X2060248Y4628978D01* +G01X2055594Y4647444D01* +G01X2047976Y4664897D01* +G01X2037602Y4680866D01* +G01X2073000Y4680866D01* +G01X2087528Y4682779D01* +G01X2101067Y4688386D01* +G01X2112693Y4697307D01* +G01X2168062Y4752677D01* +G01X2188216Y4748787D01* +G01X2208740Y4748516D01* +G01X2228990Y4751873D01* +G01X2248329Y4758752D01* +G01X2266150Y4768936D01* +G01X2281893Y4782107D01* +G01X2295063Y4797850D01* +G01X2305248Y4815671D01* +G01X2312127Y4835010D01* +G01X2315483Y4855260D01* +G01X2315213Y4875784D01* +G01X2311323Y4895938D01* +G01X2411397Y4996011D01* +G01X2418186Y5004232D01* +G01X2418186Y150000D01* +G01X2416451Y130172D01* +G01X2411300Y110946D01* +G01X2402888Y92907D01* +G01X2391471Y76603D01* +G01X2377397Y62528D01* +G01X2361093Y51112D01* +G01X2343054Y42700D01* +G01X2323828Y37549D01* +G01X2304000Y35814D01* +G01X150000Y35814D01* +G01X130172Y37549D01* +G01X110946Y42700D01* +G01X92907Y51112D01* +G01X76603Y62528D01* +G01X62528Y76603D01* +G01X51112Y92907D01* +G01X42700Y110946D01* +G01X37549Y130172D01* +G01X35814Y150000D01* +G37* +G36* +G01X944293Y585693D02* +G01X932667Y594613D01* +G01X919128Y600221D01* +G01X904600Y602134D01* +G01X728314Y602134D01* +G01X728314Y626000D01* +G01X726561Y637067D01* +G01X721474Y647051D01* +G01X713551Y654974D01* +G01X703567Y660061D01* +G01X692500Y661814D01* +G01X576072Y661814D01* +G01X526386Y711499D01* +G01X514760Y720420D01* +G01X501222Y726028D01* +G01X486693Y727941D01* +G01X449166Y727941D01* +G01X449166Y727941D01* +G01X459402Y743153D01* +G01X467110Y759791D01* +G01X472094Y777436D01* +G01X474232Y795647D01* +G01X473468Y813968D01* +G01X469823Y831938D01* +G01X508751Y870866D01* +G01X520898Y870866D01* +G01X520898Y870866D01* +G01X509532Y853013D01* +G01X501604Y833389D01* +G01X497379Y812650D01* +G01X496999Y791489D01* +G01X500477Y770612D01* +G01X507695Y750717D01* +G01X518414Y732467D01* +G01X532275Y716473D01* +G01X548815Y703268D01* +G01X548815Y703268D01* +G01X567482Y693294D01* +G01X587652Y686883D01* +G01X608653Y684250D01* +G01X629781Y685483D01* +G01X650333Y690540D01* +G01X669621Y699252D01* +G01X687001Y711330D01* +G01X701894Y726368D01* +G01X713801Y743866D01* +G01X932148Y743866D01* +G01X1042707Y633307D01* +G01X1054333Y624386D01* +G01X1067871Y618779D01* +G01X1082400Y616866D01* +G01X1854398Y616866D01* +G01X1854398Y616866D01* +G01X1843544Y599997D01* +G01X1835764Y581508D01* +G01X1831290Y561953D01* +G01X1830258Y541920D01* +G01X1832698Y522010D01* +G01X1838537Y502819D01* +G01X1847600Y484924D01* +G01X1859615Y468861D01* +G01X1061125Y468861D01* +G01X944293Y585693D01* +G37* +G36* +G01X1854398Y3523134D02* +G01X1291505Y3523134D01* +G01X1291505Y3523134D01* +G01X1302839Y3541612D01* +G01X1310613Y3561848D01* +G01X1314567Y3583161D01* +G01X1314567Y3604839D01* +G01X1310613Y3626152D01* +G01X1302839Y3646388D01* +G01X1291505Y3664866D01* +G01X1854398Y3664866D01* +G01X1844024Y3648897D01* +G01X1836406Y3631444D01* +G01X1831752Y3612978D01* +G01X1830186Y3594000D01* +G01X1831752Y3575021D01* +G01X1836406Y3556556D01* +G01X1844024Y3539103D01* +G01X1854398Y3523134D01* +G37* +G36* +G01X2037602Y616866D02* +G01X2073000Y616866D01* +G01X2084186Y617992D01* +G01X2084186Y509572D01* +G01X2043475Y468861D01* +G01X2032385Y468861D01* +G01X2032385Y468861D01* +G01X2044400Y484924D01* +G01X2053463Y502819D01* +G01X2059302Y522010D01* +G01X2061742Y541920D01* +G01X2060710Y561953D01* +G01X2056236Y581508D01* +G01X2048456Y599997D01* +G01X2037602Y616866D01* +G37* +G54D10* +G01X-5842Y6762187D02* +G01X-5842Y6681814D01* +G01X-2422300Y6681814D01* +G02X-2536486Y6796000I0J114186D01* +G01X-2536486Y10796000D01* +G02X-2422300Y10910186I114186J0D01* +G01X0Y10910186D01* +G03X35814Y10946000I0J35814D01* +G01X35814Y13350000D01* +G02X150000Y13464186I114186J0D01* +G01X2750004Y13464183D01* +G02X2864190Y13349997I0J-114186D01* +G01X2864188Y12580525D01* +G03X2758800Y12678564I-105389J-7625D01* +G01X2708000Y12678564D01* +G03X2708000Y12467236I0J-105664D01* +G01X2758800Y12467236D01* +G03X2864188Y12565274I0J105664D01* +G01X2864188Y12326532D01* +G03X2758800Y12424564I-105388J-7632D01* +G01X2708000Y12424564D01* +G03X2708000Y12213236I0J-105664D01* +G01X2758800Y12213236D01* +G03X2864188Y12311268I0J105664D01* +G01X2864187Y12072538D01* +G03X2758800Y12170564I-105388J-7638D01* +G01X2708000Y12170564D01* +G03X2708000Y11959236I0J-105664D01* +G01X2758800Y11959236D01* +G03X2864187Y12057261I0J105664D01* +G01X2864187Y11818545D01* +G03X2758800Y11916564I-105387J-7645D01* +G01X2708000Y11916564D01* +G03X2708000Y11705236I0J-105664D01* +G01X2758800Y11705236D01* +G03X2864187Y11803255I0J105664D01* +G01X2864187Y11564551D01* +G03X2758800Y11662564I-105387J-7651D01* +G01X2708000Y11662564D01* +G03X2708000Y11451236I0J-105664D01* +G01X2758800Y11451236D01* +G03X2864187Y11549248I0J105664D01* +G01X2864186Y11310558D01* +G03X2758800Y11408564I-105386J-7658D01* +G01X2708000Y11408564D01* +G03X2708000Y11197236I0J-105664D01* +G01X2758800Y11197236D01* +G03X2864304Y11297093I0J105664D01* +G03X2900000Y11264186I35696J2907D01* +G01X4750000Y11264186D01* +G02X4864186Y11150000I0J-114186D01* +G01X4891892Y5650013D01* +G02X4777706Y5535830I-114186J2D01* +G01X2454000Y5535830D01* +G03X2427838Y5524474I0J-35814D01* +G01X2427838Y6800827D01* +G03X2411397Y6840519I-56134J0D01* +G01X955977Y8295939D01* +G03X916284Y8312381I-39693J-39693D01* +G01X842024Y8312381D01* +G01X842024Y8325097D01* +G03X806210Y8360911I-35814J0D01* +G01X692957Y8360911D01* +G03X657143Y8325097I0J-35814D01* +G01X657143Y8187396D01* +G03X692957Y8151582I35814J0D01* +G01X806210Y8151582D01* +G03X842024Y8187396I0J35814D01* +G01X842024Y8200113D01* +G01X893032Y8200113D01* +G01X2315570Y6777575D01* +G01X2315570Y5379511D01* +G03X2180161Y5486102I-115570J-7511D01* +G03X2088677Y5340062I19838J-114102D01* +G01X2049748Y5301134D01* +G01X2037602Y5301134D01* +G03X1946000Y5487814I-91602J70866D01* +G03X1854398Y5301134I0J-115814D01* +G01X1385051Y5301134D01* +G01X1274493Y5411693D01* +G03X1234800Y5428134I-39693J-39693D01* +G01X713801Y5428134D01* +G03X548815Y5468732I-101301J-56134D01* +G03X520898Y5301134I63685J-96732D01* +G01X485500Y5301134D01* +G03X445807Y5284693I0J-56134D01* +G01X390438Y5229323D01* +G03X281538Y5204543I-31938J-111323D01* +G01X281538Y5285457D01* +G03X474314Y5372000I76962J86543D01* +G03X281538Y5458543I-115814J0D01* +G01X281538Y6802975D01* +G01X430197Y6951634D01* +G03X446638Y6991327I-39693J39693D01* +G01X446638Y7803796D01* +G03X430197Y7843489I-56134J0D01* +G01X315462Y7958223D01* +G03X218800Y8106564I-96662J42677D01* +G01X168000Y8106564D01* +G03X168000Y7895236I0J-105664D01* +G01X218800Y7895236D01* +G01X219675Y7895240D01* +G01X289383Y7825532D01* +G03X218800Y7852564I-70583J-78632D01* +G01X168000Y7852564D01* +G03X168000Y7641236I0J-105664D01* +G01X218800Y7641236D01* +G03X297432Y7817483I0J105664D01* +G01X334370Y7780544D01* +G01X334370Y7014578D01* +G01X185711Y6865919D01* +G03X180954Y6860508I39693J-39693D01* +G03X176197Y6865919I-44450J-34282D01* +G01X53934Y6988182D01* +G01X53934Y8289871D01* +G01X88057Y8323994D01* +G03X168000Y8149236I79943J-69094D01* +G01X218800Y8149236D01* +G03X308320Y8198766I0J105664D01* +G01X457143Y8198766D01* +G01X457143Y8187396D01* +G03X492957Y8151582I35814J0D01* +G01X606211Y8151582D01* +G03X642025Y8187396I0J35814D01* +G01X642025Y8325097D01* +G03X606211Y8360911I-35814J0D01* +G01X492957Y8360911D01* +G03X457143Y8325097I0J-35814D01* +G01X457143Y8311034D01* +G01X308320Y8311034D01* +G03X218800Y8360564I-89520J-56134D01* +G01X168000Y8360564D01* +G03X98905Y8334843I0J-105664D01* +G01X167301Y8403238D01* +G01X168000Y8403236D01* +G01X218800Y8403236D01* +G03X218800Y8614564I0J105664D01* +G01X168000Y8614564D01* +G03X98905Y8588843I0J-105664D01* +G01X167301Y8657238D01* +G01X168000Y8657236D01* +G01X218800Y8657236D01* +G03X218800Y8868564I0J105664D01* +G01X168000Y8868564D01* +G03X71392Y8720100I0J-105664D01* +G01X-131789Y8516919D01* +G03X-148230Y8477227I39693J-39693D01* +G01X-148230Y6927827D01* +G03X-131789Y6888134I56134J0D01* +G01X-5842Y6762187D01* +G01X-2308500Y8136536D02* +G03X-2308500Y8373264I0J118364D01* +G03X-2308500Y8136536I0J-118364D01* +G01X-2308500Y8390536D02* +G03X-2308500Y8627264I0J118364D01* +G03X-2308500Y8390536I0J-118364D01* +G01X-2308500Y8644536D02* +G03X-2308500Y8881264I0J118364D01* +G03X-2308500Y8644536I0J-118364D01* +G01X-2308500Y7628536D02* +G03X-2308500Y7865264I0J118364D01* +G03X-2308500Y7628536I0J-118364D01* +G01X-2308500Y7882536D02* +G03X-2308500Y8119264I0J118364D01* +G03X-2308500Y7882536I0J-118364D01* +G01X-2308500Y8898536D02* +G03X-2308500Y9135264I0J118364D01* +G03X-2308500Y8898536I0J-118364D01* +G01X-2190136Y10743221D02* +G01X-2190136Y10864750D01* +G03X-2225950Y10900564I-35814J0D01* +G01X-2391050Y10900564D01* +G03X-2426864Y10864750I0J-35814D01* +G01X-2426864Y10699650D01* +G03X-2391050Y10663836I35814J0D01* +G01X-2269522Y10663836D01* +G01X-582893Y8977207D01* +G03X-543200Y8960766I39693J39693D01* +G01X-380707Y8960766D01* +G03X-158136Y9016900I104207J56134D01* +G03X-380707Y9073034I-118364J0D01* +G01X-519949Y9073034D01* +G01X-2190136Y10743221D01* +G01X-185896Y9194737D02* +G03X-319925Y9381010I-90605J76163D01* +G01X-1687122Y10748207D01* +G03X-1755204Y10891554I-113378J33992D01* +G03X-1904707Y10838334I-45296J-109354D01* +G01X-1950294Y10838334D01* +G03X-2172864Y10782200I-104207J-56134D01* +G03X-1950294Y10726066I118364J0D01* +G01X-1904707Y10726066D01* +G03X-1766508Y10668822I104207J56134D01* +G01X-392436Y9294751D01* +G03X-185896Y9194737I115936J-23851D01* +G01X-185896Y9448737D02* +G03X-319925Y9635010I-90605J76163D01* +G01X-1433122Y10748207D01* +G03X-1630196Y10865896I-113378J33992D01* +G03X-1512508Y10668822I83696J-83696D01* +G01X-392436Y9548751D01* +G03X-185896Y9448737I115936J-23851D01* +G01X1170361Y9538693D02* +G03X1210053Y9555134I0J56134D01* +G01X1295549Y9640630D01* +G03X1427279Y9687244I33992J113378D01* +G03X1422794Y9826906I-97737J66764D01* +G01X1490290Y9826906D01* +G03X1583542Y9635644I93252J-72898D01* +G03X1676794Y9826906I0J118364D01* +G01X1744290Y9826906D01* +G03X1837542Y9635644I93252J-72898D01* +G03X1930794Y9826906I0J118364D01* +G01X1939258Y9826906D01* +G01X1978164Y9788000D01* +G03X2175238Y9670312I113378J-33992D01* +G03X2057549Y9867386I-83696J83696D01* +G01X2002203Y9922733D01* +G03X1962510Y9939174I-39693J-39693D01* +G01X1933833Y9939174D01* +G03X1837542Y10126372I-96291J68834D01* +G03X1741251Y9939174I0J-118364D01* +G01X1679833Y9939174D01* +G03X1583542Y10126372I-96291J68834D01* +G03X1487251Y9939174I0J-118364D01* +G01X1425833Y9939174D01* +G03X1329542Y10126372I-96291J68834D01* +G03X1233251Y9939174I0J-118364D01* +G01X1171833Y9939174D01* +G03X1088147Y10125699I-96291J68834D01* +G03X966858Y9961128I-12605J-117691D01* +G01X855393Y10072593D01* +G03X815700Y10089034I-39693J-39693D01* +G01X308320Y10089034D01* +G03X218800Y10138564I-89520J-56134D01* +G01X168000Y10138564D01* +G03X98905Y10112843I0J-105664D01* +G01X167301Y10181238D01* +G01X168000Y10181236D01* +G01X218800Y10181236D01* +G03X218800Y10392564I0J105664D01* +G01X168000Y10392564D01* +G03X71392Y10244100I0J-105664D01* +G01X-68289Y10104419D01* +G03X-84730Y10064727I39693J-39693D01* +G01X-84730Y8780055D01* +G01X-242508Y8622278D01* +G03X-360196Y8425204I-33992J-113378D01* +G03X-163122Y8542892I83696J83696D01* +G01X11097Y8717111D01* +G03X27538Y8756804I-39693J39693D01* +G01X27538Y10041475D01* +G01X88057Y10101994D01* +G03X168000Y9927236I79943J-69094D01* +G01X218800Y9927236D01* +G03X308320Y9976766I0J105664D01* +G01X792448Y9976766D01* +G01X925867Y9843347D01* +G03X957178Y9827535I39693J39693D01* +G01X957178Y9671458D01* +G03X963624Y9650961I35814J0D01* +G01X782055Y9650961D01* +G01X750109Y9682906D01* +G03X773444Y9716476I-12479J33570D01* +G01X773444Y9854177D01* +G03X737630Y9889991I-35814J0D01* +G01X624377Y9889991D01* +G03X588563Y9854177I0J-35814D01* +G01X588563Y9716476D01* +G03X624377Y9680662I35814J0D01* +G01X624870Y9680662D01* +G01X624870Y9672627D01* +G03X641311Y9632934I56134J0D01* +G01X719111Y9555134D01* +G03X758804Y9538693I39693J39693D01* +G01X1170361Y9538693D01* +G01X-276500Y7628536D02* +G03X-276500Y7865264I0J118364D01* +G03X-276500Y7628536I0J-118364D01* +G01X-276500Y7882536D02* +G03X-276500Y8119264I0J118364D01* +G03X-276500Y7882536I0J-118364D01* +G01X-276500Y8136536D02* +G03X-276500Y8373264I0J118364D01* +G03X-276500Y8136536I0J-118364D01* +G01X-276500Y8644536D02* +G03X-276500Y8881264I0J118364D01* +G03X-276500Y8644536I0J-118364D01* +G01X-276500Y7374536D02* +G03X-276500Y7611264I0J118364D01* +G03X-276500Y7374536I0J-118364D01* +G01X218800Y12170564D02* +G01X168000Y12170564D01* +G03X168000Y11959236I0J-105664D01* +G01X218800Y11959236D01* +G03X218800Y12170564I0J105664D01* +G01X218800Y12424564D02* +G01X168000Y12424564D01* +G03X168000Y12213236I0J-105664D01* +G01X218800Y12213236D01* +G03X218800Y12424564I0J105664D01* +G01X288650Y12467236D02* +G03X324464Y12503050I0J35814D01* +G01X324464Y12642750D01* +G03X288650Y12678564I-35814J0D01* +G01X98150Y12678564D01* +G03X62336Y12642750I0J-35814D01* +G01X62336Y12503050D01* +G03X98150Y12467236I35814J0D01* +G01X288650Y12467236D01* +G01X218800Y11408564D02* +G01X168000Y11408564D01* +G03X168000Y11197236I0J-105664D01* +G01X218800Y11197236D01* +G03X218800Y11408564I0J105664D01* +G01X218800Y11662564D02* +G01X168000Y11662564D01* +G03X168000Y11451236I0J-105664D01* +G01X218800Y11451236D01* +G03X218800Y11662564I0J105664D01* +G01X218800Y11916564D02* +G01X168000Y11916564D01* +G03X168000Y11705236I0J-105664D01* +G01X218800Y11705236D01* +G03X218800Y11916564I0J105664D01* +G01X218800Y11154564D02* +G01X168000Y11154564D01* +G03X168000Y10943236I0J-105664D01* +G01X218800Y10943236D01* +G03X218800Y11154564I0J105664D01* +G01X218800Y10646564D02* +G01X168000Y10646564D01* +G03X168000Y10435236I0J-105664D01* +G01X218800Y10435236D01* +G03X218800Y10646564I0J105664D01* +G01X218800Y10900564D02* +G01X168000Y10900564D01* +G03X168000Y10689236I0J-105664D01* +G01X218800Y10689236D01* +G03X218800Y10900564I0J105664D01* +G01X218800Y7598564D02* +G01X168000Y7598564D01* +G03X168000Y7387236I0J-105664D01* +G01X218800Y7387236D01* +G03X218800Y7598564I0J105664D01* +G01X388563Y9729193D02* +G01X388563Y9716476D01* +G03X424377Y9680662I35814J0D01* +G01X537631Y9680662D01* +G03X573445Y9716476I0J35814D01* +G01X573445Y9854177D01* +G03X537631Y9889991I-35814J0D01* +G01X424377Y9889991D01* +G03X388563Y9854177I0J-35814D01* +G01X388563Y9841461D01* +G01X303953Y9841461D01* +G03X218800Y9884564I-85153J-62561D01* +G01X168000Y9884564D01* +G03X168000Y9673236I0J-105664D01* +G01X218800Y9673236D01* +G03X312042Y9729193I0J105664D01* +G01X388563Y9729193D01* +G01X218800Y9122564D02* +G01X168000Y9122564D01* +G03X168000Y8911236I0J-105664D01* +G01X218800Y8911236D01* +G03X218800Y9122564I0J105664D01* +G01X218800Y9376564D02* +G01X168000Y9376564D01* +G03X168000Y9165236I0J-105664D01* +G01X218800Y9165236D01* +G03X218800Y9376564I0J105664D01* +G01X218800Y9630564D02* +G01X168000Y9630564D01* +G03X168000Y9419236I0J-105664D01* +G01X218800Y9419236D01* +G03X218800Y9630564I0J105664D01* +G01X218800Y7344564D02* +G01X168000Y7344564D01* +G03X168000Y7133236I0J-105664D01* +G01X218800Y7133236D01* +G03X218800Y7344564I0J105664D01* +G01X1973178Y10008008D02* +G03X2209906Y10008008I118364J0D01* +G03X1973178Y10008008I-118364J0D01* +G01X2758800Y10392564D02* +G01X2708000Y10392564D01* +G03X2708000Y10181236I0J-105664D01* +G01X2758800Y10181236D01* +G03X2758800Y10392564I0J105664D01* +G01X2758800Y10138564D02* +G01X2708000Y10138564D01* +G03X2708000Y9927236I0J-105664D01* +G01X2758800Y9927236D01* +G03X2758800Y10138564I0J105664D01* +G01X2758800Y9884564D02* +G01X2708000Y9884564D01* +G03X2708000Y9673236I0J-105664D01* +G01X2758800Y9673236D01* +G03X2758800Y9884564I0J105664D01* +G01X2758800Y9122564D02* +G01X2708000Y9122564D01* +G03X2708000Y8911236I0J-105664D01* +G01X2758800Y8911236D01* +G03X2758800Y9122564I0J105664D01* +G01X2758800Y9376564D02* +G01X2708000Y9376564D01* +G03X2708000Y9165236I0J-105664D01* +G01X2758800Y9165236D01* +G03X2758800Y9376564I0J105664D01* +G01X2758800Y9630564D02* +G01X2708000Y9630564D01* +G03X2708000Y9419236I0J-105664D01* +G01X2758800Y9419236D01* +G03X2758800Y9630564I0J105664D01* +G01X2758800Y11154564D02* +G01X2708000Y11154564D01* +G03X2708000Y10943236I0J-105664D01* +G01X2758800Y10943236D01* +G03X2758800Y11154564I0J105664D01* +G01X2758800Y10646564D02* +G01X2708000Y10646564D01* +G03X2708000Y10435236I0J-105664D01* +G01X2758800Y10435236D01* +G03X2758800Y10646564I0J105664D01* +G01X2758800Y10900564D02* +G01X2708000Y10900564D01* +G03X2708000Y10689236I0J-105664D01* +G01X2758800Y10689236D01* +G03X2758800Y10900564I0J105664D01* +G01X2758800Y7598564D02* +G01X2708000Y7598564D01* +G03X2708000Y7387236I0J-105664D01* +G01X2758800Y7387236D01* +G03X2758800Y7598564I0J105664D01* +G01X2758800Y7344564D02* +G01X2708000Y7344564D01* +G03X2708000Y7133236I0J-105664D01* +G01X2758800Y7133236D01* +G03X2758800Y7344564I0J105664D01* +G01X2758800Y8868564D02* +G01X2708000Y8868564D01* +G03X2708000Y8657236I0J-105664D01* +G01X2758800Y8657236D01* +G03X2758800Y8868564I0J105664D01* +G01X2758800Y8614564D02* +G01X2708000Y8614564D01* +G03X2708000Y8403236I0J-105664D01* +G01X2758800Y8403236D01* +G03X2758800Y8614564I0J105664D01* +G01X2758800Y8360564D02* +G01X2708000Y8360564D01* +G03X2708000Y8149236I0J-105664D01* +G01X2758800Y8149236D01* +G03X2758800Y8360564I0J105664D01* +G01X2758800Y8106564D02* +G01X2708000Y8106564D01* +G03X2708000Y7895236I0J-105664D01* +G01X2758800Y7895236D01* +G03X2758800Y8106564I0J105664D01* +G01X2758800Y7852564D02* +G01X2708000Y7852564D01* +G03X2708000Y7641236I0J-105664D01* +G01X2758800Y7641236D01* +G03X2758800Y7852564I0J105664D01* +G01X3026770Y6318227D02* +G03X3043211Y6278534I56134J0D01* +G01X3353422Y5968323D01* +G03X3393115Y5951882I39693J39693D01* +G01X3471203Y5951882D01* +G03X3636610Y5906701I104207J56134D01* +G03X3673586Y6074133I-61200J101315D01* +G01X3683908Y6074133D01* +G01X3716032Y6042008D01* +G03X3913106Y5924320I113378J-33992D01* +G03X3795417Y6121394I-83696J83696D01* +G01X3746852Y6169959D01* +G03X3707159Y6186401I-39693J-39693D01* +G01X3666472Y6186401D01* +G03X3674121Y6327332I-91062J75615D01* +G03X3541417Y6375394I-98711J-65316D01* +G01X3443838Y6472973D01* +G01X3443838Y9078652D01* +G01X3782997Y9417811D01* +G03X3799438Y9457504I-39693J39693D01* +G01X3799438Y10187696D01* +G03X3782997Y10227389I-56134J0D01* +G01X3658235Y10352150D01* +G03X3632777Y10456466I-108235J28850D01* +G01X3682949Y10456466D01* +G01X3852270Y10287145D01* +G01X3852270Y9429955D01* +G01X3671647Y9249332D01* +G03X3655206Y9209640I39693J-39693D01* +G01X3655206Y8412380D01* +G01X3492860Y8412380D01* +G03X3457046Y8376566I0J-35814D01* +G01X3457046Y8211466D01* +G03X3492860Y8175652I35814J0D01* +G01X3655206Y8175652D01* +G01X3655206Y8127438D01* +G03X3457046Y8040016I-79796J-87422D01* +G03X3655206Y7952594I118364J0D01* +G01X3655206Y7904086D01* +G03X3671647Y7864393I56134J0D01* +G01X3716032Y7820008D01* +G03X3913106Y7702320I113378J-33992D01* +G03X3795417Y7899394I-83696J83696D01* +G01X3767474Y7927338D01* +G01X3767474Y7939150D01* +G03X3947774Y8040016I61936J100866D01* +G03X3767474Y8140882I-118364J0D01* +G01X3767474Y8193150D01* +G03X3931987Y8234957I61936J100866D01* +G03X3885544Y8398223I-102577J59059D01* +G01X3885544Y9073481D01* +G01X4125897Y9313834D01* +G03X4142338Y9353527I-39693J39693D01* +G01X4142338Y10147952D01* +G01X4267150Y10272765D01* +G03X4375206Y10460206I28850J108235D01* +G03X4187765Y10352150I-79206J-79206D01* +G01X4046511Y10210897D01* +G03X4030070Y10171204I39693J-39693D01* +G01X4030070Y9376778D01* +G01X3789717Y9136425D01* +G03X3773276Y9096733I39693J-39693D01* +G01X3773276Y8398223D01* +G03X3767474Y8394882I56134J-104207D01* +G01X3767474Y9186388D01* +G01X3948097Y9367011D01* +G03X3964538Y9406704I-39693J39693D01* +G01X3964538Y10310396D01* +G03X3948097Y10350089I-56134J0D01* +G01X3745893Y10552293D01* +G03X3706200Y10568734I-39693J-39693D01* +G01X3640310Y10568734D01* +G03X3550000Y10747014I-90310J66266D01* +G03X3459690Y10568734I0J-112014D01* +G01X3427600Y10568734D01* +G03X3387907Y10552293I0J-56134D01* +G01X3324850Y10489235D01* +G03X3216794Y10301794I-28850J-108235D01* +G03X3404235Y10409850I79206J79206D01* +G01X3450851Y10456466D01* +G01X3467223Y10456466D01* +G03X3454273Y10322831I82777J-75466D01* +G03X3578850Y10272765I95727J58168D01* +G01X3687170Y10164444D01* +G01X3687170Y9480755D01* +G01X3348011Y9141597D01* +G03X3331570Y9101904I39693J-39693D01* +G01X3331570Y6449722D01* +G03X3348011Y6410029I56134J0D01* +G01X3462032Y6296008D01* +G03X3484348Y6186401I113378J-33992D01* +G01X3459215Y6186401D01* +G01X3291438Y6354178D01* +G01X3291438Y9507079D01* +G03X3396560Y9569656I4562J111921D01* +G03X3381731Y9691093I-100560J49343D01* +G01X3424227Y9691093D01* +G03X3437986Y9692805I0J56134D01* +G01X3437986Y9542800D01* +G03X3473800Y9506986I35814J0D01* +G01X3626200Y9506986D01* +G03X3662014Y9542800I0J35814D01* +G01X3662014Y9695200D01* +G03X3626200Y9731014I-35814J0D01* +G01X3487399Y9731014D01* +G01X3521150Y9764765D01* +G03X3629206Y9952206I28850J108235D01* +G03X3441765Y9844150I-79206J-79206D01* +G01X3400975Y9803361D01* +G01X3383735Y9803361D01* +G03X3295292Y9985012I-87735J69639D01* +G03X3209152Y9802257I708J-112012D01* +G03X3180534Y9786919I11075J-55031D01* +G01X3043211Y9649597D01* +G03X3026770Y9609904I39693J-39693D01* +G01X3026770Y6318227D01* +G01X3296000Y10522986D02* +G03X3296000Y10747014I0J112014D01* +G03X3296000Y10522986I0J-112014D01* +G01X3296000Y10014986D02* +G03X3296000Y10239014I0J112014D01* +G03X3296000Y10014986I0J-112014D01* +G01X3550000Y10014986D02* +G03X3550000Y10239014I0J112014D01* +G03X3550000Y10014986I0J-112014D01* +G01X3575410Y6634380D02* +G03X3575410Y6397652I0J-118364D01* +G03X3575410Y6634380I0J118364D01* +G01X3575410Y7904380D02* +G03X3575410Y7667652I0J-118364D01* +G03X3575410Y7904380I0J118364D01* +G01X4239866Y7767857D02* +G01X3863402Y7391394D01* +G03X3745714Y7194320I-33992J-113378D01* +G03X3942788Y7312008I83696J83696D01* +G01X4335693Y7704913D01* +G03X4352134Y7744606I-39693J39693D01* +G01X4352134Y9522066D01* +G03X4360270Y9527258I-56134J96934D01* +G01X4360270Y7634261D01* +G01X3863402Y7137394D01* +G03X3731870Y7091068I-33992J-113378D01* +G03X3735729Y6951670I97540J-67052D01* +G01X3727141Y6951670D01* +G01X3688788Y6990023D01* +G03X3491714Y7107712I-113378J33992D01* +G03X3609402Y6910638I83696J-83696D01* +G01X3664197Y6855843D01* +G03X3703890Y6839402I39693J39693D01* +G01X3733516Y6839402D01* +G03X3732525Y6702021I95894J-69386D01* +G01X3722791Y6702021D01* +G01X3688788Y6736023D01* +G03X3491714Y6853712I-113378J33992D01* +G03X3609402Y6656638I83696J-83696D01* +G01X3659847Y6606194D01* +G03X3699539Y6589753I39693J39693D01* +G01X3736820Y6589753D01* +G03X3829410Y6397652I92590J-73737D01* +G03X3922000Y6589753I0J118364D01* +G01X3956664Y6589753D01* +G03X3996357Y6606194I0J56134D01* +G01X4786297Y7396134D01* +G03X4802738Y7435827I-39693J39693D01* +G01X4802738Y9930396D01* +G03X4786297Y9970089I-56134J0D01* +G01X4658235Y10098150D01* +G03X4470794Y10206206I-108235J28850D01* +G03X4578850Y10018765I79206J-79206D01* +G01X4690470Y9907144D01* +G01X4690470Y7459078D01* +G01X3933412Y6702021D01* +G01X3926295Y6702021D01* +G03X3925304Y6839402I-96885J67995D01* +G01X3952313Y6839402D01* +G03X3992006Y6855843I0J56134D01* +G01X4589693Y7453530D01* +G03X4606134Y7493223I-39693J39693D01* +G01X4606134Y9506986D01* +G01X4626200Y9506986D01* +G03X4662014Y9542800I0J35814D01* +G01X4662014Y9695200D01* +G03X4626200Y9731014I-35814J0D01* +G01X4487399Y9731014D01* +G01X4521150Y9764765D01* +G03X4629206Y9952206I28850J108235D01* +G03X4441765Y9844150I-79206J-79206D01* +G01X4376711Y9779097D01* +G03X4360270Y9739404I39693J-39693D01* +G01X4360270Y9710741D01* +G03X4201575Y9679258I-64270J-91742D01* +G03X4239866Y9522066I94425J-60258D01* +G01X4239866Y7767857D01* +G01X3575410Y7650380D02* +G03X3575410Y7413652I0J-118364D01* +G03X3575410Y7650380I0J118364D01* +G01X3575410Y7396380D02* +G03X3575410Y7159652I0J-118364D01* +G03X3575410Y7396380I0J118364D01* +G01X3829410Y6380380D02* +G03X3829410Y6143652I0J-118364D01* +G03X3829410Y6380380I0J118364D01* +G01X3829410Y7650380D02* +G03X3829410Y7413652I0J-118364D01* +G03X3829410Y7650380I0J118364D01* +G01X4296000Y9760986D02* +G03X4296000Y9985014I0J112014D01* +G03X4296000Y9760986I0J-112014D01* +G01X4296000Y10014986D02* +G03X4296000Y10239014I0J112014D01* +G03X4296000Y10014986I0J-112014D01* +G01X4296000Y10522986D02* +G03X4296000Y10747014I0J112014D01* +G03X4296000Y10522986I0J-112014D01* +G01X4550000Y10522986D02* +G03X4550000Y10747014I0J112014D01* +G03X4550000Y10522986I0J-112014D01* +G01X4550000Y10268986D02* +G03X4550000Y10493014I0J112014D01* +G03X4550000Y10268986I0J-112014D01* +G01X35814Y150000D02* +G01X35814Y827731D01* +G01X231431Y632114D01* +G03X266154Y615893I39693J39693D01* +G03X358362Y430186I92346J-69893D01* +G03X451012Y615673I138J115814D01* +G01X463442Y615673D01* +G01X496686Y582428D01* +G01X496686Y466000D01* +G03X532500Y430186I35814J0D01* +G01X692500Y430186D01* +G03X728314Y466000I0J35814D01* +G01X728314Y489866D01* +G01X881348Y489866D01* +G01X998181Y373034D01* +G03X1037873Y356593I39693J39693D01* +G01X2066727Y356593D01* +G03X2106419Y373034I0J56134D01* +G01X2163572Y430186D01* +G01X2280000Y430186D01* +G03X2315814Y466000I0J35814D01* +G01X2315814Y626000D01* +G03X2280000Y661814I-35814J0D01* +G01X2141199Y661814D01* +G01X2168062Y688677D01* +G03X2281893Y881893I31938J111323D01* +G03X2088677Y768062I-81893J-81893D01* +G01X2049748Y729134D01* +G01X2037602Y729134D01* +G03X2037602Y870866I-91602J70866D01* +G01X2073000Y870866D01* +G03X2112693Y887307I0J56134D01* +G01X2168062Y942677D01* +G03X2281893Y1135893I31938J111323D01* +G03X2088677Y1022062I-81893J-81893D01* +G01X2049748Y983134D01* +G01X2037602Y983134D01* +G03X2037602Y1124866I-91602J70866D01* +G01X2073000Y1124866D01* +G03X2112693Y1141307I0J56134D01* +G01X2168062Y1196677D01* +G03X2281893Y1389893I31938J111323D01* +G03X2088677Y1276062I-81893J-81893D01* +G01X2049748Y1237134D01* +G01X2037602Y1237134D01* +G03X2037602Y1378866I-91602J70866D01* +G01X2073000Y1378866D01* +G03X2112693Y1395307I0J56134D01* +G01X2168062Y1450677D01* +G03X2281893Y1643893I31938J111323D01* +G03X2088677Y1530062I-81893J-81893D01* +G01X2049748Y1491134D01* +G01X2037602Y1491134D01* +G03X2037602Y1632866I-91602J70866D01* +G01X2073000Y1632866D01* +G03X2112693Y1649307I0J56134D01* +G01X2168062Y1704677D01* +G03X2281893Y1897893I31938J111323D01* +G03X2088677Y1784062I-81893J-81893D01* +G01X2049748Y1745134D01* +G01X2037602Y1745134D01* +G03X2037602Y1886866I-91602J70866D01* +G01X2073000Y1886866D01* +G03X2112693Y1903307I0J56134D01* +G01X2168062Y1958677D01* +G03X2281893Y2151893I31938J111323D01* +G03X2088677Y2038062I-81893J-81893D01* +G01X2049748Y1999134D01* +G01X2037602Y1999134D01* +G03X2037602Y2140866I-91602J70866D01* +G01X2073000Y2140866D01* +G03X2112693Y2157307I0J56134D01* +G01X2168062Y2212677D01* +G03X2281893Y2405893I31938J111323D01* +G03X2088677Y2292062I-81893J-81893D01* +G01X2049748Y2253134D01* +G01X2037602Y2253134D01* +G03X2037602Y2394866I-91602J70866D01* +G01X2073000Y2394866D01* +G03X2112693Y2411307I0J56134D01* +G01X2168062Y2466677D01* +G03X2281893Y2659893I31938J111323D01* +G03X2088677Y2546062I-81893J-81893D01* +G01X2049748Y2507134D01* +G01X2037602Y2507134D01* +G03X2009685Y2674732I-91602J70866D01* +G03X1844699Y2634134I-63685J-96732D01* +G01X1588251Y2634134D01* +G01X1477693Y2744693D01* +G03X1438000Y2761134I-39693J-39693D01* +G01X690877Y2761134D01* +G03X612500Y2937664I-78377J70866D01* +G03X534123Y2761134I0J-105664D01* +G01X485500Y2761134D01* +G03X445807Y2744693I0J-56134D01* +G01X390438Y2689323D01* +G03X276607Y2496107I-31938J-111323D01* +G03X469823Y2609938I81893J81893D01* +G01X508751Y2648866D01* +G01X520898Y2648866D01* +G03X520898Y2507134I91602J-70866D01* +G01X485500Y2507134D01* +G03X445807Y2490693I0J-56134D01* +G01X390438Y2435323D01* +G03X276607Y2242107I-31938J-111323D01* +G03X469823Y2355938I81893J81893D01* +G01X508751Y2394866D01* +G01X520898Y2394866D01* +G03X520898Y2253134I91602J-70866D01* +G01X485500Y2253134D01* +G03X445807Y2236693I0J-56134D01* +G01X390438Y2181323D01* +G03X276607Y1988107I-31938J-111323D01* +G03X469823Y2101938I81893J81893D01* +G01X508751Y2140866D01* +G01X520898Y2140866D01* +G03X520898Y1999134I91602J-70866D01* +G01X485500Y1999134D01* +G03X445807Y1982693I0J-56134D01* +G01X390438Y1927323D01* +G03X276607Y1734107I-31938J-111323D01* +G03X469823Y1847938I81893J81893D01* +G01X508751Y1886866D01* +G01X520898Y1886866D01* +G03X520898Y1745134I91602J-70866D01* +G01X485500Y1745134D01* +G03X445807Y1728693I0J-56134D01* +G01X390438Y1673323D01* +G03X276607Y1480107I-31938J-111323D01* +G03X469823Y1593938I81893J81893D01* +G01X508751Y1632866D01* +G01X520898Y1632866D01* +G03X520898Y1491134I91602J-70866D01* +G01X485500Y1491134D01* +G03X445807Y1474693I0J-56134D01* +G01X390438Y1419323D01* +G03X276607Y1226107I-31938J-111323D01* +G03X469823Y1339938I81893J81893D01* +G01X508751Y1378866D01* +G01X520898Y1378866D01* +G03X520898Y1237134I91602J-70866D01* +G01X485500Y1237134D01* +G03X445807Y1220693I0J-56134D01* +G01X390438Y1165323D01* +G03X276607Y972107I-31938J-111323D01* +G03X469823Y1085938I81893J81893D01* +G01X508751Y1124866D01* +G01X520898Y1124866D01* +G03X520898Y983134I91602J-70866D01* +G01X485500Y983134D01* +G03X445807Y966693I0J-56134D01* +G01X390438Y911323D01* +G03X244912Y777404I-31938J-111323D01* +G01X106426Y915890D01* +G01X106426Y4033719D01* +G01X206031Y3934114D01* +G03X245724Y3917673I39693J39693D01* +G01X265987Y3917673D01* +G03X358500Y3732186I92513J-69673D01* +G03X451012Y3917673I0J115814D01* +G01X463442Y3917673D01* +G01X501177Y3879938D01* +G03X612500Y3732186I111323J-31938D01* +G03X723823Y3879938I0J115814D01* +G01X762751Y3918866D01* +G01X1078336Y3918866D01* +G01X1078336Y3777134D01* +G01X739500Y3777134D01* +G03X699807Y3760693I0J-56134D01* +G01X644438Y3705323D01* +G03X530607Y3512107I-31938J-111323D01* +G03X723823Y3625938I81893J81893D01* +G01X762751Y3664866D01* +G01X1101895Y3664866D01* +G03X1101895Y3523134I94805J-70866D01* +G01X739500Y3523134D01* +G03X699807Y3506693I0J-56134D01* +G01X644438Y3451323D01* +G03X530607Y3258107I-31938J-111323D01* +G03X723823Y3371938I81893J81893D01* +G01X762751Y3410866D01* +G01X1473673Y3410866D01* +G03X1491086Y3248848I104027J-70764D01* +G01X1491086Y3200300D01* +G03X1516455Y3139055I86614J0D01* +G01X1830391Y2825118D01* +G03X2027893Y2750107I115609J6881D01* +G03X1952881Y2947609I-81893J81893D01* +G01X1929059Y2971432D01* +G03X2027893Y3167893I16941J114568D01* +G03X1831432Y3069059I-81893J-81893D01* +G01X1664314Y3236177D01* +G01X1664314Y3248848D01* +G03X1681726Y3410866I-86614J91253D01* +G01X1854398Y3410866D01* +G03X1946000Y3224186I91602J-70866D01* +G03X2037602Y3410866I0J115814D01* +G01X2049748Y3410866D01* +G01X2088677Y3371938D01* +G03X2281893Y3258107I111323J-31938D01* +G03X2168062Y3451323I-81893J81893D01* +G01X2112693Y3506693D01* +G03X2073000Y3523134I-39693J-39693D01* +G01X2037602Y3523134D01* +G03X2037602Y3664866I-91602J70866D01* +G01X2049748Y3664866D01* +G01X2088677Y3625938D01* +G03X2281893Y3512107I111323J-31938D01* +G03X2168062Y3705323I-81893J81893D01* +G01X2112693Y3760693D01* +G03X2073000Y3777134I-39693J-39693D01* +G01X2037602Y3777134D01* +G03X2037602Y3918866I-91602J70866D01* +G01X2049748Y3918866D01* +G01X2088677Y3879938D01* +G03X2281893Y3766107I111323J-31938D01* +G03X2168062Y3959323I-81893J81893D01* +G01X2112693Y4014693D01* +G03X2073000Y4031134I-39693J-39693D01* +G01X2037602Y4031134D01* +G03X1946000Y4217814I-91602J70866D01* +G03X1854398Y4031134I0J-115814D01* +G01X739500Y4031134D01* +G03X699807Y4014693I0J-56134D01* +G01X644438Y3959323D01* +G03X580562Y3959323I-31938J-111323D01* +G01X526386Y4013499D01* +G03X486693Y4029941I-39693J-39693D01* +G01X449166Y4029941D01* +G03X361412Y4217777I-90666J72059D01* +G03X264326Y4034590I-2912J-115777D01* +G01X192638Y4106278D01* +G01X192638Y4773007D01* +G01X274611Y4691034D01* +G01X275196Y4690457D01* +G03X348300Y4494636I83304J-80457D01* +G03X454628Y4674593I10200J115364D01* +G01X468522Y4674593D01* +G01X501177Y4641938D01* +G03X568180Y4503002I111323J-31938D01* +G03X713801Y4553866I44320J106998D01* +G01X1109948Y4553866D01* +G01X1220507Y4443307D01* +G03X1260200Y4426866I39693J39693D01* +G01X1854398Y4426866D01* +G03X1946000Y4240186I91602J-70866D01* +G03X2037602Y4426866I0J115814D01* +G01X2073000Y4426866D01* +G03X2112693Y4443307I0J56134D01* +G01X2168062Y4498677D01* +G03X2281893Y4691893I31938J111323D01* +G03X2088677Y4578062I-81893J-81893D01* +G01X2049748Y4539134D01* +G01X2037602Y4539134D01* +G03X2037602Y4680866I-91602J70866D01* +G01X2073000Y4680866D01* +G03X2112693Y4697307I0J56134D01* +G01X2168062Y4752677D01* +G03X2311323Y4895938I31938J111323D01* +G01X2411397Y4996011D01* +G03X2418186Y5004232I-39693J39693D01* +G01X2418186Y150000D01* +G02X2304000Y35814I-114186J0D01* +G01X150000Y35814D01* +G02X35814Y150000I0J114186D01* +G01X358500Y3478186D02* +G03X358500Y3709814I0J115814D01* +G03X358500Y3478186I0J-115814D01* +G01X358500Y4240186D02* +G03X358500Y4471814I0J115814D01* +G03X358500Y4240186I0J-115814D01* +G01X358500Y3224186D02* +G03X358500Y3455814I0J115814D01* +G03X358500Y3224186I0J-115814D01* +G01X358500Y2970186D02* +G03X358500Y3201814I0J115814D01* +G03X358500Y2970186I0J-115814D01* +G01X358500Y2716186D02* +G03X358500Y2947814I0J115814D01* +G03X358500Y2716186I0J-115814D01* +G01X612500Y3986186D02* +G03X612500Y4217814I0J115814D01* +G03X612500Y3986186I0J-115814D01* +G01X612500Y4240186D02* +G03X612500Y4471814I0J115814D01* +G03X612500Y4240186I0J-115814D01* +G01X612500Y2980336D02* +G03X612500Y3191664I0J105664D01* +G03X612500Y2980336I0J-105664D01* +G01X1577700Y4335916D02* +G03X1577700Y4084289I0J-125814D01* +G03X1577700Y4335916I0J125814D01* +G01X2200000Y4240186D02* +G03X2200000Y4471814I0J115814D01* +G03X2200000Y4240186I0J-115814D01* +G01X2200000Y3986186D02* +G03X2200000Y4217814I0J115814D01* +G03X2200000Y3986186I0J-115814D01* +G01X2200000Y2716186D02* +G03X2200000Y2947814I0J115814D01* +G03X2200000Y2716186I0J-115814D01* +G01X2200000Y2970186D02* +G03X2200000Y3201814I0J115814D01* +G03X2200000Y2970186I0J-115814D01* +G01X944293Y585693D02* +G03X904600Y602134I-39693J-39693D01* +G01X728314Y602134D01* +G01X728314Y626000D01* +G03X692500Y661814I-35814J0D01* +G01X576072Y661814D01* +G01X526386Y711499D01* +G03X486693Y727941I-39693J-39693D01* +G01X449166Y727941D01* +G03X469823Y831938I-90666J72059D01* +G01X508751Y870866D01* +G01X520898Y870866D01* +G03X548815Y703268I91602J-70866D01* +G03X713801Y743866I63685J96732D01* +G01X932148Y743866D01* +G01X1042707Y633307D01* +G03X1082400Y616866I39693J39693D01* +G01X1854398Y616866D01* +G03X1859615Y468861I91602J-70866D01* +G01X1061125Y468861D01* +G01X944293Y585693D01* +G01X1854398Y3523134D02* +G01X1291505Y3523134D01* +G03X1291505Y3664866I-94805J70866D01* +G01X1854398Y3664866D01* +G03X1854398Y3523134I91602J-70866D01* +G01X2037602Y616866D02* +G01X2073000Y616866D01* +G03X2084186Y617992I0J56134D01* +G01X2084186Y509572D01* +G01X2043475Y468861D01* +G01X2032385Y468861D01* +G03X2037602Y616866I-86385J77139D01* +G54D11* +G01X612500Y2832000D02* +G01X612500Y2927504D01* +G01X612500Y2832000D02* +G01X516996Y2832000D01* +G01X612500Y2832000D02* +G01X708004Y2832000D01* +G01X358500Y3086000D02* +G01X358500Y2980346D01* +G01X358500Y3086000D02* +G01X358500Y3191654D01* +G01X358500Y3086000D02* +G01X252846Y3086000D01* +G01X358500Y3086000D02* +G01X464154Y3086000D01* +G01X358500Y3340000D02* +G01X358500Y3234346D01* +G01X358500Y3340000D02* +G01X358500Y3445654D01* +G01X358500Y3340000D02* +G01X252846Y3340000D01* +G01X358500Y3340000D02* +G01X464154Y3340000D01* +G01X358500Y3594000D02* +G01X358500Y3488346D01* +G01X358500Y3594000D02* +G01X358500Y3699654D01* +G01X358500Y3594000D02* +G01X252846Y3594000D01* +G01X358500Y3594000D02* +G01X464154Y3594000D01* +G01X358500Y4102000D02* +G01X358500Y4207654D01* +G01X358500Y4102000D02* +G01X252846Y4102000D01* +G01X358500Y4102000D02* +G01X464154Y4102000D01* +G01X1946000Y546000D02* +G01X1840346Y546000D01* +G01X1946000Y546000D02* +G01X2051654Y546000D01* +G01X1946000Y3086000D02* +G01X1946000Y2980346D01* +G01X1946000Y3086000D02* +G01X1946000Y3191654D01* +G01X1946000Y3086000D02* +G01X1840346Y3086000D01* +G01X1946000Y3086000D02* +G01X2051654Y3086000D01* +G01X1946000Y5372000D02* +G01X1946000Y5477654D01* +G01X1946000Y5372000D02* +G01X1840346Y5372000D01* +G01X1946000Y5372000D02* +G01X2051654Y5372000D01* +G01X1946000Y4102000D02* +G01X1946000Y4207654D01* +G01X1946000Y4102000D02* +G01X1840346Y4102000D01* +G01X1946000Y4102000D02* +G01X2051654Y4102000D01* +G01X1946000Y3594000D02* +G01X1840346Y3594000D01* +G01X1946000Y3594000D02* +G01X2051654Y3594000D01* +G01X1946000Y3340000D02* +G01X1946000Y3234346D01* +G01X1946000Y3340000D02* +G01X1840346Y3340000D01* +G01X1946000Y3340000D02* +G01X2051654Y3340000D01* +G01X2200000Y2832000D02* +G01X2200000Y2726346D01* +G01X2200000Y2832000D02* +G01X2200000Y2937654D01* +G01X2200000Y2832000D02* +G01X2094346Y2832000D01* +G01X2200000Y2832000D02* +G01X2305654Y2832000D01* +G01X358500Y5372000D02* +G01X358500Y5266346D01* +G01X358500Y5372000D02* +G01X358500Y5477654D01* +G01X358500Y5372000D02* +G01X464154Y5372000D01* +G01X3575410Y6516016D02* +G01X3575410Y6624220D01* +G01X3575410Y6516016D02* +G01X3575410Y6407812D01* +G01X3575410Y6516016D02* +G01X3683614Y6516016D01* +G01X3575410Y6516016D02* +G01X3467206Y6516016D01* +G01X2733400Y7238900D02* +G01X2612496Y7238900D01* +G01X2733400Y7238900D02* +G01X2854304Y7238900D01* +G01X2733400Y7238900D02* +G01X2733400Y7334404D01* +G01X2733400Y7238900D02* +G01X2733400Y7143396D01* +G01X-276500Y8000900D02* +G01X-276500Y7892696D01* +G01X-276500Y8000900D02* +G01X-276500Y8109104D01* +G01X-276500Y8000900D02* +G01X-384704Y8000900D01* +G01X-276500Y8000900D02* +G01X-168296Y8000900D01* +G01X2091542Y10008008D02* +G01X1983338Y10008008D01* +G01X2091542Y10008008D02* +G01X2199746Y10008008D01* +G01X2091542Y10008008D02* +G01X2091542Y10116212D01* +G01X2091542Y10008008D02* +G01X2091542Y9899804D01* +G01X1075542Y10008008D02* +G01X967338Y10008008D01* +G01X1075542Y10008008D02* +G01X1183746Y10008008D01* +G01X1075542Y10008008D02* +G01X1075542Y10116212D01* +G01X3296000Y10127000D02* +G01X3296000Y10025146D01* +G01X3296000Y10127000D02* +G01X3296000Y10228854D01* +G01X3296000Y10127000D02* +G01X3194146Y10127000D01* +G01X3296000Y10127000D02* +G01X3397854Y10127000D01* +G01X2733400Y7492900D02* +G01X2612496Y7492900D01* +G01X2733400Y7492900D02* +G01X2854304Y7492900D01* +G01X2733400Y7492900D02* +G01X2733400Y7588404D01* +G01X2733400Y7492900D02* +G01X2733400Y7397396D01* +G01X4296000Y10127000D02* +G01X4296000Y10025146D01* +G01X4296000Y10127000D02* +G01X4296000Y10228854D01* +G01X4296000Y10127000D02* +G01X4194146Y10127000D01* +G01X4296000Y10127000D02* +G01X4397854Y10127000D01* +G01X2733400Y12572900D02* +G01X2612496Y12572900D01* +G01X2733400Y12572900D02* +G01X2733400Y12668404D01* +G01X2733400Y12572900D02* +G01X2733400Y12477396D01* +G01X193400Y7238900D02* +G01X72496Y7238900D01* +G01X193400Y7238900D02* +G01X314304Y7238900D01* +G01X193400Y7238900D02* +G01X193400Y7334404D01* +G01X193400Y7238900D02* +G01X193400Y7143396D01* +G04 Copper End* + +G04 Pad Start* +G54D12* +G01X1196700Y3594000D03* +G54D13* +G01X1196700Y3848000D03* +G54D14* +G01X481004Y9785327D03* +G01X681004Y9785327D03* +G01X749584Y8256247D03* +G01X549584Y8256247D03* +G54D15* +G01X2733400Y12572900D03* +G01X2733400Y12318900D03* +G01X2733400Y12064900D03* +G01X2733400Y11810900D03* +G01X2733400Y11556900D03* +G01X2733400Y11302900D03* +G01X2733400Y11048900D03* +G01X2733400Y10794900D03* +G01X2733400Y10540900D03* +G01X2733400Y10286900D03* +G01X2733400Y10032900D03* +G01X2733400Y9778900D03* +G01X2733400Y9524900D03* +G01X2733400Y9270900D03* +G01X2733400Y9016900D03* +G01X2733400Y8762900D03* +G01X2733400Y8508900D03* +G01X2733400Y8254900D03* +G01X2733400Y8000900D03* +G01X2733400Y7746900D03* +G01X2733400Y7492900D03* +G01X2733400Y7238900D03* +G01X193400Y7238900D03* +G01X193400Y7492900D03* +G01X193400Y7746900D03* +G01X193400Y8000900D03* +G01X193400Y8254900D03* +G01X193400Y8508900D03* +G01X193400Y8762900D03* +G01X193400Y9016900D03* +G01X193400Y9270900D03* +G01X193400Y9524900D03* +G01X193400Y9778900D03* +G01X193400Y10032900D03* +G01X193400Y10286900D03* +G01X193400Y10540900D03* +G01X193400Y10794900D03* +G01X193400Y11048900D03* +G01X193400Y11302900D03* +G01X193400Y11556900D03* +G01X193400Y11810900D03* +G01X193400Y12064900D03* +G01X193400Y12318900D03* +G54D17* +G01X193400Y12572900D03* +G54D12* +G01X-276500Y7492900D03* +G01X-276500Y7746900D03* +G01X-276500Y8000900D03* +G01X-276500Y8254900D03* +G01X-276500Y8508900D03* +G01X-276500Y8762900D03* +G01X-276500Y9016900D03* +G01X-276500Y9270900D03* +G01X-276500Y9524900D03* +G01X-2308500Y9016900D03* +G01X-2308500Y8762900D03* +G01X-2308500Y8508900D03* +G01X-2308500Y8254900D03* +G01X-2308500Y8000900D03* +G01X-2308500Y7746900D03* +G54D18* +G01X1946000Y5372000D03* +G01X2200000Y5372000D03* +G01X1946000Y5118000D03* +G01X2200000Y5118000D03* +G01X1946000Y4864000D03* +G01X2200000Y4864000D03* +G01X1946000Y4610000D03* +G01X2200000Y4610000D03* +G01X1946000Y4356000D03* +G01X2200000Y4356000D03* +G01X1946000Y4102000D03* +G01X2200000Y4102000D03* +G01X1946000Y3848000D03* +G01X2200000Y3848000D03* +G01X1946000Y3594000D03* +G01X2200000Y3594000D03* +G01X1946000Y3340000D03* +G01X2200000Y3340000D03* +G01X1946000Y3086000D03* +G01X2200000Y3086000D03* +G01X1946000Y2832000D03* +G01X2200000Y2832000D03* +G01X1946000Y2578000D03* +G01X2200000Y2578000D03* +G01X1946000Y2324000D03* +G01X2200000Y2324000D03* +G01X1946000Y2070000D03* +G01X2200000Y2070000D03* +G01X1946000Y1816000D03* +G01X2200000Y1816000D03* +G01X1946000Y1562000D03* +G01X2200000Y1562000D03* +G01X1946000Y1308000D03* +G01X2200000Y1308000D03* +G01X1946000Y1054000D03* +G01X2200000Y1054000D03* +G01X1946000Y800000D03* +G01X2200000Y800000D03* +G01X1946000Y546000D03* +G54D19* +G01X2200000Y546000D03* +G01X612500Y546000D03* +G54D18* +G01X358500Y546000D03* +G01X612500Y800000D03* +G01X358500Y800000D03* +G01X612500Y1054000D03* +G01X358500Y1054000D03* +G01X612500Y1308000D03* +G01X358500Y1308000D03* +G01X612500Y1562000D03* +G01X358500Y1562000D03* +G01X612500Y1816000D03* +G01X358500Y1816000D03* +G01X612500Y2070000D03* +G01X358500Y2070000D03* +G01X612500Y2324000D03* +G01X358500Y2324000D03* +G01X612500Y2578000D03* +G01X358500Y2578000D03* +G54D20* +G01X612500Y2832000D03* +G54D18* +G01X358500Y2832000D03* +G54D20* +G01X612500Y3086000D03* +G54D18* +G01X358500Y3086000D03* +G01X612500Y3340000D03* +G01X358500Y3340000D03* +G01X612500Y3594000D03* +G01X358500Y3594000D03* +G01X612500Y3848000D03* +G01X358500Y3848000D03* +G01X612500Y4102000D03* +G01X358500Y4102000D03* +G01X612500Y4356000D03* +G01X358500Y4356000D03* +G01X612500Y4610000D03* +G01X358500Y4610000D03* +G01X612500Y4864000D03* +G01X358500Y4864000D03* +G01X612500Y5118000D03* +G01X358500Y5118000D03* +G01X612500Y5372000D03* +G01X358500Y5372000D03* +G54D12* +G01X3829410Y6008016D03* +G01X3575410Y6008016D03* +G01X3829410Y6262016D03* +G01X3575410Y6262016D03* +G01X3829410Y6516016D03* +G01X3575410Y6516016D03* +G01X3829410Y6770016D03* +G01X3575410Y6770016D03* +G01X3829410Y7024016D03* +G01X3575410Y7024016D03* +G01X3829410Y7278016D03* +G01X3575410Y7278016D03* +G01X3829410Y7532016D03* +G01X3575410Y7532016D03* +G01X3829410Y7786016D03* +G01X3575410Y7786016D03* +G01X3829410Y8040016D03* +G01X3575410Y8040016D03* +G01X3829410Y8294016D03* +G54D13* +G01X3575410Y8294016D03* +G54D21* +G01X3550000Y9619000D03* +G54D22* +G01X3296000Y9619000D03* +G01X3550000Y9873000D03* +G01X3296000Y9873000D03* +G01X3550000Y10127000D03* +G01X3296000Y10127000D03* +G01X3550000Y10381000D03* +G01X3296000Y10381000D03* +G01X3550000Y10635000D03* +G01X3296000Y10635000D03* +G54D12* +G01X2091542Y10008008D03* +G01X2091542Y9754008D03* +G01X1837542Y10008008D03* +G01X1837542Y9754008D03* +G01X1583542Y10008008D03* +G01X1583542Y9754008D03* +G01X1329542Y10008008D03* +G01X1329542Y9754008D03* +G01X1075542Y10008008D03* +G54D13* +G01X1075542Y9754008D03* +G54D21* +G01X4550000Y9619000D03* +G54D22* +G01X4296000Y9619000D03* +G01X4550000Y9873000D03* +G01X4296000Y9873000D03* +G01X4550000Y10127000D03* +G01X4296000Y10127000D03* +G01X4550000Y10381000D03* +G01X4296000Y10381000D03* +G01X4550000Y10635000D03* +G01X4296000Y10635000D03* +G54D13* +G01X-2308500Y10782200D03* +G54D12* +G01X-2054500Y10782200D03* +G01X-1800500Y10782200D03* +G01X-1546500Y10782200D03* +G54D23* +G01X1577700Y4210102D03* +G01X1577700Y3340102D03* +G04 Pad End* + +G04 Track Start* +G54D24* +G01X2091542Y9754008D02* +G01X1962510Y9883040D01* +G01X965560Y9883040D01* +G01X612500Y5372000D02* +G01X1234800Y5372000D01* +G01X1361800Y5245000D01* +G01X2073000Y5245000D01* +G01X2200000Y5372000D01* +G01X612500Y5118000D02* +G01X1184000Y5118000D01* +G01X1311000Y4991000D01* +G01X2073000Y4991000D01* +G01X2200000Y5118000D01* +G01X358500Y5118000D02* +G01X485500Y5245000D01* +G01X1209400Y5245000D01* +G01X1336400Y5118000D01* +G01X1946000Y5118000D01* +G01X358500Y4864000D02* +G01X485500Y4991000D01* +G01X1158600Y4991000D02* +G01X1285600Y4864000D01* +G01X1946000Y4864000D01* +G01X485500Y4991000D02* +G01X1158600Y4991000D01* +G01X612500Y4864000D02* +G01X1133200Y4864000D01* +G01X2073000Y4737000D02* +G01X2200000Y4864000D01* +G01X1133200Y4864000D02* +G01X1260200Y4737000D01* +G01X2073000Y4737000D01* +G01X612500Y4610000D02* +G01X1133200Y4610000D01* +G01X1260200Y4483000D01* +G01X2073000Y4483000D01* +G01X2200000Y4610000D01* +G01X612500Y3848000D02* +G01X739500Y3975000D01* +G01X2073000Y3975000D02* +G01X2200000Y3848000D01* +G01X739500Y3975000D02* +G01X2073000Y3975000D01* +G01X612500Y3594000D02* +G01X739500Y3721000D01* +G01X2073000Y3721000D02* +G01X2200000Y3594000D01* +G01X739500Y3721000D02* +G01X2073000Y3721000D01* +G01X612500Y3340000D02* +G01X739500Y3467000D01* +G01X2073000Y3467000D02* +G01X2200000Y3340000D01* +G01X739500Y3467000D02* +G01X2073000Y3467000D01* +G01X358500Y2578000D02* +G01X485500Y2705000D01* +G01X2073000Y2451000D02* +G01X2200000Y2578000D01* +G01X358500Y2324000D02* +G01X485500Y2451000D01* +G01X2073000Y2197000D02* +G01X2200000Y2324000D01* +G01X358500Y2070000D02* +G01X485500Y2197000D01* +G01X2073000Y1943000D02* +G01X2200000Y2070000D01* +G01X358500Y1816000D02* +G01X485500Y1943000D01* +G01X2073000Y1689000D02* +G01X2200000Y1816000D01* +G01X358500Y1562000D02* +G01X485500Y1689000D01* +G01X2073000Y1435000D02* +G01X2200000Y1562000D01* +G01X358500Y1308000D02* +G01X485500Y1435000D01* +G01X1933300Y1295300D02* +G01X1946000Y1308000D01* +G01X358500Y1054000D02* +G01X485500Y1181000D01* +G01X2073000Y1181000D02* +G01X2200000Y1308000D01* +G01X2073000Y927000D02* +G01X2200000Y1054000D01* +G01X358500Y800000D02* +G01X485500Y927000D01* +G01X2073000Y673000D02* +G01X2200000Y800000D01* +G01X485500Y1943000D02* +G01X1272900Y1943000D01* +G01X1399900Y1816000D01* +G01X1946000Y1816000D01* +G01X612500Y2070000D02* +G01X1298300Y2070000D01* +G01X1425300Y1943000D01* +G01X2073000Y1943000D01* +G01X485500Y2197000D02* +G01X1336400Y2197000D01* +G01X1463400Y2070000D01* +G01X1946000Y2070000D01* +G01X612500Y2324000D02* +G01X1361800Y2324000D01* +G01X1488800Y2197000D01* +G01X2073000Y2197000D01* +G01X485500Y2451000D02* +G01X1387200Y2451000D01* +G01X1514200Y2324000D01* +G01X1946000Y2324000D01* +G01X612500Y2578000D02* +G01X1412600Y2578000D01* +G01X1539600Y2451000D01* +G01X2073000Y2451000D01* +G01X485500Y2705000D02* +G01X1438000Y2705000D01* +G01X1565000Y2578000D01* +G01X1946000Y2578000D01* +G01X612500Y1816000D02* +G01X1234800Y1816000D01* +G01X1361800Y1689000D01* +G01X2073000Y1689000D01* +G01X485500Y1689000D02* +G01X1196700Y1689000D01* +G01X1323700Y1562000D01* +G01X1946000Y1562000D01* +G01X612500Y1562000D02* +G01X1158600Y1562000D01* +G01X1285600Y1435000D01* +G01X2073000Y1435000D01* +G01X485500Y1435000D02* +G01X1133200Y1435000D01* +G01X1272900Y1295300D01* +G01X1933300Y1295300D01* +G01X612500Y1308000D02* +G01X1107800Y1308000D01* +G01X1234800Y1181000D01* +G01X2073000Y1181000D01* +G01X485500Y1181000D02* +G01X1069700Y1181000D01* +G01X1196700Y1054000D01* +G01X1946000Y1054000D01* +G01X612500Y1054000D02* +G01X1031600Y1054000D01* +G01X1158600Y927000D01* +G01X2073000Y927000D01* +G01X485500Y927000D02* +G01X993500Y927000D01* +G01X1120500Y800000D01* +G01X1946000Y800000D01* +G01X612500Y800000D02* +G01X955400Y800000D01* +G01X1082400Y673000D01* +G01X2073000Y673000D01* +G54D25* +G01X1946000Y2832000D02* +G01X1577700Y3200300D01* +G01X1577700Y3340102D01* +G54D24* +G01X612500Y546000D02* +G01X904600Y546000D01* +G01X4416404Y7611010D02* +G01X3829410Y7024016D01* +G01X3575410Y7024016D02* +G01X3703890Y6895536D01* +G01X3952313Y6895536D01* +G01X3711340Y7904086D02* +G01X3829410Y7786016D01* +G01X3956664Y6645887D02* +G01X3699539Y6645887D01* +G01X3575410Y6770016D01* +G01X3435964Y6130267D02* +G01X3707159Y6130267D01* +G01X3829410Y6008016D01* +G01X3575410Y6008016D02* +G01X3393115Y6008016D01* +G01X486693Y3973807D02* +G01X612500Y3848000D01* +G01X245724Y3973807D02* +G01X486693Y3973807D01* +G01X491773Y4730727D02* +G01X612500Y4610000D01* +G01X193400Y8254900D02* +G01X548237Y8254900D01* +G01X549584Y8256247D01* +G01X136504Y6826227D02* +G01X136504Y4083027D01* +G01X245724Y3973807D01* +G01X225404Y4819627D02* +G01X314304Y4730727D01* +G01X491773Y4730727D01* +G01X486693Y671807D02* +G01X612500Y546000D01* +G01X50292Y6785438D02* +G01X50292Y892638D01* +G01X271124Y671807D01* +G01X486693Y671807D01* +G01X904600Y546000D02* +G01X1037873Y412727D01* +G01X2066727Y412727D01* +G01X2200000Y546000D01* +G01X2371704Y5035704D02* +G01X2200000Y4864000D01* +G01X749584Y8256247D02* +G01X916284Y8256247D01* +G01X2371704Y6800827D01* +G01X2371704Y5035704D01* +G01X3235304Y6330927D02* +G01X3435964Y6130267D01* +G01X3575410Y6262016D02* +G01X3387704Y6449722D01* +G01X3393115Y6008016D02* +G01X3082904Y6318227D01* +G01X4086204Y9353527D02* +G01X3829410Y9096733D01* +G01X3829410Y8294016D01* +G01X193400Y8000900D02* +G01X390504Y7803796D01* +G01X193400Y8762723D02* +G01X-92096Y8477227D01* +G01X-92096Y6927827D01* +G01X50292Y6785438D01* +G01X390504Y7803796D02* +G01X390504Y6991327D01* +G01X225404Y6826227D01* +G01X225404Y4819627D01* +G01X-276500Y8508900D02* +G01X-28596Y8756804D01* +G01X-28596Y10064727D01* +G01X193400Y10286723D01* +G01X965560Y9883040D02* +G01X815700Y10032900D01* +G01X193400Y10032900D01* +G01X193400Y9778900D02* +G01X199827Y9785327D01* +G01X481004Y9785327D01* +G01X681004Y9785327D02* +G01X681004Y9672627D01* +G01X758804Y9594827D01* +G01X1170361Y9594827D01* +G01X1329542Y9754008D01* +G01X4746604Y7435827D02* +G01X3956664Y6645887D01* +G01X3952313Y6895536D02* +G01X4550000Y7493223D01* +G01X4550000Y9619000D01* +G01X4296000Y9619000D02* +G01X4296000Y7744606D01* +G01X3829410Y7278016D01* +G01X4550000Y9873000D02* +G01X4416404Y9739404D01* +G01X4416404Y7611010D01* +G01X4550000Y10127000D02* +G01X4746604Y9930396D01* +G01X4746604Y7435827D01* +G01X4296000Y10381000D02* +G01X4086204Y10171204D01* +G01X4086204Y9353527D01* +G01X3296000Y9619000D02* +G01X3235304Y9558304D01* +G01X3235304Y6330927D01* +G01X3743304Y10187696D02* +G01X3550000Y10381000D01* +G01X3296000Y10381000D02* +G01X3427600Y10512600D01* +G01X3706200Y10512600D01* +G01X3908404Y10310396D01* +G01X3908404Y9406704D01* +G01X3711340Y9209640D01* +G01X3711340Y7904086D01* +G01X3424227Y9747227D02* +G01X3550000Y9873000D01* +G01X3082904Y6318227D02* +G01X3082904Y9609904D01* +G01X3220227Y9747227D01* +G01X3424227Y9747227D01* +G01X3387704Y6449722D02* +G01X3387704Y9101904D01* +G01X3743304Y9457504D01* +G01X3743304Y10187696D01* +G01X193400Y8508723D02* +G01X-2200Y8313123D01* +G01X-2200Y6964930D01* +G01X136504Y6826227D01* +G01X-276500Y9016900D02* +G01X-543200Y9016900D01* +G01X-2308500Y10782200D01* +G01X-2067200Y10782200D02* +G01X-1800500Y10782200D01* +G01X-276500Y9270900D02* +G01X-289200Y9270900D01* +G01X-1800500Y10782200D01* +G01X-276500Y9524900D02* +G01X-289200Y9524900D01* +G01X-1546500Y10782200D01* +G04 Track End* + +M02* + diff --git a/hardware/gerber/Gerber_BottomPasteMaskLayer.GBP b/hardware/gerber/Gerber_BottomPasteMaskLayer.GBP new file mode 100644 index 0000000..15d628f --- /dev/null +++ b/hardware/gerber/Gerber_BottomPasteMaskLayer.GBP @@ -0,0 +1,85 @@ +G04 Layer: BottomPasteMaskLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%ADD10C,0.254*% +%ADD11C,0.8675*% +G75* + + +G04 PolygonModel Start* +G36* +G01X751006Y9721326D02* +G01X746005Y9716325D01* +G01X631004Y9716325D01* +G01X626005Y9721326D01* +G01X626503Y9763323D01* +G01X670503Y9763323D01* +G01X670503Y9808321D01* +G01X625502Y9808321D01* +G01X626005Y9849324D01* +G01X631004Y9854326D01* +G01X746005Y9854326D01* +G01X751006Y9849324D01* +G01X751006Y9721326D01* +G37* +G36* +G01X536005Y9721326D02* +G01X531004Y9716325D01* +G01X416006Y9716325D01* +G01X411004Y9721326D01* +G01X411004Y9849324D01* +G01X416006Y9854326D01* +G01X531004Y9854326D01* +G01X536005Y9849324D01* +G01X535502Y9808321D01* +G01X491504Y9808321D01* +G01X491504Y9763323D01* +G01X536003Y9763323D01* +G01X536005Y9721326D01* +G37* +G36* +G01X479582Y8320247D02* +G01X484583Y8325248D01* +G01X599584Y8325248D01* +G01X604583Y8320247D01* +G01X604085Y8278251D01* +G01X560084Y8278251D01* +G01X560084Y8233252D01* +G01X605086Y8233252D01* +G01X604583Y8192249D01* +G01X599584Y8187247D01* +G01X484583Y8187247D01* +G01X479582Y8192249D01* +G01X479582Y8320247D01* +G37* +G36* +G01X694583Y8320247D02* +G01X699584Y8325248D01* +G01X814582Y8325248D01* +G01X819584Y8320247D01* +G01X819584Y8192249D01* +G01X814582Y8187247D01* +G01X699584Y8187247D01* +G01X694583Y8192249D01* +G01X695085Y8233252D01* +G01X739083Y8233252D01* +G01X739083Y8278251D01* +G01X694585Y8278251D01* +G01X694583Y8320247D01* +G37* + +G04 Pad Start* +G04 Pad End* +G54D10* + +M02* + diff --git a/hardware/gerber/Gerber_BottomSilkscreenLayer.GBO b/hardware/gerber/Gerber_BottomSilkscreenLayer.GBO new file mode 100644 index 0000000..aac9c43 --- /dev/null +++ b/hardware/gerber/Gerber_BottomSilkscreenLayer.GBO @@ -0,0 +1,184 @@ +G04 Layer: BottomSilkscreenLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%ADD10C,0.1524*% +%ADD11C,0.254*% +%ADD12C,0.6821*% +G75* + + +G04 Text Start* +G54D10* +G01X616945Y9961095D02* +G01X616945Y9911311D01* +G01X616945Y9961095D02* +G01X595609Y9961095D01* +G01X588243Y9958809D01* +G01X585957Y9956523D01* +G01X583671Y9951697D01* +G01X583671Y9946871D01* +G01X585957Y9942045D01* +G01X588243Y9939759D01* +G01X595609Y9937473D01* +G01X616945Y9937473D01* +G01X600181Y9937473D02* +G01X583671Y9911311D01* +G01X557001Y9951697D02* +G01X552175Y9953983D01* +G01X545063Y9961095D01* +G01X545063Y9911311D01* +G01X650600Y9649437D02* +G01X645774Y9651723D01* +G01X638662Y9658835D01* +G01X638662Y9609051D01* +G01X611992Y9658835D02* +G01X611992Y9609051D01* +G01X588116Y9642325D02* +G01X611992Y9618449D01* +G01X602340Y9628101D02* +G01X585830Y9609051D01* +G01X559160Y9609051D02* +G01X542396Y9609051D01* +G01X547222Y9616163D01* +G01X552048Y9623275D01* +G01X554334Y9630387D01* +G01X554334Y9637499D01* +G01X552048Y9644611D01* +G01X549508Y9649437D01* +G01X544936Y9654263D01* +G01X540110Y9656549D01* +G01X530458Y9656549D01* +G01X525886Y9654263D01* +G01X521060Y9649437D01* +G01X518774Y9644611D01* +G01X516234Y9637499D01* +G01X516234Y9630387D01* +G01X518774Y9623275D01* +G01X523346Y9616163D01* +G01X528172Y9609051D01* +G01X511408Y9609051D01* +G01X691113Y8442175D02* +G01X691113Y8392391D01* +G01X691113Y8442175D02* +G01X669777Y8442175D01* +G01X662411Y8439889D01* +G01X660125Y8437603D01* +G01X657839Y8432777D01* +G01X657839Y8427951D01* +G01X660125Y8423125D01* +G01X662411Y8420839D01* +G01X669777Y8418553D01* +G01X691113Y8418553D01* +G01X674349Y8418553D02* +G01X657839Y8392391D01* +G01X628883Y8430491D02* +G01X628883Y8432777D01* +G01X626343Y8437603D01* +G01X624057Y8439889D01* +G01X619231Y8442175D01* +G01X609833Y8442175D01* +G01X605007Y8439889D01* +G01X602467Y8437603D01* +G01X600181Y8432777D01* +G01X600181Y8427951D01* +G01X602467Y8423125D01* +G01X607293Y8416013D01* +G01X631169Y8392391D01* +G01X597895Y8392391D01* +G01X714100Y8115277D02* +G01X709274Y8117563D01* +G01X702162Y8124675D01* +G01X702162Y8074891D01* +G01X675492Y8124675D02* +G01X675492Y8074891D01* +G01X651616Y8108165D02* +G01X675492Y8084289D01* +G01X665840Y8093941D02* +G01X649330Y8074891D01* +G01X622660Y8074891D02* +G01X605896Y8074891D01* +G01X610722Y8082003D01* +G01X615548Y8089115D01* +G01X617834Y8096227D01* +G01X617834Y8103339D01* +G01X615548Y8110451D01* +G01X613008Y8115277D01* +G01X608436Y8120103D01* +G01X603610Y8122389D01* +G01X593958Y8122389D01* +G01X589386Y8120103D01* +G01X584560Y8115277D01* +G01X582274Y8110451D01* +G01X579734Y8103339D01* +G01X579734Y8096227D01* +G01X582274Y8089115D01* +G01X586846Y8082003D01* +G01X591672Y8074891D01* +G01X574908Y8074891D01* +G04 Text End* + +G04 PolygonModel Start* +G01X533384Y9693617D02* +G01X404890Y9693617D01* +G01X404890Y9693617D02* +G01X404890Y9877036D01* +G01X404890Y9877036D02* +G01X533384Y9877036D01* +G01X628624Y9693617D02* +G01X757117Y9693617D01* +G01X757117Y9693617D02* +G01X757117Y9877036D01* +G01X757117Y9877036D02* +G01X628624Y9877036D01* +G01X697204Y8347956D02* +G01X825697Y8347956D01* +G01X825697Y8347956D02* +G01X825697Y8164537D01* +G01X825697Y8164537D02* +G01X697204Y8164537D01* +G01X601964Y8347956D02* +G01X473470Y8347956D01* +G01X473470Y8347956D02* +G01X473470Y8164537D01* +G01X473470Y8164537D02* +G01X601964Y8164537D01* +G54D11* +G01X2327000Y406300D02* +G01X2327000Y5511700D01* +G01X1819000Y406300D02* +G01X1819000Y5511700D01* +G01X1819000Y5511700D02* +G01X2327000Y5511700D01* +G01X1819000Y406300D02* +G01X2327000Y406300D01* +G01X3702410Y8433716D02* +G01X3702410Y8167016D01* +G01X3702410Y8167016D02* +G01X3461110Y8167016D01* +G01X3952397Y8441006D02* +G01X3952397Y5861001D01* +G01X3452398Y5861001D01* +G01X3452398Y8441006D01* +G01X3952397Y8441006D01* +G01X923142Y10135008D02* +G01X2243942Y10135008D01* +G01X2243942Y9627008D01* +G01X923142Y9627008D01* +G01X923142Y10135008D01* +G01X923142Y9881008D02* +G01X1202542Y9881008D01* +G01X1202542Y9627008D01* +G01X923142Y9627008D01* +G01X923142Y9881008D01* + +M02* + diff --git a/hardware/gerber/Gerber_BottomSolderMaskLayer.GBS b/hardware/gerber/Gerber_BottomSolderMaskLayer.GBS new file mode 100644 index 0000000..a73c345 --- /dev/null +++ b/hardware/gerber/Gerber_BottomSolderMaskLayer.GBS @@ -0,0 +1,260 @@ +G04 Layer: BottomSolderMaskLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%AMRoundRect*1,1,$1,$2,$3*1,1,$1,$4,$5*1,1,$1,0-$2,0-$3*1,1,$1,0-$4,0-$5*20,1,$1,$2,$3,$4,$5,0*20,1,$1,$4,$5,0-$2,0-$3,0*20,1,$1,0-$2,0-$3,0-$4,0-$5,0*20,1,$1,0-$4,0-$5,$2,$3,0*4,1,4,$2,$3,$4,$5,0-$2,0-$3,0-$4,0-$5,$2,$3,0*% +%ADD10C,1.7526*% +%ADD11RoundRect,0.1016X-0.8255X-0.8255X-0.8255X0.8255*% +%ADD12RoundRect,0.1016X-0.56627X0.68851X0.56627X0.68851*% +%ADD13O,2.0066X1.4986*% +%ADD14RoundRect,0.1016X-0.9525X0.6985X0.9525X0.6985*% +%ADD15C,1.8585*% +%ADD16C,1.8542*% +%ADD17C,1.7016*% +%ADD18RoundRect,0.1016X-0.8X-0.8X-0.8X0.8*% +%ADD19C,1.4986*% +%ADD20RoundRect,0.1016X-0.762X-0.762X-0.762X0.762*% +%ADD21C,1.6256*% +%ADD22RoundRect,0.1016X-0.8255X0.8255X0.8255X0.8255*% +%ADD23C,1.9016*% +G75* + + +G04 Pad Start* +G54D10* +G01X1196700Y3594000D03* +G54D11* +G01X1196700Y3848000D03* +G54D12* +G01X481004Y9785327D03* +G01X681004Y9785327D03* +G01X749584Y8256247D03* +G01X549584Y8256247D03* +G54D13* +G01X2733400Y12572900D03* +G01X2733400Y12318900D03* +G01X2733400Y12064900D03* +G01X2733400Y11810900D03* +G01X2733400Y11556900D03* +G01X2733400Y11302900D03* +G01X2733400Y11048900D03* +G01X2733400Y10794900D03* +G01X2733400Y10540900D03* +G01X2733400Y10286900D03* +G01X2733400Y10032900D03* +G01X2733400Y9778900D03* +G01X2733400Y9524900D03* +G01X2733400Y9270900D03* +G01X2733400Y9016900D03* +G01X2733400Y8762900D03* +G01X2733400Y8508900D03* +G01X2733400Y8254900D03* +G01X2733400Y8000900D03* +G01X2733400Y7746900D03* +G01X2733400Y7492900D03* +G01X2733400Y7238900D03* +G01X193400Y7238900D03* +G01X193400Y7492900D03* +G01X193400Y7746900D03* +G01X193400Y8000900D03* +G01X193400Y8254900D03* +G01X193400Y8508900D03* +G01X193400Y8762900D03* +G01X193400Y9016900D03* +G01X193400Y9270900D03* +G01X193400Y9524900D03* +G01X193400Y9778900D03* +G01X193400Y10032900D03* +G01X193400Y10286900D03* +G01X193400Y10540900D03* +G01X193400Y10794900D03* +G01X193400Y11048900D03* +G01X193400Y11302900D03* +G01X193400Y11556900D03* +G01X193400Y11810900D03* +G01X193400Y12064900D03* +G01X193400Y12318900D03* +G54D14* +G01X193400Y12572900D03* +G54D16* +G01X-276500Y7492900D03* +G01X-276500Y7746900D03* +G01X-276500Y8000900D03* +G01X-276500Y8254900D03* +G01X-276500Y8508900D03* +G01X-276500Y8762900D03* +G01X-276500Y9016900D03* +G01X-276500Y9270900D03* +G01X-276500Y9524900D03* +G01X-2308500Y9016900D03* +G01X-2308500Y8762900D03* +G01X-2308500Y8508900D03* +G01X-2308500Y8254900D03* +G01X-2308500Y8000900D03* +G01X-2308500Y7746900D03* +G54D17* +G01X1946000Y5372000D03* +G01X2200000Y5372000D03* +G01X1946000Y5118000D03* +G01X2200000Y5118000D03* +G01X1946000Y4864000D03* +G01X2200000Y4864000D03* +G01X1946000Y4610000D03* +G01X2200000Y4610000D03* +G01X1946000Y4356000D03* +G01X2200000Y4356000D03* +G01X1946000Y4102000D03* +G01X2200000Y4102000D03* +G01X1946000Y3848000D03* +G01X2200000Y3848000D03* +G01X1946000Y3594000D03* +G01X2200000Y3594000D03* +G01X1946000Y3340000D03* +G01X2200000Y3340000D03* +G01X1946000Y3086000D03* +G01X2200000Y3086000D03* +G01X1946000Y2832000D03* +G01X2200000Y2832000D03* +G01X1946000Y2578000D03* +G01X2200000Y2578000D03* +G01X1946000Y2324000D03* +G01X2200000Y2324000D03* +G01X1946000Y2070000D03* +G01X2200000Y2070000D03* +G01X1946000Y1816000D03* +G01X2200000Y1816000D03* +G01X1946000Y1562000D03* +G01X2200000Y1562000D03* +G01X1946000Y1308000D03* +G01X2200000Y1308000D03* +G01X1946000Y1054000D03* +G01X2200000Y1054000D03* +G01X1946000Y800000D03* +G01X2200000Y800000D03* +G01X1946000Y546000D03* +G54D18* +G01X2200000Y546000D03* +G01X612500Y546000D03* +G54D17* +G01X358500Y546000D03* +G01X612500Y800000D03* +G01X358500Y800000D03* +G01X612500Y1054000D03* +G01X358500Y1054000D03* +G01X612500Y1308000D03* +G01X358500Y1308000D03* +G01X612500Y1562000D03* +G01X358500Y1562000D03* +G01X612500Y1816000D03* +G01X358500Y1816000D03* +G01X612500Y2070000D03* +G01X358500Y2070000D03* +G01X612500Y2324000D03* +G01X358500Y2324000D03* +G01X612500Y2578000D03* +G01X358500Y2578000D03* +G54D19* +G01X612500Y2832000D03* +G54D17* +G01X358500Y2832000D03* +G54D19* +G01X612500Y3086000D03* +G54D17* +G01X358500Y3086000D03* +G01X612500Y3340000D03* +G01X358500Y3340000D03* +G01X612500Y3594000D03* +G01X358500Y3594000D03* +G01X612500Y3848000D03* +G01X358500Y3848000D03* +G01X612500Y4102000D03* +G01X358500Y4102000D03* +G01X612500Y4356000D03* +G01X358500Y4356000D03* +G01X612500Y4610000D03* +G01X358500Y4610000D03* +G01X612500Y4864000D03* +G01X358500Y4864000D03* +G01X612500Y5118000D03* +G01X358500Y5118000D03* +G01X612500Y5372000D03* +G01X358500Y5372000D03* +G54D10* +G01X3829410Y6008016D03* +G01X3575410Y6008016D03* +G01X3829410Y6262016D03* +G01X3575410Y6262016D03* +G01X3829410Y6516016D03* +G01X3575410Y6516016D03* +G01X3829410Y6770016D03* +G01X3575410Y6770016D03* +G01X3829410Y7024016D03* +G01X3575410Y7024016D03* +G01X3829410Y7278016D03* +G01X3575410Y7278016D03* +G01X3829410Y7532016D03* +G01X3575410Y7532016D03* +G01X3829410Y7786016D03* +G01X3575410Y7786016D03* +G01X3829410Y8040016D03* +G01X3575410Y8040016D03* +G01X3829410Y8294016D03* +G54D11* +G01X3575410Y8294016D03* +G54D20* +G01X3550000Y9619000D03* +G54D21* +G01X3296000Y9619000D03* +G01X3550000Y9873000D03* +G01X3296000Y9873000D03* +G01X3550000Y10127000D03* +G01X3296000Y10127000D03* +G01X3550000Y10381000D03* +G01X3296000Y10381000D03* +G01X3550000Y10635000D03* +G01X3296000Y10635000D03* +G54D10* +G01X2091542Y10008008D03* +G01X2091542Y9754008D03* +G01X1837542Y10008008D03* +G01X1837542Y9754008D03* +G01X1583542Y10008008D03* +G01X1583542Y9754008D03* +G01X1329542Y10008008D03* +G01X1329542Y9754008D03* +G01X1075542Y10008008D03* +G54D22* +G01X1075542Y9754008D03* +G54D20* +G01X4550000Y9619000D03* +G54D21* +G01X4296000Y9619000D03* +G01X4550000Y9873000D03* +G01X4296000Y9873000D03* +G01X4550000Y10127000D03* +G01X4296000Y10127000D03* +G01X4550000Y10381000D03* +G01X4296000Y10381000D03* +G01X4550000Y10635000D03* +G01X4296000Y10635000D03* +G54D22* +G01X-2308500Y10782200D03* +G54D10* +G01X-2054500Y10782200D03* +G01X-1800500Y10782200D03* +G01X-1546500Y10782200D03* +G54D23* +G01X1577700Y4210102D03* +G01X1577700Y3340102D03* +G04 Pad End* + +M02* + diff --git a/hardware/gerber/Gerber_DocumentLayer.GDL b/hardware/gerber/Gerber_DocumentLayer.GDL new file mode 100644 index 0000000..2c76353 --- /dev/null +++ b/hardware/gerber/Gerber_DocumentLayer.GDL @@ -0,0 +1,99 @@ +G04 Layer: DocumentLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%ADD10C,0.254*% +%ADD11C,0.2978*% +G75* + + +G04 PolygonModel Start* +G36* +G01X904600Y2705000D02* +G01X739500Y2705000D01* +G01X739500Y3213000D01* +G01X904600Y3213000D01* +G01X904600Y2705000D01* +G37* +G36* +G01X3715100Y9911100D02* +G01X3715100Y10368300D01* +G01X3867500Y10368300D01* +G01X3867500Y9911100D01* +G01X3715100Y9911100D01* +G37* +G36* +G01X4715100Y9911100D02* +G01X4715100Y10368300D01* +G01X4867500Y10368300D01* +G01X4867500Y9911100D01* +G01X4715100Y9911100D01* +G37* +G36* +G01X2130399Y6247599D02* +G01X2130399Y6223601D01* +G01X2034400Y6223601D01* +G01X2034400Y6247599D01* +G01X2130399Y6247599D01* +G37* +G36* +G01X1558401Y6247599D02* +G01X1654400Y6247599D01* +G01X1654400Y6223601D01* +G01X1558401Y6223601D01* +G01X1558401Y6247599D01* +G37* +G36* +G01X1594400Y6315600D02* +G01X1618401Y6315600D01* +G01X1618401Y6155600D01* +G01X1594400Y6155600D01* +G01X1594400Y6315600D01* +G37* +G36* +G01X1534401Y6395600D02* +G01X1582399Y6395600D01* +G01X1582399Y6315600D01* +G01X1534401Y6315600D01* +G01X1534401Y6395600D01* +G37* +G36* +G01X1534401Y6075600D02* +G01X1534401Y6155600D01* +G01X1582399Y6155600D01* +G01X1582399Y6075600D01* +G01X1534401Y6075600D01* +G37* +G36* +G01X1753620Y3433614D02* +G01X1753620Y3255814D01* +G01X1702820Y3255814D01* +G01X1702820Y3433614D01* +G01X1753620Y3433614D01* +G37* +G36* +G01X1636968Y3370584D02* +G01X1814768Y3370584D01* +G01X1814768Y3319784D01* +G01X1636968Y3319784D01* +G01X1636968Y3370584D01* +G37* +G36* +G01X1722828Y4285332D02* +G01X1722828Y4107532D01* +G01X1672028Y4107532D01* +G01X1672028Y4285332D01* +G01X1722828Y4285332D01* +G37* +G54D10* + +M02* + diff --git a/hardware/gerber/Gerber_DrillDrawingLayer.GDD b/hardware/gerber/Gerber_DrillDrawingLayer.GDD new file mode 100644 index 0000000..99e59ec --- /dev/null +++ b/hardware/gerber/Gerber_DrillDrawingLayer.GDD @@ -0,0 +1,3388 @@ +G04 Layer: DrillDrawingLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%AMIconRect*4,1,4,0.28,-0.28,-0.28,-0.28,-0.28,0.28,0.28,0.28,0.28,-0.28,0*4,0,4,0.233333,-0.233333,0.233333,0.233333,-0.233333,0.233333,-0.233333,-0.233333,0.233333,-0.233333,0*% +%AMIconTriangle*4,1,3,-0.339593,0.240473,0.339593,0.240473,0,-0.37884,-0.339593,0.240473,0*4,0,3,-0.265673,0.19404,0,-0.27342,0.266233,0.19404,-0.265673,0.19404,0*% +%ADD10IconRect*% +%ADD11C,0.616X0.522667*% +%ADD12IconTriangle*% +%ADD13C,0.2032*% +%ADD14C,0.254*% +G75* + + +G04 Drill Drawing Start* +G54D10* +G01X1196700Y3594000D03* +G01X1196700Y3848000D03* +G54D11* +G01X1577700Y4210107D03* +G01X1577700Y3340096D03* +G01X1946000Y4864000D03* +G01X1946000Y5118000D03* +G01X1946000Y5372000D03* +G01X1946000Y800000D03* +G01X1946000Y1054000D03* +G01X1946000Y1308000D03* +G01X1946000Y1562000D03* +G01X1946000Y1816000D03* +G01X1946000Y2070000D03* +G01X1946000Y2324000D03* +G01X1946000Y2578000D03* +G01X1946000Y2832000D03* +G01X1946000Y3086000D03* +G01X1946000Y3340000D03* +G01X1946000Y3848000D03* +G01X1946000Y4102000D03* +G01X1946000Y4356000D03* +G01X1946000Y4610000D03* +G01X1946000Y546000D03* +G01X1946000Y3594000D03* +G01X2200000Y4864000D03* +G01X2200000Y5118000D03* +G01X2200000Y5372000D03* +G01X2200000Y1054000D03* +G01X2200000Y1308000D03* +G01X2200000Y1562000D03* +G01X2200000Y1816000D03* +G01X2200000Y2070000D03* +G01X2200000Y2324000D03* +G01X2200000Y2578000D03* +G01X2200000Y2832000D03* +G01X2200000Y3086000D03* +G01X2200000Y3340000D03* +G01X2200000Y3594000D03* +G01X2200000Y3848000D03* +G01X2200000Y4102000D03* +G01X2200000Y4356000D03* +G01X2200000Y4610000D03* +G01X2200000Y546000D03* +G01X2200000Y800000D03* +G54D12* +G01X-2308500Y7746900D03* +G01X-2308500Y8000900D03* +G01X-2308500Y8254900D03* +G01X-2308500Y8508900D03* +G01X-2308500Y8762900D03* +G01X-2308500Y9016900D03* +G01X-2308500Y10782200D03* +G01X-2054500Y10782200D03* +G01X-1800500Y10782200D03* +G01X-1546500Y10782200D03* +G01X-276500Y7746900D03* +G01X-276500Y8000900D03* +G01X-276500Y8254900D03* +G01X-276500Y8508900D03* +G01X-276500Y8762900D03* +G01X-276500Y9016900D03* +G01X-276500Y9270900D03* +G01X-276500Y9524900D03* +G01X-276500Y7492900D03* +G01X193402Y7492895D03* +G01X193402Y7746895D03* +G01X193402Y8000895D03* +G01X193402Y8254895D03* +G01X193402Y8508895D03* +G01X193402Y8762895D03* +G01X193402Y9016895D03* +G01X193402Y9270895D03* +G01X193402Y9524895D03* +G01X193402Y9778895D03* +G01X193402Y10032895D03* +G01X193402Y10286895D03* +G01X193402Y10540895D03* +G01X193402Y10794895D03* +G01X193402Y11048895D03* +G01X193402Y11302895D03* +G01X193402Y11556895D03* +G01X193402Y11810895D03* +G01X193402Y12064895D03* +G01X193402Y12318895D03* +G01X193402Y12572895D03* +G01X193402Y7238895D03* +G01X358500Y546000D03* +G01X358500Y800000D03* +G01X358500Y1054000D03* +G01X358500Y1308000D03* +G01X358500Y1562000D03* +G01X358500Y1816000D03* +G01X358500Y2070000D03* +G01X358500Y2324000D03* +G01X358500Y3340000D03* +G01X358500Y3594000D03* +G01X358500Y3848000D03* +G01X358500Y4102000D03* +G01X358500Y4356000D03* +G01X358500Y4610000D03* +G01X358500Y4864000D03* +G01X358500Y5118000D03* +G01X358500Y5372000D03* +G01X358500Y2578000D03* +G01X358500Y2832000D03* +G01X358500Y3086000D03* +G01X612500Y546000D03* +G01X612500Y800000D03* +G01X612500Y1054000D03* +G01X612500Y1308000D03* +G01X612500Y1562000D03* +G01X612500Y1816000D03* +G01X612500Y2070000D03* +G01X612500Y2324000D03* +G01X612500Y2578000D03* +G01X612500Y3594000D03* +G01X612500Y3848000D03* +G01X612500Y4102000D03* +G01X612500Y4356000D03* +G01X612500Y4610000D03* +G01X612500Y4864000D03* +G01X612500Y5118000D03* +G01X612500Y5372000D03* +G01X612500Y2832000D03* +G01X612500Y3086000D03* +G01X612500Y3340000D03* +G01X1075542Y9754008D03* +G01X1075542Y10008008D03* +G01X1329542Y9754008D03* +G01X1329542Y10008008D03* +G01X1583542Y9754008D03* +G01X1583542Y10008008D03* +G01X1837542Y9754008D03* +G01X1837542Y10008008D03* +G01X2091542Y9754008D03* +G01X2091542Y10008008D03* +G01X2733397Y9016895D03* +G01X2733397Y9270895D03* +G01X2733397Y9524895D03* +G01X2733397Y9778895D03* +G01X2733397Y10032895D03* +G01X2733397Y10286895D03* +G01X2733397Y11556895D03* +G01X2733397Y11810895D03* +G01X2733397Y12064895D03* +G01X2733397Y12318895D03* +G01X2733397Y7238895D03* +G01X2733397Y7492895D03* +G01X2733397Y7746895D03* +G01X2733397Y8000895D03* +G01X2733397Y8254895D03* +G01X2733397Y8508895D03* +G01X2733397Y8762895D03* +G01X2733397Y10540895D03* +G01X2733397Y10794895D03* +G01X2733397Y11048895D03* +G01X2733397Y11302895D03* +G01X2733397Y12572895D03* +G01X3296000Y9619000D03* +G01X3296000Y9873000D03* +G01X3296000Y10380997D03* +G01X3296000Y10634997D03* +G01X3296000Y10127000D03* +G01X3550000Y9619000D03* +G01X3550000Y9873000D03* +G01X3550000Y10127000D03* +G01X3550000Y10380997D03* +G01X3550000Y10634997D03* +G01X3575410Y6008016D03* +G01X3575410Y6262016D03* +G01X3575410Y6516016D03* +G01X3575410Y7786016D03* +G01X3575410Y6770016D03* +G01X3575410Y7024016D03* +G01X3575410Y7532016D03* +G01X3575410Y8294016D03* +G01X3575410Y7278016D03* +G01X3575410Y8040016D03* +G01X3829410Y6008016D03* +G01X3829410Y6262016D03* +G01X3829410Y6770016D03* +G01X3829410Y7278016D03* +G01X3829410Y8040016D03* +G01X3829410Y7024016D03* +G01X3829410Y7532016D03* +G01X3829410Y6516016D03* +G01X3829410Y7786016D03* +G01X3829410Y8294016D03* +G01X4296000Y9619000D03* +G01X4296000Y9873000D03* +G01X4296000Y10127000D03* +G01X4296000Y10380997D03* +G01X4296000Y10634997D03* +G01X4550000Y9619000D03* +G01X4550000Y9873000D03* +G01X4550000Y10127000D03* +G01X4550000Y10380997D03* +G01X4550000Y10634997D03* +G04 Drill Drawing End* + +G04 Text Start* +G54D13* +G01X7228152Y13278294D02* +G01X7228152Y13158152D01* +G01X7228152Y13278294D02* +G01X7273872Y13158152D01* +G01X7319592Y13278294D02* +G01X7273872Y13158152D01* +G01X7319592Y13278294D02* +G01X7319592Y13158152D01* +G01X7435924Y13238162D02* +G01X7435924Y13158152D01* +G01X7435924Y13221144D02* +G01X7424494Y13232574D01* +G01X7413064Y13238162D01* +G01X7396046Y13238162D01* +G01X7384616Y13232574D01* +G01X7373186Y13221144D01* +G01X7367344Y13203872D01* +G01X7367344Y13192442D01* +G01X7373186Y13175424D01* +G01X7384616Y13163994D01* +G01X7396046Y13158152D01* +G01X7413064Y13158152D01* +G01X7424494Y13163994D01* +G01X7435924Y13175424D01* +G01X7483676Y13238162D02* +G01X7483676Y13158152D01* +G01X7483676Y13203872D02* +G01X7489518Y13221144D01* +G01X7500948Y13232574D01* +G01X7512378Y13238162D01* +G01X7529396Y13238162D01* +G01X7577148Y13278294D02* +G01X7577148Y13158152D01* +G01X7634298Y13238162D02* +G01X7577148Y13181012D01* +G01X7600008Y13203872D02* +G01X7640140Y13158152D01* +G01X8765432Y13249592D02* +G01X8759590Y13261022D01* +G01X8748160Y13272452D01* +G01X8736730Y13278294D01* +G01X8713870Y13278294D01* +G01X8702440Y13272452D01* +G01X8691010Y13261022D01* +G01X8685422Y13249592D01* +G01X8679580Y13232574D01* +G01X8679580Y13203872D01* +G01X8685422Y13186854D01* +G01X8691010Y13175424D01* +G01X8702440Y13163994D01* +G01X8713870Y13158152D01* +G01X8736730Y13158152D01* +G01X8748160Y13163994D01* +G01X8759590Y13175424D01* +G01X8765432Y13186854D01* +G01X8841886Y13238162D02* +G01X8830456Y13232574D01* +G01X8819026Y13221144D01* +G01X8813184Y13203872D01* +G01X8813184Y13192442D01* +G01X8819026Y13175424D01* +G01X8830456Y13163994D01* +G01X8841886Y13158152D01* +G01X8858904Y13158152D01* +G01X8870334Y13163994D01* +G01X8881764Y13175424D01* +G01X8887606Y13192442D01* +G01X8887606Y13203872D01* +G01X8881764Y13221144D01* +G01X8870334Y13232574D01* +G01X8858904Y13238162D01* +G01X8841886Y13238162D01* +G01X8935358Y13238162D02* +G01X8935358Y13181012D01* +G01X8941200Y13163994D01* +G01X8952630Y13158152D01* +G01X8969648Y13158152D01* +G01X8981078Y13163994D01* +G01X8998350Y13181012D01* +G01X8998350Y13238162D02* +G01X8998350Y13158152D01* +G01X9046102Y13238162D02* +G01X9046102Y13158152D01* +G01X9046102Y13215302D02* +G01X9063374Y13232574D01* +G01X9074804Y13238162D01* +G01X9091822Y13238162D01* +G01X9103252Y13232574D01* +G01X9109094Y13215302D01* +G01X9109094Y13158152D01* +G01X9174118Y13278294D02* +G01X9174118Y13181012D01* +G01X9179706Y13163994D01* +G01X9191136Y13158152D01* +G01X9202566Y13158152D01* +G01X9156846Y13238162D02* +G01X9196978Y13238162D01* +G01X10173753Y13261022D02* +G01X10162323Y13272452D01* +G01X10145305Y13278294D01* +G01X10122445Y13278294D01* +G01X10105173Y13272452D01* +G01X10093743Y13261022D01* +G01X10093743Y13249592D01* +G01X10099585Y13238162D01* +G01X10105173Y13232574D01* +G01X10116603Y13226732D01* +G01X10150893Y13215302D01* +G01X10162323Y13209714D01* +G01X10168165Y13203872D01* +G01X10173753Y13192442D01* +G01X10173753Y13175424D01* +G01X10162323Y13163994D01* +G01X10145305Y13158152D01* +G01X10122445Y13158152D01* +G01X10105173Y13163994D01* +G01X10093743Y13175424D01* +G01X10221505Y13278294D02* +G01X10227347Y13272452D01* +G01X10232935Y13278294D01* +G01X10227347Y13283882D01* +G01X10221505Y13278294D01* +G01X10227347Y13238162D02* +G01X10227347Y13158152D01* +G01X10343679Y13238162D02* +G01X10280687Y13158152D01* +G01X10280687Y13238162D02* +G01X10343679Y13238162D01* +G01X10280687Y13158152D02* +G01X10343679Y13158152D01* +G01X10391431Y13203872D02* +G01X10460011Y13203872D01* +G01X10460011Y13215302D01* +G01X10454423Y13226732D01* +G01X10448581Y13232574D01* +G01X10437151Y13238162D01* +G01X10420133Y13238162D01* +G01X10408703Y13232574D01* +G01X10397273Y13221144D01* +G01X10391431Y13203872D01* +G01X10391431Y13192442D01* +G01X10397273Y13175424D01* +G01X10408703Y13163994D01* +G01X10420133Y13158152D01* +G01X10437151Y13158152D01* +G01X10448581Y13163994D01* +G01X10460011Y13175424D01* +G01X13964848Y13278294D02* +G01X13964848Y13158152D01* +G01X13964848Y13278294D02* +G01X14016410Y13278294D01* +G01X14033428Y13272452D01* +G01X14039270Y13266864D01* +G01X14044858Y13255434D01* +G01X14044858Y13238162D01* +G01X14039270Y13226732D01* +G01X14033428Y13221144D01* +G01X14016410Y13215302D01* +G01X13964848Y13215302D01* +G01X14092610Y13278294D02* +G01X14092610Y13158152D01* +G01X14208942Y13238162D02* +G01X14208942Y13158152D01* +G01X14208942Y13221144D02* +G01X14197512Y13232574D01* +G01X14186082Y13238162D01* +G01X14169064Y13238162D01* +G01X14157634Y13232574D01* +G01X14146204Y13221144D01* +G01X14140362Y13203872D01* +G01X14140362Y13192442D01* +G01X14146204Y13175424D01* +G01X14157634Y13163994D01* +G01X14169064Y13158152D01* +G01X14186082Y13158152D01* +G01X14197512Y13163994D01* +G01X14208942Y13175424D01* +G01X14273966Y13278294D02* +G01X14273966Y13181012D01* +G01X14279554Y13163994D01* +G01X14290984Y13158152D01* +G01X14302414Y13158152D01* +G01X14256694Y13238162D02* +G01X14296826Y13238162D01* +G01X14350166Y13203872D02* +G01X14418746Y13203872D01* +G01X14418746Y13215302D01* +G01X14413158Y13226732D01* +G01X14407316Y13232574D01* +G01X14395886Y13238162D01* +G01X14378868Y13238162D01* +G01X14367438Y13232574D01* +G01X14356008Y13221144D01* +G01X14350166Y13203872D01* +G01X14350166Y13192442D01* +G01X14356008Y13175424D01* +G01X14367438Y13163994D01* +G01X14378868Y13158152D01* +G01X14395886Y13158152D01* +G01X14407316Y13163994D01* +G01X14418746Y13175424D01* +G01X14535078Y13278294D02* +G01X14535078Y13158152D01* +G01X14535078Y13221144D02* +G01X14523648Y13232574D01* +G01X14512218Y13238162D01* +G01X14495200Y13238162D01* +G01X14483770Y13232574D01* +G01X14472340Y13221144D01* +G01X14466498Y13203872D01* +G01X14466498Y13192442D01* +G01X14472340Y13175424D01* +G01X14483770Y13163994D01* +G01X14495200Y13158152D01* +G01X14512218Y13158152D01* +G01X14523648Y13163994D01* +G01X14535078Y13175424D01* +G01X15506266Y13261022D02* +G01X15494836Y13272452D01* +G01X15477818Y13278294D01* +G01X15454958Y13278294D01* +G01X15437686Y13272452D01* +G01X15426256Y13261022D01* +G01X15426256Y13249592D01* +G01X15432098Y13238162D01* +G01X15437686Y13232574D01* +G01X15449116Y13226732D01* +G01X15483406Y13215302D01* +G01X15494836Y13209714D01* +G01X15500678Y13203872D01* +G01X15506266Y13192442D01* +G01X15506266Y13175424D01* +G01X15494836Y13163994D01* +G01X15477818Y13158152D01* +G01X15454958Y13158152D01* +G01X15437686Y13163994D01* +G01X15426256Y13175424D01* +G01X15554018Y13278294D02* +G01X15554018Y13158152D01* +G01X15554018Y13215302D02* +G01X15571290Y13232574D01* +G01X15582720Y13238162D01* +G01X15599738Y13238162D01* +G01X15611168Y13232574D01* +G01X15617010Y13215302D01* +G01X15617010Y13158152D01* +G01X15733342Y13238162D02* +G01X15733342Y13158152D01* +G01X15733342Y13221144D02* +G01X15721912Y13232574D01* +G01X15710482Y13238162D01* +G01X15693464Y13238162D01* +G01X15682034Y13232574D01* +G01X15670604Y13221144D01* +G01X15664762Y13203872D01* +G01X15664762Y13192442D01* +G01X15670604Y13175424D01* +G01X15682034Y13163994D01* +G01X15693464Y13158152D01* +G01X15710482Y13158152D01* +G01X15721912Y13163994D01* +G01X15733342Y13175424D01* +G01X15781094Y13238162D02* +G01X15781094Y13118274D01* +G01X15781094Y13221144D02* +G01X15792524Y13232574D01* +G01X15803954Y13238162D01* +G01X15821226Y13238162D01* +G01X15832656Y13232574D01* +G01X15844086Y13221144D01* +G01X15849674Y13203872D01* +G01X15849674Y13192442D01* +G01X15844086Y13175424D01* +G01X15832656Y13163994D01* +G01X15821226Y13158152D01* +G01X15803954Y13158152D01* +G01X15792524Y13163994D01* +G01X15781094Y13175424D01* +G01X15897426Y13203872D02* +G01X15966006Y13203872D01* +G01X15966006Y13215302D01* +G01X15960418Y13226732D01* +G01X15954576Y13232574D01* +G01X15943146Y13238162D01* +G01X15926128Y13238162D01* +G01X15914698Y13232574D01* +G01X15903268Y13221144D01* +G01X15897426Y13203872D01* +G01X15897426Y13192442D01* +G01X15903268Y13175424D01* +G01X15914698Y13163994D01* +G01X15926128Y13158152D01* +G01X15943146Y13158152D01* +G01X15954576Y13163994D01* +G01X15966006Y13175424D01* +G01X16857437Y13278294D02* +G01X16903157Y13158152D01* +G01X16948877Y13278294D02* +G01X16903157Y13158152D01* +G01X16996629Y13278294D02* +G01X17002471Y13272452D01* +G01X17008059Y13278294D01* +G01X17002471Y13283882D01* +G01X16996629Y13278294D01* +G01X17002471Y13238162D02* +G01X17002471Y13158152D01* +G01X17124391Y13238162D02* +G01X17124391Y13158152D01* +G01X17124391Y13221144D02* +G01X17112961Y13232574D01* +G01X17101531Y13238162D01* +G01X17084513Y13238162D01* +G01X17073083Y13232574D01* +G01X17061653Y13221144D01* +G01X17055811Y13203872D01* +G01X17055811Y13192442D01* +G01X17061653Y13175424D01* +G01X17073083Y13163994D01* +G01X17084513Y13158152D01* +G01X17101531Y13158152D01* +G01X17112961Y13163994D01* +G01X17124391Y13175424D01* +G01X17275013Y13301154D02* +G01X17172143Y13118274D01* +G01X17322765Y13278294D02* +G01X17322765Y13158152D01* +G01X17322765Y13278294D02* +G01X17374327Y13278294D01* +G01X17391345Y13272452D01* +G01X17397187Y13266864D01* +G01X17402775Y13255434D01* +G01X17402775Y13238162D01* +G01X17397187Y13226732D01* +G01X17391345Y13221144D01* +G01X17374327Y13215302D01* +G01X17322765Y13215302D01* +G01X17519107Y13238162D02* +G01X17519107Y13158152D01* +G01X17519107Y13221144D02* +G01X17507677Y13232574D01* +G01X17496247Y13238162D01* +G01X17479229Y13238162D01* +G01X17467799Y13232574D01* +G01X17456369Y13221144D01* +G01X17450527Y13203872D01* +G01X17450527Y13192442D01* +G01X17456369Y13175424D01* +G01X17467799Y13163994D01* +G01X17479229Y13158152D01* +G01X17496247Y13158152D01* +G01X17507677Y13163994D01* +G01X17519107Y13175424D01* +G01X17635439Y13278294D02* +G01X17635439Y13158152D01* +G01X17635439Y13221144D02* +G01X17624009Y13232574D01* +G01X17612579Y13238162D01* +G01X17595561Y13238162D01* +G01X17584131Y13232574D01* +G01X17572701Y13221144D01* +G01X17566859Y13203872D01* +G01X17566859Y13192442D01* +G01X17572701Y13175424D01* +G01X17584131Y13163994D01* +G01X17595561Y13158152D01* +G01X17612579Y13158152D01* +G01X17624009Y13163994D01* +G01X17635439Y13175424D01* +G01X18526616Y13278294D02* +G01X18526616Y13158152D01* +G01X18526616Y13278294D02* +G01X18578178Y13278294D01* +G01X18595196Y13272452D01* +G01X18601038Y13266864D01* +G01X18606626Y13255434D01* +G01X18606626Y13238162D01* +G01X18601038Y13226732D01* +G01X18595196Y13221144D01* +G01X18578178Y13215302D01* +G01X18526616Y13215302D01* +G01X18722958Y13238162D02* +G01X18722958Y13158152D01* +G01X18722958Y13221144D02* +G01X18711528Y13232574D01* +G01X18700098Y13238162D01* +G01X18683080Y13238162D01* +G01X18671650Y13232574D01* +G01X18660220Y13221144D01* +G01X18654378Y13203872D01* +G01X18654378Y13192442D01* +G01X18660220Y13175424D01* +G01X18671650Y13163994D01* +G01X18683080Y13158152D01* +G01X18700098Y13158152D01* +G01X18711528Y13163994D01* +G01X18722958Y13175424D01* +G01X18839290Y13278294D02* +G01X18839290Y13158152D01* +G01X18839290Y13221144D02* +G01X18827860Y13232574D01* +G01X18816430Y13238162D01* +G01X18799412Y13238162D01* +G01X18787982Y13232574D01* +G01X18776552Y13221144D01* +G01X18770710Y13203872D01* +G01X18770710Y13192442D01* +G01X18776552Y13175424D01* +G01X18787982Y13163994D01* +G01X18799412Y13158152D01* +G01X18816430Y13158152D01* +G01X18827860Y13163994D01* +G01X18839290Y13175424D01* +G01X19095068Y13261022D02* +G01X19083638Y13272452D01* +G01X19066620Y13278294D01* +G01X19043760Y13278294D01* +G01X19026488Y13272452D01* +G01X19015058Y13261022D01* +G01X19015058Y13249592D01* +G01X19020900Y13238162D01* +G01X19026488Y13232574D01* +G01X19037918Y13226732D01* +G01X19072208Y13215302D01* +G01X19083638Y13209714D01* +G01X19089480Y13203872D01* +G01X19095068Y13192442D01* +G01X19095068Y13175424D01* +G01X19083638Y13163994D01* +G01X19066620Y13158152D01* +G01X19043760Y13158152D01* +G01X19026488Y13163994D01* +G01X19015058Y13175424D01* +G01X19142820Y13278294D02* +G01X19142820Y13158152D01* +G01X19142820Y13215302D02* +G01X19160092Y13232574D01* +G01X19171522Y13238162D01* +G01X19188540Y13238162D01* +G01X19199970Y13232574D01* +G01X19205812Y13215302D01* +G01X19205812Y13158152D01* +G01X19322144Y13238162D02* +G01X19322144Y13158152D01* +G01X19322144Y13221144D02* +G01X19310714Y13232574D01* +G01X19299284Y13238162D01* +G01X19282266Y13238162D01* +G01X19270836Y13232574D01* +G01X19259406Y13221144D01* +G01X19253564Y13203872D01* +G01X19253564Y13192442D01* +G01X19259406Y13175424D01* +G01X19270836Y13163994D01* +G01X19282266Y13158152D01* +G01X19299284Y13158152D01* +G01X19310714Y13163994D01* +G01X19322144Y13175424D01* +G01X19369896Y13238162D02* +G01X19369896Y13118274D01* +G01X19369896Y13221144D02* +G01X19381326Y13232574D01* +G01X19392756Y13238162D01* +G01X19410028Y13238162D01* +G01X19421458Y13232574D01* +G01X19432888Y13221144D01* +G01X19438476Y13203872D01* +G01X19438476Y13192442D01* +G01X19432888Y13175424D01* +G01X19421458Y13163994D01* +G01X19410028Y13158152D01* +G01X19392756Y13158152D01* +G01X19381326Y13163994D01* +G01X19369896Y13175424D01* +G01X19486228Y13203872D02* +G01X19554808Y13203872D01* +G01X19554808Y13215302D01* +G01X19549220Y13226732D01* +G01X19543378Y13232574D01* +G01X19531948Y13238162D01* +G01X19514930Y13238162D01* +G01X19503500Y13232574D01* +G01X19492070Y13221144D01* +G01X19486228Y13203872D01* +G01X19486228Y13192442D01* +G01X19492070Y13175424D01* +G01X19503500Y13163994D01* +G01X19514930Y13158152D01* +G01X19531948Y13158152D01* +G01X19543378Y13163994D01* +G01X19554808Y13175424D01* +G01X20445985Y13278294D02* +G01X20445985Y13158152D01* +G01X20445985Y13158152D02* +G01X20514565Y13158152D01* +G01X20630897Y13238162D02* +G01X20630897Y13158152D01* +G01X20630897Y13221144D02* +G01X20619467Y13232574D01* +G01X20608037Y13238162D01* +G01X20591019Y13238162D01* +G01X20579589Y13232574D01* +G01X20568159Y13221144D01* +G01X20562317Y13203872D01* +G01X20562317Y13192442D01* +G01X20568159Y13175424D01* +G01X20579589Y13163994D01* +G01X20591019Y13158152D01* +G01X20608037Y13158152D01* +G01X20619467Y13163994D01* +G01X20630897Y13175424D01* +G01X20684491Y13238162D02* +G01X20718781Y13158152D01* +G01X20753071Y13238162D02* +G01X20718781Y13158152D01* +G01X20707351Y13135292D01* +G01X20695921Y13123862D01* +G01X20684491Y13118274D01* +G01X20678649Y13118274D01* +G01X20800823Y13203872D02* +G01X20869403Y13203872D01* +G01X20869403Y13215302D01* +G01X20863815Y13226732D01* +G01X20857973Y13232574D01* +G01X20846543Y13238162D01* +G01X20829525Y13238162D01* +G01X20818095Y13232574D01* +G01X20806665Y13221144D01* +G01X20800823Y13203872D01* +G01X20800823Y13192442D01* +G01X20806665Y13175424D01* +G01X20818095Y13163994D01* +G01X20829525Y13158152D01* +G01X20846543Y13158152D01* +G01X20857973Y13163994D01* +G01X20869403Y13175424D01* +G01X20917155Y13238162D02* +G01X20917155Y13158152D01* +G01X20917155Y13203872D02* +G01X20922997Y13221144D01* +G01X20934427Y13232574D01* +G01X20945857Y13238162D01* +G01X20962875Y13238162D01* +G01X21138643Y13278294D02* +G01X21138643Y13158152D01* +G01X21138643Y13278294D02* +G01X21190205Y13278294D01* +G01X21207223Y13272452D01* +G01X21213065Y13266864D01* +G01X21218653Y13255434D01* +G01X21218653Y13238162D01* +G01X21213065Y13226732D01* +G01X21207223Y13221144D01* +G01X21190205Y13215302D01* +G01X21138643Y13215302D01* +G01X21334985Y13238162D02* +G01X21334985Y13158152D01* +G01X21334985Y13221144D02* +G01X21323555Y13232574D01* +G01X21312125Y13238162D01* +G01X21295107Y13238162D01* +G01X21283677Y13232574D01* +G01X21272247Y13221144D01* +G01X21266405Y13203872D01* +G01X21266405Y13192442D01* +G01X21272247Y13175424D01* +G01X21283677Y13163994D01* +G01X21295107Y13158152D01* +G01X21312125Y13158152D01* +G01X21323555Y13163994D01* +G01X21334985Y13175424D01* +G01X21382737Y13278294D02* +G01X21388579Y13272452D01* +G01X21394167Y13278294D01* +G01X21388579Y13283882D01* +G01X21382737Y13278294D01* +G01X21388579Y13238162D02* +G01X21388579Y13158152D01* +G01X21441919Y13238162D02* +G01X21441919Y13158152D01* +G01X21441919Y13203872D02* +G01X21447761Y13221144D01* +G01X21459191Y13232574D01* +G01X21470621Y13238162D01* +G01X21487639Y13238162D01* +G01X8685422Y12669021D02* +G01X8685422Y12674863D01* +G01X8691010Y12686293D01* +G01X8696852Y12691881D01* +G01X8708282Y12697723D01* +G01X8731142Y12697723D01* +G01X8742572Y12691881D01* +G01X8748160Y12686293D01* +G01X8754002Y12674863D01* +G01X8754002Y12663433D01* +G01X8748160Y12652003D01* +G01X8736730Y12634731D01* +G01X8679580Y12577581D01* +G01X8759590Y12577581D01* +G01X10105173Y12697723D02* +G01X10168165Y12697723D01* +G01X10133875Y12652003D01* +G01X10150893Y12652003D01* +G01X10162323Y12646161D01* +G01X10168165Y12640573D01* +G01X10173753Y12623301D01* +G01X10173753Y12611871D01* +G01X10168165Y12594853D01* +G01X10156735Y12583423D01* +G01X10139463Y12577581D01* +G01X10122445Y12577581D01* +G01X10105173Y12583423D01* +G01X10099585Y12589011D01* +G01X10093743Y12600441D01* +G01X10250207Y12697723D02* +G01X10232935Y12691881D01* +G01X10227347Y12680451D01* +G01X10227347Y12669021D01* +G01X10232935Y12657591D01* +G01X10244365Y12652003D01* +G01X10267225Y12646161D01* +G01X10284497Y12640573D01* +G01X10295927Y12629143D01* +G01X10301515Y12617713D01* +G01X10301515Y12600441D01* +G01X10295927Y12589011D01* +G01X10290085Y12583423D01* +G01X10273067Y12577581D01* +G01X10250207Y12577581D01* +G01X10232935Y12583423D01* +G01X10227347Y12589011D01* +G01X10221505Y12600441D01* +G01X10221505Y12617713D01* +G01X10227347Y12629143D01* +G01X10238777Y12640573D01* +G01X10255795Y12646161D01* +G01X10278655Y12652003D01* +G01X10290085Y12657591D01* +G01X10295927Y12669021D01* +G01X10295927Y12680451D01* +G01X10290085Y12691881D01* +G01X10273067Y12697723D01* +G01X10250207Y12697723D01* +G01X10355109Y12606283D02* +G01X10349267Y12600441D01* +G01X10355109Y12594853D01* +G01X10360697Y12600441D01* +G01X10355109Y12606283D01* +G01X10442739Y12697723D02* +G01X10425721Y12691881D01* +G01X10414291Y12674863D01* +G01X10408449Y12646161D01* +G01X10408449Y12629143D01* +G01X10414291Y12600441D01* +G01X10425721Y12583423D01* +G01X10442739Y12577581D01* +G01X10454169Y12577581D01* +G01X10471441Y12583423D01* +G01X10482871Y12600441D01* +G01X10488459Y12629143D01* +G01X10488459Y12646161D01* +G01X10482871Y12674863D01* +G01X10471441Y12691881D01* +G01X10454169Y12697723D01* +G01X10442739Y12697723D01* +G01X10536211Y12657591D02* +G01X10599203Y12577581D01* +G01X10599203Y12657591D02* +G01X10536211Y12577581D01* +G01X10658385Y12697723D02* +G01X10721377Y12697723D01* +G01X10687087Y12652003D01* +G01X10704105Y12652003D01* +G01X10715535Y12646161D01* +G01X10721377Y12640573D01* +G01X10726965Y12623301D01* +G01X10726965Y12611871D01* +G01X10721377Y12594853D01* +G01X10709947Y12583423D01* +G01X10692675Y12577581D01* +G01X10675657Y12577581D01* +G01X10658385Y12583423D01* +G01X10652797Y12589011D01* +G01X10646955Y12600441D01* +G01X10803419Y12697723D02* +G01X10786147Y12691881D01* +G01X10780559Y12680451D01* +G01X10780559Y12669021D01* +G01X10786147Y12657591D01* +G01X10797577Y12652003D01* +G01X10820437Y12646161D01* +G01X10837709Y12640573D01* +G01X10849139Y12629143D01* +G01X10854727Y12617713D01* +G01X10854727Y12600441D01* +G01X10849139Y12589011D01* +G01X10843297Y12583423D01* +G01X10826279Y12577581D01* +G01X10803419Y12577581D01* +G01X10786147Y12583423D01* +G01X10780559Y12589011D01* +G01X10774717Y12600441D01* +G01X10774717Y12617713D01* +G01X10780559Y12629143D01* +G01X10791989Y12640573D01* +G01X10809007Y12646161D01* +G01X10831867Y12652003D01* +G01X10843297Y12657591D01* +G01X10849139Y12669021D01* +G01X10849139Y12680451D01* +G01X10843297Y12691881D01* +G01X10826279Y12697723D01* +G01X10803419Y12697723D01* +G01X10908321Y12606283D02* +G01X10902479Y12600441D01* +G01X10908321Y12594853D01* +G01X10913909Y12600441D01* +G01X10908321Y12606283D01* +G01X10995951Y12697723D02* +G01X10978933Y12691881D01* +G01X10967503Y12674863D01* +G01X10961661Y12646161D01* +G01X10961661Y12629143D01* +G01X10967503Y12600441D01* +G01X10978933Y12583423D01* +G01X10995951Y12577581D01* +G01X11007381Y12577581D01* +G01X11024653Y12583423D01* +G01X11036083Y12600441D01* +G01X11041671Y12629143D01* +G01X11041671Y12646161D01* +G01X11036083Y12674863D01* +G01X11024653Y12691881D01* +G01X11007381Y12697723D01* +G01X10995951Y12697723D01* +G01X11089423Y12657591D02* +G01X11089423Y12577581D01* +G01X11089423Y12634731D02* +G01X11106695Y12652003D01* +G01X11118125Y12657591D01* +G01X11135143Y12657591D01* +G01X11146573Y12652003D01* +G01X11152415Y12634731D01* +G01X11152415Y12577581D01* +G01X11152415Y12634731D02* +G01X11169433Y12652003D01* +G01X11180863Y12657591D01* +G01X11198135Y12657591D01* +G01X11209565Y12652003D01* +G01X11215153Y12634731D01* +G01X11215153Y12577581D01* +G01X11262905Y12697723D02* +G01X11268747Y12691881D01* +G01X11274335Y12697723D01* +G01X11268747Y12703311D01* +G01X11262905Y12697723D01* +G01X11268747Y12657591D02* +G01X11268747Y12577581D01* +G01X11322087Y12697723D02* +G01X11322087Y12577581D01* +G01X11409971Y12720583D02* +G01X11398541Y12709153D01* +G01X11387111Y12691881D01* +G01X11375681Y12669021D01* +G01X11369839Y12640573D01* +G01X11369839Y12617713D01* +G01X11375681Y12589011D01* +G01X11387111Y12566151D01* +G01X11398541Y12549133D01* +G01X11409971Y12537703D01* +G01X11492013Y12697723D02* +G01X11474995Y12691881D01* +G01X11463565Y12674863D01* +G01X11457723Y12646161D01* +G01X11457723Y12629143D01* +G01X11463565Y12600441D01* +G01X11474995Y12583423D01* +G01X11492013Y12577581D01* +G01X11503443Y12577581D01* +G01X11520715Y12583423D01* +G01X11532145Y12600441D01* +G01X11537733Y12629143D01* +G01X11537733Y12646161D01* +G01X11532145Y12674863D01* +G01X11520715Y12691881D01* +G01X11503443Y12697723D01* +G01X11492013Y12697723D01* +G01X11591327Y12606283D02* +G01X11585485Y12600441D01* +G01X11591327Y12594853D01* +G01X11596915Y12600441D01* +G01X11591327Y12606283D01* +G01X11719089Y12657591D02* +G01X11713247Y12640573D01* +G01X11701817Y12629143D01* +G01X11684799Y12623301D01* +G01X11678957Y12623301D01* +G01X11661939Y12629143D01* +G01X11650509Y12640573D01* +G01X11644667Y12657591D01* +G01X11644667Y12663433D01* +G01X11650509Y12680451D01* +G01X11661939Y12691881D01* +G01X11678957Y12697723D01* +G01X11684799Y12697723D01* +G01X11701817Y12691881D01* +G01X11713247Y12680451D01* +G01X11719089Y12657591D01* +G01X11719089Y12629143D01* +G01X11713247Y12600441D01* +G01X11701817Y12583423D01* +G01X11684799Y12577581D01* +G01X11673369Y12577581D01* +G01X11656097Y12583423D01* +G01X11650509Y12594853D01* +G01X11835421Y12680451D02* +G01X11829833Y12691881D01* +G01X11812561Y12697723D01* +G01X11801131Y12697723D01* +G01X11784113Y12691881D01* +G01X11772683Y12674863D01* +G01X11766841Y12646161D01* +G01X11766841Y12617713D01* +G01X11772683Y12594853D01* +G01X11784113Y12583423D01* +G01X11801131Y12577581D01* +G01X11806973Y12577581D01* +G01X11823991Y12583423D01* +G01X11835421Y12594853D01* +G01X11841263Y12611871D01* +G01X11841263Y12617713D01* +G01X11835421Y12634731D01* +G01X11823991Y12646161D01* +G01X11806973Y12652003D01* +G01X11801131Y12652003D01* +G01X11784113Y12646161D01* +G01X11772683Y12634731D01* +G01X11766841Y12617713D01* +G01X11957595Y12697723D02* +G01X11900445Y12697723D01* +G01X11894857Y12646161D01* +G01X11900445Y12652003D01* +G01X11917717Y12657591D01* +G01X11934735Y12657591D01* +G01X11952007Y12652003D01* +G01X11963437Y12640573D01* +G01X11969025Y12623301D01* +G01X11969025Y12611871D01* +G01X11963437Y12594853D01* +G01X11952007Y12583423D01* +G01X11934735Y12577581D01* +G01X11917717Y12577581D01* +G01X11900445Y12583423D01* +G01X11894857Y12589011D01* +G01X11889015Y12600441D01* +G01X12016777Y12657591D02* +G01X12079769Y12577581D01* +G01X12079769Y12657591D02* +G01X12016777Y12577581D01* +G01X12161811Y12697723D02* +G01X12144793Y12691881D01* +G01X12133363Y12674863D01* +G01X12127521Y12646161D01* +G01X12127521Y12629143D01* +G01X12133363Y12600441D01* +G01X12144793Y12583423D01* +G01X12161811Y12577581D01* +G01X12173241Y12577581D01* +G01X12190513Y12583423D01* +G01X12201943Y12600441D01* +G01X12207531Y12629143D01* +G01X12207531Y12646161D01* +G01X12201943Y12674863D01* +G01X12190513Y12691881D01* +G01X12173241Y12697723D01* +G01X12161811Y12697723D01* +G01X12261125Y12606283D02* +G01X12255283Y12600441D01* +G01X12261125Y12594853D01* +G01X12266713Y12600441D01* +G01X12261125Y12606283D01* +G01X12388887Y12657591D02* +G01X12383045Y12640573D01* +G01X12371615Y12629143D01* +G01X12354597Y12623301D01* +G01X12348755Y12623301D01* +G01X12331737Y12629143D01* +G01X12320307Y12640573D01* +G01X12314465Y12657591D01* +G01X12314465Y12663433D01* +G01X12320307Y12680451D01* +G01X12331737Y12691881D01* +G01X12348755Y12697723D01* +G01X12354597Y12697723D01* +G01X12371615Y12691881D01* +G01X12383045Y12680451D01* +G01X12388887Y12657591D01* +G01X12388887Y12629143D01* +G01X12383045Y12600441D01* +G01X12371615Y12583423D01* +G01X12354597Y12577581D01* +G01X12343167Y12577581D01* +G01X12325895Y12583423D01* +G01X12320307Y12594853D01* +G01X12505219Y12680451D02* +G01X12499631Y12691881D01* +G01X12482359Y12697723D01* +G01X12470929Y12697723D01* +G01X12453911Y12691881D01* +G01X12442481Y12674863D01* +G01X12436639Y12646161D01* +G01X12436639Y12617713D01* +G01X12442481Y12594853D01* +G01X12453911Y12583423D01* +G01X12470929Y12577581D01* +G01X12476771Y12577581D01* +G01X12493789Y12583423D01* +G01X12505219Y12594853D01* +G01X12511061Y12611871D01* +G01X12511061Y12617713D01* +G01X12505219Y12634731D01* +G01X12493789Y12646161D01* +G01X12476771Y12652003D01* +G01X12470929Y12652003D01* +G01X12453911Y12646161D01* +G01X12442481Y12634731D01* +G01X12436639Y12617713D01* +G01X12627393Y12697723D02* +G01X12570243Y12697723D01* +G01X12564655Y12646161D01* +G01X12570243Y12652003D01* +G01X12587515Y12657591D01* +G01X12604533Y12657591D01* +G01X12621805Y12652003D01* +G01X12633235Y12640573D01* +G01X12638823Y12623301D01* +G01X12638823Y12611871D01* +G01X12633235Y12594853D01* +G01X12621805Y12583423D01* +G01X12604533Y12577581D01* +G01X12587515Y12577581D01* +G01X12570243Y12583423D01* +G01X12564655Y12589011D01* +G01X12558813Y12600441D01* +G01X12686575Y12657591D02* +G01X12686575Y12577581D01* +G01X12686575Y12634731D02* +G01X12703847Y12652003D01* +G01X12715277Y12657591D01* +G01X12732295Y12657591D01* +G01X12743725Y12652003D01* +G01X12749567Y12634731D01* +G01X12749567Y12577581D01* +G01X12749567Y12634731D02* +G01X12766585Y12652003D01* +G01X12778015Y12657591D01* +G01X12795287Y12657591D01* +G01X12806717Y12652003D01* +G01X12812305Y12634731D01* +G01X12812305Y12577581D01* +G01X12860057Y12657591D02* +G01X12860057Y12577581D01* +G01X12860057Y12634731D02* +G01X12877329Y12652003D01* +G01X12888759Y12657591D01* +G01X12905777Y12657591D01* +G01X12917207Y12652003D01* +G01X12923049Y12634731D01* +G01X12923049Y12577581D01* +G01X12923049Y12634731D02* +G01X12940067Y12652003D01* +G01X12951497Y12657591D01* +G01X12968769Y12657591D01* +G01X12980199Y12652003D01* +G01X12985787Y12634731D01* +G01X12985787Y12577581D01* +G01X13033539Y12720583D02* +G01X13044969Y12709153D01* +G01X13056399Y12691881D01* +G01X13067829Y12669021D01* +G01X13073671Y12640573D01* +G01X13073671Y12617713D01* +G01X13067829Y12589011D01* +G01X13056399Y12566151D01* +G01X13044969Y12549133D01* +G01X13033539Y12537703D01* +G01X13964848Y12697723D02* +G01X13964848Y12577581D01* +G01X13964848Y12697723D02* +G01X14016410Y12697723D01* +G01X14033428Y12691881D01* +G01X14039270Y12686293D01* +G01X14044858Y12674863D01* +G01X14044858Y12657591D01* +G01X14039270Y12646161D01* +G01X14033428Y12640573D01* +G01X14016410Y12634731D01* +G01X13964848Y12634731D01* +G01X14132742Y12697723D02* +G01X14132742Y12577581D01* +G01X14092610Y12697723D02* +G01X14172620Y12697723D01* +G01X14220372Y12697723D02* +G01X14220372Y12577581D01* +G01X14300382Y12697723D02* +G01X14300382Y12577581D01* +G01X14220372Y12640573D02* +G01X14300382Y12640573D01* +G01X15426256Y12697723D02* +G01X15426256Y12577581D01* +G01X15426256Y12697723D02* +G01X15477818Y12697723D01* +G01X15494836Y12691881D01* +G01X15500678Y12686293D01* +G01X15506266Y12674863D01* +G01X15506266Y12663433D01* +G01X15500678Y12652003D01* +G01X15494836Y12646161D01* +G01X15477818Y12640573D01* +G01X15426256Y12640573D01* +G01X15466388Y12640573D02* +G01X15506266Y12577581D01* +G01X15582720Y12657591D02* +G01X15571290Y12652003D01* +G01X15559860Y12640573D01* +G01X15554018Y12623301D01* +G01X15554018Y12611871D01* +G01X15559860Y12594853D01* +G01X15571290Y12583423D01* +G01X15582720Y12577581D01* +G01X15599738Y12577581D01* +G01X15611168Y12583423D01* +G01X15622598Y12594853D01* +G01X15628440Y12611871D01* +G01X15628440Y12623301D01* +G01X15622598Y12640573D01* +G01X15611168Y12652003D01* +G01X15599738Y12657591D01* +G01X15582720Y12657591D01* +G01X15676192Y12657591D02* +G01X15676192Y12600441D01* +G01X15682034Y12583423D01* +G01X15693464Y12577581D01* +G01X15710482Y12577581D01* +G01X15721912Y12583423D01* +G01X15739184Y12600441D01* +G01X15739184Y12657591D02* +G01X15739184Y12577581D01* +G01X15786936Y12657591D02* +G01X15786936Y12577581D01* +G01X15786936Y12634731D02* +G01X15804208Y12652003D01* +G01X15815638Y12657591D01* +G01X15832656Y12657591D01* +G01X15844086Y12652003D01* +G01X15849928Y12634731D01* +G01X15849928Y12577581D01* +G01X15966260Y12697723D02* +G01X15966260Y12577581D01* +G01X15966260Y12640573D02* +G01X15954830Y12652003D01* +G01X15943400Y12657591D01* +G01X15926382Y12657591D01* +G01X15914952Y12652003D01* +G01X15903522Y12640573D01* +G01X15897680Y12623301D01* +G01X15897680Y12611871D01* +G01X15903522Y12594853D01* +G01X15914952Y12583423D01* +G01X15926382Y12577581D01* +G01X15943400Y12577581D01* +G01X15954830Y12583423D01* +G01X15966260Y12594853D01* +G01X16857437Y12697723D02* +G01X16857437Y12577581D01* +G01X16857437Y12697723D02* +G01X16908999Y12697723D01* +G01X16926017Y12691881D01* +G01X16931859Y12686293D01* +G01X16937447Y12674863D01* +G01X16937447Y12657591D01* +G01X16931859Y12646161D01* +G01X16926017Y12640573D01* +G01X16908999Y12634731D01* +G01X16857437Y12634731D01* +G01X17053779Y12657591D02* +G01X17053779Y12577581D01* +G01X17053779Y12640573D02* +G01X17042349Y12652003D01* +G01X17030919Y12657591D01* +G01X17013901Y12657591D01* +G01X17002471Y12652003D01* +G01X16991041Y12640573D01* +G01X16985199Y12623301D01* +G01X16985199Y12611871D01* +G01X16991041Y12594853D01* +G01X17002471Y12583423D01* +G01X17013901Y12577581D01* +G01X17030919Y12577581D01* +G01X17042349Y12583423D01* +G01X17053779Y12594853D01* +G01X17170111Y12697723D02* +G01X17170111Y12577581D01* +G01X17170111Y12640573D02* +G01X17158681Y12652003D01* +G01X17147251Y12657591D01* +G01X17130233Y12657591D01* +G01X17118803Y12652003D01* +G01X17107373Y12640573D01* +G01X17101531Y12623301D01* +G01X17101531Y12611871D01* +G01X17107373Y12594853D01* +G01X17118803Y12583423D01* +G01X17130233Y12577581D01* +G01X17147251Y12577581D01* +G01X17158681Y12583423D01* +G01X17170111Y12594853D01* +G01X18566748Y12720583D02* +G01X18555318Y12709153D01* +G01X18543888Y12691881D01* +G01X18532458Y12669021D01* +G01X18526616Y12640573D01* +G01X18526616Y12617713D01* +G01X18532458Y12589011D01* +G01X18543888Y12566151D01* +G01X18555318Y12549133D01* +G01X18566748Y12537703D01* +G01X18614500Y12697723D02* +G01X18614500Y12577581D01* +G01X18614500Y12697723D02* +G01X18660220Y12577581D01* +G01X18705940Y12697723D02* +G01X18660220Y12577581D01* +G01X18705940Y12697723D02* +G01X18705940Y12577581D01* +G01X18753692Y12697723D02* +G01X18759534Y12691881D01* +G01X18765122Y12697723D01* +G01X18759534Y12703311D01* +G01X18753692Y12697723D01* +G01X18759534Y12657591D02* +G01X18759534Y12577581D01* +G01X18812874Y12657591D02* +G01X18875866Y12577581D01* +G01X18875866Y12657591D02* +G01X18812874Y12577581D01* +G01X18923618Y12623301D02* +G01X18992198Y12623301D01* +G01X18992198Y12634731D01* +G01X18986610Y12646161D01* +G01X18980768Y12652003D01* +G01X18969338Y12657591D01* +G01X18952320Y12657591D01* +G01X18940890Y12652003D01* +G01X18929460Y12640573D01* +G01X18923618Y12623301D01* +G01X18923618Y12611871D01* +G01X18929460Y12594853D01* +G01X18940890Y12583423D01* +G01X18952320Y12577581D01* +G01X18969338Y12577581D01* +G01X18980768Y12583423D01* +G01X18992198Y12594853D01* +G01X19108530Y12697723D02* +G01X19108530Y12577581D01* +G01X19108530Y12640573D02* +G01X19097100Y12652003D01* +G01X19085670Y12657591D01* +G01X19068652Y12657591D01* +G01X19057222Y12652003D01* +G01X19045792Y12640573D01* +G01X19039950Y12623301D01* +G01X19039950Y12611871D01* +G01X19045792Y12594853D01* +G01X19057222Y12583423D01* +G01X19068652Y12577581D01* +G01X19085670Y12577581D01* +G01X19097100Y12583423D01* +G01X19108530Y12594853D01* +G01X19156282Y12720583D02* +G01X19167712Y12709153D01* +G01X19179142Y12691881D01* +G01X19190572Y12669021D01* +G01X19196414Y12640573D01* +G01X19196414Y12617713D01* +G01X19190572Y12589011D01* +G01X19179142Y12566151D01* +G01X19167712Y12549133D01* +G01X19156282Y12537703D01* +G01X20486117Y12697723D02* +G01X20486117Y12577581D01* +G01X20445985Y12697723D02* +G01X20525995Y12697723D01* +G01X20602449Y12657591D02* +G01X20591019Y12652003D01* +G01X20579589Y12640573D01* +G01X20573747Y12623301D01* +G01X20573747Y12611871D01* +G01X20579589Y12594853D01* +G01X20591019Y12583423D01* +G01X20602449Y12577581D01* +G01X20619467Y12577581D01* +G01X20630897Y12583423D01* +G01X20642327Y12594853D01* +G01X20648169Y12611871D01* +G01X20648169Y12623301D01* +G01X20642327Y12640573D01* +G01X20630897Y12652003D01* +G01X20619467Y12657591D01* +G01X20602449Y12657591D01* +G01X20695921Y12657591D02* +G01X20695921Y12537703D01* +G01X20695921Y12640573D02* +G01X20707351Y12652003D01* +G01X20718781Y12657591D01* +G01X20736053Y12657591D01* +G01X20747483Y12652003D01* +G01X20758913Y12640573D01* +G01X20764501Y12623301D01* +G01X20764501Y12611871D01* +G01X20758913Y12594853D01* +G01X20747483Y12583423D01* +G01X20736053Y12577581D01* +G01X20718781Y12577581D01* +G01X20707351Y12583423D01* +G01X20695921Y12594853D01* +G01X20940269Y12697723D02* +G01X20940269Y12577581D01* +G01X20940269Y12577581D02* +G01X21008849Y12577581D01* +G01X21125181Y12657591D02* +G01X21125181Y12577581D01* +G01X21125181Y12640573D02* +G01X21113751Y12652003D01* +G01X21102321Y12657591D01* +G01X21085303Y12657591D01* +G01X21073873Y12652003D01* +G01X21062443Y12640573D01* +G01X21056601Y12623301D01* +G01X21056601Y12611871D01* +G01X21062443Y12594853D01* +G01X21073873Y12583423D01* +G01X21085303Y12577581D01* +G01X21102321Y12577581D01* +G01X21113751Y12583423D01* +G01X21125181Y12594853D01* +G01X21178775Y12657591D02* +G01X21213065Y12577581D01* +G01X21247355Y12657591D02* +G01X21213065Y12577581D01* +G01X21201635Y12554721D01* +G01X21190205Y12543291D01* +G01X21178775Y12537703D01* +G01X21172933Y12537703D01* +G01X21295107Y12623301D02* +G01X21363687Y12623301D01* +G01X21363687Y12634731D01* +G01X21358099Y12646161D01* +G01X21352257Y12652003D01* +G01X21340827Y12657591D01* +G01X21323809Y12657591D01* +G01X21312379Y12652003D01* +G01X21300949Y12640573D01* +G01X21295107Y12623301D01* +G01X21295107Y12611871D01* +G01X21300949Y12594853D01* +G01X21312379Y12583423D01* +G01X21323809Y12577581D01* +G01X21340827Y12577581D01* +G01X21352257Y12583423D01* +G01X21363687Y12594853D01* +G01X21411439Y12657591D02* +G01X21411439Y12577581D01* +G01X21411439Y12623301D02* +G01X21417281Y12640573D01* +G01X21428711Y12652003D01* +G01X21440141Y12657591D01* +G01X21457159Y12657591D01* +G01X21504911Y12629143D02* +G01X21607781Y12629143D01* +G01X21655533Y12697723D02* +G01X21655533Y12577581D01* +G01X21655533Y12697723D02* +G01X21707095Y12697723D01* +G01X21724113Y12691881D01* +G01X21729955Y12686293D01* +G01X21735543Y12674863D01* +G01X21735543Y12663433D01* +G01X21729955Y12652003D01* +G01X21724113Y12646161D01* +G01X21707095Y12640573D01* +G01X21655533Y12640573D02* +G01X21707095Y12640573D01* +G01X21724113Y12634731D01* +G01X21729955Y12629143D01* +G01X21735543Y12617713D01* +G01X21735543Y12600441D01* +G01X21729955Y12589011D01* +G01X21724113Y12583423D01* +G01X21707095Y12577581D01* +G01X21655533Y12577581D01* +G01X21811997Y12657591D02* +G01X21800567Y12652003D01* +G01X21789137Y12640573D01* +G01X21783295Y12623301D01* +G01X21783295Y12611871D01* +G01X21789137Y12594853D01* +G01X21800567Y12583423D01* +G01X21811997Y12577581D01* +G01X21829015Y12577581D01* +G01X21840445Y12583423D01* +G01X21851875Y12594853D01* +G01X21857717Y12611871D01* +G01X21857717Y12623301D01* +G01X21851875Y12640573D01* +G01X21840445Y12652003D01* +G01X21829015Y12657591D01* +G01X21811997Y12657591D01* +G01X21922741Y12697723D02* +G01X21922741Y12600441D01* +G01X21928329Y12583423D01* +G01X21939759Y12577581D01* +G01X21951189Y12577581D01* +G01X21905469Y12657591D02* +G01X21945601Y12657591D01* +G01X22016213Y12697723D02* +G01X22016213Y12600441D01* +G01X22021801Y12583423D01* +G01X22033231Y12577581D01* +G01X22044661Y12577581D01* +G01X21998941Y12657591D02* +G01X22039073Y12657591D01* +G01X22121115Y12657591D02* +G01X22109685Y12652003D01* +G01X22098255Y12640573D01* +G01X22092413Y12623301D01* +G01X22092413Y12611871D01* +G01X22098255Y12594853D01* +G01X22109685Y12583423D01* +G01X22121115Y12577581D01* +G01X22138133Y12577581D01* +G01X22149563Y12583423D01* +G01X22160993Y12594853D01* +G01X22166835Y12611871D01* +G01X22166835Y12623301D01* +G01X22160993Y12640573D01* +G01X22149563Y12652003D01* +G01X22138133Y12657591D01* +G01X22121115Y12657591D01* +G01X22214587Y12657591D02* +G01X22214587Y12577581D01* +G01X22214587Y12634731D02* +G01X22231859Y12652003D01* +G01X22243289Y12657591D01* +G01X22260307Y12657591D01* +G01X22271737Y12652003D01* +G01X22277579Y12634731D01* +G01X22277579Y12577581D01* +G01X22277579Y12634731D02* +G01X22294597Y12652003D01* +G01X22306027Y12657591D01* +G01X22323299Y12657591D01* +G01X22334729Y12652003D01* +G01X22340317Y12634731D01* +G01X22340317Y12577581D01* +G01X22516085Y12697723D02* +G01X22516085Y12577581D01* +G01X22516085Y12577581D02* +G01X22584665Y12577581D01* +G01X22700997Y12657591D02* +G01X22700997Y12577581D01* +G01X22700997Y12640573D02* +G01X22689567Y12652003D01* +G01X22678137Y12657591D01* +G01X22661119Y12657591D01* +G01X22649689Y12652003D01* +G01X22638259Y12640573D01* +G01X22632417Y12623301D01* +G01X22632417Y12611871D01* +G01X22638259Y12594853D01* +G01X22649689Y12583423D01* +G01X22661119Y12577581D01* +G01X22678137Y12577581D01* +G01X22689567Y12583423D01* +G01X22700997Y12594853D01* +G01X22754591Y12657591D02* +G01X22788881Y12577581D01* +G01X22823171Y12657591D02* +G01X22788881Y12577581D01* +G01X22777451Y12554721D01* +G01X22766021Y12543291D01* +G01X22754591Y12537703D01* +G01X22748749Y12537703D01* +G01X22870923Y12623301D02* +G01X22939503Y12623301D01* +G01X22939503Y12634731D01* +G01X22933915Y12646161D01* +G01X22928073Y12652003D01* +G01X22916643Y12657591D01* +G01X22899625Y12657591D01* +G01X22888195Y12652003D01* +G01X22876765Y12640573D01* +G01X22870923Y12623301D01* +G01X22870923Y12611871D01* +G01X22876765Y12594853D01* +G01X22888195Y12583423D01* +G01X22899625Y12577581D01* +G01X22916643Y12577581D01* +G01X22928073Y12583423D01* +G01X22939503Y12594853D01* +G01X22987255Y12657591D02* +G01X22987255Y12577581D01* +G01X22987255Y12623301D02* +G01X22993097Y12640573D01* +G01X23004527Y12652003D01* +G01X23015957Y12657591D01* +G01X23032975Y12657591D01* +G01X8736730Y12117151D02* +G01X8679580Y12037141D01* +G01X8765432Y12037141D01* +G01X8736730Y12117151D02* +G01X8736730Y11997009D01* +G01X8819026Y12088449D02* +G01X8819026Y12094291D01* +G01X8824614Y12105721D01* +G01X8830456Y12111309D01* +G01X8841886Y12117151D01* +G01X8864746Y12117151D01* +G01X8876176Y12111309D01* +G01X8881764Y12105721D01* +G01X8887606Y12094291D01* +G01X8887606Y12082861D01* +G01X8881764Y12071431D01* +G01X8870334Y12054159D01* +G01X8813184Y11997009D01* +G01X8893194Y11997009D01* +G01X10105173Y12117151D02* +G01X10168165Y12117151D01* +G01X10133875Y12071431D01* +G01X10150893Y12071431D01* +G01X10162323Y12065589D01* +G01X10168165Y12060001D01* +G01X10173753Y12042729D01* +G01X10173753Y12031299D01* +G01X10168165Y12014281D01* +G01X10156735Y12002851D01* +G01X10139463Y11997009D01* +G01X10122445Y11997009D01* +G01X10105173Y12002851D01* +G01X10099585Y12008439D01* +G01X10093743Y12019869D01* +G01X10295927Y12077019D02* +G01X10290085Y12060001D01* +G01X10278655Y12048571D01* +G01X10261637Y12042729D01* +G01X10255795Y12042729D01* +G01X10238777Y12048571D01* +G01X10227347Y12060001D01* +G01X10221505Y12077019D01* +G01X10221505Y12082861D01* +G01X10227347Y12099879D01* +G01X10238777Y12111309D01* +G01X10255795Y12117151D01* +G01X10261637Y12117151D01* +G01X10278655Y12111309D01* +G01X10290085Y12099879D01* +G01X10295927Y12077019D01* +G01X10295927Y12048571D01* +G01X10290085Y12019869D01* +G01X10278655Y12002851D01* +G01X10261637Y11997009D01* +G01X10250207Y11997009D01* +G01X10232935Y12002851D01* +G01X10227347Y12014281D01* +G01X10349521Y12025711D02* +G01X10343679Y12019869D01* +G01X10349521Y12014281D01* +G01X10355109Y12019869D01* +G01X10349521Y12025711D01* +G01X10460011Y12117151D02* +G01X10402861Y12037141D01* +G01X10488713Y12037141D01* +G01X10460011Y12117151D02* +G01X10460011Y11997009D01* +G01X10536465Y12077019D02* +G01X10599457Y11997009D01* +G01X10599457Y12077019D02* +G01X10536465Y11997009D01* +G01X10658639Y12117151D02* +G01X10721631Y12117151D01* +G01X10687341Y12071431D01* +G01X10704359Y12071431D01* +G01X10715789Y12065589D01* +G01X10721631Y12060001D01* +G01X10727219Y12042729D01* +G01X10727219Y12031299D01* +G01X10721631Y12014281D01* +G01X10710201Y12002851D01* +G01X10692929Y11997009D01* +G01X10675911Y11997009D01* +G01X10658639Y12002851D01* +G01X10653051Y12008439D01* +G01X10647209Y12019869D01* +G01X10849393Y12077019D02* +G01X10843551Y12060001D01* +G01X10832121Y12048571D01* +G01X10815103Y12042729D01* +G01X10809261Y12042729D01* +G01X10792243Y12048571D01* +G01X10780813Y12060001D01* +G01X10774971Y12077019D01* +G01X10774971Y12082861D01* +G01X10780813Y12099879D01* +G01X10792243Y12111309D01* +G01X10809261Y12117151D01* +G01X10815103Y12117151D01* +G01X10832121Y12111309D01* +G01X10843551Y12099879D01* +G01X10849393Y12077019D01* +G01X10849393Y12048571D01* +G01X10843551Y12019869D01* +G01X10832121Y12002851D01* +G01X10815103Y11997009D01* +G01X10803673Y11997009D01* +G01X10786401Y12002851D01* +G01X10780813Y12014281D01* +G01X10902987Y12025711D02* +G01X10897145Y12019869D01* +G01X10902987Y12014281D01* +G01X10908575Y12019869D01* +G01X10902987Y12025711D01* +G01X11013477Y12117151D02* +G01X10956327Y12037141D01* +G01X11042179Y12037141D01* +G01X11013477Y12117151D02* +G01X11013477Y11997009D01* +G01X11089931Y12077019D02* +G01X11089931Y11997009D01* +G01X11089931Y12054159D02* +G01X11107203Y12071431D01* +G01X11118633Y12077019D01* +G01X11135651Y12077019D01* +G01X11147081Y12071431D01* +G01X11152923Y12054159D01* +G01X11152923Y11997009D01* +G01X11152923Y12054159D02* +G01X11169941Y12071431D01* +G01X11181371Y12077019D01* +G01X11198643Y12077019D01* +G01X11210073Y12071431D01* +G01X11215661Y12054159D01* +G01X11215661Y11997009D01* +G01X11263413Y12117151D02* +G01X11269255Y12111309D01* +G01X11274843Y12117151D01* +G01X11269255Y12122739D01* +G01X11263413Y12117151D01* +G01X11269255Y12077019D02* +G01X11269255Y11997009D01* +G01X11322595Y12117151D02* +G01X11322595Y11997009D01* +G01X11410479Y12140011D02* +G01X11399049Y12128581D01* +G01X11387619Y12111309D01* +G01X11376189Y12088449D01* +G01X11370347Y12060001D01* +G01X11370347Y12037141D01* +G01X11376189Y12008439D01* +G01X11387619Y11985579D01* +G01X11399049Y11968561D01* +G01X11410479Y11957131D01* +G01X11458231Y12094291D02* +G01X11469661Y12099879D01* +G01X11486933Y12117151D01* +G01X11486933Y11997009D01* +G01X11540527Y12025711D02* +G01X11534685Y12019869D01* +G01X11540527Y12014281D01* +G01X11546115Y12019869D01* +G01X11540527Y12025711D01* +G01X11628157Y12117151D02* +G01X11611139Y12111309D01* +G01X11599709Y12094291D01* +G01X11593867Y12065589D01* +G01X11593867Y12048571D01* +G01X11599709Y12019869D01* +G01X11611139Y12002851D01* +G01X11628157Y11997009D01* +G01X11639587Y11997009D01* +G01X11656859Y12002851D01* +G01X11668289Y12019869D01* +G01X11673877Y12048571D01* +G01X11673877Y12065589D01* +G01X11668289Y12094291D01* +G01X11656859Y12111309D01* +G01X11639587Y12117151D01* +G01X11628157Y12117151D01* +G01X11755919Y12117151D02* +G01X11738901Y12111309D01* +G01X11727471Y12094291D01* +G01X11721629Y12065589D01* +G01X11721629Y12048571D01* +G01X11727471Y12019869D01* +G01X11738901Y12002851D01* +G01X11755919Y11997009D01* +G01X11767349Y11997009D01* +G01X11784621Y12002851D01* +G01X11796051Y12019869D01* +G01X11801639Y12048571D01* +G01X11801639Y12065589D01* +G01X11796051Y12094291D01* +G01X11784621Y12111309D01* +G01X11767349Y12117151D01* +G01X11755919Y12117151D01* +G01X11883681Y12117151D02* +G01X11866663Y12111309D01* +G01X11855233Y12094291D01* +G01X11849391Y12065589D01* +G01X11849391Y12048571D01* +G01X11855233Y12019869D01* +G01X11866663Y12002851D01* +G01X11883681Y11997009D01* +G01X11895111Y11997009D01* +G01X11912383Y12002851D01* +G01X11923813Y12019869D01* +G01X11929401Y12048571D01* +G01X11929401Y12065589D01* +G01X11923813Y12094291D01* +G01X11912383Y12111309D01* +G01X11895111Y12117151D01* +G01X11883681Y12117151D01* +G01X11977153Y12077019D02* +G01X12040145Y11997009D01* +G01X12040145Y12077019D02* +G01X11977153Y11997009D01* +G01X12087897Y12094291D02* +G01X12099327Y12099879D01* +G01X12116599Y12117151D01* +G01X12116599Y11997009D01* +G01X12170193Y12025711D02* +G01X12164351Y12019869D01* +G01X12170193Y12014281D01* +G01X12175781Y12019869D01* +G01X12170193Y12025711D01* +G01X12257823Y12117151D02* +G01X12240805Y12111309D01* +G01X12229375Y12094291D01* +G01X12223533Y12065589D01* +G01X12223533Y12048571D01* +G01X12229375Y12019869D01* +G01X12240805Y12002851D01* +G01X12257823Y11997009D01* +G01X12269253Y11997009D01* +G01X12286525Y12002851D01* +G01X12297955Y12019869D01* +G01X12303543Y12048571D01* +G01X12303543Y12065589D01* +G01X12297955Y12094291D01* +G01X12286525Y12111309D01* +G01X12269253Y12117151D01* +G01X12257823Y12117151D01* +G01X12385585Y12117151D02* +G01X12368567Y12111309D01* +G01X12357137Y12094291D01* +G01X12351295Y12065589D01* +G01X12351295Y12048571D01* +G01X12357137Y12019869D01* +G01X12368567Y12002851D01* +G01X12385585Y11997009D01* +G01X12397015Y11997009D01* +G01X12414287Y12002851D01* +G01X12425717Y12019869D01* +G01X12431305Y12048571D01* +G01X12431305Y12065589D01* +G01X12425717Y12094291D01* +G01X12414287Y12111309D01* +G01X12397015Y12117151D01* +G01X12385585Y12117151D01* +G01X12513347Y12117151D02* +G01X12496329Y12111309D01* +G01X12484899Y12094291D01* +G01X12479057Y12065589D01* +G01X12479057Y12048571D01* +G01X12484899Y12019869D01* +G01X12496329Y12002851D01* +G01X12513347Y11997009D01* +G01X12524777Y11997009D01* +G01X12542049Y12002851D01* +G01X12553479Y12019869D01* +G01X12559067Y12048571D01* +G01X12559067Y12065589D01* +G01X12553479Y12094291D01* +G01X12542049Y12111309D01* +G01X12524777Y12117151D01* +G01X12513347Y12117151D01* +G01X12606819Y12077019D02* +G01X12606819Y11997009D01* +G01X12606819Y12054159D02* +G01X12624091Y12071431D01* +G01X12635521Y12077019D01* +G01X12652539Y12077019D01* +G01X12663969Y12071431D01* +G01X12669811Y12054159D01* +G01X12669811Y11997009D01* +G01X12669811Y12054159D02* +G01X12686829Y12071431D01* +G01X12698259Y12077019D01* +G01X12715531Y12077019D01* +G01X12726961Y12071431D01* +G01X12732549Y12054159D01* +G01X12732549Y11997009D01* +G01X12780301Y12077019D02* +G01X12780301Y11997009D01* +G01X12780301Y12054159D02* +G01X12797573Y12071431D01* +G01X12809003Y12077019D01* +G01X12826021Y12077019D01* +G01X12837451Y12071431D01* +G01X12843293Y12054159D01* +G01X12843293Y11997009D01* +G01X12843293Y12054159D02* +G01X12860311Y12071431D01* +G01X12871741Y12077019D01* +G01X12889013Y12077019D01* +G01X12900443Y12071431D01* +G01X12906031Y12054159D01* +G01X12906031Y11997009D01* +G01X12953783Y12140011D02* +G01X12965213Y12128581D01* +G01X12976643Y12111309D01* +G01X12988073Y12088449D01* +G01X12993915Y12060001D01* +G01X12993915Y12037141D01* +G01X12988073Y12008439D01* +G01X12976643Y11985579D01* +G01X12965213Y11968561D01* +G01X12953783Y11957131D01* +G01X13964848Y12117151D02* +G01X13964848Y11997009D01* +G01X13964848Y12117151D02* +G01X14016410Y12117151D01* +G01X14033428Y12111309D01* +G01X14039270Y12105721D01* +G01X14044858Y12094291D01* +G01X14044858Y12077019D01* +G01X14039270Y12065589D01* +G01X14033428Y12060001D01* +G01X14016410Y12054159D01* +G01X13964848Y12054159D01* +G01X14132742Y12117151D02* +G01X14132742Y11997009D01* +G01X14092610Y12117151D02* +G01X14172620Y12117151D01* +G01X14220372Y12117151D02* +G01X14220372Y11997009D01* +G01X14300382Y12117151D02* +G01X14300382Y11997009D01* +G01X14220372Y12060001D02* +G01X14300382Y12060001D01* +G01X15426256Y12117151D02* +G01X15426256Y11997009D01* +G01X15426256Y12117151D02* +G01X15477818Y12117151D01* +G01X15494836Y12111309D01* +G01X15500678Y12105721D01* +G01X15506266Y12094291D01* +G01X15506266Y12082861D01* +G01X15500678Y12071431D01* +G01X15494836Y12065589D01* +G01X15477818Y12060001D01* +G01X15426256Y12060001D01* +G01X15466388Y12060001D02* +G01X15506266Y11997009D01* +G01X15582720Y12077019D02* +G01X15571290Y12071431D01* +G01X15559860Y12060001D01* +G01X15554018Y12042729D01* +G01X15554018Y12031299D01* +G01X15559860Y12014281D01* +G01X15571290Y12002851D01* +G01X15582720Y11997009D01* +G01X15599738Y11997009D01* +G01X15611168Y12002851D01* +G01X15622598Y12014281D01* +G01X15628440Y12031299D01* +G01X15628440Y12042729D01* +G01X15622598Y12060001D01* +G01X15611168Y12071431D01* +G01X15599738Y12077019D01* +G01X15582720Y12077019D01* +G01X15676192Y12077019D02* +G01X15676192Y12019869D01* +G01X15682034Y12002851D01* +G01X15693464Y11997009D01* +G01X15710482Y11997009D01* +G01X15721912Y12002851D01* +G01X15739184Y12019869D01* +G01X15739184Y12077019D02* +G01X15739184Y11997009D01* +G01X15786936Y12077019D02* +G01X15786936Y11997009D01* +G01X15786936Y12054159D02* +G01X15804208Y12071431D01* +G01X15815638Y12077019D01* +G01X15832656Y12077019D01* +G01X15844086Y12071431D01* +G01X15849928Y12054159D01* +G01X15849928Y11997009D01* +G01X15966260Y12117151D02* +G01X15966260Y11997009D01* +G01X15966260Y12060001D02* +G01X15954830Y12071431D01* +G01X15943400Y12077019D01* +G01X15926382Y12077019D01* +G01X15914952Y12071431D01* +G01X15903522Y12060001D01* +G01X15897680Y12042729D01* +G01X15897680Y12031299D01* +G01X15903522Y12014281D01* +G01X15914952Y12002851D01* +G01X15926382Y11997009D01* +G01X15943400Y11997009D01* +G01X15954830Y12002851D01* +G01X15966260Y12014281D01* +G01X16857437Y12117151D02* +G01X16857437Y11997009D01* +G01X16857437Y12117151D02* +G01X16908999Y12117151D01* +G01X16926017Y12111309D01* +G01X16931859Y12105721D01* +G01X16937447Y12094291D01* +G01X16937447Y12077019D01* +G01X16931859Y12065589D01* +G01X16926017Y12060001D01* +G01X16908999Y12054159D01* +G01X16857437Y12054159D01* +G01X17053779Y12077019D02* +G01X17053779Y11997009D01* +G01X17053779Y12060001D02* +G01X17042349Y12071431D01* +G01X17030919Y12077019D01* +G01X17013901Y12077019D01* +G01X17002471Y12071431D01* +G01X16991041Y12060001D01* +G01X16985199Y12042729D01* +G01X16985199Y12031299D01* +G01X16991041Y12014281D01* +G01X17002471Y12002851D01* +G01X17013901Y11997009D01* +G01X17030919Y11997009D01* +G01X17042349Y12002851D01* +G01X17053779Y12014281D01* +G01X17170111Y12117151D02* +G01X17170111Y11997009D01* +G01X17170111Y12060001D02* +G01X17158681Y12071431D01* +G01X17147251Y12077019D01* +G01X17130233Y12077019D01* +G01X17118803Y12071431D01* +G01X17107373Y12060001D01* +G01X17101531Y12042729D01* +G01X17101531Y12031299D01* +G01X17107373Y12014281D01* +G01X17118803Y12002851D01* +G01X17130233Y11997009D01* +G01X17147251Y11997009D01* +G01X17158681Y12002851D01* +G01X17170111Y12014281D01* +G01X18566748Y12140011D02* +G01X18555318Y12128581D01* +G01X18543888Y12111309D01* +G01X18532458Y12088449D01* +G01X18526616Y12060001D01* +G01X18526616Y12037141D01* +G01X18532458Y12008439D01* +G01X18543888Y11985579D01* +G01X18555318Y11968561D01* +G01X18566748Y11957131D01* +G01X18614500Y12117151D02* +G01X18614500Y11997009D01* +G01X18614500Y12117151D02* +G01X18660220Y11997009D01* +G01X18705940Y12117151D02* +G01X18660220Y11997009D01* +G01X18705940Y12117151D02* +G01X18705940Y11997009D01* +G01X18753692Y12117151D02* +G01X18759534Y12111309D01* +G01X18765122Y12117151D01* +G01X18759534Y12122739D01* +G01X18753692Y12117151D01* +G01X18759534Y12077019D02* +G01X18759534Y11997009D01* +G01X18812874Y12077019D02* +G01X18875866Y11997009D01* +G01X18875866Y12077019D02* +G01X18812874Y11997009D01* +G01X18923618Y12042729D02* +G01X18992198Y12042729D01* +G01X18992198Y12054159D01* +G01X18986610Y12065589D01* +G01X18980768Y12071431D01* +G01X18969338Y12077019D01* +G01X18952320Y12077019D01* +G01X18940890Y12071431D01* +G01X18929460Y12060001D01* +G01X18923618Y12042729D01* +G01X18923618Y12031299D01* +G01X18929460Y12014281D01* +G01X18940890Y12002851D01* +G01X18952320Y11997009D01* +G01X18969338Y11997009D01* +G01X18980768Y12002851D01* +G01X18992198Y12014281D01* +G01X19108530Y12117151D02* +G01X19108530Y11997009D01* +G01X19108530Y12060001D02* +G01X19097100Y12071431D01* +G01X19085670Y12077019D01* +G01X19068652Y12077019D01* +G01X19057222Y12071431D01* +G01X19045792Y12060001D01* +G01X19039950Y12042729D01* +G01X19039950Y12031299D01* +G01X19045792Y12014281D01* +G01X19057222Y12002851D01* +G01X19068652Y11997009D01* +G01X19085670Y11997009D01* +G01X19097100Y12002851D01* +G01X19108530Y12014281D01* +G01X19156282Y12140011D02* +G01X19167712Y12128581D01* +G01X19179142Y12111309D01* +G01X19190572Y12088449D01* +G01X19196414Y12060001D01* +G01X19196414Y12037141D01* +G01X19190572Y12008439D01* +G01X19179142Y11985579D01* +G01X19167712Y11968561D01* +G01X19156282Y11957131D01* +G01X20486117Y12117151D02* +G01X20486117Y11997009D01* +G01X20445985Y12117151D02* +G01X20525995Y12117151D01* +G01X20602449Y12077019D02* +G01X20591019Y12071431D01* +G01X20579589Y12060001D01* +G01X20573747Y12042729D01* +G01X20573747Y12031299D01* +G01X20579589Y12014281D01* +G01X20591019Y12002851D01* +G01X20602449Y11997009D01* +G01X20619467Y11997009D01* +G01X20630897Y12002851D01* +G01X20642327Y12014281D01* +G01X20648169Y12031299D01* +G01X20648169Y12042729D01* +G01X20642327Y12060001D01* +G01X20630897Y12071431D01* +G01X20619467Y12077019D01* +G01X20602449Y12077019D01* +G01X20695921Y12077019D02* +G01X20695921Y11957131D01* +G01X20695921Y12060001D02* +G01X20707351Y12071431D01* +G01X20718781Y12077019D01* +G01X20736053Y12077019D01* +G01X20747483Y12071431D01* +G01X20758913Y12060001D01* +G01X20764501Y12042729D01* +G01X20764501Y12031299D01* +G01X20758913Y12014281D01* +G01X20747483Y12002851D01* +G01X20736053Y11997009D01* +G01X20718781Y11997009D01* +G01X20707351Y12002851D01* +G01X20695921Y12014281D01* +G01X20940269Y12117151D02* +G01X20940269Y11997009D01* +G01X20940269Y11997009D02* +G01X21008849Y11997009D01* +G01X21125181Y12077019D02* +G01X21125181Y11997009D01* +G01X21125181Y12060001D02* +G01X21113751Y12071431D01* +G01X21102321Y12077019D01* +G01X21085303Y12077019D01* +G01X21073873Y12071431D01* +G01X21062443Y12060001D01* +G01X21056601Y12042729D01* +G01X21056601Y12031299D01* +G01X21062443Y12014281D01* +G01X21073873Y12002851D01* +G01X21085303Y11997009D01* +G01X21102321Y11997009D01* +G01X21113751Y12002851D01* +G01X21125181Y12014281D01* +G01X21178775Y12077019D02* +G01X21213065Y11997009D01* +G01X21247355Y12077019D02* +G01X21213065Y11997009D01* +G01X21201635Y11974149D01* +G01X21190205Y11962719D01* +G01X21178775Y11957131D01* +G01X21172933Y11957131D01* +G01X21295107Y12042729D02* +G01X21363687Y12042729D01* +G01X21363687Y12054159D01* +G01X21358099Y12065589D01* +G01X21352257Y12071431D01* +G01X21340827Y12077019D01* +G01X21323809Y12077019D01* +G01X21312379Y12071431D01* +G01X21300949Y12060001D01* +G01X21295107Y12042729D01* +G01X21295107Y12031299D01* +G01X21300949Y12014281D01* +G01X21312379Y12002851D01* +G01X21323809Y11997009D01* +G01X21340827Y11997009D01* +G01X21352257Y12002851D01* +G01X21363687Y12014281D01* +G01X21411439Y12077019D02* +G01X21411439Y11997009D01* +G01X21411439Y12042729D02* +G01X21417281Y12060001D01* +G01X21428711Y12071431D01* +G01X21440141Y12077019D01* +G01X21457159Y12077019D01* +G01X21504911Y12048571D02* +G01X21607781Y12048571D01* +G01X21655533Y12117151D02* +G01X21655533Y11997009D01* +G01X21655533Y12117151D02* +G01X21707095Y12117151D01* +G01X21724113Y12111309D01* +G01X21729955Y12105721D01* +G01X21735543Y12094291D01* +G01X21735543Y12082861D01* +G01X21729955Y12071431D01* +G01X21724113Y12065589D01* +G01X21707095Y12060001D01* +G01X21655533Y12060001D02* +G01X21707095Y12060001D01* +G01X21724113Y12054159D01* +G01X21729955Y12048571D01* +G01X21735543Y12037141D01* +G01X21735543Y12019869D01* +G01X21729955Y12008439D01* +G01X21724113Y12002851D01* +G01X21707095Y11997009D01* +G01X21655533Y11997009D01* +G01X21811997Y12077019D02* +G01X21800567Y12071431D01* +G01X21789137Y12060001D01* +G01X21783295Y12042729D01* +G01X21783295Y12031299D01* +G01X21789137Y12014281D01* +G01X21800567Y12002851D01* +G01X21811997Y11997009D01* +G01X21829015Y11997009D01* +G01X21840445Y12002851D01* +G01X21851875Y12014281D01* +G01X21857717Y12031299D01* +G01X21857717Y12042729D01* +G01X21851875Y12060001D01* +G01X21840445Y12071431D01* +G01X21829015Y12077019D01* +G01X21811997Y12077019D01* +G01X21922741Y12117151D02* +G01X21922741Y12019869D01* +G01X21928329Y12002851D01* +G01X21939759Y11997009D01* +G01X21951189Y11997009D01* +G01X21905469Y12077019D02* +G01X21945601Y12077019D01* +G01X22016213Y12117151D02* +G01X22016213Y12019869D01* +G01X22021801Y12002851D01* +G01X22033231Y11997009D01* +G01X22044661Y11997009D01* +G01X21998941Y12077019D02* +G01X22039073Y12077019D01* +G01X22121115Y12077019D02* +G01X22109685Y12071431D01* +G01X22098255Y12060001D01* +G01X22092413Y12042729D01* +G01X22092413Y12031299D01* +G01X22098255Y12014281D01* +G01X22109685Y12002851D01* +G01X22121115Y11997009D01* +G01X22138133Y11997009D01* +G01X22149563Y12002851D01* +G01X22160993Y12014281D01* +G01X22166835Y12031299D01* +G01X22166835Y12042729D01* +G01X22160993Y12060001D01* +G01X22149563Y12071431D01* +G01X22138133Y12077019D01* +G01X22121115Y12077019D01* +G01X22214587Y12077019D02* +G01X22214587Y11997009D01* +G01X22214587Y12054159D02* +G01X22231859Y12071431D01* +G01X22243289Y12077019D01* +G01X22260307Y12077019D01* +G01X22271737Y12071431D01* +G01X22277579Y12054159D01* +G01X22277579Y11997009D01* +G01X22277579Y12054159D02* +G01X22294597Y12071431D01* +G01X22306027Y12077019D01* +G01X22323299Y12077019D01* +G01X22334729Y12071431D01* +G01X22340317Y12054159D01* +G01X22340317Y11997009D01* +G01X22516085Y12117151D02* +G01X22516085Y11997009D01* +G01X22516085Y11997009D02* +G01X22584665Y11997009D01* +G01X22700997Y12077019D02* +G01X22700997Y11997009D01* +G01X22700997Y12060001D02* +G01X22689567Y12071431D01* +G01X22678137Y12077019D01* +G01X22661119Y12077019D01* +G01X22649689Y12071431D01* +G01X22638259Y12060001D01* +G01X22632417Y12042729D01* +G01X22632417Y12031299D01* +G01X22638259Y12014281D01* +G01X22649689Y12002851D01* +G01X22661119Y11997009D01* +G01X22678137Y11997009D01* +G01X22689567Y12002851D01* +G01X22700997Y12014281D01* +G01X22754591Y12077019D02* +G01X22788881Y11997009D01* +G01X22823171Y12077019D02* +G01X22788881Y11997009D01* +G01X22777451Y11974149D01* +G01X22766021Y11962719D01* +G01X22754591Y11957131D01* +G01X22748749Y11957131D01* +G01X22870923Y12042729D02* +G01X22939503Y12042729D01* +G01X22939503Y12054159D01* +G01X22933915Y12065589D01* +G01X22928073Y12071431D01* +G01X22916643Y12077019D01* +G01X22899625Y12077019D01* +G01X22888195Y12071431D01* +G01X22876765Y12060001D01* +G01X22870923Y12042729D01* +G01X22870923Y12031299D01* +G01X22876765Y12014281D01* +G01X22888195Y12002851D01* +G01X22899625Y11997009D01* +G01X22916643Y11997009D01* +G01X22928073Y12002851D01* +G01X22939503Y12014281D01* +G01X22987255Y12077019D02* +G01X22987255Y11997009D01* +G01X22987255Y12042729D02* +G01X22993097Y12060001D01* +G01X23004527Y12071431D01* +G01X23015957Y12077019D01* +G01X23032975Y12077019D01* +G01X8679580Y11513720D02* +G01X8691010Y11519308D01* +G01X8708282Y11536580D01* +G01X8708282Y11416438D01* +G01X8824614Y11536580D02* +G01X8767464Y11536580D01* +G01X8761876Y11485018D01* +G01X8767464Y11490860D01* +G01X8784736Y11496448D01* +G01X8801754Y11496448D01* +G01X8819026Y11490860D01* +G01X8830456Y11479430D01* +G01X8836044Y11462158D01* +G01X8836044Y11450728D01* +G01X8830456Y11433710D01* +G01X8819026Y11422280D01* +G01X8801754Y11416438D01* +G01X8784736Y11416438D01* +G01X8767464Y11422280D01* +G01X8761876Y11427868D01* +G01X8756034Y11439298D01* +G01X8895226Y11536580D02* +G01X8958218Y11536580D01* +G01X8923928Y11490860D01* +G01X8940946Y11490860D01* +G01X8952376Y11485018D01* +G01X8958218Y11479430D01* +G01X8963806Y11462158D01* +G01X8963806Y11450728D01* +G01X8958218Y11433710D01* +G01X8946788Y11422280D01* +G01X8929516Y11416438D01* +G01X8912498Y11416438D01* +G01X8895226Y11422280D01* +G01X8889638Y11427868D01* +G01X8883796Y11439298D01* +G01X10105173Y11536580D02* +G01X10168165Y11536580D01* +G01X10133875Y11490860D01* +G01X10150893Y11490860D01* +G01X10162323Y11485018D01* +G01X10168165Y11479430D01* +G01X10173753Y11462158D01* +G01X10173753Y11450728D01* +G01X10168165Y11433710D01* +G01X10156735Y11422280D01* +G01X10139463Y11416438D01* +G01X10122445Y11416438D01* +G01X10105173Y11422280D01* +G01X10099585Y11427868D01* +G01X10093743Y11439298D01* +G01X10290085Y11519308D02* +G01X10284497Y11530738D01* +G01X10267225Y11536580D01* +G01X10255795Y11536580D01* +G01X10238777Y11530738D01* +G01X10227347Y11513720D01* +G01X10221505Y11485018D01* +G01X10221505Y11456570D01* +G01X10227347Y11433710D01* +G01X10238777Y11422280D01* +G01X10255795Y11416438D01* +G01X10261637Y11416438D01* +G01X10278655Y11422280D01* +G01X10290085Y11433710D01* +G01X10295927Y11450728D01* +G01X10295927Y11456570D01* +G01X10290085Y11473588D01* +G01X10278655Y11485018D01* +G01X10261637Y11490860D01* +G01X10255795Y11490860D01* +G01X10238777Y11485018D01* +G01X10227347Y11473588D01* +G01X10221505Y11456570D01* +G01X10349521Y11445140D02* +G01X10343679Y11439298D01* +G01X10349521Y11433710D01* +G01X10355109Y11439298D01* +G01X10349521Y11445140D01* +G01X10437151Y11536580D02* +G01X10420133Y11530738D01* +G01X10408703Y11513720D01* +G01X10402861Y11485018D01* +G01X10402861Y11468000D01* +G01X10408703Y11439298D01* +G01X10420133Y11422280D01* +G01X10437151Y11416438D01* +G01X10448581Y11416438D01* +G01X10465853Y11422280D01* +G01X10477283Y11439298D01* +G01X10482871Y11468000D01* +G01X10482871Y11485018D01* +G01X10477283Y11513720D01* +G01X10465853Y11530738D01* +G01X10448581Y11536580D01* +G01X10437151Y11536580D01* +G01X10530623Y11496448D02* +G01X10593615Y11416438D01* +G01X10593615Y11496448D02* +G01X10530623Y11416438D01* +G01X10652797Y11536580D02* +G01X10715789Y11536580D01* +G01X10681499Y11490860D01* +G01X10698517Y11490860D01* +G01X10709947Y11485018D01* +G01X10715789Y11479430D01* +G01X10721377Y11462158D01* +G01X10721377Y11450728D01* +G01X10715789Y11433710D01* +G01X10704359Y11422280D01* +G01X10687087Y11416438D01* +G01X10670069Y11416438D01* +G01X10652797Y11422280D01* +G01X10647209Y11427868D01* +G01X10641367Y11439298D01* +G01X10837709Y11519308D02* +G01X10832121Y11530738D01* +G01X10814849Y11536580D01* +G01X10803419Y11536580D01* +G01X10786401Y11530738D01* +G01X10774971Y11513720D01* +G01X10769129Y11485018D01* +G01X10769129Y11456570D01* +G01X10774971Y11433710D01* +G01X10786401Y11422280D01* +G01X10803419Y11416438D01* +G01X10809261Y11416438D01* +G01X10826279Y11422280D01* +G01X10837709Y11433710D01* +G01X10843551Y11450728D01* +G01X10843551Y11456570D01* +G01X10837709Y11473588D01* +G01X10826279Y11485018D01* +G01X10809261Y11490860D01* +G01X10803419Y11490860D01* +G01X10786401Y11485018D01* +G01X10774971Y11473588D01* +G01X10769129Y11456570D01* +G01X10897145Y11445140D02* +G01X10891303Y11439298D01* +G01X10897145Y11433710D01* +G01X10902733Y11439298D01* +G01X10897145Y11445140D01* +G01X10984775Y11536580D02* +G01X10967757Y11530738D01* +G01X10956327Y11513720D01* +G01X10950485Y11485018D01* +G01X10950485Y11468000D01* +G01X10956327Y11439298D01* +G01X10967757Y11422280D01* +G01X10984775Y11416438D01* +G01X10996205Y11416438D01* +G01X11013477Y11422280D01* +G01X11024907Y11439298D01* +G01X11030495Y11468000D01* +G01X11030495Y11485018D01* +G01X11024907Y11513720D01* +G01X11013477Y11530738D01* +G01X10996205Y11536580D01* +G01X10984775Y11536580D01* +G01X11078247Y11496448D02* +G01X11078247Y11416438D01* +G01X11078247Y11473588D02* +G01X11095519Y11490860D01* +G01X11106949Y11496448D01* +G01X11123967Y11496448D01* +G01X11135397Y11490860D01* +G01X11141239Y11473588D01* +G01X11141239Y11416438D01* +G01X11141239Y11473588D02* +G01X11158257Y11490860D01* +G01X11169687Y11496448D01* +G01X11186959Y11496448D01* +G01X11198389Y11490860D01* +G01X11203977Y11473588D01* +G01X11203977Y11416438D01* +G01X11251729Y11536580D02* +G01X11257571Y11530738D01* +G01X11263159Y11536580D01* +G01X11257571Y11542168D01* +G01X11251729Y11536580D01* +G01X11257571Y11496448D02* +G01X11257571Y11416438D01* +G01X11310911Y11536580D02* +G01X11310911Y11416438D01* +G01X11398795Y11559440D02* +G01X11387365Y11548010D01* +G01X11375935Y11530738D01* +G01X11364505Y11507878D01* +G01X11358663Y11479430D01* +G01X11358663Y11456570D01* +G01X11364505Y11427868D01* +G01X11375935Y11405008D01* +G01X11387365Y11387990D01* +G01X11398795Y11376560D01* +G01X11480837Y11536580D02* +G01X11463819Y11530738D01* +G01X11452389Y11513720D01* +G01X11446547Y11485018D01* +G01X11446547Y11468000D01* +G01X11452389Y11439298D01* +G01X11463819Y11422280D01* +G01X11480837Y11416438D01* +G01X11492267Y11416438D01* +G01X11509539Y11422280D01* +G01X11520969Y11439298D01* +G01X11526557Y11468000D01* +G01X11526557Y11485018D01* +G01X11520969Y11513720D01* +G01X11509539Y11530738D01* +G01X11492267Y11536580D01* +G01X11480837Y11536580D01* +G01X11580151Y11445140D02* +G01X11574309Y11439298D01* +G01X11580151Y11433710D01* +G01X11585739Y11439298D01* +G01X11580151Y11445140D01* +G01X11707913Y11496448D02* +G01X11702071Y11479430D01* +G01X11690641Y11468000D01* +G01X11673623Y11462158D01* +G01X11667781Y11462158D01* +G01X11650763Y11468000D01* +G01X11639333Y11479430D01* +G01X11633491Y11496448D01* +G01X11633491Y11502290D01* +G01X11639333Y11519308D01* +G01X11650763Y11530738D01* +G01X11667781Y11536580D01* +G01X11673623Y11536580D01* +G01X11690641Y11530738D01* +G01X11702071Y11519308D01* +G01X11707913Y11496448D01* +G01X11707913Y11468000D01* +G01X11702071Y11439298D01* +G01X11690641Y11422280D01* +G01X11673623Y11416438D01* +G01X11662193Y11416438D01* +G01X11644921Y11422280D01* +G01X11639333Y11433710D01* +G01X11755665Y11513720D02* +G01X11767095Y11519308D01* +G01X11784367Y11536580D01* +G01X11784367Y11416438D01* +G01X11889269Y11536580D02* +G01X11832119Y11456570D01* +G01X11917971Y11456570D01* +G01X11889269Y11536580D02* +G01X11889269Y11416438D01* +G01X11965723Y11496448D02* +G01X12028715Y11416438D01* +G01X12028715Y11496448D02* +G01X11965723Y11416438D01* +G01X12110757Y11536580D02* +G01X12093739Y11530738D01* +G01X12082309Y11513720D01* +G01X12076467Y11485018D01* +G01X12076467Y11468000D01* +G01X12082309Y11439298D01* +G01X12093739Y11422280D01* +G01X12110757Y11416438D01* +G01X12122187Y11416438D01* +G01X12139459Y11422280D01* +G01X12150889Y11439298D01* +G01X12156477Y11468000D01* +G01X12156477Y11485018D01* +G01X12150889Y11513720D01* +G01X12139459Y11530738D01* +G01X12122187Y11536580D01* +G01X12110757Y11536580D01* +G01X12210071Y11445140D02* +G01X12204229Y11439298D01* +G01X12210071Y11433710D01* +G01X12215659Y11439298D01* +G01X12210071Y11445140D01* +G01X12337833Y11496448D02* +G01X12331991Y11479430D01* +G01X12320561Y11468000D01* +G01X12303543Y11462158D01* +G01X12297701Y11462158D01* +G01X12280683Y11468000D01* +G01X12269253Y11479430D01* +G01X12263411Y11496448D01* +G01X12263411Y11502290D01* +G01X12269253Y11519308D01* +G01X12280683Y11530738D01* +G01X12297701Y11536580D01* +G01X12303543Y11536580D01* +G01X12320561Y11530738D01* +G01X12331991Y11519308D01* +G01X12337833Y11496448D01* +G01X12337833Y11468000D01* +G01X12331991Y11439298D01* +G01X12320561Y11422280D01* +G01X12303543Y11416438D01* +G01X12292113Y11416438D01* +G01X12274841Y11422280D01* +G01X12269253Y11433710D01* +G01X12385585Y11513720D02* +G01X12397015Y11519308D01* +G01X12414287Y11536580D01* +G01X12414287Y11416438D01* +G01X12519189Y11536580D02* +G01X12462039Y11456570D01* +G01X12547891Y11456570D01* +G01X12519189Y11536580D02* +G01X12519189Y11416438D01* +G01X12595643Y11496448D02* +G01X12595643Y11416438D01* +G01X12595643Y11473588D02* +G01X12612915Y11490860D01* +G01X12624345Y11496448D01* +G01X12641363Y11496448D01* +G01X12652793Y11490860D01* +G01X12658635Y11473588D01* +G01X12658635Y11416438D01* +G01X12658635Y11473588D02* +G01X12675653Y11490860D01* +G01X12687083Y11496448D01* +G01X12704355Y11496448D01* +G01X12715785Y11490860D01* +G01X12721373Y11473588D01* +G01X12721373Y11416438D01* +G01X12769125Y11496448D02* +G01X12769125Y11416438D01* +G01X12769125Y11473588D02* +G01X12786397Y11490860D01* +G01X12797827Y11496448D01* +G01X12814845Y11496448D01* +G01X12826275Y11490860D01* +G01X12832117Y11473588D01* +G01X12832117Y11416438D01* +G01X12832117Y11473588D02* +G01X12849135Y11490860D01* +G01X12860565Y11496448D01* +G01X12877837Y11496448D01* +G01X12889267Y11490860D01* +G01X12894855Y11473588D01* +G01X12894855Y11416438D01* +G01X12942607Y11559440D02* +G01X12954037Y11548010D01* +G01X12965467Y11530738D01* +G01X12976897Y11507878D01* +G01X12982739Y11479430D01* +G01X12982739Y11456570D01* +G01X12976897Y11427868D01* +G01X12965467Y11405008D01* +G01X12954037Y11387990D01* +G01X12942607Y11376560D01* +G01X13964848Y11536580D02* +G01X13964848Y11416438D01* +G01X13964848Y11536580D02* +G01X14016410Y11536580D01* +G01X14033428Y11530738D01* +G01X14039270Y11525150D01* +G01X14044858Y11513720D01* +G01X14044858Y11496448D01* +G01X14039270Y11485018D01* +G01X14033428Y11479430D01* +G01X14016410Y11473588D01* +G01X13964848Y11473588D01* +G01X14132742Y11536580D02* +G01X14132742Y11416438D01* +G01X14092610Y11536580D02* +G01X14172620Y11536580D01* +G01X14220372Y11536580D02* +G01X14220372Y11416438D01* +G01X14300382Y11536580D02* +G01X14300382Y11416438D01* +G01X14220372Y11479430D02* +G01X14300382Y11479430D01* +G01X15426256Y11536580D02* +G01X15426256Y11416438D01* +G01X15426256Y11536580D02* +G01X15477818Y11536580D01* +G01X15494836Y11530738D01* +G01X15500678Y11525150D01* +G01X15506266Y11513720D01* +G01X15506266Y11502290D01* +G01X15500678Y11490860D01* +G01X15494836Y11485018D01* +G01X15477818Y11479430D01* +G01X15426256Y11479430D01* +G01X15466388Y11479430D02* +G01X15506266Y11416438D01* +G01X15582720Y11496448D02* +G01X15571290Y11490860D01* +G01X15559860Y11479430D01* +G01X15554018Y11462158D01* +G01X15554018Y11450728D01* +G01X15559860Y11433710D01* +G01X15571290Y11422280D01* +G01X15582720Y11416438D01* +G01X15599738Y11416438D01* +G01X15611168Y11422280D01* +G01X15622598Y11433710D01* +G01X15628440Y11450728D01* +G01X15628440Y11462158D01* +G01X15622598Y11479430D01* +G01X15611168Y11490860D01* +G01X15599738Y11496448D01* +G01X15582720Y11496448D01* +G01X15676192Y11496448D02* +G01X15676192Y11439298D01* +G01X15682034Y11422280D01* +G01X15693464Y11416438D01* +G01X15710482Y11416438D01* +G01X15721912Y11422280D01* +G01X15739184Y11439298D01* +G01X15739184Y11496448D02* +G01X15739184Y11416438D01* +G01X15786936Y11496448D02* +G01X15786936Y11416438D01* +G01X15786936Y11473588D02* +G01X15804208Y11490860D01* +G01X15815638Y11496448D01* +G01X15832656Y11496448D01* +G01X15844086Y11490860D01* +G01X15849928Y11473588D01* +G01X15849928Y11416438D01* +G01X15966260Y11536580D02* +G01X15966260Y11416438D01* +G01X15966260Y11479430D02* +G01X15954830Y11490860D01* +G01X15943400Y11496448D01* +G01X15926382Y11496448D01* +G01X15914952Y11490860D01* +G01X15903522Y11479430D01* +G01X15897680Y11462158D01* +G01X15897680Y11450728D01* +G01X15903522Y11433710D01* +G01X15914952Y11422280D01* +G01X15926382Y11416438D01* +G01X15943400Y11416438D01* +G01X15954830Y11422280D01* +G01X15966260Y11433710D01* +G01X16857437Y11536580D02* +G01X16857437Y11416438D01* +G01X16857437Y11536580D02* +G01X16908999Y11536580D01* +G01X16926017Y11530738D01* +G01X16931859Y11525150D01* +G01X16937447Y11513720D01* +G01X16937447Y11496448D01* +G01X16931859Y11485018D01* +G01X16926017Y11479430D01* +G01X16908999Y11473588D01* +G01X16857437Y11473588D01* +G01X17053779Y11496448D02* +G01X17053779Y11416438D01* +G01X17053779Y11479430D02* +G01X17042349Y11490860D01* +G01X17030919Y11496448D01* +G01X17013901Y11496448D01* +G01X17002471Y11490860D01* +G01X16991041Y11479430D01* +G01X16985199Y11462158D01* +G01X16985199Y11450728D01* +G01X16991041Y11433710D01* +G01X17002471Y11422280D01* +G01X17013901Y11416438D01* +G01X17030919Y11416438D01* +G01X17042349Y11422280D01* +G01X17053779Y11433710D01* +G01X17170111Y11536580D02* +G01X17170111Y11416438D01* +G01X17170111Y11479430D02* +G01X17158681Y11490860D01* +G01X17147251Y11496448D01* +G01X17130233Y11496448D01* +G01X17118803Y11490860D01* +G01X17107373Y11479430D01* +G01X17101531Y11462158D01* +G01X17101531Y11450728D01* +G01X17107373Y11433710D01* +G01X17118803Y11422280D01* +G01X17130233Y11416438D01* +G01X17147251Y11416438D01* +G01X17158681Y11422280D01* +G01X17170111Y11433710D01* +G01X18566748Y11559440D02* +G01X18555318Y11548010D01* +G01X18543888Y11530738D01* +G01X18532458Y11507878D01* +G01X18526616Y11479430D01* +G01X18526616Y11456570D01* +G01X18532458Y11427868D01* +G01X18543888Y11405008D01* +G01X18555318Y11387990D01* +G01X18566748Y11376560D01* +G01X18614500Y11536580D02* +G01X18614500Y11416438D01* +G01X18614500Y11536580D02* +G01X18660220Y11416438D01* +G01X18705940Y11536580D02* +G01X18660220Y11416438D01* +G01X18705940Y11536580D02* +G01X18705940Y11416438D01* +G01X18753692Y11536580D02* +G01X18759534Y11530738D01* +G01X18765122Y11536580D01* +G01X18759534Y11542168D01* +G01X18753692Y11536580D01* +G01X18759534Y11496448D02* +G01X18759534Y11416438D01* +G01X18812874Y11496448D02* +G01X18875866Y11416438D01* +G01X18875866Y11496448D02* +G01X18812874Y11416438D01* +G01X18923618Y11462158D02* +G01X18992198Y11462158D01* +G01X18992198Y11473588D01* +G01X18986610Y11485018D01* +G01X18980768Y11490860D01* +G01X18969338Y11496448D01* +G01X18952320Y11496448D01* +G01X18940890Y11490860D01* +G01X18929460Y11479430D01* +G01X18923618Y11462158D01* +G01X18923618Y11450728D01* +G01X18929460Y11433710D01* +G01X18940890Y11422280D01* +G01X18952320Y11416438D01* +G01X18969338Y11416438D01* +G01X18980768Y11422280D01* +G01X18992198Y11433710D01* +G01X19108530Y11536580D02* +G01X19108530Y11416438D01* +G01X19108530Y11479430D02* +G01X19097100Y11490860D01* +G01X19085670Y11496448D01* +G01X19068652Y11496448D01* +G01X19057222Y11490860D01* +G01X19045792Y11479430D01* +G01X19039950Y11462158D01* +G01X19039950Y11450728D01* +G01X19045792Y11433710D01* +G01X19057222Y11422280D01* +G01X19068652Y11416438D01* +G01X19085670Y11416438D01* +G01X19097100Y11422280D01* +G01X19108530Y11433710D01* +G01X19156282Y11559440D02* +G01X19167712Y11548010D01* +G01X19179142Y11530738D01* +G01X19190572Y11507878D01* +G01X19196414Y11479430D01* +G01X19196414Y11456570D01* +G01X19190572Y11427868D01* +G01X19179142Y11405008D01* +G01X19167712Y11387990D01* +G01X19156282Y11376560D01* +G01X20486117Y11536580D02* +G01X20486117Y11416438D01* +G01X20445985Y11536580D02* +G01X20525995Y11536580D01* +G01X20602449Y11496448D02* +G01X20591019Y11490860D01* +G01X20579589Y11479430D01* +G01X20573747Y11462158D01* +G01X20573747Y11450728D01* +G01X20579589Y11433710D01* +G01X20591019Y11422280D01* +G01X20602449Y11416438D01* +G01X20619467Y11416438D01* +G01X20630897Y11422280D01* +G01X20642327Y11433710D01* +G01X20648169Y11450728D01* +G01X20648169Y11462158D01* +G01X20642327Y11479430D01* +G01X20630897Y11490860D01* +G01X20619467Y11496448D01* +G01X20602449Y11496448D01* +G01X20695921Y11496448D02* +G01X20695921Y11376560D01* +G01X20695921Y11479430D02* +G01X20707351Y11490860D01* +G01X20718781Y11496448D01* +G01X20736053Y11496448D01* +G01X20747483Y11490860D01* +G01X20758913Y11479430D01* +G01X20764501Y11462158D01* +G01X20764501Y11450728D01* +G01X20758913Y11433710D01* +G01X20747483Y11422280D01* +G01X20736053Y11416438D01* +G01X20718781Y11416438D01* +G01X20707351Y11422280D01* +G01X20695921Y11433710D01* +G01X20940269Y11536580D02* +G01X20940269Y11416438D01* +G01X20940269Y11416438D02* +G01X21008849Y11416438D01* +G01X21125181Y11496448D02* +G01X21125181Y11416438D01* +G01X21125181Y11479430D02* +G01X21113751Y11490860D01* +G01X21102321Y11496448D01* +G01X21085303Y11496448D01* +G01X21073873Y11490860D01* +G01X21062443Y11479430D01* +G01X21056601Y11462158D01* +G01X21056601Y11450728D01* +G01X21062443Y11433710D01* +G01X21073873Y11422280D01* +G01X21085303Y11416438D01* +G01X21102321Y11416438D01* +G01X21113751Y11422280D01* +G01X21125181Y11433710D01* +G01X21178775Y11496448D02* +G01X21213065Y11416438D01* +G01X21247355Y11496448D02* +G01X21213065Y11416438D01* +G01X21201635Y11393578D01* +G01X21190205Y11382148D01* +G01X21178775Y11376560D01* +G01X21172933Y11376560D01* +G01X21295107Y11462158D02* +G01X21363687Y11462158D01* +G01X21363687Y11473588D01* +G01X21358099Y11485018D01* +G01X21352257Y11490860D01* +G01X21340827Y11496448D01* +G01X21323809Y11496448D01* +G01X21312379Y11490860D01* +G01X21300949Y11479430D01* +G01X21295107Y11462158D01* +G01X21295107Y11450728D01* +G01X21300949Y11433710D01* +G01X21312379Y11422280D01* +G01X21323809Y11416438D01* +G01X21340827Y11416438D01* +G01X21352257Y11422280D01* +G01X21363687Y11433710D01* +G01X21411439Y11496448D02* +G01X21411439Y11416438D01* +G01X21411439Y11462158D02* +G01X21417281Y11479430D01* +G01X21428711Y11490860D01* +G01X21440141Y11496448D01* +G01X21457159Y11496448D01* +G01X21504911Y11468000D02* +G01X21607781Y11468000D01* +G01X21655533Y11536580D02* +G01X21655533Y11416438D01* +G01X21655533Y11536580D02* +G01X21707095Y11536580D01* +G01X21724113Y11530738D01* +G01X21729955Y11525150D01* +G01X21735543Y11513720D01* +G01X21735543Y11502290D01* +G01X21729955Y11490860D01* +G01X21724113Y11485018D01* +G01X21707095Y11479430D01* +G01X21655533Y11479430D02* +G01X21707095Y11479430D01* +G01X21724113Y11473588D01* +G01X21729955Y11468000D01* +G01X21735543Y11456570D01* +G01X21735543Y11439298D01* +G01X21729955Y11427868D01* +G01X21724113Y11422280D01* +G01X21707095Y11416438D01* +G01X21655533Y11416438D01* +G01X21811997Y11496448D02* +G01X21800567Y11490860D01* +G01X21789137Y11479430D01* +G01X21783295Y11462158D01* +G01X21783295Y11450728D01* +G01X21789137Y11433710D01* +G01X21800567Y11422280D01* +G01X21811997Y11416438D01* +G01X21829015Y11416438D01* +G01X21840445Y11422280D01* +G01X21851875Y11433710D01* +G01X21857717Y11450728D01* +G01X21857717Y11462158D01* +G01X21851875Y11479430D01* +G01X21840445Y11490860D01* +G01X21829015Y11496448D01* +G01X21811997Y11496448D01* +G01X21922741Y11536580D02* +G01X21922741Y11439298D01* +G01X21928329Y11422280D01* +G01X21939759Y11416438D01* +G01X21951189Y11416438D01* +G01X21905469Y11496448D02* +G01X21945601Y11496448D01* +G01X22016213Y11536580D02* +G01X22016213Y11439298D01* +G01X22021801Y11422280D01* +G01X22033231Y11416438D01* +G01X22044661Y11416438D01* +G01X21998941Y11496448D02* +G01X22039073Y11496448D01* +G01X22121115Y11496448D02* +G01X22109685Y11490860D01* +G01X22098255Y11479430D01* +G01X22092413Y11462158D01* +G01X22092413Y11450728D01* +G01X22098255Y11433710D01* +G01X22109685Y11422280D01* +G01X22121115Y11416438D01* +G01X22138133Y11416438D01* +G01X22149563Y11422280D01* +G01X22160993Y11433710D01* +G01X22166835Y11450728D01* +G01X22166835Y11462158D01* +G01X22160993Y11479430D01* +G01X22149563Y11490860D01* +G01X22138133Y11496448D01* +G01X22121115Y11496448D01* +G01X22214587Y11496448D02* +G01X22214587Y11416438D01* +G01X22214587Y11473588D02* +G01X22231859Y11490860D01* +G01X22243289Y11496448D01* +G01X22260307Y11496448D01* +G01X22271737Y11490860D01* +G01X22277579Y11473588D01* +G01X22277579Y11416438D01* +G01X22277579Y11473588D02* +G01X22294597Y11490860D01* +G01X22306027Y11496448D01* +G01X22323299Y11496448D01* +G01X22334729Y11490860D01* +G01X22340317Y11473588D01* +G01X22340317Y11416438D01* +G01X22516085Y11536580D02* +G01X22516085Y11416438D01* +G01X22516085Y11416438D02* +G01X22584665Y11416438D01* +G01X22700997Y11496448D02* +G01X22700997Y11416438D01* +G01X22700997Y11479430D02* +G01X22689567Y11490860D01* +G01X22678137Y11496448D01* +G01X22661119Y11496448D01* +G01X22649689Y11490860D01* +G01X22638259Y11479430D01* +G01X22632417Y11462158D01* +G01X22632417Y11450728D01* +G01X22638259Y11433710D01* +G01X22649689Y11422280D01* +G01X22661119Y11416438D01* +G01X22678137Y11416438D01* +G01X22689567Y11422280D01* +G01X22700997Y11433710D01* +G01X22754591Y11496448D02* +G01X22788881Y11416438D01* +G01X22823171Y11496448D02* +G01X22788881Y11416438D01* +G01X22777451Y11393578D01* +G01X22766021Y11382148D01* +G01X22754591Y11376560D01* +G01X22748749Y11376560D01* +G01X22870923Y11462158D02* +G01X22939503Y11462158D01* +G01X22939503Y11473588D01* +G01X22933915Y11485018D01* +G01X22928073Y11490860D01* +G01X22916643Y11496448D01* +G01X22899625Y11496448D01* +G01X22888195Y11490860D01* +G01X22876765Y11479430D01* +G01X22870923Y11462158D01* +G01X22870923Y11450728D01* +G01X22876765Y11433710D01* +G01X22888195Y11422280D01* +G01X22899625Y11416438D01* +G01X22916643Y11416438D01* +G01X22928073Y11422280D01* +G01X22939503Y11433710D01* +G01X22987255Y11496448D02* +G01X22987255Y11416438D01* +G01X22987255Y11462158D02* +G01X22993097Y11479430D01* +G01X23004527Y11490860D01* +G01X23015957Y11496448D01* +G01X23032975Y11496448D01* + +G04 Image Start* +G36* +G01X7385975Y11889701D02* +G01X7378235Y11889112D01* +G01X7370392Y11888914D01* +G01X7362548Y11889112D01* +G01X7354808Y11889701D01* +G01X7347181Y11890670D01* +G01X7339676Y11892010D01* +G01X7325070Y11895765D01* +G01X7311067Y11900889D01* +G01X7297745Y11907307D01* +G01X7285180Y11914940D01* +G01X7273448Y11923713D01* +G01X7262626Y11933548D01* +G01X7252790Y11944371D01* +G01X7244017Y11956103D01* +G01X7236384Y11968668D01* +G01X7229967Y11981990D01* +G01X7224843Y11995992D01* +G01X7221087Y12010598D01* +G01X7219747Y12018103D01* +G01X7218778Y12025731D01* +G01X7218190Y12033471D01* +G01X7217992Y12041314D01* +G01X7243392Y12041314D01* +G01X7244048Y12028348D01* +G01X7245976Y12015751D01* +G01X7249111Y12003590D01* +G01X7253388Y11991927D01* +G01X7258742Y11980828D01* +G01X7265111Y11970357D01* +G01X7272428Y11960577D01* +G01X7280631Y11951554D01* +G01X7289654Y11943351D01* +G01X7299434Y11936033D01* +G01X7309906Y11929665D01* +G01X7321005Y11924310D01* +G01X7332667Y11920033D01* +G01X7344829Y11916899D01* +G01X7344829Y11916899D01* +G01X7357425Y11914971D01* +G01X7370392Y11914314D01* +G01X7383358Y11914971D01* +G01X7395954Y11916899D01* +G01X7408116Y11920033D01* +G01X7419778Y11924310D01* +G01X7430878Y11929665D01* +G01X7441349Y11936033D01* +G01X7451129Y11943351D01* +G01X7460152Y11951554D01* +G01X7468355Y11960577D01* +G01X7475672Y11970357D01* +G01X7482041Y11980828D01* +G01X7487395Y11991927D01* +G01X7491672Y12003590D01* +G01X7494807Y12015751D01* +G01X7496735Y12028348D01* +G01X7497392Y12041314D01* +G01X7496735Y12054281D01* +G01X7494807Y12066877D01* +G01X7491672Y12079038D01* +G01X7487395Y12090701D01* +G01X7482041Y12101800D01* +G01X7475672Y12112272D01* +G01X7468355Y12122051D01* +G01X7460152Y12131075D01* +G01X7451129Y12139277D01* +G01X7441349Y12146595D01* +G01X7430878Y12152963D01* +G01X7419778Y12158318D01* +G01X7408116Y12162595D01* +G01X7395954Y12165729D01* +G01X7383358Y12167657D01* +G01X7370392Y12168314D01* +G01X7357425Y12167657D01* +G01X7344829Y12165729D01* +G01X7332667Y12162595D01* +G01X7321005Y12158318D01* +G01X7309906Y12152963D01* +G01X7299434Y12146595D01* +G01X7289654Y12139277D01* +G01X7280631Y12131075D01* +G01X7272428Y12122051D01* +G01X7265111Y12112272D01* +G01X7258742Y12101800D01* +G01X7253388Y12090701D01* +G01X7249111Y12079038D01* +G01X7245976Y12066877D01* +G01X7244048Y12054281D01* +G01X7243392Y12041314D01* +G01X7217992Y12041314D01* +G01X7218190Y12049157D01* +G01X7218778Y12056897D01* +G01X7219747Y12064525D01* +G01X7221087Y12072030D01* +G01X7224843Y12086636D01* +G01X7229967Y12100638D01* +G01X7236384Y12113960D01* +G01X7244017Y12126526D01* +G01X7252790Y12138258D01* +G01X7262626Y12149080D01* +G01X7273448Y12158916D01* +G01X7285180Y12167689D01* +G01X7297745Y12175322D01* +G01X7311067Y12181739D01* +G01X7325070Y12186863D01* +G01X7339676Y12190618D01* +G01X7347181Y12191958D01* +G01X7354808Y12192927D01* +G01X7362548Y12193516D01* +G01X7370392Y12193714D01* +G01X7378235Y12193516D01* +G01X7385975Y12192927D01* +G01X7393602Y12191958D01* +G01X7401108Y12190618D01* +G01X7415713Y12186863D01* +G01X7429716Y12181739D01* +G01X7443038Y12175322D01* +G01X7455603Y12167689D01* +G01X7467335Y12158916D01* +G01X7478157Y12149080D01* +G01X7487993Y12138258D01* +G01X7496766Y12126526D01* +G01X7504399Y12113960D01* +G01X7510816Y12100638D01* +G01X7515941Y12086636D01* +G01X7519696Y12072030D01* +G01X7521036Y12064525D01* +G01X7522005Y12056897D01* +G01X7522593Y12049157D01* +G01X7522792Y12041314D01* +G01X7522593Y12033471D01* +G01X7522005Y12025731D01* +G01X7521036Y12018103D01* +G01X7519696Y12010598D01* +G01X7515941Y11995992D01* +G01X7510816Y11981990D01* +G01X7504399Y11968668D01* +G01X7496766Y11956103D01* +G01X7487993Y11944371D01* +G01X7478157Y11933548D01* +G01X7467335Y11923713D01* +G01X7455603Y11914940D01* +G01X7443038Y11907307D01* +G01X7429716Y11900889D01* +G01X7415713Y11895765D01* +G01X7401108Y11892010D01* +G01X7393602Y11890670D01* +G01X7385975Y11889701D01* +G37* +G36* +G01X7217992Y11613143D02* +G01X7522792Y11613143D01* +G01X7370392Y11349186D01* +G01X7232657Y11587743D01* +G01X7261984Y11587743D01* +G01X7370392Y11399986D01* +G01X7478799Y11587743D01* +G01X7478799Y11587743D01* +G01X7261984Y11587743D01* +G01X7232657Y11587743D01* +G01X7217992Y11613143D01* +G37* +G36* +G01X7217992Y12774286D02* +G01X7497392Y12774286D01* +G01X7497392Y12494886D01* +G01X7217992Y12494886D01* +G01X7217992Y12748886D01* +G01X7243392Y12748886D01* +G01X7243392Y12520286D01* +G01X7471992Y12520286D01* +G01X7471992Y12748886D01* +G01X7471992Y12748886D01* +G01X7243392Y12748886D01* +G01X7217992Y12748886D01* +G01X7217992Y12774286D01* +G37* + +G04 PolygonModel Start* +G54D14* +G01X6927706Y11177714D02* +G01X23623706Y11177714D01* +G01X6927706Y11758286D02* +G01X23623706Y11758286D01* +G01X6927706Y12338857D02* +G01X23623706Y12338857D01* +G01X6927706Y12919428D02* +G01X23623706Y12919428D01* +G01X6927706Y13500000D02* +G01X23623706Y13500000D01* +G01X6927706Y13500000D02* +G01X6927706Y11203114D01* +G01X8379134Y13500000D02* +G01X8379134Y11203114D01* +G01X9793298Y13500000D02* +G01X9793298Y11203114D01* +G01X13664403Y13500000D02* +G01X13664403Y11203114D01* +G01X15125810Y13500000D02* +G01X15125810Y11203114D01* +G01X16556991Y13500000D02* +G01X16556991Y11203114D01* +G01X18226170Y13500000D02* +G01X18226170Y11203114D01* +G01X20145539Y13500000D02* +G01X20145539Y11203114D01* +G01X23623706Y13500000D02* +G01X23623706Y11203114D01* + +M02* + diff --git a/hardware/gerber/Gerber_TopLayer.GTL b/hardware/gerber/Gerber_TopLayer.GTL new file mode 100644 index 0000000..c3aa21d --- /dev/null +++ b/hardware/gerber/Gerber_TopLayer.GTL @@ -0,0 +1,8895 @@ +G04 Layer: TopLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 92* +%FSLAX45Y45*% +%MOMM*% +%ADD10C,0.2032*% +%ADD11C,0.254*% +%ADD12C,1.651*% +%ADD13R,1.651X1.651*% +%ADD14O,1.905X1.397*% +%ADD15R,1.9112X1.397*% +%ADD16R,1.905X1.397*% +%ADD17C,1.6*% +%ADD18R,1.6X1.6*% +%ADD19C,1.397*% +%ADD20R,1.524X1.524*% +%ADD21C,1.524*% +%ADD22R,1.9X2.37599*% +%ADD23C,1.8*% +%ADD24C,1.016*% +%ADD25C,0.762*% +%ADD26C,0.4064*% +G75* + + +G04 Copper Start* +G36* +G01X2864188Y12311268D02* +G01X2864187Y12072538D01* +G01X2860922Y12092029D01* +G01X2854084Y12110571D01* +G01X2843913Y12127515D01* +G01X2830764Y12142269D01* +G01X2815099Y12154317D01* +G01X2797464Y12163236D01* +G01X2778476Y12168716D01* +G01X2758800Y12170564D01* +G01X2708000Y12170564D01* +G01X2688584Y12168765D01* +G01X2669830Y12163429D01* +G01X2652375Y12154737D01* +G01X2636815Y12142987D01* +G01X2623678Y12128577D01* +G01X2613413Y12111998D01* +G01X2606370Y12093816D01* +G01X2602787Y12074649D01* +G01X2602787Y12055150D01* +G01X2606370Y12035984D01* +G01X2613413Y12017801D01* +G01X2623678Y12001223D01* +G01X2636815Y11986813D01* +G01X2652375Y11975063D01* +G01X2669830Y11966371D01* +G01X2688584Y11961035D01* +G01X2708000Y11959236D01* +G01X2758800Y11959236D01* +G01X2778476Y11961084D01* +G01X2797463Y11966564D01* +G01X2815099Y11975483D01* +G01X2830764Y11987531D01* +G01X2843913Y12002285D01* +G01X2854084Y12019229D01* +G01X2860922Y12037771D01* +G01X2864187Y12057261D01* +G01X2864187Y11818545D01* +G01X2864187Y11818545D01* +G01X2860920Y11838035D01* +G01X2854082Y11856575D01* +G01X2843910Y11873518D01* +G01X2830762Y11888271D01* +G01X2815097Y11900318D01* +G01X2797462Y11909237D01* +G01X2778475Y11914716D01* +G01X2758800Y11916564D01* +G01X2708000Y11916564D01* +G01X2688584Y11914765D01* +G01X2669830Y11909429D01* +G01X2652375Y11900737D01* +G01X2636815Y11888987D01* +G01X2623678Y11874577D01* +G01X2613413Y11857998D01* +G01X2606370Y11839816D01* +G01X2602787Y11820649D01* +G01X2602787Y11801150D01* +G01X2606370Y11781984D01* +G01X2613413Y11763801D01* +G01X2623678Y11747223D01* +G01X2636815Y11732813D01* +G01X2652375Y11721063D01* +G01X2669830Y11712371D01* +G01X2688584Y11707035D01* +G01X2708000Y11705236D01* +G01X2758800Y11705236D01* +G01X2778475Y11707084D01* +G01X2797462Y11712563D01* +G01X2815097Y11721482D01* +G01X2830762Y11733528D01* +G01X2843910Y11748281D01* +G01X2854082Y11765224D01* +G01X2860920Y11783765D01* +G01X2864187Y11803255D01* +G01X2864187Y11564551D01* +G01X2864187Y11564551D01* +G01X2860919Y11584040D01* +G01X2854080Y11602580D01* +G01X2843908Y11619522D01* +G01X2830760Y11634274D01* +G01X2815095Y11646319D01* +G01X2797460Y11655237D01* +G01X2778474Y11660716D01* +G01X2758800Y11662564D01* +G01X2708000Y11662564D01* +G01X2688584Y11660765D01* +G01X2669830Y11655429D01* +G01X2652375Y11646737D01* +G01X2636815Y11634987D01* +G01X2623678Y11620577D01* +G01X2613413Y11603998D01* +G01X2606370Y11585816D01* +G01X2602787Y11566649D01* +G01X2602787Y11547150D01* +G01X2606370Y11527984D01* +G01X2613413Y11509801D01* +G01X2623678Y11493223D01* +G01X2636815Y11478813D01* +G01X2652375Y11467063D01* +G01X2669830Y11458371D01* +G01X2688584Y11453035D01* +G01X2708000Y11451236D01* +G01X2758800Y11451236D01* +G01X2778474Y11453084D01* +G01X2797460Y11458563D01* +G01X2815094Y11467481D01* +G01X2830760Y11479526D01* +G01X2843908Y11494278D01* +G01X2854080Y11511220D01* +G01X2860919Y11529759D01* +G01X2864187Y11549248D01* +G01X2864186Y11310558D01* +G01X2864186Y11310558D01* +G01X2860917Y11330046D01* +G01X2854078Y11348584D01* +G01X2843906Y11365525D01* +G01X2830757Y11380276D01* +G01X2815092Y11392320D01* +G01X2797459Y11401238D01* +G01X2778473Y11406716D01* +G01X2758800Y11408564D01* +G01X2708000Y11408564D01* +G01X2688584Y11406765D01* +G01X2669830Y11401429D01* +G01X2652375Y11392737D01* +G01X2636815Y11380987D01* +G01X2623678Y11366577D01* +G01X2613413Y11349998D01* +G01X2606370Y11331816D01* +G01X2602787Y11312649D01* +G01X2602787Y11293150D01* +G01X2606370Y11273984D01* +G01X2613413Y11255801D01* +G01X2623678Y11239223D01* +G01X2636815Y11224813D01* +G01X2652375Y11213063D01* +G01X2669830Y11204371D01* +G01X2688584Y11199035D01* +G01X2708000Y11197236D01* +G01X2758800Y11197236D01* +G01X2778701Y11199127D01* +G01X2797890Y11204733D01* +G01X2815680Y11213852D01* +G01X2831434Y11226159D01* +G01X2844587Y11241212D01* +G01X2854671Y11258474D01* +G01X2861322Y11277326D01* +G01X2864304Y11297093D01* +G01X2866730Y11286744D01* +G01X2872086Y11277562D01* +G01X2879902Y11270357D01* +G01X2889488Y11265764D01* +G01X2900000Y11264186D01* +G01X4750000Y11264186D01* +G01X4769828Y11262451D01* +G01X4789054Y11257300D01* +G01X4807093Y11248888D01* +G01X4823397Y11237472D01* +G01X4837472Y11223397D01* +G01X4848888Y11207093D01* +G01X4857300Y11189054D01* +G01X4862451Y11169828D01* +G01X4864186Y11150000D01* +G01X4891892Y5650013D01* +G01X4891892Y5650013D01* +G01X4890157Y5630186D01* +G01X4885005Y5610960D01* +G01X4876593Y5592922D01* +G01X4865177Y5576618D01* +G01X4851102Y5562544D01* +G01X4834798Y5551128D01* +G01X4816759Y5542716D01* +G01X4797534Y5537565D01* +G01X4777706Y5535830D01* +G01X2454000Y5535830D01* +G01X2442933Y5534077D01* +G01X2432949Y5528990D01* +G01X2425026Y5521067D01* +G01X2419939Y5511083D01* +G01X2418186Y5500016D01* +G01X2418186Y150000D01* +G01X2416451Y130172D01* +G01X2411300Y110946D01* +G01X2402888Y92907D01* +G01X2391471Y76603D01* +G01X2377397Y62528D01* +G01X2361093Y51112D01* +G01X2343054Y42700D01* +G01X2323828Y37549D01* +G01X2304000Y35814D01* +G01X150000Y35814D01* +G01X130172Y37549D01* +G01X110946Y42700D01* +G01X92907Y51112D01* +G01X76603Y62528D01* +G01X62528Y76603D01* +G01X51112Y92907D01* +G01X42700Y110946D01* +G01X37549Y130172D01* +G01X35814Y150000D01* +G01X35814Y556686D01* +G01X243180Y556686D01* +G01X243180Y535314D01* +G01X247107Y514306D01* +G01X254828Y494377D01* +G01X266078Y476206D01* +G01X280477Y460412D01* +G01X297532Y447533D01* +G01X316663Y438007D01* +G01X337219Y432158D01* +G01X358500Y430186D01* +G01X358500Y430186D01* +G01X379781Y432158D01* +G01X400337Y438007D01* +G01X419468Y447533D01* +G01X436523Y460412D01* +G01X441617Y466000D01* +G01X496686Y466000D01* +G01X498439Y454933D01* +G01X503526Y444949D01* +G01X511449Y437026D01* +G01X521433Y431939D01* +G01X532500Y430186D01* +G01X692500Y430186D01* +G01X703567Y431939D01* +G01X713551Y437026D01* +G01X721474Y444949D01* +G01X726561Y454933D01* +G01X728314Y466000D01* +G01X728314Y556686D01* +G01X1830680Y556686D01* +G01X1830680Y535314D01* +G01X1834607Y514306D01* +G01X1842328Y494377D01* +G01X1853578Y476206D01* +G01X1867977Y460412D01* +G01X1885032Y447533D01* +G01X1904163Y438007D01* +G01X1924719Y432158D01* +G01X1946000Y430186D01* +G01X1946000Y430186D01* +G01X1967281Y432158D01* +G01X1987837Y438007D01* +G01X2006968Y447533D01* +G01X2024023Y460412D01* +G01X2038421Y476206D01* +G01X2049672Y494377D01* +G01X2057393Y514306D01* +G01X2061320Y535314D01* +G01X2061320Y556686D01* +G01X2057393Y577694D01* +G01X2049672Y597623D01* +G01X2038421Y615793D01* +G01X2029117Y626000D01* +G01X2084186Y626000D01* +G01X2084186Y466000D01* +G01X2085939Y454933D01* +G01X2091026Y444949D01* +G01X2098949Y437026D01* +G01X2108933Y431939D01* +G01X2120000Y430186D01* +G01X2280000Y430186D01* +G01X2291067Y431939D01* +G01X2301051Y437026D01* +G01X2308974Y444949D01* +G01X2314061Y454933D01* +G01X2315814Y466000D01* +G01X2315814Y626000D01* +G01X2315814Y626000D01* +G01X2314061Y637067D01* +G01X2308974Y647051D01* +G01X2301051Y654974D01* +G01X2291067Y660061D01* +G01X2280000Y661814D01* +G01X2120000Y661814D01* +G01X2108933Y660061D01* +G01X2098949Y654974D01* +G01X2091026Y647051D01* +G01X2085939Y637067D01* +G01X2084186Y626000D01* +G01X2029117Y626000D01* +G01X2024023Y631587D01* +G01X2006968Y644467D01* +G01X1987837Y653993D01* +G01X1967281Y659842D01* +G01X1946000Y661814D01* +G01X1924719Y659842D01* +G01X1904163Y653993D01* +G01X1885032Y644467D01* +G01X1867977Y631587D01* +G01X1853578Y615793D01* +G01X1842328Y597623D01* +G01X1834607Y577694D01* +G01X1830680Y556686D01* +G01X728314Y556686D01* +G01X728314Y626000D01* +G01X728314Y626000D01* +G01X726561Y637067D01* +G01X721474Y647051D01* +G01X713551Y654974D01* +G01X703567Y660061D01* +G01X692500Y661814D01* +G01X532500Y661814D01* +G01X521433Y660061D01* +G01X511449Y654974D01* +G01X503526Y647051D01* +G01X498439Y637067D01* +G01X496686Y626000D01* +G01X496686Y466000D01* +G01X441617Y466000D01* +G01X450921Y476206D01* +G01X462172Y494377D01* +G01X469893Y514306D01* +G01X473820Y535314D01* +G01X473820Y556686D01* +G01X469893Y577694D01* +G01X462172Y597623D01* +G01X450921Y615793D01* +G01X436523Y631587D01* +G01X419468Y644467D01* +G01X400337Y653993D01* +G01X379781Y659842D01* +G01X358500Y661814D01* +G01X337219Y659842D01* +G01X316663Y653993D01* +G01X297532Y644467D01* +G01X280477Y631587D01* +G01X266078Y615793D01* +G01X254828Y597623D01* +G01X247107Y577694D01* +G01X243180Y556686D01* +G01X35814Y556686D01* +G01X35814Y810686D01* +G01X243180Y810686D01* +G01X243180Y789314D01* +G01X247107Y768306D01* +G01X254828Y748377D01* +G01X266078Y730206D01* +G01X280477Y714412D01* +G01X297532Y701533D01* +G01X316663Y692007D01* +G01X337219Y686158D01* +G01X358500Y684186D01* +G01X358500Y684186D01* +G01X379781Y686158D01* +G01X400337Y692007D01* +G01X419468Y701533D01* +G01X436523Y714412D01* +G01X450921Y730206D01* +G01X462172Y748377D01* +G01X469893Y768306D01* +G01X473820Y789314D01* +G01X473820Y810686D01* +G01X473820Y810686D01* +G01X497180Y810686D01* +G01X497180Y789314D01* +G01X501107Y768306D01* +G01X508828Y748377D01* +G01X520078Y730206D01* +G01X534477Y714412D01* +G01X551532Y701533D01* +G01X570663Y692007D01* +G01X591219Y686158D01* +G01X612500Y684186D01* +G01X612500Y684186D01* +G01X633781Y686158D01* +G01X654337Y692007D01* +G01X673468Y701533D01* +G01X690523Y714412D01* +G01X704921Y730206D01* +G01X716172Y748377D01* +G01X723893Y768306D01* +G01X727820Y789314D01* +G01X727820Y810686D01* +G01X727820Y810686D01* +G01X1830680Y810686D01* +G01X1830680Y789314D01* +G01X1834607Y768306D01* +G01X1842328Y748377D01* +G01X1853578Y730206D01* +G01X1867977Y714412D01* +G01X1885032Y701533D01* +G01X1904163Y692007D01* +G01X1924719Y686158D01* +G01X1946000Y684186D01* +G01X1946000Y684186D01* +G01X1967281Y686158D01* +G01X1987837Y692007D01* +G01X2006968Y701533D01* +G01X2024023Y714412D01* +G01X2038421Y730206D01* +G01X2049672Y748377D01* +G01X2057393Y768306D01* +G01X2061320Y789314D01* +G01X2061320Y810686D01* +G01X2061320Y810686D01* +G01X2084680Y810686D01* +G01X2084680Y789314D01* +G01X2088607Y768306D01* +G01X2096328Y748377D01* +G01X2107578Y730206D01* +G01X2121977Y714412D01* +G01X2139032Y701533D01* +G01X2158163Y692007D01* +G01X2178719Y686158D01* +G01X2200000Y684186D01* +G01X2200000Y684186D01* +G01X2221281Y686158D01* +G01X2241837Y692007D01* +G01X2260968Y701533D01* +G01X2278023Y714412D01* +G01X2292421Y730206D01* +G01X2303672Y748377D01* +G01X2311393Y768306D01* +G01X2315320Y789314D01* +G01X2315320Y810686D01* +G01X2311393Y831694D01* +G01X2303672Y851623D01* +G01X2292421Y869793D01* +G01X2278023Y885587D01* +G01X2260968Y898467D01* +G01X2241837Y907993D01* +G01X2221281Y913842D01* +G01X2200000Y915814D01* +G01X2178719Y913842D01* +G01X2158163Y907993D01* +G01X2139032Y898467D01* +G01X2121977Y885587D01* +G01X2107578Y869793D01* +G01X2096328Y851623D01* +G01X2088607Y831694D01* +G01X2084680Y810686D01* +G01X2061320Y810686D01* +G01X2057393Y831694D01* +G01X2049672Y851623D01* +G01X2038421Y869793D01* +G01X2024023Y885587D01* +G01X2006968Y898467D01* +G01X1987837Y907993D01* +G01X1967281Y913842D01* +G01X1946000Y915814D01* +G01X1924719Y913842D01* +G01X1904163Y907993D01* +G01X1885032Y898467D01* +G01X1867977Y885587D01* +G01X1853578Y869793D01* +G01X1842328Y851623D01* +G01X1834607Y831694D01* +G01X1830680Y810686D01* +G01X727820Y810686D01* +G01X723893Y831694D01* +G01X716172Y851623D01* +G01X704921Y869793D01* +G01X690523Y885587D01* +G01X673468Y898467D01* +G01X654337Y907993D01* +G01X633781Y913842D01* +G01X612500Y915814D01* +G01X591219Y913842D01* +G01X570663Y907993D01* +G01X551532Y898467D01* +G01X534477Y885587D01* +G01X520078Y869793D01* +G01X508828Y851623D01* +G01X501107Y831694D01* +G01X497180Y810686D01* +G01X473820Y810686D01* +G01X469893Y831694D01* +G01X462172Y851623D01* +G01X450921Y869793D01* +G01X436523Y885587D01* +G01X419468Y898467D01* +G01X400337Y907993D01* +G01X379781Y913842D01* +G01X358500Y915814D01* +G01X337219Y913842D01* +G01X316663Y907993D01* +G01X297532Y898467D01* +G01X280477Y885587D01* +G01X266078Y869793D01* +G01X254828Y851623D01* +G01X247107Y831694D01* +G01X243180Y810686D01* +G01X35814Y810686D01* +G01X35814Y1064686D01* +G01X243180Y1064686D01* +G01X243180Y1043314D01* +G01X247107Y1022306D01* +G01X254828Y1002377D01* +G01X266078Y984206D01* +G01X280477Y968412D01* +G01X297532Y955533D01* +G01X316663Y946007D01* +G01X337219Y940158D01* +G01X358500Y938186D01* +G01X358500Y938186D01* +G01X379781Y940158D01* +G01X400337Y946007D01* +G01X419468Y955533D01* +G01X436523Y968412D01* +G01X450921Y984206D01* +G01X462172Y1002377D01* +G01X469893Y1022306D01* +G01X473820Y1043314D01* +G01X473820Y1064686D01* +G01X473820Y1064686D01* +G01X497180Y1064686D01* +G01X497180Y1043314D01* +G01X501107Y1022306D01* +G01X508828Y1002377D01* +G01X520078Y984206D01* +G01X534477Y968412D01* +G01X551532Y955533D01* +G01X570663Y946007D01* +G01X591219Y940158D01* +G01X612500Y938186D01* +G01X612500Y938186D01* +G01X633781Y940158D01* +G01X654337Y946007D01* +G01X673468Y955533D01* +G01X690523Y968412D01* +G01X704921Y984206D01* +G01X716172Y1002377D01* +G01X723893Y1022306D01* +G01X727820Y1043314D01* +G01X727820Y1064686D01* +G01X727820Y1064686D01* +G01X1830680Y1064686D01* +G01X1830680Y1043314D01* +G01X1834607Y1022306D01* +G01X1842328Y1002377D01* +G01X1853578Y984206D01* +G01X1867977Y968412D01* +G01X1885032Y955533D01* +G01X1904163Y946007D01* +G01X1924719Y940158D01* +G01X1946000Y938186D01* +G01X1946000Y938186D01* +G01X1967281Y940158D01* +G01X1987837Y946007D01* +G01X2006968Y955533D01* +G01X2024023Y968412D01* +G01X2038421Y984206D01* +G01X2049672Y1002377D01* +G01X2057393Y1022306D01* +G01X2061320Y1043314D01* +G01X2061320Y1064686D01* +G01X2061320Y1064686D01* +G01X2084680Y1064686D01* +G01X2084680Y1043314D01* +G01X2088607Y1022306D01* +G01X2096328Y1002377D01* +G01X2107578Y984206D01* +G01X2121977Y968412D01* +G01X2139032Y955533D01* +G01X2158163Y946007D01* +G01X2178719Y940158D01* +G01X2200000Y938186D01* +G01X2200000Y938186D01* +G01X2221281Y940158D01* +G01X2241837Y946007D01* +G01X2260968Y955533D01* +G01X2278023Y968412D01* +G01X2292421Y984206D01* +G01X2303672Y1002377D01* +G01X2311393Y1022306D01* +G01X2315320Y1043314D01* +G01X2315320Y1064686D01* +G01X2311393Y1085694D01* +G01X2303672Y1105623D01* +G01X2292421Y1123793D01* +G01X2278023Y1139587D01* +G01X2260968Y1152467D01* +G01X2241837Y1161993D01* +G01X2221281Y1167842D01* +G01X2200000Y1169814D01* +G01X2178719Y1167842D01* +G01X2158163Y1161993D01* +G01X2139032Y1152467D01* +G01X2121977Y1139587D01* +G01X2107578Y1123793D01* +G01X2096328Y1105623D01* +G01X2088607Y1085694D01* +G01X2084680Y1064686D01* +G01X2061320Y1064686D01* +G01X2057393Y1085694D01* +G01X2049672Y1105623D01* +G01X2038421Y1123793D01* +G01X2024023Y1139587D01* +G01X2006968Y1152467D01* +G01X1987837Y1161993D01* +G01X1967281Y1167842D01* +G01X1946000Y1169814D01* +G01X1924719Y1167842D01* +G01X1904163Y1161993D01* +G01X1885032Y1152467D01* +G01X1867977Y1139587D01* +G01X1853578Y1123793D01* +G01X1842328Y1105623D01* +G01X1834607Y1085694D01* +G01X1830680Y1064686D01* +G01X727820Y1064686D01* +G01X723893Y1085694D01* +G01X716172Y1105623D01* +G01X704921Y1123793D01* +G01X690523Y1139587D01* +G01X673468Y1152467D01* +G01X654337Y1161993D01* +G01X633781Y1167842D01* +G01X612500Y1169814D01* +G01X591219Y1167842D01* +G01X570663Y1161993D01* +G01X551532Y1152467D01* +G01X534477Y1139587D01* +G01X520078Y1123793D01* +G01X508828Y1105623D01* +G01X501107Y1085694D01* +G01X497180Y1064686D01* +G01X473820Y1064686D01* +G01X469893Y1085694D01* +G01X462172Y1105623D01* +G01X450921Y1123793D01* +G01X436523Y1139587D01* +G01X419468Y1152467D01* +G01X400337Y1161993D01* +G01X379781Y1167842D01* +G01X358500Y1169814D01* +G01X337219Y1167842D01* +G01X316663Y1161993D01* +G01X297532Y1152467D01* +G01X280477Y1139587D01* +G01X266078Y1123793D01* +G01X254828Y1105623D01* +G01X247107Y1085694D01* +G01X243180Y1064686D01* +G01X35814Y1064686D01* +G01X35814Y1318686D01* +G01X243180Y1318686D01* +G01X243180Y1297314D01* +G01X247107Y1276306D01* +G01X254828Y1256377D01* +G01X266078Y1238206D01* +G01X280477Y1222412D01* +G01X297532Y1209533D01* +G01X316663Y1200007D01* +G01X337219Y1194158D01* +G01X358500Y1192186D01* +G01X358500Y1192186D01* +G01X379781Y1194158D01* +G01X400337Y1200007D01* +G01X419468Y1209533D01* +G01X436523Y1222412D01* +G01X450921Y1238206D01* +G01X462172Y1256377D01* +G01X469893Y1276306D01* +G01X473820Y1297314D01* +G01X473820Y1318686D01* +G01X473820Y1318686D01* +G01X497180Y1318686D01* +G01X497180Y1297314D01* +G01X501107Y1276306D01* +G01X508828Y1256377D01* +G01X520078Y1238206D01* +G01X534477Y1222412D01* +G01X551532Y1209533D01* +G01X570663Y1200007D01* +G01X591219Y1194158D01* +G01X612500Y1192186D01* +G01X612500Y1192186D01* +G01X633781Y1194158D01* +G01X654337Y1200007D01* +G01X673468Y1209533D01* +G01X690523Y1222412D01* +G01X704921Y1238206D01* +G01X716172Y1256377D01* +G01X723893Y1276306D01* +G01X727820Y1297314D01* +G01X727820Y1318686D01* +G01X727820Y1318686D01* +G01X1830680Y1318686D01* +G01X1830680Y1297314D01* +G01X1834607Y1276306D01* +G01X1842328Y1256377D01* +G01X1853578Y1238206D01* +G01X1867977Y1222412D01* +G01X1885032Y1209533D01* +G01X1904163Y1200007D01* +G01X1924719Y1194158D01* +G01X1946000Y1192186D01* +G01X1946000Y1192186D01* +G01X1967281Y1194158D01* +G01X1987837Y1200007D01* +G01X2006968Y1209533D01* +G01X2024023Y1222412D01* +G01X2038421Y1238206D01* +G01X2049672Y1256377D01* +G01X2057393Y1276306D01* +G01X2061320Y1297314D01* +G01X2061320Y1318686D01* +G01X2061320Y1318686D01* +G01X2084680Y1318686D01* +G01X2084680Y1297314D01* +G01X2088607Y1276306D01* +G01X2096328Y1256377D01* +G01X2107578Y1238206D01* +G01X2121977Y1222412D01* +G01X2139032Y1209533D01* +G01X2158163Y1200007D01* +G01X2178719Y1194158D01* +G01X2200000Y1192186D01* +G01X2200000Y1192186D01* +G01X2221281Y1194158D01* +G01X2241837Y1200007D01* +G01X2260968Y1209533D01* +G01X2278023Y1222412D01* +G01X2292421Y1238206D01* +G01X2303672Y1256377D01* +G01X2311393Y1276306D01* +G01X2315320Y1297314D01* +G01X2315320Y1318686D01* +G01X2311393Y1339694D01* +G01X2303672Y1359623D01* +G01X2292421Y1377793D01* +G01X2278023Y1393587D01* +G01X2260968Y1406467D01* +G01X2241837Y1415993D01* +G01X2221281Y1421842D01* +G01X2200000Y1423814D01* +G01X2178719Y1421842D01* +G01X2158163Y1415993D01* +G01X2139032Y1406467D01* +G01X2121977Y1393587D01* +G01X2107578Y1377793D01* +G01X2096328Y1359623D01* +G01X2088607Y1339694D01* +G01X2084680Y1318686D01* +G01X2061320Y1318686D01* +G01X2057393Y1339694D01* +G01X2049672Y1359623D01* +G01X2038421Y1377793D01* +G01X2024023Y1393587D01* +G01X2006968Y1406467D01* +G01X1987837Y1415993D01* +G01X1967281Y1421842D01* +G01X1946000Y1423814D01* +G01X1924719Y1421842D01* +G01X1904163Y1415993D01* +G01X1885032Y1406467D01* +G01X1867977Y1393587D01* +G01X1853578Y1377793D01* +G01X1842328Y1359623D01* +G01X1834607Y1339694D01* +G01X1830680Y1318686D01* +G01X727820Y1318686D01* +G01X723893Y1339694D01* +G01X716172Y1359623D01* +G01X704921Y1377793D01* +G01X690523Y1393587D01* +G01X673468Y1406467D01* +G01X654337Y1415993D01* +G01X633781Y1421842D01* +G01X612500Y1423814D01* +G01X591219Y1421842D01* +G01X570663Y1415993D01* +G01X551532Y1406467D01* +G01X534477Y1393587D01* +G01X520078Y1377793D01* +G01X508828Y1359623D01* +G01X501107Y1339694D01* +G01X497180Y1318686D01* +G01X473820Y1318686D01* +G01X469893Y1339694D01* +G01X462172Y1359623D01* +G01X450921Y1377793D01* +G01X436523Y1393587D01* +G01X419468Y1406467D01* +G01X400337Y1415993D01* +G01X379781Y1421842D01* +G01X358500Y1423814D01* +G01X337219Y1421842D01* +G01X316663Y1415993D01* +G01X297532Y1406467D01* +G01X280477Y1393587D01* +G01X266078Y1377793D01* +G01X254828Y1359623D01* +G01X247107Y1339694D01* +G01X243180Y1318686D01* +G01X35814Y1318686D01* +G01X35814Y1572686D01* +G01X243180Y1572686D01* +G01X243180Y1551314D01* +G01X247107Y1530306D01* +G01X254828Y1510377D01* +G01X266078Y1492206D01* +G01X280477Y1476412D01* +G01X297532Y1463533D01* +G01X316663Y1454007D01* +G01X337219Y1448158D01* +G01X358500Y1446186D01* +G01X358500Y1446186D01* +G01X379781Y1448158D01* +G01X400337Y1454007D01* +G01X419468Y1463533D01* +G01X436523Y1476412D01* +G01X450921Y1492206D01* +G01X462172Y1510377D01* +G01X469893Y1530306D01* +G01X473820Y1551314D01* +G01X473820Y1572686D01* +G01X473820Y1572686D01* +G01X497180Y1572686D01* +G01X497180Y1551314D01* +G01X501107Y1530306D01* +G01X508828Y1510377D01* +G01X520078Y1492206D01* +G01X534477Y1476412D01* +G01X551532Y1463533D01* +G01X570663Y1454007D01* +G01X591219Y1448158D01* +G01X612500Y1446186D01* +G01X612500Y1446186D01* +G01X633781Y1448158D01* +G01X654337Y1454007D01* +G01X673468Y1463533D01* +G01X690523Y1476412D01* +G01X704921Y1492206D01* +G01X716172Y1510377D01* +G01X723893Y1530306D01* +G01X727820Y1551314D01* +G01X727820Y1572686D01* +G01X727820Y1572686D01* +G01X1830680Y1572686D01* +G01X1830680Y1551314D01* +G01X1834607Y1530306D01* +G01X1842328Y1510377D01* +G01X1853578Y1492206D01* +G01X1867977Y1476412D01* +G01X1885032Y1463533D01* +G01X1904163Y1454007D01* +G01X1924719Y1448158D01* +G01X1946000Y1446186D01* +G01X1946000Y1446186D01* +G01X1967281Y1448158D01* +G01X1987837Y1454007D01* +G01X2006968Y1463533D01* +G01X2024023Y1476412D01* +G01X2038421Y1492206D01* +G01X2049672Y1510377D01* +G01X2057393Y1530306D01* +G01X2061320Y1551314D01* +G01X2061320Y1572686D01* +G01X2061320Y1572686D01* +G01X2084680Y1572686D01* +G01X2084680Y1551314D01* +G01X2088607Y1530306D01* +G01X2096328Y1510377D01* +G01X2107578Y1492206D01* +G01X2121977Y1476412D01* +G01X2139032Y1463533D01* +G01X2158163Y1454007D01* +G01X2178719Y1448158D01* +G01X2200000Y1446186D01* +G01X2200000Y1446186D01* +G01X2221281Y1448158D01* +G01X2241837Y1454007D01* +G01X2260968Y1463533D01* +G01X2278023Y1476412D01* +G01X2292421Y1492206D01* +G01X2303672Y1510377D01* +G01X2311393Y1530306D01* +G01X2315320Y1551314D01* +G01X2315320Y1572686D01* +G01X2311393Y1593694D01* +G01X2303672Y1613623D01* +G01X2292421Y1631793D01* +G01X2278023Y1647587D01* +G01X2260968Y1660467D01* +G01X2241837Y1669993D01* +G01X2221281Y1675842D01* +G01X2200000Y1677814D01* +G01X2178719Y1675842D01* +G01X2158163Y1669993D01* +G01X2139032Y1660467D01* +G01X2121977Y1647587D01* +G01X2107578Y1631793D01* +G01X2096328Y1613623D01* +G01X2088607Y1593694D01* +G01X2084680Y1572686D01* +G01X2061320Y1572686D01* +G01X2057393Y1593694D01* +G01X2049672Y1613623D01* +G01X2038421Y1631793D01* +G01X2024023Y1647587D01* +G01X2006968Y1660467D01* +G01X1987837Y1669993D01* +G01X1967281Y1675842D01* +G01X1946000Y1677814D01* +G01X1924719Y1675842D01* +G01X1904163Y1669993D01* +G01X1885032Y1660467D01* +G01X1867977Y1647587D01* +G01X1853578Y1631793D01* +G01X1842328Y1613623D01* +G01X1834607Y1593694D01* +G01X1830680Y1572686D01* +G01X727820Y1572686D01* +G01X723893Y1593694D01* +G01X716172Y1613623D01* +G01X704921Y1631793D01* +G01X690523Y1647587D01* +G01X673468Y1660467D01* +G01X654337Y1669993D01* +G01X633781Y1675842D01* +G01X612500Y1677814D01* +G01X591219Y1675842D01* +G01X570663Y1669993D01* +G01X551532Y1660467D01* +G01X534477Y1647587D01* +G01X520078Y1631793D01* +G01X508828Y1613623D01* +G01X501107Y1593694D01* +G01X497180Y1572686D01* +G01X473820Y1572686D01* +G01X469893Y1593694D01* +G01X462172Y1613623D01* +G01X450921Y1631793D01* +G01X436523Y1647587D01* +G01X419468Y1660467D01* +G01X400337Y1669993D01* +G01X379781Y1675842D01* +G01X358500Y1677814D01* +G01X337219Y1675842D01* +G01X316663Y1669993D01* +G01X297532Y1660467D01* +G01X280477Y1647587D01* +G01X266078Y1631793D01* +G01X254828Y1613623D01* +G01X247107Y1593694D01* +G01X243180Y1572686D01* +G01X35814Y1572686D01* +G01X35814Y1826686D01* +G01X243180Y1826686D01* +G01X243180Y1805314D01* +G01X247107Y1784306D01* +G01X254828Y1764377D01* +G01X266078Y1746206D01* +G01X280477Y1730412D01* +G01X297532Y1717533D01* +G01X316663Y1708007D01* +G01X337219Y1702158D01* +G01X358500Y1700186D01* +G01X358500Y1700186D01* +G01X379781Y1702158D01* +G01X400337Y1708007D01* +G01X419468Y1717533D01* +G01X436523Y1730412D01* +G01X450921Y1746206D01* +G01X462172Y1764377D01* +G01X469893Y1784306D01* +G01X473820Y1805314D01* +G01X473820Y1826686D01* +G01X473820Y1826686D01* +G01X497180Y1826686D01* +G01X497180Y1805314D01* +G01X501107Y1784306D01* +G01X508828Y1764377D01* +G01X520078Y1746206D01* +G01X534477Y1730412D01* +G01X551532Y1717533D01* +G01X570663Y1708007D01* +G01X591219Y1702158D01* +G01X612500Y1700186D01* +G01X612500Y1700186D01* +G01X633781Y1702158D01* +G01X654337Y1708007D01* +G01X673468Y1717533D01* +G01X690523Y1730412D01* +G01X704921Y1746206D01* +G01X716172Y1764377D01* +G01X723893Y1784306D01* +G01X727820Y1805314D01* +G01X727820Y1826686D01* +G01X727820Y1826686D01* +G01X1830680Y1826686D01* +G01X1830680Y1805314D01* +G01X1834607Y1784306D01* +G01X1842328Y1764377D01* +G01X1853578Y1746206D01* +G01X1867977Y1730412D01* +G01X1885032Y1717533D01* +G01X1904163Y1708007D01* +G01X1924719Y1702158D01* +G01X1946000Y1700186D01* +G01X1946000Y1700186D01* +G01X1967281Y1702158D01* +G01X1987837Y1708007D01* +G01X2006968Y1717533D01* +G01X2024023Y1730412D01* +G01X2038421Y1746206D01* +G01X2049672Y1764377D01* +G01X2057393Y1784306D01* +G01X2061320Y1805314D01* +G01X2061320Y1826686D01* +G01X2061320Y1826686D01* +G01X2084680Y1826686D01* +G01X2084680Y1805314D01* +G01X2088607Y1784306D01* +G01X2096328Y1764377D01* +G01X2107578Y1746206D01* +G01X2121977Y1730412D01* +G01X2139032Y1717533D01* +G01X2158163Y1708007D01* +G01X2178719Y1702158D01* +G01X2200000Y1700186D01* +G01X2200000Y1700186D01* +G01X2221281Y1702158D01* +G01X2241837Y1708007D01* +G01X2260968Y1717533D01* +G01X2278023Y1730412D01* +G01X2292421Y1746206D01* +G01X2303672Y1764377D01* +G01X2311393Y1784306D01* +G01X2315320Y1805314D01* +G01X2315320Y1826686D01* +G01X2311393Y1847694D01* +G01X2303672Y1867623D01* +G01X2292421Y1885793D01* +G01X2278023Y1901587D01* +G01X2260968Y1914467D01* +G01X2241837Y1923993D01* +G01X2221281Y1929842D01* +G01X2200000Y1931814D01* +G01X2178719Y1929842D01* +G01X2158163Y1923993D01* +G01X2139032Y1914467D01* +G01X2121977Y1901587D01* +G01X2107578Y1885793D01* +G01X2096328Y1867623D01* +G01X2088607Y1847694D01* +G01X2084680Y1826686D01* +G01X2061320Y1826686D01* +G01X2057393Y1847694D01* +G01X2049672Y1867623D01* +G01X2038421Y1885793D01* +G01X2024023Y1901587D01* +G01X2006968Y1914467D01* +G01X1987837Y1923993D01* +G01X1967281Y1929842D01* +G01X1946000Y1931814D01* +G01X1924719Y1929842D01* +G01X1904163Y1923993D01* +G01X1885032Y1914467D01* +G01X1867977Y1901587D01* +G01X1853578Y1885793D01* +G01X1842328Y1867623D01* +G01X1834607Y1847694D01* +G01X1830680Y1826686D01* +G01X727820Y1826686D01* +G01X723893Y1847694D01* +G01X716172Y1867623D01* +G01X704921Y1885793D01* +G01X690523Y1901587D01* +G01X673468Y1914467D01* +G01X654337Y1923993D01* +G01X633781Y1929842D01* +G01X612500Y1931814D01* +G01X591219Y1929842D01* +G01X570663Y1923993D01* +G01X551532Y1914467D01* +G01X534477Y1901587D01* +G01X520078Y1885793D01* +G01X508828Y1867623D01* +G01X501107Y1847694D01* +G01X497180Y1826686D01* +G01X473820Y1826686D01* +G01X469893Y1847694D01* +G01X462172Y1867623D01* +G01X450921Y1885793D01* +G01X436523Y1901587D01* +G01X419468Y1914467D01* +G01X400337Y1923993D01* +G01X379781Y1929842D01* +G01X358500Y1931814D01* +G01X337219Y1929842D01* +G01X316663Y1923993D01* +G01X297532Y1914467D01* +G01X280477Y1901587D01* +G01X266078Y1885793D01* +G01X254828Y1867623D01* +G01X247107Y1847694D01* +G01X243180Y1826686D01* +G01X35814Y1826686D01* +G01X35814Y2080686D01* +G01X243180Y2080686D01* +G01X243180Y2059314D01* +G01X247107Y2038306D01* +G01X254828Y2018377D01* +G01X266078Y2000206D01* +G01X280477Y1984412D01* +G01X297532Y1971533D01* +G01X316663Y1962007D01* +G01X337219Y1956158D01* +G01X358500Y1954186D01* +G01X358500Y1954186D01* +G01X379781Y1956158D01* +G01X400337Y1962007D01* +G01X419468Y1971533D01* +G01X436523Y1984412D01* +G01X450921Y2000206D01* +G01X462172Y2018377D01* +G01X469893Y2038306D01* +G01X473820Y2059314D01* +G01X473820Y2080686D01* +G01X473820Y2080686D01* +G01X497180Y2080686D01* +G01X497180Y2059314D01* +G01X501107Y2038306D01* +G01X508828Y2018377D01* +G01X520078Y2000206D01* +G01X534477Y1984412D01* +G01X551532Y1971533D01* +G01X570663Y1962007D01* +G01X591219Y1956158D01* +G01X612500Y1954186D01* +G01X612500Y1954186D01* +G01X633781Y1956158D01* +G01X654337Y1962007D01* +G01X673468Y1971533D01* +G01X690523Y1984412D01* +G01X704921Y2000206D01* +G01X716172Y2018377D01* +G01X723893Y2038306D01* +G01X727820Y2059314D01* +G01X727820Y2080686D01* +G01X727820Y2080686D01* +G01X1830680Y2080686D01* +G01X1830680Y2059314D01* +G01X1834607Y2038306D01* +G01X1842328Y2018377D01* +G01X1853578Y2000206D01* +G01X1867977Y1984412D01* +G01X1885032Y1971533D01* +G01X1904163Y1962007D01* +G01X1924719Y1956158D01* +G01X1946000Y1954186D01* +G01X1946000Y1954186D01* +G01X1967281Y1956158D01* +G01X1987837Y1962007D01* +G01X2006968Y1971533D01* +G01X2024023Y1984412D01* +G01X2038421Y2000206D01* +G01X2049672Y2018377D01* +G01X2057393Y2038306D01* +G01X2061320Y2059314D01* +G01X2061320Y2080686D01* +G01X2061320Y2080686D01* +G01X2084680Y2080686D01* +G01X2084680Y2059314D01* +G01X2088607Y2038306D01* +G01X2096328Y2018377D01* +G01X2107578Y2000206D01* +G01X2121977Y1984412D01* +G01X2139032Y1971533D01* +G01X2158163Y1962007D01* +G01X2178719Y1956158D01* +G01X2200000Y1954186D01* +G01X2200000Y1954186D01* +G01X2221281Y1956158D01* +G01X2241837Y1962007D01* +G01X2260968Y1971533D01* +G01X2278023Y1984412D01* +G01X2292421Y2000206D01* +G01X2303672Y2018377D01* +G01X2311393Y2038306D01* +G01X2315320Y2059314D01* +G01X2315320Y2080686D01* +G01X2311393Y2101694D01* +G01X2303672Y2121623D01* +G01X2292421Y2139793D01* +G01X2278023Y2155587D01* +G01X2260968Y2168467D01* +G01X2241837Y2177993D01* +G01X2221281Y2183842D01* +G01X2200000Y2185814D01* +G01X2178719Y2183842D01* +G01X2158163Y2177993D01* +G01X2139032Y2168467D01* +G01X2121977Y2155587D01* +G01X2107578Y2139793D01* +G01X2096328Y2121623D01* +G01X2088607Y2101694D01* +G01X2084680Y2080686D01* +G01X2061320Y2080686D01* +G01X2057393Y2101694D01* +G01X2049672Y2121623D01* +G01X2038421Y2139793D01* +G01X2024023Y2155587D01* +G01X2006968Y2168467D01* +G01X1987837Y2177993D01* +G01X1967281Y2183842D01* +G01X1946000Y2185814D01* +G01X1924719Y2183842D01* +G01X1904163Y2177993D01* +G01X1885032Y2168467D01* +G01X1867977Y2155587D01* +G01X1853578Y2139793D01* +G01X1842328Y2121623D01* +G01X1834607Y2101694D01* +G01X1830680Y2080686D01* +G01X727820Y2080686D01* +G01X723893Y2101694D01* +G01X716172Y2121623D01* +G01X704921Y2139793D01* +G01X690523Y2155587D01* +G01X673468Y2168467D01* +G01X654337Y2177993D01* +G01X633781Y2183842D01* +G01X612500Y2185814D01* +G01X591219Y2183842D01* +G01X570663Y2177993D01* +G01X551532Y2168467D01* +G01X534477Y2155587D01* +G01X520078Y2139793D01* +G01X508828Y2121623D01* +G01X501107Y2101694D01* +G01X497180Y2080686D01* +G01X473820Y2080686D01* +G01X469893Y2101694D01* +G01X462172Y2121623D01* +G01X450921Y2139793D01* +G01X436523Y2155587D01* +G01X419468Y2168467D01* +G01X400337Y2177993D01* +G01X379781Y2183842D01* +G01X358500Y2185814D01* +G01X337219Y2183842D01* +G01X316663Y2177993D01* +G01X297532Y2168467D01* +G01X280477Y2155587D01* +G01X266078Y2139793D01* +G01X254828Y2121623D01* +G01X247107Y2101694D01* +G01X243180Y2080686D01* +G01X35814Y2080686D01* +G01X35814Y2334686D01* +G01X243180Y2334686D01* +G01X243180Y2313314D01* +G01X247107Y2292306D01* +G01X254828Y2272377D01* +G01X266078Y2254206D01* +G01X280477Y2238412D01* +G01X297532Y2225533D01* +G01X316663Y2216007D01* +G01X337219Y2210158D01* +G01X358500Y2208186D01* +G01X358500Y2208186D01* +G01X379781Y2210158D01* +G01X400337Y2216007D01* +G01X419468Y2225533D01* +G01X436523Y2238412D01* +G01X450921Y2254206D01* +G01X462172Y2272377D01* +G01X469893Y2292306D01* +G01X473820Y2313314D01* +G01X473820Y2334686D01* +G01X473820Y2334686D01* +G01X497180Y2334686D01* +G01X497180Y2313314D01* +G01X501107Y2292306D01* +G01X508828Y2272377D01* +G01X520078Y2254206D01* +G01X534477Y2238412D01* +G01X551532Y2225533D01* +G01X570663Y2216007D01* +G01X591219Y2210158D01* +G01X612500Y2208186D01* +G01X612500Y2208186D01* +G01X633781Y2210158D01* +G01X654337Y2216007D01* +G01X673468Y2225533D01* +G01X690523Y2238412D01* +G01X704921Y2254206D01* +G01X716172Y2272377D01* +G01X723893Y2292306D01* +G01X727820Y2313314D01* +G01X727820Y2334686D01* +G01X727820Y2334686D01* +G01X1830680Y2334686D01* +G01X1830680Y2313314D01* +G01X1834607Y2292306D01* +G01X1842328Y2272377D01* +G01X1853578Y2254206D01* +G01X1867977Y2238412D01* +G01X1885032Y2225533D01* +G01X1904163Y2216007D01* +G01X1924719Y2210158D01* +G01X1946000Y2208186D01* +G01X1946000Y2208186D01* +G01X1967281Y2210158D01* +G01X1987837Y2216007D01* +G01X2006968Y2225533D01* +G01X2024023Y2238412D01* +G01X2038421Y2254206D01* +G01X2049672Y2272377D01* +G01X2057393Y2292306D01* +G01X2061320Y2313314D01* +G01X2061320Y2334686D01* +G01X2061320Y2334686D01* +G01X2084680Y2334686D01* +G01X2084680Y2313314D01* +G01X2088607Y2292306D01* +G01X2096328Y2272377D01* +G01X2107578Y2254206D01* +G01X2121977Y2238412D01* +G01X2139032Y2225533D01* +G01X2158163Y2216007D01* +G01X2178719Y2210158D01* +G01X2200000Y2208186D01* +G01X2200000Y2208186D01* +G01X2221281Y2210158D01* +G01X2241837Y2216007D01* +G01X2260968Y2225533D01* +G01X2278023Y2238412D01* +G01X2292421Y2254206D01* +G01X2303672Y2272377D01* +G01X2311393Y2292306D01* +G01X2315320Y2313314D01* +G01X2315320Y2334686D01* +G01X2311393Y2355694D01* +G01X2303672Y2375623D01* +G01X2292421Y2393793D01* +G01X2278023Y2409587D01* +G01X2260968Y2422467D01* +G01X2241837Y2431993D01* +G01X2221281Y2437842D01* +G01X2200000Y2439814D01* +G01X2178719Y2437842D01* +G01X2158163Y2431993D01* +G01X2139032Y2422467D01* +G01X2121977Y2409587D01* +G01X2107578Y2393793D01* +G01X2096328Y2375623D01* +G01X2088607Y2355694D01* +G01X2084680Y2334686D01* +G01X2061320Y2334686D01* +G01X2057393Y2355694D01* +G01X2049672Y2375623D01* +G01X2038421Y2393793D01* +G01X2024023Y2409587D01* +G01X2006968Y2422467D01* +G01X1987837Y2431993D01* +G01X1967281Y2437842D01* +G01X1946000Y2439814D01* +G01X1924719Y2437842D01* +G01X1904163Y2431993D01* +G01X1885032Y2422467D01* +G01X1867977Y2409587D01* +G01X1853578Y2393793D01* +G01X1842328Y2375623D01* +G01X1834607Y2355694D01* +G01X1830680Y2334686D01* +G01X727820Y2334686D01* +G01X723893Y2355694D01* +G01X716172Y2375623D01* +G01X704921Y2393793D01* +G01X690523Y2409587D01* +G01X673468Y2422467D01* +G01X654337Y2431993D01* +G01X633781Y2437842D01* +G01X612500Y2439814D01* +G01X591219Y2437842D01* +G01X570663Y2431993D01* +G01X551532Y2422467D01* +G01X534477Y2409587D01* +G01X520078Y2393793D01* +G01X508828Y2375623D01* +G01X501107Y2355694D01* +G01X497180Y2334686D01* +G01X473820Y2334686D01* +G01X469893Y2355694D01* +G01X462172Y2375623D01* +G01X450921Y2393793D01* +G01X436523Y2409587D01* +G01X419468Y2422467D01* +G01X400337Y2431993D01* +G01X379781Y2437842D01* +G01X358500Y2439814D01* +G01X337219Y2437842D01* +G01X316663Y2431993D01* +G01X297532Y2422467D01* +G01X280477Y2409587D01* +G01X266078Y2393793D01* +G01X254828Y2375623D01* +G01X247107Y2355694D01* +G01X243180Y2334686D01* +G01X35814Y2334686D01* +G01X35814Y2588686D01* +G01X243180Y2588686D01* +G01X243180Y2567314D01* +G01X247107Y2546306D01* +G01X254828Y2526377D01* +G01X266078Y2508206D01* +G01X280477Y2492412D01* +G01X297532Y2479533D01* +G01X316663Y2470007D01* +G01X337219Y2464158D01* +G01X358500Y2462186D01* +G01X358500Y2462186D01* +G01X379781Y2464158D01* +G01X400337Y2470007D01* +G01X419468Y2479533D01* +G01X436523Y2492412D01* +G01X450921Y2508206D01* +G01X462172Y2526377D01* +G01X469893Y2546306D01* +G01X473820Y2567314D01* +G01X473820Y2588686D01* +G01X473820Y2588686D01* +G01X497180Y2588686D01* +G01X497180Y2567314D01* +G01X501107Y2546306D01* +G01X508828Y2526377D01* +G01X520078Y2508206D01* +G01X534477Y2492412D01* +G01X551532Y2479533D01* +G01X570663Y2470007D01* +G01X591219Y2464158D01* +G01X612500Y2462186D01* +G01X612500Y2462186D01* +G01X633781Y2464158D01* +G01X654337Y2470007D01* +G01X673468Y2479533D01* +G01X690523Y2492412D01* +G01X704921Y2508206D01* +G01X716172Y2526377D01* +G01X723893Y2546306D01* +G01X727820Y2567314D01* +G01X727820Y2588686D01* +G01X727820Y2588686D01* +G01X1830680Y2588686D01* +G01X1830680Y2567314D01* +G01X1834607Y2546306D01* +G01X1842328Y2526377D01* +G01X1853578Y2508206D01* +G01X1867977Y2492412D01* +G01X1885032Y2479533D01* +G01X1904163Y2470007D01* +G01X1924719Y2464158D01* +G01X1946000Y2462186D01* +G01X1946000Y2462186D01* +G01X1967281Y2464158D01* +G01X1987837Y2470007D01* +G01X2006968Y2479533D01* +G01X2024023Y2492412D01* +G01X2038421Y2508206D01* +G01X2049672Y2526377D01* +G01X2057393Y2546306D01* +G01X2061320Y2567314D01* +G01X2061320Y2588686D01* +G01X2061320Y2588686D01* +G01X2084680Y2588686D01* +G01X2084680Y2567314D01* +G01X2088607Y2546306D01* +G01X2096328Y2526377D01* +G01X2107578Y2508206D01* +G01X2121977Y2492412D01* +G01X2139032Y2479533D01* +G01X2158163Y2470007D01* +G01X2178719Y2464158D01* +G01X2200000Y2462186D01* +G01X2200000Y2462186D01* +G01X2221281Y2464158D01* +G01X2241837Y2470007D01* +G01X2260968Y2479533D01* +G01X2278023Y2492412D01* +G01X2292421Y2508206D01* +G01X2303672Y2526377D01* +G01X2311393Y2546306D01* +G01X2315320Y2567314D01* +G01X2315320Y2588686D01* +G01X2311393Y2609694D01* +G01X2303672Y2629623D01* +G01X2292421Y2647793D01* +G01X2278023Y2663587D01* +G01X2260968Y2676467D01* +G01X2241837Y2685993D01* +G01X2221281Y2691842D01* +G01X2200000Y2693814D01* +G01X2178719Y2691842D01* +G01X2158163Y2685993D01* +G01X2139032Y2676467D01* +G01X2121977Y2663587D01* +G01X2107578Y2647793D01* +G01X2096328Y2629623D01* +G01X2088607Y2609694D01* +G01X2084680Y2588686D01* +G01X2061320Y2588686D01* +G01X2057393Y2609694D01* +G01X2049672Y2629623D01* +G01X2038421Y2647793D01* +G01X2024023Y2663587D01* +G01X2006968Y2676467D01* +G01X1987837Y2685993D01* +G01X1967281Y2691842D01* +G01X1946000Y2693814D01* +G01X1924719Y2691842D01* +G01X1904163Y2685993D01* +G01X1885032Y2676467D01* +G01X1867977Y2663587D01* +G01X1853578Y2647793D01* +G01X1842328Y2629623D01* +G01X1834607Y2609694D01* +G01X1830680Y2588686D01* +G01X727820Y2588686D01* +G01X723893Y2609694D01* +G01X716172Y2629623D01* +G01X704921Y2647793D01* +G01X690523Y2663587D01* +G01X673468Y2676467D01* +G01X654337Y2685993D01* +G01X633781Y2691842D01* +G01X612500Y2693814D01* +G01X591219Y2691842D01* +G01X570663Y2685993D01* +G01X551532Y2676467D01* +G01X534477Y2663587D01* +G01X520078Y2647793D01* +G01X508828Y2629623D01* +G01X501107Y2609694D01* +G01X497180Y2588686D01* +G01X473820Y2588686D01* +G01X469893Y2609694D01* +G01X462172Y2629623D01* +G01X450921Y2647793D01* +G01X436523Y2663587D01* +G01X419468Y2676467D01* +G01X400337Y2685993D01* +G01X379781Y2691842D01* +G01X358500Y2693814D01* +G01X337219Y2691842D01* +G01X316663Y2685993D01* +G01X297532Y2676467D01* +G01X280477Y2663587D01* +G01X266078Y2647793D01* +G01X254828Y2629623D01* +G01X247107Y2609694D01* +G01X243180Y2588686D01* +G01X35814Y2588686D01* +G01X35814Y3078173D01* +G01X242951Y3078173D01* +G01X246413Y3056857D01* +G01X253772Y3036555D01* +G01X264772Y3017971D01* +G01X279031Y3001753D01* +G01X296053Y2988464D01* +G01X315246Y2978566D01* +G01X335943Y2972404D01* +G01X357425Y2970191D01* +G01X378944Y2972005D01* +G01X399752Y2977782D01* +G01X369281Y2947311D01* +G01X349044Y2947427D01* +G01X329097Y2944019D01* +G01X310047Y2937191D01* +G01X292476Y2927151D01* +G01X276921Y2914206D01* +G01X263857Y2898750D01* +G01X253683Y2881257D01* +G01X246709Y2862260D01* +G01X243149Y2842339D01* +G01X243110Y2822102D01* +G01X246594Y2802168D01* +G01X253495Y2783144D01* +G01X263603Y2765612D01* +G01X276607Y2750107D01* +G01X292112Y2737103D01* +G01X309644Y2726995D01* +G01X328668Y2720094D01* +G01X348602Y2716610D01* +G01X368839Y2716649D01* +G01X388760Y2720209D01* +G01X407757Y2727183D01* +G01X425250Y2737357D01* +G01X440706Y2750421D01* +G01X453651Y2765976D01* +G01X463691Y2783547D01* +G01X470519Y2802597D01* +G01X473927Y2822544D01* +G01X473811Y2842781D01* +G01X516156Y2885126D01* +G01X521163Y2885126D01* +G01X512749Y2866851D01* +G01X507951Y2847312D01* +G01X506944Y2827219D01* +G01X509764Y2807299D01* +G01X516308Y2788274D01* +G01X526339Y2770835D01* +G01X539494Y2755613D01* +G01X555296Y2743160D01* +G01X573171Y2733928D01* +G01X592473Y2728251D01* +G01X612500Y2726336D01* +G01X632527Y2728251D01* +G01X651829Y2733928D01* +G01X669704Y2743160D01* +G01X685506Y2755613D01* +G01X698661Y2770835D01* +G01X708692Y2788274D01* +G01X715236Y2807299D01* +G01X718056Y2827219D01* +G01X717280Y2842686D01* +G01X1830680Y2842686D01* +G01X1830680Y2821314D01* +G01X1834607Y2800306D01* +G01X1842328Y2780377D01* +G01X1853578Y2762206D01* +G01X1867977Y2746412D01* +G01X1885032Y2733533D01* +G01X1904163Y2724007D01* +G01X1924719Y2718158D01* +G01X1946000Y2716186D01* +G01X1946000Y2716186D01* +G01X1967281Y2718158D01* +G01X1987837Y2724007D01* +G01X2006968Y2733533D01* +G01X2024023Y2746412D01* +G01X2038421Y2762206D01* +G01X2049672Y2780377D01* +G01X2057393Y2800306D01* +G01X2061320Y2821314D01* +G01X2061320Y2842686D01* +G01X2061320Y2842686D01* +G01X2084680Y2842686D01* +G01X2084680Y2821314D01* +G01X2088607Y2800306D01* +G01X2096328Y2780377D01* +G01X2107578Y2762206D01* +G01X2121977Y2746412D01* +G01X2139032Y2733533D01* +G01X2158163Y2724007D01* +G01X2178719Y2718158D01* +G01X2200000Y2716186D01* +G01X2200000Y2716186D01* +G01X2221281Y2718158D01* +G01X2241837Y2724007D01* +G01X2260968Y2733533D01* +G01X2278023Y2746412D01* +G01X2292421Y2762206D01* +G01X2303672Y2780377D01* +G01X2311393Y2800306D01* +G01X2315320Y2821314D01* +G01X2315320Y2842686D01* +G01X2311393Y2863694D01* +G01X2303672Y2883623D01* +G01X2292421Y2901793D01* +G01X2278023Y2917587D01* +G01X2260968Y2930467D01* +G01X2241837Y2939993D01* +G01X2221281Y2945842D01* +G01X2200000Y2947814D01* +G01X2178719Y2945842D01* +G01X2158163Y2939993D01* +G01X2139032Y2930467D01* +G01X2121977Y2917587D01* +G01X2107578Y2901793D01* +G01X2096328Y2883623D01* +G01X2088607Y2863694D01* +G01X2084680Y2842686D01* +G01X2061320Y2842686D01* +G01X2057393Y2863694D01* +G01X2049672Y2883623D01* +G01X2038421Y2901793D01* +G01X2024023Y2917587D01* +G01X2006968Y2930467D01* +G01X1987837Y2939993D01* +G01X1967281Y2945842D01* +G01X1946000Y2947814D01* +G01X1924719Y2945842D01* +G01X1904163Y2939993D01* +G01X1885032Y2930467D01* +G01X1867977Y2917587D01* +G01X1853578Y2901793D01* +G01X1842328Y2883623D01* +G01X1834607Y2863694D01* +G01X1830680Y2842686D01* +G01X717280Y2842686D01* +G01X717048Y2847312D01* +G01X712251Y2866851D01* +G01X703837Y2885126D01* +G01X739540Y2885126D01* +G01X753960Y2886546D01* +G01X767825Y2890752D01* +G01X780604Y2897583D01* +G01X791805Y2906775D01* +G01X981716Y3096686D01* +G01X1830680Y3096686D01* +G01X1830680Y3075314D01* +G01X1834607Y3054306D01* +G01X1842328Y3034377D01* +G01X1853578Y3016206D01* +G01X1867977Y3000412D01* +G01X1885032Y2987533D01* +G01X1904163Y2978007D01* +G01X1924719Y2972158D01* +G01X1946000Y2970186D01* +G01X1946000Y2970186D01* +G01X1967281Y2972158D01* +G01X1987837Y2978007D01* +G01X2006968Y2987533D01* +G01X2024023Y3000412D01* +G01X2038421Y3016206D01* +G01X2049672Y3034377D01* +G01X2057393Y3054306D01* +G01X2061320Y3075314D01* +G01X2061320Y3096686D01* +G01X2061320Y3096686D01* +G01X2084680Y3096686D01* +G01X2084680Y3075314D01* +G01X2088607Y3054306D01* +G01X2096328Y3034377D01* +G01X2107578Y3016206D01* +G01X2121977Y3000412D01* +G01X2139032Y2987533D01* +G01X2158163Y2978007D01* +G01X2178719Y2972158D01* +G01X2200000Y2970186D01* +G01X2200000Y2970186D01* +G01X2221281Y2972158D01* +G01X2241837Y2978007D01* +G01X2260968Y2987533D01* +G01X2278023Y3000412D01* +G01X2292421Y3016206D01* +G01X2303672Y3034377D01* +G01X2311393Y3054306D01* +G01X2315320Y3075314D01* +G01X2315320Y3096686D01* +G01X2311393Y3117694D01* +G01X2303672Y3137623D01* +G01X2292421Y3155793D01* +G01X2278023Y3171587D01* +G01X2260968Y3184467D01* +G01X2241837Y3193993D01* +G01X2221281Y3199842D01* +G01X2200000Y3201814D01* +G01X2178719Y3199842D01* +G01X2158163Y3193993D01* +G01X2139032Y3184467D01* +G01X2121977Y3171587D01* +G01X2107578Y3155793D01* +G01X2096328Y3137623D01* +G01X2088607Y3117694D01* +G01X2084680Y3096686D01* +G01X2061320Y3096686D01* +G01X2057393Y3117694D01* +G01X2049672Y3137623D01* +G01X2038421Y3155793D01* +G01X2024023Y3171587D01* +G01X2006968Y3184467D01* +G01X1987837Y3193993D01* +G01X1967281Y3199842D01* +G01X1946000Y3201814D01* +G01X1924719Y3199842D01* +G01X1904163Y3193993D01* +G01X1885032Y3184467D01* +G01X1867977Y3171587D01* +G01X1853578Y3155793D01* +G01X1842328Y3137623D01* +G01X1834607Y3117694D01* +G01X1830680Y3096686D01* +G01X981716Y3096686D01* +G01X1225132Y3340102D01* +G01X1451886Y3340102D01* +G01X1453797Y3318254D01* +G01X1459474Y3297071D01* +G01X1468742Y3277195D01* +G01X1481321Y3259230D01* +G01X1496828Y3243723D01* +G01X1514793Y3231144D01* +G01X1534669Y3221875D01* +G01X1555853Y3216199D01* +G01X1577700Y3214288D01* +G01X1599547Y3216199D01* +G01X1620731Y3221875D01* +G01X1640607Y3231144D01* +G01X1658571Y3243723D01* +G01X1674079Y3259230D01* +G01X1686658Y3277195D01* +G01X1695926Y3297071D01* +G01X1701602Y3318254D01* +G01X1703514Y3340102D01* +G01X1702588Y3350686D01* +G01X1830680Y3350686D01* +G01X1830680Y3329314D01* +G01X1834607Y3308306D01* +G01X1842328Y3288377D01* +G01X1853578Y3270206D01* +G01X1867977Y3254412D01* +G01X1885032Y3241533D01* +G01X1904163Y3232007D01* +G01X1924719Y3226158D01* +G01X1946000Y3224186D01* +G01X1946000Y3224186D01* +G01X1967281Y3226158D01* +G01X1987837Y3232007D01* +G01X2006968Y3241533D01* +G01X2024023Y3254412D01* +G01X2038421Y3270206D01* +G01X2049672Y3288377D01* +G01X2057393Y3308306D01* +G01X2061320Y3329314D01* +G01X2061320Y3350686D01* +G01X2084680Y3350686D01* +G01X2084680Y3329314D01* +G01X2088607Y3308306D01* +G01X2096328Y3288377D01* +G01X2107578Y3270206D01* +G01X2121977Y3254412D01* +G01X2139032Y3241533D01* +G01X2158163Y3232007D01* +G01X2178719Y3226158D01* +G01X2200000Y3224186D01* +G01X2200000Y3224186D01* +G01X2221281Y3226158D01* +G01X2241837Y3232007D01* +G01X2260968Y3241533D01* +G01X2278023Y3254412D01* +G01X2292421Y3270206D01* +G01X2303672Y3288377D01* +G01X2311393Y3308306D01* +G01X2315320Y3329314D01* +G01X2315320Y3350686D01* +G01X2311393Y3371694D01* +G01X2303672Y3391623D01* +G01X2292421Y3409793D01* +G01X2278023Y3425587D01* +G01X2260968Y3438467D01* +G01X2241837Y3447993D01* +G01X2221281Y3453842D01* +G01X2200000Y3455814D01* +G01X2178719Y3453842D01* +G01X2158163Y3447993D01* +G01X2139032Y3438467D01* +G01X2121977Y3425587D01* +G01X2107578Y3409793D01* +G01X2096328Y3391623D01* +G01X2088607Y3371694D01* +G01X2084680Y3350686D01* +G01X2061320Y3350686D01* +G01X2057393Y3371694D01* +G01X2049672Y3391623D01* +G01X2038421Y3409793D01* +G01X2024023Y3425587D01* +G01X2006968Y3438467D01* +G01X1987837Y3447993D01* +G01X1967281Y3453842D01* +G01X1946000Y3455814D01* +G01X1924719Y3453842D01* +G01X1904163Y3447993D01* +G01X1885032Y3438467D01* +G01X1867977Y3425587D01* +G01X1853578Y3409793D01* +G01X1842328Y3391623D01* +G01X1834607Y3371694D01* +G01X1830680Y3350686D01* +G01X1702588Y3350686D01* +G01X1701602Y3361949D01* +G01X1695926Y3383132D01* +G01X1686658Y3403008D01* +G01X1674079Y3420973D01* +G01X1658571Y3436481D01* +G01X1640607Y3449059D01* +G01X1620731Y3458328D01* +G01X1599547Y3464004D01* +G01X1577700Y3465915D01* +G01X1577700Y3465915D01* +G01X1555853Y3464004D01* +G01X1534669Y3458328D01* +G01X1514793Y3449059D01* +G01X1496828Y3436481D01* +G01X1481321Y3420973D01* +G01X1468742Y3403008D01* +G01X1459474Y3383132D01* +G01X1453797Y3361949D01* +G01X1451886Y3340102D01* +G01X1225132Y3340102D01* +G01X1248965Y3363935D01* +G01X1258157Y3375136D01* +G01X1264988Y3387914D01* +G01X1269194Y3401780D01* +G01X1270614Y3416200D01* +G01X1270614Y3501551D01* +G01X1285677Y3515941D01* +G01X1297984Y3532749D01* +G01X1307153Y3551454D01* +G01X1312901Y3571477D01* +G01X1315050Y3592198D01* +G01X1314138Y3604686D01* +G01X1830680Y3604686D01* +G01X1830680Y3583314D01* +G01X1834607Y3562306D01* +G01X1842328Y3542377D01* +G01X1853578Y3524206D01* +G01X1867977Y3508412D01* +G01X1885032Y3495533D01* +G01X1904163Y3486007D01* +G01X1924719Y3480158D01* +G01X1946000Y3478186D01* +G01X1946000Y3478186D01* +G01X1967281Y3480158D01* +G01X1987837Y3486007D01* +G01X2006968Y3495533D01* +G01X2024023Y3508412D01* +G01X2038421Y3524206D01* +G01X2049672Y3542377D01* +G01X2057393Y3562306D01* +G01X2061320Y3583314D01* +G01X2061320Y3604686D01* +G01X2084680Y3604686D01* +G01X2084680Y3583314D01* +G01X2088607Y3562306D01* +G01X2096328Y3542377D01* +G01X2107578Y3524206D01* +G01X2121977Y3508412D01* +G01X2139032Y3495533D01* +G01X2158163Y3486007D01* +G01X2178719Y3480158D01* +G01X2200000Y3478186D01* +G01X2200000Y3478186D01* +G01X2221281Y3480158D01* +G01X2241837Y3486007D01* +G01X2260968Y3495533D01* +G01X2278023Y3508412D01* +G01X2292421Y3524206D01* +G01X2303672Y3542377D01* +G01X2311393Y3562306D01* +G01X2315320Y3583314D01* +G01X2315320Y3604686D01* +G01X2311393Y3625694D01* +G01X2303672Y3645623D01* +G01X2292421Y3663793D01* +G01X2278023Y3679587D01* +G01X2260968Y3692467D01* +G01X2241837Y3701993D01* +G01X2221281Y3707842D01* +G01X2200000Y3709814D01* +G01X2178719Y3707842D01* +G01X2158163Y3701993D01* +G01X2139032Y3692467D01* +G01X2121977Y3679587D01* +G01X2107578Y3663793D01* +G01X2096328Y3645623D01* +G01X2088607Y3625694D01* +G01X2084680Y3604686D01* +G01X2061320Y3604686D01* +G01X2061320Y3604686D01* +G01X2057393Y3625694D01* +G01X2049672Y3645623D01* +G01X2038421Y3663793D01* +G01X2024023Y3679587D01* +G01X2006968Y3692467D01* +G01X1987837Y3701993D01* +G01X1967281Y3707842D01* +G01X1946000Y3709814D01* +G01X1924719Y3707842D01* +G01X1904163Y3701993D01* +G01X1885032Y3692467D01* +G01X1867977Y3679587D01* +G01X1853578Y3663793D01* +G01X1842328Y3645623D01* +G01X1834607Y3625694D01* +G01X1830680Y3604686D01* +G01X1314138Y3604686D01* +G01X1313533Y3612974D01* +G01X1308397Y3633163D01* +G01X1299802Y3652138D01* +G01X1288012Y3669313D01* +G01X1273395Y3684155D01* +G01X1256401Y3696204D01* +G01X1237559Y3705088D01* +G01X1217451Y3710531D01* +G01X1196700Y3712364D01* +G01X1175949Y3710531D01* +G01X1155841Y3705088D01* +G01X1136998Y3696204D01* +G01X1120005Y3684155D01* +G01X1105387Y3669313D01* +G01X1093598Y3652138D01* +G01X1085002Y3633163D01* +G01X1079867Y3612974D01* +G01X1078350Y3592198D01* +G01X1080499Y3571477D01* +G01X1086247Y3551454D01* +G01X1095416Y3532749D01* +G01X1107723Y3515941D01* +G01X1122786Y3501551D01* +G01X1122786Y3446816D01* +G01X708924Y3032954D01* +G01X708924Y3032954D01* +G01X703884Y3032954D01* +G01X703884Y3032954D01* +G01X712279Y3051228D01* +G01X717059Y3070762D01* +G01X718053Y3090848D01* +G01X715222Y3110758D01* +G01X708671Y3129772D01* +G01X698636Y3147199D01* +G01X685482Y3162410D01* +G01X669683Y3174854D01* +G01X651813Y3184078D01* +G01X632519Y3189750D01* +G01X612500Y3191664D01* +G01X612500Y3191664D01* +G01X592481Y3189750D01* +G01X573187Y3184078D01* +G01X555317Y3174854D01* +G01X539518Y3162410D01* +G01X526363Y3147199D01* +G01X516329Y3129772D01* +G01X509777Y3110758D01* +G01X506947Y3090848D01* +G01X507940Y3070762D01* +G01X512721Y3051228D01* +G01X521116Y3032954D01* +G01X485540Y3032954D01* +G01X471879Y3031680D01* +G01X458688Y3027904D01* +G01X467732Y3047514D01* +G01X472978Y3068462D01* +G01X474244Y3090020D01* +G01X471485Y3111439D01* +G01X464798Y3131972D01* +G01X454416Y3150908D01* +G01X440698Y3167586D01* +G01X424122Y3181428D01* +G01X405265Y3191952D01* +G01X384782Y3198792D01* +G01X363385Y3201711D01* +G01X341818Y3200606D01* +G01X320831Y3195517D01* +G01X301154Y3186619D01* +G01X283471Y3174224D01* +G01X268396Y3158761D01* +G01X256454Y3140768D01* +G01X248060Y3120871D01* +G01X243507Y3099761D01* +G01X242951Y3078173D01* +G01X35814Y3078173D01* +G01X35814Y3350686D01* +G01X243180Y3350686D01* +G01X243180Y3329314D01* +G01X247107Y3308306D01* +G01X254828Y3288377D01* +G01X266078Y3270206D01* +G01X280477Y3254412D01* +G01X297532Y3241533D01* +G01X316663Y3232007D01* +G01X337219Y3226158D01* +G01X358500Y3224186D01* +G01X358500Y3224186D01* +G01X379781Y3226158D01* +G01X400337Y3232007D01* +G01X419468Y3241533D01* +G01X436523Y3254412D01* +G01X450921Y3270206D01* +G01X462172Y3288377D01* +G01X469893Y3308306D01* +G01X473820Y3329314D01* +G01X473820Y3350686D01* +G01X497180Y3350686D01* +G01X497180Y3329314D01* +G01X501107Y3308306D01* +G01X508828Y3288377D01* +G01X520078Y3270206D01* +G01X534477Y3254412D01* +G01X551532Y3241533D01* +G01X570663Y3232007D01* +G01X591219Y3226158D01* +G01X612500Y3224186D01* +G01X612500Y3224186D01* +G01X633781Y3226158D01* +G01X654337Y3232007D01* +G01X673468Y3241533D01* +G01X690523Y3254412D01* +G01X704921Y3270206D01* +G01X716172Y3288377D01* +G01X723893Y3308306D01* +G01X727820Y3329314D01* +G01X727820Y3350686D01* +G01X723893Y3371694D01* +G01X716172Y3391623D01* +G01X704921Y3409793D01* +G01X690523Y3425587D01* +G01X673468Y3438467D01* +G01X654337Y3447993D01* +G01X633781Y3453842D01* +G01X612500Y3455814D01* +G01X591219Y3453842D01* +G01X570663Y3447993D01* +G01X551532Y3438467D01* +G01X534477Y3425587D01* +G01X520078Y3409793D01* +G01X508828Y3391623D01* +G01X501107Y3371694D01* +G01X497180Y3350686D01* +G01X473820Y3350686D01* +G01X469893Y3371694D01* +G01X462172Y3391623D01* +G01X450921Y3409793D01* +G01X436523Y3425587D01* +G01X419468Y3438467D01* +G01X400337Y3447993D01* +G01X379781Y3453842D01* +G01X358500Y3455814D01* +G01X337219Y3453842D01* +G01X316663Y3447993D01* +G01X297532Y3438467D01* +G01X280477Y3425587D01* +G01X266078Y3409793D01* +G01X254828Y3391623D01* +G01X247107Y3371694D01* +G01X243180Y3350686D01* +G01X35814Y3350686D01* +G01X35814Y3604686D01* +G01X243180Y3604686D01* +G01X243180Y3583314D01* +G01X247107Y3562306D01* +G01X254828Y3542377D01* +G01X266078Y3524206D01* +G01X280477Y3508412D01* +G01X297532Y3495533D01* +G01X316663Y3486007D01* +G01X337219Y3480158D01* +G01X358500Y3478186D01* +G01X358500Y3478186D01* +G01X379781Y3480158D01* +G01X400337Y3486007D01* +G01X419468Y3495533D01* +G01X436523Y3508412D01* +G01X450921Y3524206D01* +G01X462172Y3542377D01* +G01X469893Y3562306D01* +G01X473820Y3583314D01* +G01X473820Y3604686D01* +G01X497180Y3604686D01* +G01X497180Y3583314D01* +G01X501107Y3562306D01* +G01X508828Y3542377D01* +G01X520078Y3524206D01* +G01X534477Y3508412D01* +G01X551532Y3495533D01* +G01X570663Y3486007D01* +G01X591219Y3480158D01* +G01X612500Y3478186D01* +G01X612500Y3478186D01* +G01X633781Y3480158D01* +G01X654337Y3486007D01* +G01X673468Y3495533D01* +G01X690523Y3508412D01* +G01X704921Y3524206D01* +G01X716172Y3542377D01* +G01X723893Y3562306D01* +G01X727820Y3583314D01* +G01X727820Y3604686D01* +G01X723893Y3625694D01* +G01X716172Y3645623D01* +G01X704921Y3663793D01* +G01X690523Y3679587D01* +G01X673468Y3692467D01* +G01X654337Y3701993D01* +G01X633781Y3707842D01* +G01X612500Y3709814D01* +G01X591219Y3707842D01* +G01X570663Y3701993D01* +G01X551532Y3692467D01* +G01X534477Y3679587D01* +G01X520078Y3663793D01* +G01X508828Y3645623D01* +G01X501107Y3625694D01* +G01X497180Y3604686D01* +G01X473820Y3604686D01* +G01X469893Y3625694D01* +G01X462172Y3645623D01* +G01X450921Y3663793D01* +G01X436523Y3679587D01* +G01X419468Y3692467D01* +G01X400337Y3701993D01* +G01X379781Y3707842D01* +G01X358500Y3709814D01* +G01X337219Y3707842D01* +G01X316663Y3701993D01* +G01X297532Y3692467D01* +G01X280477Y3679587D01* +G01X266078Y3663793D01* +G01X254828Y3645623D01* +G01X247107Y3625694D01* +G01X243180Y3604686D01* +G01X35814Y3604686D01* +G01X35814Y3858686D01* +G01X243180Y3858686D01* +G01X243180Y3837314D01* +G01X247107Y3816306D01* +G01X254828Y3796377D01* +G01X266078Y3778206D01* +G01X280477Y3762412D01* +G01X297532Y3749533D01* +G01X316663Y3740007D01* +G01X337219Y3734158D01* +G01X358500Y3732186D01* +G01X358500Y3732186D01* +G01X379781Y3734158D01* +G01X400337Y3740007D01* +G01X419468Y3749533D01* +G01X436523Y3762412D01* +G01X450921Y3778206D01* +G01X462172Y3796377D01* +G01X469893Y3816306D01* +G01X473820Y3837314D01* +G01X473820Y3858686D01* +G01X497180Y3858686D01* +G01X497180Y3837314D01* +G01X501107Y3816306D01* +G01X508828Y3796377D01* +G01X520078Y3778206D01* +G01X534477Y3762412D01* +G01X551532Y3749533D01* +G01X570663Y3740007D01* +G01X591219Y3734158D01* +G01X612500Y3732186D01* +G01X612500Y3732186D01* +G01X633781Y3734158D01* +G01X654337Y3740007D01* +G01X673468Y3749533D01* +G01X690523Y3762412D01* +G01X704921Y3778206D01* +G01X716172Y3796377D01* +G01X723893Y3816306D01* +G01X727820Y3837314D01* +G01X727820Y3858686D01* +G01X723893Y3879694D01* +G01X716172Y3899623D01* +G01X704921Y3917793D01* +G01X690523Y3933587D01* +G01X673468Y3946467D01* +G01X654337Y3955993D01* +G01X633781Y3961842D01* +G01X612500Y3963814D01* +G01X591219Y3961842D01* +G01X570663Y3955993D01* +G01X551532Y3946467D01* +G01X534477Y3933587D01* +G01X520078Y3917793D01* +G01X508828Y3899623D01* +G01X501107Y3879694D01* +G01X497180Y3858686D01* +G01X473820Y3858686D01* +G01X469893Y3879694D01* +G01X462172Y3899623D01* +G01X450921Y3917793D01* +G01X436523Y3933587D01* +G01X419468Y3946467D01* +G01X400337Y3955993D01* +G01X379781Y3961842D01* +G01X358500Y3963814D01* +G01X337219Y3961842D01* +G01X316663Y3955993D01* +G01X297532Y3946467D01* +G01X280477Y3933587D01* +G01X266078Y3917793D01* +G01X254828Y3899623D01* +G01X247107Y3879694D01* +G01X243180Y3858686D01* +G01X35814Y3858686D01* +G01X35814Y4112686D01* +G01X243180Y4112686D01* +G01X243180Y4091314D01* +G01X247107Y4070306D01* +G01X254828Y4050377D01* +G01X266078Y4032206D01* +G01X280477Y4016412D01* +G01X297532Y4003533D01* +G01X316663Y3994007D01* +G01X337219Y3988158D01* +G01X358500Y3986186D01* +G01X358500Y3986186D01* +G01X379781Y3988158D01* +G01X400337Y3994007D01* +G01X419468Y4003533D01* +G01X436523Y4016412D01* +G01X450921Y4032206D01* +G01X462172Y4050377D01* +G01X469893Y4070306D01* +G01X473820Y4091314D01* +G01X473820Y4112686D01* +G01X497180Y4112686D01* +G01X497180Y4091314D01* +G01X501107Y4070306D01* +G01X508828Y4050377D01* +G01X520078Y4032206D01* +G01X534477Y4016412D01* +G01X551532Y4003533D01* +G01X570663Y3994007D01* +G01X591219Y3988158D01* +G01X612500Y3986186D01* +G01X612500Y3986186D01* +G01X633781Y3988158D01* +G01X654337Y3994007D01* +G01X673468Y4003533D01* +G01X690523Y4016412D01* +G01X704921Y4032206D01* +G01X716172Y4050377D01* +G01X723893Y4070306D01* +G01X727820Y4091314D01* +G01X727820Y4112686D01* +G01X723893Y4133694D01* +G01X716172Y4153623D01* +G01X704921Y4171793D01* +G01X690523Y4187587D01* +G01X673468Y4200467D01* +G01X654337Y4209993D01* +G01X633781Y4215842D01* +G01X612500Y4217814D01* +G01X591219Y4215842D01* +G01X570663Y4209993D01* +G01X551532Y4200467D01* +G01X534477Y4187587D01* +G01X520078Y4171793D01* +G01X508828Y4153623D01* +G01X501107Y4133694D01* +G01X497180Y4112686D01* +G01X473820Y4112686D01* +G01X469893Y4133694D01* +G01X462172Y4153623D01* +G01X450921Y4171793D01* +G01X436523Y4187587D01* +G01X419468Y4200467D01* +G01X400337Y4209993D01* +G01X379781Y4215842D01* +G01X358500Y4217814D01* +G01X337219Y4215842D01* +G01X316663Y4209993D01* +G01X297532Y4200467D01* +G01X280477Y4187587D01* +G01X266078Y4171793D01* +G01X254828Y4153623D01* +G01X247107Y4133694D01* +G01X243180Y4112686D01* +G01X35814Y4112686D01* +G01X35814Y4366686D01* +G01X243180Y4366686D01* +G01X243180Y4345314D01* +G01X247107Y4324306D01* +G01X254828Y4304377D01* +G01X266078Y4286206D01* +G01X280477Y4270412D01* +G01X297532Y4257533D01* +G01X316663Y4248007D01* +G01X337219Y4242158D01* +G01X358500Y4240186D01* +G01X358500Y4240186D01* +G01X379781Y4242158D01* +G01X400337Y4248007D01* +G01X419468Y4257533D01* +G01X436523Y4270412D01* +G01X450921Y4286206D01* +G01X462172Y4304377D01* +G01X469893Y4324306D01* +G01X473820Y4345314D01* +G01X473820Y4366686D01* +G01X497180Y4366686D01* +G01X497180Y4345314D01* +G01X501107Y4324306D01* +G01X508828Y4304377D01* +G01X520078Y4286206D01* +G01X534477Y4270412D01* +G01X551532Y4257533D01* +G01X570663Y4248007D01* +G01X591219Y4242158D01* +G01X612500Y4240186D01* +G01X612500Y4240186D01* +G01X633781Y4242158D01* +G01X654337Y4248007D01* +G01X673468Y4257533D01* +G01X690523Y4270412D01* +G01X704921Y4286206D01* +G01X716172Y4304377D01* +G01X723893Y4324306D01* +G01X727820Y4345314D01* +G01X727820Y4366686D01* +G01X723893Y4387694D01* +G01X716172Y4407623D01* +G01X704921Y4425793D01* +G01X690523Y4441587D01* +G01X673468Y4454467D01* +G01X654337Y4463993D01* +G01X633781Y4469842D01* +G01X612500Y4471814D01* +G01X591219Y4469842D01* +G01X570663Y4463993D01* +G01X551532Y4454467D01* +G01X534477Y4441587D01* +G01X520078Y4425793D01* +G01X508828Y4407623D01* +G01X501107Y4387694D01* +G01X497180Y4366686D01* +G01X473820Y4366686D01* +G01X469893Y4387694D01* +G01X462172Y4407623D01* +G01X450921Y4425793D01* +G01X436523Y4441587D01* +G01X419468Y4454467D01* +G01X400337Y4463993D01* +G01X379781Y4469842D01* +G01X358500Y4471814D01* +G01X337219Y4469842D01* +G01X316663Y4463993D01* +G01X297532Y4454467D01* +G01X280477Y4441587D01* +G01X266078Y4425793D01* +G01X254828Y4407623D01* +G01X247107Y4387694D01* +G01X243180Y4366686D01* +G01X35814Y4366686D01* +G01X35814Y4620686D01* +G01X243180Y4620686D01* +G01X243180Y4599314D01* +G01X247107Y4578306D01* +G01X254828Y4558377D01* +G01X266078Y4540206D01* +G01X280477Y4524412D01* +G01X297532Y4511533D01* +G01X316663Y4502007D01* +G01X337219Y4496158D01* +G01X358500Y4494186D01* +G01X358500Y4494186D01* +G01X379781Y4496158D01* +G01X400337Y4502007D01* +G01X419468Y4511533D01* +G01X436523Y4524412D01* +G01X450921Y4540206D01* +G01X462172Y4558377D01* +G01X469893Y4578306D01* +G01X473820Y4599314D01* +G01X473820Y4620686D01* +G01X497180Y4620686D01* +G01X497180Y4599314D01* +G01X501107Y4578306D01* +G01X508828Y4558377D01* +G01X520078Y4540206D01* +G01X534477Y4524412D01* +G01X551532Y4511533D01* +G01X570663Y4502007D01* +G01X591219Y4496158D01* +G01X612500Y4494186D01* +G01X612500Y4494186D01* +G01X633781Y4496158D01* +G01X654337Y4502007D01* +G01X673468Y4511533D01* +G01X690523Y4524412D01* +G01X704921Y4540206D01* +G01X716172Y4558377D01* +G01X723893Y4578306D01* +G01X727820Y4599314D01* +G01X727820Y4620686D01* +G01X723893Y4641694D01* +G01X716172Y4661623D01* +G01X704921Y4679793D01* +G01X690523Y4695587D01* +G01X673468Y4708467D01* +G01X654337Y4717993D01* +G01X633781Y4723842D01* +G01X612500Y4725814D01* +G01X591219Y4723842D01* +G01X570663Y4717993D01* +G01X551532Y4708467D01* +G01X534477Y4695587D01* +G01X520078Y4679793D01* +G01X508828Y4661623D01* +G01X501107Y4641694D01* +G01X497180Y4620686D01* +G01X473820Y4620686D01* +G01X469893Y4641694D01* +G01X462172Y4661623D01* +G01X450921Y4679793D01* +G01X436523Y4695587D01* +G01X419468Y4708467D01* +G01X400337Y4717993D01* +G01X379781Y4723842D01* +G01X358500Y4725814D01* +G01X337219Y4723842D01* +G01X316663Y4717993D01* +G01X297532Y4708467D01* +G01X280477Y4695587D01* +G01X266078Y4679793D01* +G01X254828Y4661623D01* +G01X247107Y4641694D01* +G01X243180Y4620686D01* +G01X35814Y4620686D01* +G01X35814Y4874686D01* +G01X243180Y4874686D01* +G01X243180Y4853314D01* +G01X247107Y4832306D01* +G01X254828Y4812377D01* +G01X266078Y4794206D01* +G01X280477Y4778412D01* +G01X297532Y4765533D01* +G01X316663Y4756007D01* +G01X337219Y4750158D01* +G01X358500Y4748186D01* +G01X358500Y4748186D01* +G01X379781Y4750158D01* +G01X400337Y4756007D01* +G01X419468Y4765533D01* +G01X436523Y4778412D01* +G01X450921Y4794206D01* +G01X462172Y4812377D01* +G01X469893Y4832306D01* +G01X473820Y4853314D01* +G01X473820Y4874686D01* +G01X497180Y4874686D01* +G01X497180Y4853314D01* +G01X501107Y4832306D01* +G01X508828Y4812377D01* +G01X520078Y4794206D01* +G01X534477Y4778412D01* +G01X551532Y4765533D01* +G01X570663Y4756007D01* +G01X591219Y4750158D01* +G01X612500Y4748186D01* +G01X612500Y4748186D01* +G01X633781Y4750158D01* +G01X654337Y4756007D01* +G01X673468Y4765533D01* +G01X690523Y4778412D01* +G01X704921Y4794206D01* +G01X716172Y4812377D01* +G01X723893Y4832306D01* +G01X727820Y4853314D01* +G01X727820Y4874686D01* +G01X723893Y4895694D01* +G01X716172Y4915623D01* +G01X704921Y4933793D01* +G01X690523Y4949587D01* +G01X673468Y4962467D01* +G01X654337Y4971993D01* +G01X633781Y4977842D01* +G01X612500Y4979814D01* +G01X591219Y4977842D01* +G01X570663Y4971993D01* +G01X551532Y4962467D01* +G01X534477Y4949587D01* +G01X520078Y4933793D01* +G01X508828Y4915623D01* +G01X501107Y4895694D01* +G01X497180Y4874686D01* +G01X473820Y4874686D01* +G01X469893Y4895694D01* +G01X462172Y4915623D01* +G01X450921Y4933793D01* +G01X436523Y4949587D01* +G01X419468Y4962467D01* +G01X400337Y4971993D01* +G01X379781Y4977842D01* +G01X358500Y4979814D01* +G01X337219Y4977842D01* +G01X316663Y4971993D01* +G01X297532Y4962467D01* +G01X280477Y4949587D01* +G01X266078Y4933793D01* +G01X254828Y4915623D01* +G01X247107Y4895694D01* +G01X243180Y4874686D01* +G01X35814Y4874686D01* +G01X35814Y5128686D01* +G01X243180Y5128686D01* +G01X243180Y5107314D01* +G01X247107Y5086306D01* +G01X254828Y5066377D01* +G01X266078Y5048206D01* +G01X280477Y5032412D01* +G01X297532Y5019533D01* +G01X316663Y5010007D01* +G01X337219Y5004158D01* +G01X358500Y5002186D01* +G01X358500Y5002186D01* +G01X379781Y5004158D01* +G01X400337Y5010007D01* +G01X419468Y5019533D01* +G01X436523Y5032412D01* +G01X450921Y5048206D01* +G01X462172Y5066377D01* +G01X469893Y5086306D01* +G01X473820Y5107314D01* +G01X473820Y5128686D01* +G01X473820Y5128686D01* +G01X497180Y5128686D01* +G01X497180Y5107314D01* +G01X501107Y5086306D01* +G01X508828Y5066377D01* +G01X520078Y5048206D01* +G01X534477Y5032412D01* +G01X551532Y5019533D01* +G01X570663Y5010007D01* +G01X591219Y5004158D01* +G01X612500Y5002186D01* +G01X612500Y5002186D01* +G01X633781Y5004158D01* +G01X654337Y5010007D01* +G01X673468Y5019533D01* +G01X690523Y5032412D01* +G01X704921Y5048206D01* +G01X716172Y5066377D01* +G01X723893Y5086306D01* +G01X727820Y5107314D01* +G01X727820Y5128686D01* +G01X723893Y5149694D01* +G01X716172Y5169623D01* +G01X704921Y5187793D01* +G01X690523Y5203587D01* +G01X673468Y5216467D01* +G01X654337Y5225993D01* +G01X633781Y5231842D01* +G01X612500Y5233814D01* +G01X591219Y5231842D01* +G01X570663Y5225993D01* +G01X551532Y5216467D01* +G01X534477Y5203587D01* +G01X520078Y5187793D01* +G01X508828Y5169623D01* +G01X501107Y5149694D01* +G01X497180Y5128686D01* +G01X473820Y5128686D01* +G01X469893Y5149694D01* +G01X462172Y5169623D01* +G01X450921Y5187793D01* +G01X436523Y5203587D01* +G01X419468Y5216467D01* +G01X400337Y5225993D01* +G01X379781Y5231842D01* +G01X358500Y5233814D01* +G01X337219Y5231842D01* +G01X316663Y5225993D01* +G01X297532Y5216467D01* +G01X280477Y5203587D01* +G01X266078Y5187793D01* +G01X254828Y5169623D01* +G01X247107Y5149694D01* +G01X243180Y5128686D01* +G01X35814Y5128686D01* +G01X35814Y5382686D01* +G01X243180Y5382686D01* +G01X243180Y5361314D01* +G01X247107Y5340306D01* +G01X254828Y5320377D01* +G01X266078Y5302206D01* +G01X280477Y5286412D01* +G01X297532Y5273533D01* +G01X316663Y5264007D01* +G01X337219Y5258158D01* +G01X358500Y5256186D01* +G01X358500Y5256186D01* +G01X379781Y5258158D01* +G01X400337Y5264007D01* +G01X419468Y5273533D01* +G01X436523Y5286412D01* +G01X450921Y5302206D01* +G01X462172Y5320377D01* +G01X469893Y5340306D01* +G01X473820Y5361314D01* +G01X473820Y5382686D01* +G01X497180Y5382686D01* +G01X497180Y5361314D01* +G01X501107Y5340306D01* +G01X508828Y5320377D01* +G01X520078Y5302206D01* +G01X534477Y5286412D01* +G01X551532Y5273533D01* +G01X570663Y5264007D01* +G01X591219Y5258158D01* +G01X612500Y5256186D01* +G01X612500Y5256186D01* +G01X633781Y5258158D01* +G01X654337Y5264007D01* +G01X673468Y5273533D01* +G01X690523Y5286412D01* +G01X704921Y5302206D01* +G01X716172Y5320377D01* +G01X723893Y5340306D01* +G01X727820Y5361314D01* +G01X727820Y5382686D01* +G01X723893Y5403694D01* +G01X716172Y5423623D01* +G01X704921Y5441793D01* +G01X690523Y5457587D01* +G01X673468Y5470467D01* +G01X654337Y5479993D01* +G01X633781Y5485842D01* +G01X612500Y5487814D01* +G01X591219Y5485842D01* +G01X570663Y5479993D01* +G01X551532Y5470467D01* +G01X534477Y5457587D01* +G01X520078Y5441793D01* +G01X508828Y5423623D01* +G01X501107Y5403694D01* +G01X497180Y5382686D01* +G01X473820Y5382686D01* +G01X469893Y5403694D01* +G01X462172Y5423623D01* +G01X450921Y5441793D01* +G01X436523Y5457587D01* +G01X419468Y5470467D01* +G01X400337Y5479993D01* +G01X379781Y5485842D01* +G01X358500Y5487814D01* +G01X337219Y5485842D01* +G01X316663Y5479993D01* +G01X297532Y5470467D01* +G01X280477Y5457587D01* +G01X266078Y5441793D01* +G01X254828Y5423623D01* +G01X247107Y5403694D01* +G01X243180Y5382686D01* +G01X35814Y5382686D01* +G01X35814Y6646000D01* +G01X34061Y6657067D01* +G01X28974Y6667051D01* +G01X21051Y6674974D01* +G01X11067Y6680061D01* +G01X0Y6681814D01* +G01X-2422300Y6681814D01* +G01X-2442128Y6683549D01* +G01X-2461354Y6688700D01* +G01X-2479393Y6697112D01* +G01X-2495697Y6708528D01* +G01X-2509772Y6722603D01* +G01X-2521188Y6738907D01* +G01X-2529600Y6756946D01* +G01X-2534751Y6776172D01* +G01X-2536486Y6796000D01* +G01X-2536486Y7248649D01* +G01X62787Y7248649D01* +G01X62787Y7229150D01* +G01X66370Y7209984D01* +G01X73413Y7191801D01* +G01X83678Y7175223D01* +G01X96815Y7160813D01* +G01X112375Y7149063D01* +G01X129830Y7140371D01* +G01X148584Y7135035D01* +G01X168000Y7133236D01* +G01X218800Y7133236D01* +G01X238216Y7135035D01* +G01X256970Y7140371D01* +G01X274425Y7149063D01* +G01X289985Y7160813D01* +G01X303122Y7175223D01* +G01X313386Y7191801D01* +G01X320430Y7209984D01* +G01X324013Y7229150D01* +G01X324013Y7248649D01* +G01X320430Y7267816D01* +G01X313386Y7285998D01* +G01X303122Y7302577D01* +G01X289985Y7316987D01* +G01X274425Y7328737D01* +G01X256970Y7337429D01* +G01X238216Y7342765D01* +G01X218800Y7344564D01* +G01X218800Y7344564D01* +G01X168000Y7344564D01* +G01X148584Y7342765D01* +G01X129830Y7337429D01* +G01X112375Y7328737D01* +G01X96815Y7316987D01* +G01X83678Y7302577D01* +G01X73413Y7285998D01* +G01X66370Y7267816D01* +G01X62787Y7248649D01* +G01X-2536486Y7248649D01* +G01X-2536486Y7492900D01* +G01X-394864Y7492900D01* +G01X-392983Y7471882D01* +G01X-387400Y7451533D01* +G01X-378292Y7432498D01* +G01X-365949Y7415383D01* +G01X-350763Y7400731D01* +G01X-333216Y7389009D01* +G01X-313867Y7380589D01* +G01X-293331Y7375739D01* +G01X-272259Y7374612D01* +G01X-251322Y7377245D01* +G01X-231186Y7383553D01* +G01X-212489Y7393337D01* +G01X-195828Y7406286D01* +G01X107478Y7406286D01* +G01X121335Y7398099D01* +G01X136275Y7392111D01* +G01X151951Y7388462D01* +G01X168000Y7387236D01* +G01X218800Y7387236D01* +G01X234848Y7388462D01* +G01X250525Y7392111D01* +G01X265465Y7398099D01* +G01X279322Y7406286D01* +G01X535723Y7406286D01* +G01X1497792Y6444218D01* +G01X1497792Y6390214D01* +G01X1489406Y6390214D01* +G01X1478339Y6388461D01* +G01X1468355Y6383374D01* +G01X1460432Y6375450D01* +G01X1455345Y6365467D01* +G01X1453592Y6354400D01* +G01X1453592Y6116800D01* +G01X1455345Y6105733D01* +G01X1460432Y6095749D01* +G01X1468355Y6087826D01* +G01X1478339Y6082739D01* +G01X1489406Y6080986D01* +G01X1497792Y6080986D01* +G01X1497792Y4307281D01* +G01X1497792Y4307281D01* +G01X1484173Y4294256D01* +G01X1472653Y4279343D01* +G01X1463490Y4262877D01* +G01X1456888Y4245226D01* +G01X1452997Y4226788D01* +G01X1192573Y3966364D01* +G01X1114150Y3966364D01* +G01X1103083Y3964611D01* +G01X1093099Y3959524D01* +G01X1085176Y3951601D01* +G01X1080089Y3941617D01* +G01X1078336Y3930550D01* +G01X1078336Y3765450D01* +G01X1080089Y3754383D01* +G01X1085176Y3744399D01* +G01X1093099Y3736476D01* +G01X1103083Y3731389D01* +G01X1114150Y3729636D01* +G01X1279250Y3729636D01* +G01X1290317Y3731389D01* +G01X1300301Y3736476D01* +G01X1308224Y3744399D01* +G01X1313311Y3754383D01* +G01X1315064Y3765450D01* +G01X1315064Y3843873D01* +G01X1329877Y3858686D01* +G01X1830680Y3858686D01* +G01X1830680Y3837314D01* +G01X1834607Y3816306D01* +G01X1842328Y3796377D01* +G01X1853578Y3778206D01* +G01X1867977Y3762412D01* +G01X1885032Y3749533D01* +G01X1904163Y3740007D01* +G01X1924719Y3734158D01* +G01X1946000Y3732186D01* +G01X1946000Y3732186D01* +G01X1967281Y3734158D01* +G01X1987837Y3740007D01* +G01X2006968Y3749533D01* +G01X2024023Y3762412D01* +G01X2038421Y3778206D01* +G01X2049672Y3796377D01* +G01X2057393Y3816306D01* +G01X2061320Y3837314D01* +G01X2061320Y3858686D01* +G01X2084680Y3858686D01* +G01X2084680Y3837314D01* +G01X2088607Y3816306D01* +G01X2096328Y3796377D01* +G01X2107578Y3778206D01* +G01X2121977Y3762412D01* +G01X2139032Y3749533D01* +G01X2158163Y3740007D01* +G01X2178719Y3734158D01* +G01X2200000Y3732186D01* +G01X2200000Y3732186D01* +G01X2221281Y3734158D01* +G01X2241837Y3740007D01* +G01X2260968Y3749533D01* +G01X2278023Y3762412D01* +G01X2292421Y3778206D01* +G01X2303672Y3796377D01* +G01X2311393Y3816306D01* +G01X2315320Y3837314D01* +G01X2315320Y3858686D01* +G01X2311393Y3879694D01* +G01X2303672Y3899623D01* +G01X2292421Y3917793D01* +G01X2278023Y3933587D01* +G01X2260968Y3946467D01* +G01X2241837Y3955993D01* +G01X2221281Y3961842D01* +G01X2200000Y3963814D01* +G01X2178719Y3961842D01* +G01X2158163Y3955993D01* +G01X2139032Y3946467D01* +G01X2121977Y3933587D01* +G01X2107578Y3917793D01* +G01X2096328Y3899623D01* +G01X2088607Y3879694D01* +G01X2084680Y3858686D01* +G01X2061320Y3858686D01* +G01X2057393Y3879694D01* +G01X2049672Y3899623D01* +G01X2038421Y3917793D01* +G01X2024023Y3933587D01* +G01X2006968Y3946467D01* +G01X1987837Y3955993D01* +G01X1967281Y3961842D01* +G01X1946000Y3963814D01* +G01X1924719Y3961842D01* +G01X1904163Y3955993D01* +G01X1885032Y3946467D01* +G01X1867977Y3933587D01* +G01X1853578Y3917793D01* +G01X1842328Y3899623D01* +G01X1834607Y3879694D01* +G01X1830680Y3858686D01* +G01X1329877Y3858686D01* +G01X1557166Y4085975D01* +G01X1579270Y4084298D01* +G01X1601325Y4086527D01* +G01X1622647Y4092591D01* +G01X1642573Y4102304D01* +G01X1656814Y4112686D01* +G01X1830680Y4112686D01* +G01X1830680Y4091314D01* +G01X1834607Y4070306D01* +G01X1842328Y4050377D01* +G01X1853578Y4032206D01* +G01X1867977Y4016412D01* +G01X1885032Y4003533D01* +G01X1904163Y3994007D01* +G01X1924719Y3988158D01* +G01X1946000Y3986186D01* +G01X1946000Y3986186D01* +G01X1967281Y3988158D01* +G01X1987837Y3994007D01* +G01X2006968Y4003533D01* +G01X2024023Y4016412D01* +G01X2038421Y4032206D01* +G01X2049672Y4050377D01* +G01X2057393Y4070306D01* +G01X2061320Y4091314D01* +G01X2061320Y4112686D01* +G01X2084680Y4112686D01* +G01X2084680Y4091314D01* +G01X2088607Y4070306D01* +G01X2096328Y4050377D01* +G01X2107578Y4032206D01* +G01X2121977Y4016412D01* +G01X2139032Y4003533D01* +G01X2158163Y3994007D01* +G01X2178719Y3988158D01* +G01X2200000Y3986186D01* +G01X2200000Y3986186D01* +G01X2221281Y3988158D01* +G01X2241837Y3994007D01* +G01X2260968Y4003533D01* +G01X2278023Y4016412D01* +G01X2292421Y4032206D01* +G01X2303672Y4050377D01* +G01X2311393Y4070306D01* +G01X2315320Y4091314D01* +G01X2315320Y4112686D01* +G01X2311393Y4133694D01* +G01X2303672Y4153623D01* +G01X2292421Y4171793D01* +G01X2278023Y4187587D01* +G01X2260968Y4200467D01* +G01X2241837Y4209993D01* +G01X2221281Y4215842D01* +G01X2200000Y4217814D01* +G01X2178719Y4215842D01* +G01X2158163Y4209993D01* +G01X2139032Y4200467D01* +G01X2121977Y4187587D01* +G01X2107578Y4171793D01* +G01X2096328Y4153623D01* +G01X2088607Y4133694D01* +G01X2084680Y4112686D01* +G01X2061320Y4112686D01* +G01X2057393Y4133694D01* +G01X2049672Y4153623D01* +G01X2038421Y4171793D01* +G01X2024023Y4187587D01* +G01X2006968Y4200467D01* +G01X1987837Y4209993D01* +G01X1967281Y4215842D01* +G01X1946000Y4217814D01* +G01X1924719Y4215842D01* +G01X1904163Y4209993D01* +G01X1885032Y4200467D01* +G01X1867977Y4187587D01* +G01X1853578Y4171793D01* +G01X1842328Y4153623D01* +G01X1834607Y4133694D01* +G01X1830680Y4112686D01* +G01X1656814Y4112686D01* +G01X1660486Y4115363D01* +G01X1675828Y4131363D01* +G01X1688124Y4149807D01* +G01X1696993Y4170123D01* +G01X1702158Y4191680D01* +G01X1703459Y4213810D01* +G01X1700856Y4235824D01* +G01X1694431Y4257039D01* +G01X1684381Y4276798D01* +G01X1671020Y4294486D01* +G01X1671020Y4366686D01* +G01X1830680Y4366686D01* +G01X1830680Y4345314D01* +G01X1834607Y4324306D01* +G01X1842328Y4304377D01* +G01X1853578Y4286206D01* +G01X1867977Y4270412D01* +G01X1885032Y4257533D01* +G01X1904163Y4248007D01* +G01X1924719Y4242158D01* +G01X1946000Y4240186D01* +G01X1946000Y4240186D01* +G01X1967281Y4242158D01* +G01X1987837Y4248007D01* +G01X2006968Y4257533D01* +G01X2024023Y4270412D01* +G01X2038421Y4286206D01* +G01X2049672Y4304377D01* +G01X2057393Y4324306D01* +G01X2061320Y4345314D01* +G01X2061320Y4366686D01* +G01X2084680Y4366686D01* +G01X2084680Y4345314D01* +G01X2088607Y4324306D01* +G01X2096328Y4304377D01* +G01X2107578Y4286206D01* +G01X2121977Y4270412D01* +G01X2139032Y4257533D01* +G01X2158163Y4248007D01* +G01X2178719Y4242158D01* +G01X2200000Y4240186D01* +G01X2200000Y4240186D01* +G01X2221281Y4242158D01* +G01X2241837Y4248007D01* +G01X2260968Y4257533D01* +G01X2278023Y4270412D01* +G01X2292421Y4286206D01* +G01X2303672Y4304377D01* +G01X2311393Y4324306D01* +G01X2315320Y4345314D01* +G01X2315320Y4366686D01* +G01X2311393Y4387694D01* +G01X2303672Y4407623D01* +G01X2292421Y4425793D01* +G01X2278023Y4441587D01* +G01X2260968Y4454467D01* +G01X2241837Y4463993D01* +G01X2221281Y4469842D01* +G01X2200000Y4471814D01* +G01X2178719Y4469842D01* +G01X2158163Y4463993D01* +G01X2139032Y4454467D01* +G01X2121977Y4441587D01* +G01X2107578Y4425793D01* +G01X2096328Y4407623D01* +G01X2088607Y4387694D01* +G01X2084680Y4366686D01* +G01X2061320Y4366686D01* +G01X2057393Y4387694D01* +G01X2049672Y4407623D01* +G01X2038421Y4425793D01* +G01X2024023Y4441587D01* +G01X2006968Y4454467D01* +G01X1987837Y4463993D01* +G01X1967281Y4469842D01* +G01X1946000Y4471814D01* +G01X1924719Y4469842D01* +G01X1904163Y4463993D01* +G01X1885032Y4454467D01* +G01X1867977Y4441587D01* +G01X1853578Y4425793D01* +G01X1842328Y4407623D01* +G01X1834607Y4387694D01* +G01X1830680Y4366686D01* +G01X1671020Y4366686D01* +G01X1671020Y4620686D01* +G01X1830680Y4620686D01* +G01X1830680Y4599314D01* +G01X1834607Y4578306D01* +G01X1842328Y4558377D01* +G01X1853578Y4540206D01* +G01X1867977Y4524412D01* +G01X1885032Y4511533D01* +G01X1904163Y4502007D01* +G01X1924719Y4496158D01* +G01X1946000Y4494186D01* +G01X1946000Y4494186D01* +G01X1967281Y4496158D01* +G01X1987837Y4502007D01* +G01X2006968Y4511533D01* +G01X2024023Y4524412D01* +G01X2038421Y4540206D01* +G01X2049672Y4558377D01* +G01X2057393Y4578306D01* +G01X2061320Y4599314D01* +G01X2061320Y4620686D01* +G01X2084680Y4620686D01* +G01X2084680Y4599314D01* +G01X2088607Y4578306D01* +G01X2096328Y4558377D01* +G01X2107578Y4540206D01* +G01X2121977Y4524412D01* +G01X2139032Y4511533D01* +G01X2158163Y4502007D01* +G01X2178719Y4496158D01* +G01X2200000Y4494186D01* +G01X2200000Y4494186D01* +G01X2221281Y4496158D01* +G01X2241837Y4502007D01* +G01X2260968Y4511533D01* +G01X2278023Y4524412D01* +G01X2292421Y4540206D01* +G01X2303672Y4558377D01* +G01X2311393Y4578306D01* +G01X2315320Y4599314D01* +G01X2315320Y4620686D01* +G01X2311393Y4641694D01* +G01X2303672Y4661623D01* +G01X2292421Y4679793D01* +G01X2278023Y4695587D01* +G01X2260968Y4708467D01* +G01X2241837Y4717993D01* +G01X2221281Y4723842D01* +G01X2200000Y4725814D01* +G01X2178719Y4723842D01* +G01X2158163Y4717993D01* +G01X2139032Y4708467D01* +G01X2121977Y4695587D01* +G01X2107578Y4679793D01* +G01X2096328Y4661623D01* +G01X2088607Y4641694D01* +G01X2084680Y4620686D01* +G01X2061320Y4620686D01* +G01X2057393Y4641694D01* +G01X2049672Y4661623D01* +G01X2038421Y4679793D01* +G01X2024023Y4695587D01* +G01X2006968Y4708467D01* +G01X1987837Y4717993D01* +G01X1967281Y4723842D01* +G01X1946000Y4725814D01* +G01X1924719Y4723842D01* +G01X1904163Y4717993D01* +G01X1885032Y4708467D01* +G01X1867977Y4695587D01* +G01X1853578Y4679793D01* +G01X1842328Y4661623D01* +G01X1834607Y4641694D01* +G01X1830680Y4620686D01* +G01X1671020Y4620686D01* +G01X1671020Y4874686D01* +G01X1830680Y4874686D01* +G01X1830680Y4853314D01* +G01X1834607Y4832306D01* +G01X1842328Y4812377D01* +G01X1853578Y4794206D01* +G01X1867977Y4778412D01* +G01X1885032Y4765533D01* +G01X1904163Y4756007D01* +G01X1924719Y4750158D01* +G01X1946000Y4748186D01* +G01X1946000Y4748186D01* +G01X1967281Y4750158D01* +G01X1987837Y4756007D01* +G01X2006968Y4765533D01* +G01X2024023Y4778412D01* +G01X2038421Y4794206D01* +G01X2049672Y4812377D01* +G01X2057393Y4832306D01* +G01X2061320Y4853314D01* +G01X2061320Y4874686D01* +G01X2084680Y4874686D01* +G01X2084680Y4853314D01* +G01X2088607Y4832306D01* +G01X2096328Y4812377D01* +G01X2107578Y4794206D01* +G01X2121977Y4778412D01* +G01X2139032Y4765533D01* +G01X2158163Y4756007D01* +G01X2178719Y4750158D01* +G01X2200000Y4748186D01* +G01X2200000Y4748186D01* +G01X2221281Y4750158D01* +G01X2241837Y4756007D01* +G01X2260968Y4765533D01* +G01X2278023Y4778412D01* +G01X2292421Y4794206D01* +G01X2303672Y4812377D01* +G01X2311393Y4832306D01* +G01X2315320Y4853314D01* +G01X2315320Y4874686D01* +G01X2311393Y4895694D01* +G01X2303672Y4915623D01* +G01X2292421Y4933793D01* +G01X2278023Y4949587D01* +G01X2260968Y4962467D01* +G01X2241837Y4971993D01* +G01X2221281Y4977842D01* +G01X2200000Y4979814D01* +G01X2178719Y4977842D01* +G01X2158163Y4971993D01* +G01X2139032Y4962467D01* +G01X2121977Y4949587D01* +G01X2107578Y4933793D01* +G01X2096328Y4915623D01* +G01X2088607Y4895694D01* +G01X2084680Y4874686D01* +G01X2061320Y4874686D01* +G01X2057393Y4895694D01* +G01X2049672Y4915623D01* +G01X2038421Y4933793D01* +G01X2024023Y4949587D01* +G01X2006968Y4962467D01* +G01X1987837Y4971993D01* +G01X1967281Y4977842D01* +G01X1946000Y4979814D01* +G01X1924719Y4977842D01* +G01X1904163Y4971993D01* +G01X1885032Y4962467D01* +G01X1867977Y4949587D01* +G01X1853578Y4933793D01* +G01X1842328Y4915623D01* +G01X1834607Y4895694D01* +G01X1830680Y4874686D01* +G01X1671020Y4874686D01* +G01X1671020Y5128686D01* +G01X1830680Y5128686D01* +G01X1830680Y5107314D01* +G01X1834607Y5086306D01* +G01X1842328Y5066377D01* +G01X1853578Y5048206D01* +G01X1867977Y5032412D01* +G01X1885032Y5019533D01* +G01X1904163Y5010007D01* +G01X1924719Y5004158D01* +G01X1946000Y5002186D01* +G01X1946000Y5002186D01* +G01X1967281Y5004158D01* +G01X1987837Y5010007D01* +G01X2006968Y5019533D01* +G01X2024023Y5032412D01* +G01X2038421Y5048206D01* +G01X2049672Y5066377D01* +G01X2057393Y5086306D01* +G01X2061320Y5107314D01* +G01X2061320Y5128686D01* +G01X2084680Y5128686D01* +G01X2084680Y5107314D01* +G01X2088607Y5086306D01* +G01X2096328Y5066377D01* +G01X2107578Y5048206D01* +G01X2121977Y5032412D01* +G01X2139032Y5019533D01* +G01X2158163Y5010007D01* +G01X2178719Y5004158D01* +G01X2200000Y5002186D01* +G01X2200000Y5002186D01* +G01X2221281Y5004158D01* +G01X2241837Y5010007D01* +G01X2260968Y5019533D01* +G01X2278023Y5032412D01* +G01X2292421Y5048206D01* +G01X2303672Y5066377D01* +G01X2311393Y5086306D01* +G01X2315320Y5107314D01* +G01X2315320Y5128686D01* +G01X2311393Y5149694D01* +G01X2303672Y5169623D01* +G01X2292421Y5187793D01* +G01X2278023Y5203587D01* +G01X2260968Y5216467D01* +G01X2241837Y5225993D01* +G01X2221281Y5231842D01* +G01X2200000Y5233814D01* +G01X2178719Y5231842D01* +G01X2158163Y5225993D01* +G01X2139032Y5216467D01* +G01X2121977Y5203587D01* +G01X2107578Y5187793D01* +G01X2096328Y5169623D01* +G01X2088607Y5149694D01* +G01X2084680Y5128686D01* +G01X2061320Y5128686D01* +G01X2057393Y5149694D01* +G01X2049672Y5169623D01* +G01X2038421Y5187793D01* +G01X2024023Y5203587D01* +G01X2006968Y5216467D01* +G01X1987837Y5225993D01* +G01X1967281Y5231842D01* +G01X1946000Y5233814D01* +G01X1924719Y5231842D01* +G01X1904163Y5225993D01* +G01X1885032Y5216467D01* +G01X1867977Y5203587D01* +G01X1853578Y5187793D01* +G01X1842328Y5169623D01* +G01X1834607Y5149694D01* +G01X1830680Y5128686D01* +G01X1671020Y5128686D01* +G01X1671020Y5382686D01* +G01X1830680Y5382686D01* +G01X1830680Y5361314D01* +G01X1834607Y5340306D01* +G01X1842328Y5320377D01* +G01X1853578Y5302206D01* +G01X1867977Y5286412D01* +G01X1885032Y5273533D01* +G01X1904163Y5264007D01* +G01X1924719Y5258158D01* +G01X1946000Y5256186D01* +G01X1946000Y5256186D01* +G01X1967281Y5258158D01* +G01X1987837Y5264007D01* +G01X2006968Y5273533D01* +G01X2024023Y5286412D01* +G01X2038421Y5302206D01* +G01X2049672Y5320377D01* +G01X2057393Y5340306D01* +G01X2061320Y5361314D01* +G01X2061320Y5382686D01* +G01X2084680Y5382686D01* +G01X2084680Y5361314D01* +G01X2088607Y5340306D01* +G01X2096328Y5320377D01* +G01X2107578Y5302206D01* +G01X2121977Y5286412D01* +G01X2139032Y5273533D01* +G01X2158163Y5264007D01* +G01X2178719Y5258158D01* +G01X2200000Y5256186D01* +G01X2200000Y5256186D01* +G01X2221281Y5258158D01* +G01X2241837Y5264007D01* +G01X2260968Y5273533D01* +G01X2278023Y5286412D01* +G01X2292421Y5302206D01* +G01X2303672Y5320377D01* +G01X2311393Y5340306D01* +G01X2315320Y5361314D01* +G01X2315320Y5382686D01* +G01X2311393Y5403694D01* +G01X2303672Y5423623D01* +G01X2292421Y5441793D01* +G01X2278023Y5457587D01* +G01X2260968Y5470467D01* +G01X2241837Y5479993D01* +G01X2221281Y5485842D01* +G01X2200000Y5487814D01* +G01X2178719Y5485842D01* +G01X2158163Y5479993D01* +G01X2139032Y5470467D01* +G01X2121977Y5457587D01* +G01X2107578Y5441793D01* +G01X2096328Y5423623D01* +G01X2088607Y5403694D01* +G01X2084680Y5382686D01* +G01X2061320Y5382686D01* +G01X2057393Y5403694D01* +G01X2049672Y5423623D01* +G01X2038421Y5441793D01* +G01X2024023Y5457587D01* +G01X2006968Y5470467D01* +G01X1987837Y5479993D01* +G01X1967281Y5485842D01* +G01X1946000Y5487814D01* +G01X1924719Y5485842D01* +G01X1904163Y5479993D01* +G01X1885032Y5470467D01* +G01X1867977Y5457587D01* +G01X1853578Y5441793D01* +G01X1842328Y5423623D01* +G01X1834607Y5403694D01* +G01X1830680Y5382686D01* +G01X1671020Y5382686D01* +G01X1671020Y6018937D01* +G01X3457551Y6018937D01* +G01X3457551Y5997095D01* +G01X3461564Y5975624D01* +G01X3469455Y5955257D01* +G01X3480953Y5936686D01* +G01X3495669Y5920544D01* +G01X3513099Y5907381D01* +G01X3532652Y5897645D01* +G01X3553661Y5891667D01* +G01X3575410Y5889652D01* +G01X3597159Y5891667D01* +G01X3618168Y5897645D01* +G01X3637721Y5907381D01* +G01X3655151Y5920544D01* +G01X3669866Y5936686D01* +G01X3681365Y5955257D01* +G01X3689255Y5975624D01* +G01X3693269Y5997095D01* +G01X3693269Y6018937D01* +G01X3693269Y6018937D01* +G01X3711551Y6018937D01* +G01X3711551Y5997095D01* +G01X3715564Y5975624D01* +G01X3723455Y5955257D01* +G01X3734953Y5936686D01* +G01X3749669Y5920544D01* +G01X3767099Y5907381D01* +G01X3786652Y5897645D01* +G01X3807661Y5891667D01* +G01X3829410Y5889652D01* +G01X3851159Y5891667D01* +G01X3872168Y5897645D01* +G01X3891721Y5907381D01* +G01X3909151Y5920544D01* +G01X3923866Y5936686D01* +G01X3935365Y5955257D01* +G01X3943255Y5975624D01* +G01X3947269Y5997095D01* +G01X3947269Y6018937D01* +G01X3943255Y6040408D01* +G01X3935365Y6060775D01* +G01X3923866Y6079346D01* +G01X3909151Y6095488D01* +G01X3891721Y6108651D01* +G01X3872168Y6118387D01* +G01X3851159Y6124365D01* +G01X3829410Y6126380D01* +G01X3829410Y6126380D01* +G01X3807661Y6124365D01* +G01X3786652Y6118387D01* +G01X3767099Y6108651D01* +G01X3749669Y6095488D01* +G01X3734953Y6079346D01* +G01X3723455Y6060775D01* +G01X3715564Y6040408D01* +G01X3711551Y6018937D01* +G01X3693269Y6018937D01* +G01X3689255Y6040408D01* +G01X3681365Y6060775D01* +G01X3669866Y6079346D01* +G01X3655151Y6095488D01* +G01X3637721Y6108651D01* +G01X3618168Y6118387D01* +G01X3597159Y6124365D01* +G01X3575410Y6126380D01* +G01X3575410Y6126380D01* +G01X3553661Y6124365D01* +G01X3532652Y6118387D01* +G01X3513099Y6108651D01* +G01X3495669Y6095488D01* +G01X3480953Y6079346D01* +G01X3469455Y6060775D01* +G01X3461564Y6040408D01* +G01X3457551Y6018937D01* +G01X1671020Y6018937D01* +G01X1671020Y6080986D01* +G01X1679405Y6080986D01* +G01X1690472Y6082739D01* +G01X1700456Y6087826D01* +G01X1708379Y6095749D01* +G01X1713466Y6105733D01* +G01X1715219Y6116800D01* +G01X1715219Y6354400D01* +G01X1973581Y6354400D01* +G01X1973581Y6116800D01* +G01X1975333Y6105733D01* +G01X1980420Y6095749D01* +G01X1988344Y6087826D01* +G01X1998327Y6082739D01* +G01X2009395Y6080986D01* +G01X2199394Y6080986D01* +G01X2210461Y6082739D01* +G01X2220445Y6087826D01* +G01X2228368Y6095749D01* +G01X2233455Y6105733D01* +G01X2235208Y6116800D01* +G01X2235208Y6354400D01* +G01X2235208Y6354400D01* +G01X2233455Y6365467D01* +G01X2228368Y6375450D01* +G01X2220445Y6383374D01* +G01X2210461Y6388461D01* +G01X2199394Y6390214D01* +G01X2009395Y6390214D01* +G01X1998327Y6388461D01* +G01X1988344Y6383374D01* +G01X1980420Y6375450D01* +G01X1975333Y6365467D01* +G01X1973581Y6354400D01* +G01X1715219Y6354400D01* +G01X1713466Y6365467D01* +G01X1708379Y6375450D01* +G01X1700456Y6383374D01* +G01X1690472Y6388461D01* +G01X1679405Y6390214D01* +G01X1671020Y6390214D01* +G01X1671020Y6444218D01* +G01X1794988Y6568186D01* +G01X2607484Y6568186D01* +G01X2624382Y6569850D01* +G01X2640630Y6574779D01* +G01X2655604Y6582783D01* +G01X2668729Y6593555D01* +G01X3042549Y6967374D01* +G01X3053321Y6980500D01* +G01X3061325Y6995474D01* +G01X3066254Y7011722D01* +G01X3067918Y7028620D01* +G01X3067918Y9229100D01* +G01X3103966Y9229100D01* +G01X3103966Y6647430D01* +G01X3105879Y6632902D01* +G01X3111487Y6619363D01* +G01X3120407Y6607738D01* +G01X3378491Y6349654D01* +G01X3390117Y6340733D01* +G01X3403655Y6335125D01* +G01X3418184Y6333213D01* +G01X3480853Y6333213D01* +G01X3480853Y6333213D01* +G01X3469387Y6314638D01* +G01X3461526Y6294274D01* +G01X3457539Y6272812D01* +G01X3457561Y6250984D01* +G01X3461591Y6229530D01* +G01X3469492Y6209182D01* +G01X3480995Y6190630D01* +G01X3495710Y6174506D01* +G01X3513135Y6161359D01* +G01X3532678Y6151635D01* +G01X3553674Y6145665D01* +G01X3575410Y6143652D01* +G01X3575410Y6143652D01* +G01X3597146Y6145665D01* +G01X3618142Y6151635D01* +G01X3637685Y6161359D01* +G01X3655110Y6174506D01* +G01X3669824Y6190630D01* +G01X3681328Y6209182D01* +G01X3689229Y6229530D01* +G01X3693259Y6250984D01* +G01X3693281Y6272812D01* +G01X3689294Y6294274D01* +G01X3681433Y6314638D01* +G01X3669967Y6333213D01* +G01X3678828Y6333213D01* +G01X3716032Y6296008D01* +G01X3711825Y6275573D01* +G01X3711271Y6254716D01* +G01X3714388Y6234086D01* +G01X3721079Y6214324D01* +G01X3731136Y6196044D01* +G01X3744246Y6179814D01* +G01X3760003Y6166137D01* +G01X3777916Y6155440D01* +G01X3797429Y6148054D01* +G01X3817935Y6144209D01* +G01X3838798Y6144025D01* +G01X3859370Y6147506D01* +G01X3879011Y6154546D01* +G01X3897110Y6164925D01* +G01X3913106Y6178320D01* +G01X3926501Y6194316D01* +G01X3936880Y6212415D01* +G01X3943919Y6232056D01* +G01X3947401Y6252627D01* +G01X3947216Y6273491D01* +G01X3943371Y6293997D01* +G01X3935986Y6313510D01* +G01X3925288Y6331423D01* +G01X3911612Y6347180D01* +G01X3895382Y6360290D01* +G01X3877101Y6370347D01* +G01X3857339Y6377038D01* +G01X3836710Y6380155D01* +G01X3815853Y6379601D01* +G01X3795417Y6375394D01* +G01X3741772Y6429039D01* +G01X3730146Y6437960D01* +G01X3716608Y6443568D01* +G01X3702079Y6445481D01* +G01X3670461Y6445481D01* +G01X3681731Y6463998D01* +G01X3689435Y6484261D01* +G01X3693314Y6505588D01* +G01X3693238Y6527266D01* +G01X3689210Y6548566D01* +G01X3681366Y6568774D01* +G01X3669967Y6587213D01* +G01X3678828Y6587213D01* +G01X3716032Y6550008D01* +G01X3711825Y6529573D01* +G01X3711271Y6508716D01* +G01X3714388Y6488086D01* +G01X3721079Y6468324D01* +G01X3731136Y6450044D01* +G01X3744246Y6433814D01* +G01X3760003Y6420137D01* +G01X3777916Y6409440D01* +G01X3797429Y6402054D01* +G01X3817935Y6398209D01* +G01X3838798Y6398025D01* +G01X3859370Y6401506D01* +G01X3879011Y6408546D01* +G01X3897110Y6418925D01* +G01X3913106Y6432320D01* +G01X3926501Y6448316D01* +G01X3936880Y6466415D01* +G01X3943919Y6486056D01* +G01X3947401Y6506627D01* +G01X3947216Y6527491D01* +G01X3943371Y6547997D01* +G01X3935986Y6567510D01* +G01X3925288Y6585423D01* +G01X3911612Y6601180D01* +G01X3895382Y6614290D01* +G01X3877101Y6624347D01* +G01X3857339Y6631038D01* +G01X3836710Y6634155D01* +G01X3815853Y6633601D01* +G01X3795417Y6629394D01* +G01X3741772Y6683039D01* +G01X3730146Y6691960D01* +G01X3716608Y6697568D01* +G01X3702079Y6699481D01* +G01X3670461Y6699481D01* +G01X3681198Y6716923D01* +G01X3688767Y6735956D01* +G01X3692942Y6756008D01* +G01X3693090Y6760627D01* +G01X3711419Y6760627D01* +G01X3714900Y6740056D01* +G01X3721940Y6720415D01* +G01X3732319Y6702316D01* +G01X3745714Y6686320D01* +G01X3745714Y6686320D01* +G01X3761710Y6672925D01* +G01X3779809Y6662546D01* +G01X3799450Y6655506D01* +G01X3820021Y6652025D01* +G01X3840885Y6652209D01* +G01X3861391Y6656054D01* +G01X3880904Y6663440D01* +G01X3898817Y6674137D01* +G01X3914574Y6687814D01* +G01X3927684Y6704044D01* +G01X3937741Y6722324D01* +G01X3944432Y6742086D01* +G01X3947549Y6762716D01* +G01X3946995Y6783573D01* +G01X3942788Y6804008D01* +G01X4787293Y7648513D01* +G01X4796214Y7660139D01* +G01X4801821Y7673678D01* +G01X4803734Y7688206D01* +G01X4803734Y10183400D01* +G01X4801821Y10197928D01* +G01X4796214Y10211467D01* +G01X4787293Y10223092D01* +G01X4658235Y10352150D01* +G01X4661711Y10372765D01* +G01X4661295Y10393666D01* +G01X4657003Y10414127D01* +G01X4648984Y10433433D01* +G01X4637517Y10450913D01* +G01X4623002Y10465958D01* +G01X4605943Y10478044D01* +G01X4586936Y10486749D01* +G01X4566643Y10491771D01* +G01X4545770Y10492934D01* +G01X4525044Y10490198D01* +G01X4505187Y10483659D01* +G01X4486892Y10473544D01* +G01X4470794Y10460206D01* +G01X4470794Y10460206D01* +G01X4457456Y10444108D01* +G01X4447340Y10425813D01* +G01X4440801Y10405956D01* +G01X4438066Y10385230D01* +G01X4439229Y10364357D01* +G01X4444251Y10344063D01* +G01X4452956Y10325056D01* +G01X4465042Y10307998D01* +G01X4480087Y10293483D01* +G01X4497567Y10282016D01* +G01X4516873Y10273996D01* +G01X4537333Y10269704D01* +G01X4558235Y10269289D01* +G01X4578850Y10272765D01* +G01X4691466Y10160148D01* +G01X4691466Y7711458D01* +G01X4691466Y7711458D01* +G01X3863402Y6883394D01* +G01X3842967Y6887601D01* +G01X3822110Y6888155D01* +G01X3801480Y6885038D01* +G01X3781718Y6878347D01* +G01X3763438Y6868290D01* +G01X3747208Y6855180D01* +G01X3733531Y6839423D01* +G01X3722834Y6821510D01* +G01X3715448Y6801997D01* +G01X3711603Y6781491D01* +G01X3711419Y6760627D01* +G01X3693090Y6760627D01* +G01X3693597Y6776480D01* +G01X3690713Y6796758D01* +G01X3684377Y6816235D01* +G01X3674777Y6834329D01* +G01X3662202Y6850496D01* +G01X3647028Y6864254D01* +G01X3629710Y6875190D01* +G01X3610765Y6882976D01* +G01X3590762Y6887380D01* +G01X3590762Y6887380D01* +G01X3570299Y6888270D01* +G01X3549989Y6885618D01* +G01X3530440Y6879505D01* +G01X3512238Y6870113D01* +G01X3495928Y6857724D01* +G01X3481997Y6842708D01* +G01X3470864Y6825516D01* +G01X3462862Y6806661D01* +G01X3458229Y6786710D01* +G01X3457106Y6766258D01* +G01X3459525Y6745919D01* +G01X3465414Y6726302D01* +G01X3368634Y6823082D01* +G01X3368634Y7034937D01* +G01X3457551Y7034937D01* +G01X3457551Y7013095D01* +G01X3461564Y6991624D01* +G01X3469455Y6971257D01* +G01X3480953Y6952686D01* +G01X3495669Y6936544D01* +G01X3513099Y6923381D01* +G01X3532652Y6913645D01* +G01X3553661Y6907667D01* +G01X3575410Y6905652D01* +G01X3597159Y6907667D01* +G01X3618168Y6913645D01* +G01X3637721Y6923381D01* +G01X3655151Y6936544D01* +G01X3669866Y6952686D01* +G01X3681365Y6971257D01* +G01X3689255Y6991624D01* +G01X3693269Y7013095D01* +G01X3693269Y7034937D01* +G01X3711551Y7034937D01* +G01X3711551Y7013095D01* +G01X3715564Y6991624D01* +G01X3723455Y6971257D01* +G01X3734953Y6952686D01* +G01X3749669Y6936544D01* +G01X3767099Y6923381D01* +G01X3786652Y6913645D01* +G01X3807661Y6907667D01* +G01X3829410Y6905652D01* +G01X3851159Y6907667D01* +G01X3872168Y6913645D01* +G01X3891721Y6923381D01* +G01X3909151Y6936544D01* +G01X3923866Y6952686D01* +G01X3935365Y6971257D01* +G01X3943255Y6991624D01* +G01X3947269Y7013095D01* +G01X3947269Y7034937D01* +G01X3943255Y7056408D01* +G01X3935365Y7076775D01* +G01X3923866Y7095346D01* +G01X3909151Y7111488D01* +G01X3891721Y7124651D01* +G01X3872168Y7134387D01* +G01X3851159Y7140365D01* +G01X3829410Y7142380D01* +G01X3829410Y7142380D01* +G01X3807661Y7140365D01* +G01X3786652Y7134387D01* +G01X3767099Y7124651D01* +G01X3749669Y7111488D01* +G01X3734953Y7095346D01* +G01X3723455Y7076775D01* +G01X3715564Y7056408D01* +G01X3711551Y7034937D01* +G01X3693269Y7034937D01* +G01X3689255Y7056408D01* +G01X3681365Y7076775D01* +G01X3669866Y7095346D01* +G01X3655151Y7111488D01* +G01X3637721Y7124651D01* +G01X3618168Y7134387D01* +G01X3597159Y7140365D01* +G01X3575410Y7142380D01* +G01X3575410Y7142380D01* +G01X3553661Y7140365D01* +G01X3532652Y7134387D01* +G01X3513099Y7124651D01* +G01X3495669Y7111488D01* +G01X3480953Y7095346D01* +G01X3469455Y7076775D01* +G01X3461564Y7056408D01* +G01X3457551Y7034937D01* +G01X3368634Y7034937D01* +G01X3368634Y7288937D01* +G01X3457551Y7288937D01* +G01X3457551Y7267095D01* +G01X3461564Y7245624D01* +G01X3469455Y7225257D01* +G01X3480953Y7206686D01* +G01X3495669Y7190544D01* +G01X3513099Y7177381D01* +G01X3532652Y7167645D01* +G01X3553661Y7161667D01* +G01X3575410Y7159652D01* +G01X3597159Y7161667D01* +G01X3618168Y7167645D01* +G01X3637721Y7177381D01* +G01X3655151Y7190544D01* +G01X3669866Y7206686D01* +G01X3681365Y7225257D01* +G01X3689255Y7245624D01* +G01X3693269Y7267095D01* +G01X3693269Y7288937D01* +G01X3711551Y7288937D01* +G01X3711551Y7267095D01* +G01X3715564Y7245624D01* +G01X3723455Y7225257D01* +G01X3734953Y7206686D01* +G01X3749669Y7190544D01* +G01X3767099Y7177381D01* +G01X3786652Y7167645D01* +G01X3807661Y7161667D01* +G01X3829410Y7159652D01* +G01X3851159Y7161667D01* +G01X3872168Y7167645D01* +G01X3891721Y7177381D01* +G01X3909151Y7190544D01* +G01X3923866Y7206686D01* +G01X3935365Y7225257D01* +G01X3943255Y7245624D01* +G01X3947269Y7267095D01* +G01X3947269Y7288937D01* +G01X3943255Y7310408D01* +G01X3935365Y7330775D01* +G01X3923866Y7349346D01* +G01X3909151Y7365488D01* +G01X3891721Y7378651D01* +G01X3872168Y7388387D01* +G01X3851159Y7394365D01* +G01X3829410Y7396380D01* +G01X3829410Y7396380D01* +G01X3807661Y7394365D01* +G01X3786652Y7388387D01* +G01X3767099Y7378651D01* +G01X3749669Y7365488D01* +G01X3734953Y7349346D01* +G01X3723455Y7330775D01* +G01X3715564Y7310408D01* +G01X3711551Y7288937D01* +G01X3693269Y7288937D01* +G01X3689255Y7310408D01* +G01X3681365Y7330775D01* +G01X3669866Y7349346D01* +G01X3655151Y7365488D01* +G01X3637721Y7378651D01* +G01X3618168Y7388387D01* +G01X3597159Y7394365D01* +G01X3575410Y7396380D01* +G01X3575410Y7396380D01* +G01X3553661Y7394365D01* +G01X3532652Y7388387D01* +G01X3513099Y7378651D01* +G01X3495669Y7365488D01* +G01X3480953Y7349346D01* +G01X3469455Y7330775D01* +G01X3461564Y7310408D01* +G01X3457551Y7288937D01* +G01X3368634Y7288937D01* +G01X3368634Y7542937D01* +G01X3457551Y7542937D01* +G01X3457551Y7521095D01* +G01X3461564Y7499624D01* +G01X3469455Y7479257D01* +G01X3480953Y7460686D01* +G01X3495669Y7444544D01* +G01X3513099Y7431381D01* +G01X3532652Y7421645D01* +G01X3553661Y7415667D01* +G01X3575410Y7413652D01* +G01X3597159Y7415667D01* +G01X3618168Y7421645D01* +G01X3637721Y7431381D01* +G01X3655151Y7444544D01* +G01X3669866Y7460686D01* +G01X3681365Y7479257D01* +G01X3689255Y7499624D01* +G01X3693269Y7521095D01* +G01X3693269Y7542937D01* +G01X3711551Y7542937D01* +G01X3711551Y7521095D01* +G01X3715564Y7499624D01* +G01X3723455Y7479257D01* +G01X3734953Y7460686D01* +G01X3749669Y7444544D01* +G01X3767099Y7431381D01* +G01X3786652Y7421645D01* +G01X3807661Y7415667D01* +G01X3829410Y7413652D01* +G01X3851159Y7415667D01* +G01X3872168Y7421645D01* +G01X3891721Y7431381D01* +G01X3909151Y7444544D01* +G01X3923866Y7460686D01* +G01X3935365Y7479257D01* +G01X3943255Y7499624D01* +G01X3947269Y7521095D01* +G01X3947269Y7542937D01* +G01X3943255Y7564408D01* +G01X3935365Y7584775D01* +G01X3923866Y7603346D01* +G01X3909151Y7619488D01* +G01X3891721Y7632651D01* +G01X3872168Y7642387D01* +G01X3851159Y7648365D01* +G01X3829410Y7650380D01* +G01X3829410Y7650380D01* +G01X3807661Y7648365D01* +G01X3786652Y7642387D01* +G01X3767099Y7632651D01* +G01X3749669Y7619488D01* +G01X3734953Y7603346D01* +G01X3723455Y7584775D01* +G01X3715564Y7564408D01* +G01X3711551Y7542937D01* +G01X3693269Y7542937D01* +G01X3689255Y7564408D01* +G01X3681365Y7584775D01* +G01X3669866Y7603346D01* +G01X3655151Y7619488D01* +G01X3637721Y7632651D01* +G01X3618168Y7642387D01* +G01X3597159Y7648365D01* +G01X3575410Y7650380D01* +G01X3575410Y7650380D01* +G01X3553661Y7648365D01* +G01X3532652Y7642387D01* +G01X3513099Y7632651D01* +G01X3495669Y7619488D01* +G01X3480953Y7603346D01* +G01X3469455Y7584775D01* +G01X3461564Y7564408D01* +G01X3457551Y7542937D01* +G01X3368634Y7542937D01* +G01X3368634Y7796937D01* +G01X3457551Y7796937D01* +G01X3457551Y7775095D01* +G01X3461564Y7753624D01* +G01X3469455Y7733257D01* +G01X3480953Y7714686D01* +G01X3495669Y7698544D01* +G01X3513099Y7685381D01* +G01X3532652Y7675645D01* +G01X3553661Y7669667D01* +G01X3575410Y7667652D01* +G01X3597159Y7669667D01* +G01X3618168Y7675645D01* +G01X3637721Y7685381D01* +G01X3655151Y7698544D01* +G01X3669866Y7714686D01* +G01X3681365Y7733257D01* +G01X3689255Y7753624D01* +G01X3693269Y7775095D01* +G01X3693269Y7796937D01* +G01X3711551Y7796937D01* +G01X3711551Y7775095D01* +G01X3715564Y7753624D01* +G01X3723455Y7733257D01* +G01X3734953Y7714686D01* +G01X3749669Y7698544D01* +G01X3767099Y7685381D01* +G01X3786652Y7675645D01* +G01X3807661Y7669667D01* +G01X3829410Y7667652D01* +G01X3851159Y7669667D01* +G01X3872168Y7675645D01* +G01X3891721Y7685381D01* +G01X3909151Y7698544D01* +G01X3923866Y7714686D01* +G01X3935365Y7733257D01* +G01X3943255Y7753624D01* +G01X3947269Y7775095D01* +G01X3947269Y7796937D01* +G01X3943255Y7818408D01* +G01X3935365Y7838775D01* +G01X3923866Y7857346D01* +G01X3909151Y7873488D01* +G01X3891721Y7886651D01* +G01X3872168Y7896387D01* +G01X3851159Y7902365D01* +G01X3829410Y7904380D01* +G01X3829410Y7904380D01* +G01X3807661Y7902365D01* +G01X3786652Y7896387D01* +G01X3767099Y7886651D01* +G01X3749669Y7873488D01* +G01X3734953Y7857346D01* +G01X3723455Y7838775D01* +G01X3715564Y7818408D01* +G01X3711551Y7796937D01* +G01X3693269Y7796937D01* +G01X3693269Y7796937D01* +G01X3689255Y7818408D01* +G01X3681365Y7838775D01* +G01X3669866Y7857346D01* +G01X3655151Y7873488D01* +G01X3637721Y7886651D01* +G01X3618168Y7896387D01* +G01X3597159Y7902365D01* +G01X3575410Y7904380D01* +G01X3575410Y7904380D01* +G01X3553661Y7902365D01* +G01X3532652Y7896387D01* +G01X3513099Y7886651D01* +G01X3495669Y7873488D01* +G01X3480953Y7857346D01* +G01X3469455Y7838775D01* +G01X3461564Y7818408D01* +G01X3457551Y7796937D01* +G01X3368634Y7796937D01* +G01X3368634Y9016149D01* +G01X3770297Y9417811D01* +G01X3779217Y9429437D01* +G01X3784825Y9442975D01* +G01X3786738Y9457504D01* +G01X3786738Y9946396D01* +G01X3784825Y9960924D01* +G01X3779217Y9974463D01* +G01X3770297Y9986089D01* +G01X3658235Y10098150D01* +G01X3661521Y10116501D01* +G01X3661718Y10135142D01* +G01X3658820Y10153557D01* +G01X3652908Y10171238D01* +G01X3644146Y10187692D01* +G01X3632777Y10202466D01* +G01X3887148Y10202466D01* +G01X4187765Y9901850D01* +G01X4187765Y9901850D01* +G01X4184408Y9882714D01* +G01X4184408Y9863286D01* +G01X4187765Y9844150D01* +G01X4009407Y9665793D01* +G01X4000487Y9654167D01* +G01X3994879Y9640629D01* +G01X3992966Y9626100D01* +G01X3992966Y8300651D01* +G01X3937008Y8244693D01* +G01X3943995Y8264346D01* +G01X3947424Y8284920D01* +G01X3947188Y8305777D01* +G01X3943295Y8326268D01* +G01X3935866Y8345758D01* +G01X3925130Y8363641D01* +G01X3911422Y8379362D01* +G01X3895168Y8392433D01* +G01X3876871Y8402448D01* +G01X3857101Y8409095D01* +G01X3836471Y8412169D01* +G01X3815622Y8411574D01* +G01X3795200Y8407328D01* +G01X3775841Y8399564D01* +G01X3758146Y8388522D01* +G01X3742663Y8374546D01* +G01X3729874Y8358068D01* +G01X3720177Y8339602D01* +G01X3713871Y8319720D01* +G01X3711153Y8299040D01* +G01X3712107Y8278204D01* +G01X3716704Y8257859D01* +G01X3724800Y8238637D01* +G01X3736145Y8221134D01* +G01X3700394Y8221134D01* +G01X3693774Y8220742D01* +G01X3693774Y8376566D01* +G01X3692021Y8387633D01* +G01X3686934Y8397617D01* +G01X3679011Y8405540D01* +G01X3669027Y8410627D01* +G01X3657960Y8412380D01* +G01X3492860Y8412380D01* +G01X3481793Y8410627D01* +G01X3471809Y8405540D01* +G01X3463886Y8397617D01* +G01X3458799Y8387633D01* +G01X3457046Y8376566D01* +G01X3457046Y8211466D01* +G01X3458799Y8200399D01* +G01X3463886Y8190415D01* +G01X3471809Y8182492D01* +G01X3481793Y8177405D01* +G01X3492860Y8175652D01* +G01X3631660Y8175652D01* +G01X3609402Y8153394D01* +G01X3588967Y8157601D01* +G01X3568110Y8158155D01* +G01X3547480Y8155038D01* +G01X3527718Y8148347D01* +G01X3509438Y8138290D01* +G01X3493208Y8125180D01* +G01X3479531Y8109423D01* +G01X3468834Y8091510D01* +G01X3461448Y8071997D01* +G01X3457603Y8051491D01* +G01X3457419Y8030627D01* +G01X3460900Y8010056D01* +G01X3467940Y7990415D01* +G01X3478319Y7972316D01* +G01X3491714Y7956320D01* +G01X3491714Y7956320D01* +G01X3507710Y7942925D01* +G01X3525809Y7932546D01* +G01X3545450Y7925506D01* +G01X3566021Y7922025D01* +G01X3586885Y7922209D01* +G01X3607391Y7926054D01* +G01X3626904Y7933440D01* +G01X3644817Y7944137D01* +G01X3660574Y7957814D01* +G01X3673684Y7974044D01* +G01X3683741Y7992324D01* +G01X3690432Y8012086D01* +G01X3693549Y8032716D01* +G01X3692995Y8053573D01* +G01X3688788Y8074008D01* +G01X3723645Y8108866D01* +G01X3733131Y8108866D01* +G01X3733131Y8108866D01* +G01X3722227Y8090235D01* +G01X3714889Y8069933D01* +G01X3711360Y8048637D01* +G01X3711758Y8027053D01* +G01X3716069Y8005901D01* +G01X3724150Y7985883D01* +G01X3735732Y7967666D01* +G01X3750430Y7951856D01* +G01X3767755Y7938978D01* +G01X3787131Y7929460D01* +G01X3807913Y7923620D01* +G01X3829410Y7921652D01* +G01X3829410Y7921652D01* +G01X3850907Y7923620D01* +G01X3871689Y7929460D01* +G01X3891065Y7938978D01* +G01X3908390Y7951856D01* +G01X3923088Y7967666D01* +G01X3934670Y7985883D01* +G01X3942751Y8005901D01* +G01X3947062Y8027053D01* +G01X3947460Y8048637D01* +G01X3943931Y8069933D01* +G01X3936592Y8090235D01* +G01X3925689Y8108866D01* +G01X3936700Y8108866D01* +G01X3951229Y8110779D01* +G01X3964767Y8116387D01* +G01X3976393Y8125307D01* +G01X4088793Y8237707D01* +G01X4097714Y8249333D01* +G01X4103321Y8262871D01* +G01X4105234Y8277400D01* +G01X4105234Y9602849D01* +G01X4131721Y9629335D01* +G01X4184464Y9629335D01* +G01X4184464Y9608665D01* +G01X4188262Y9588346D01* +G01X4195729Y9569071D01* +G01X4206611Y9551496D01* +G01X4220537Y9536221D01* +G01X4237032Y9523764D01* +G01X4255536Y9514550D01* +G01X4275417Y9508893D01* +G01X4296000Y9506986D01* +G01X4296000Y9506986D01* +G01X4316582Y9508893D01* +G01X4336464Y9514550D01* +G01X4354968Y9523764D01* +G01X4371463Y9536221D01* +G01X4385389Y9551496D01* +G01X4396271Y9569071D01* +G01X4403738Y9588346D01* +G01X4407536Y9608665D01* +G01X4407536Y9629335D01* +G01X4403738Y9649654D01* +G01X4396271Y9668929D01* +G01X4385389Y9686503D01* +G01X4377461Y9695200D01* +G01X4437986Y9695200D01* +G01X4437986Y9542800D01* +G01X4439739Y9531733D01* +G01X4444826Y9521749D01* +G01X4452749Y9513826D01* +G01X4462733Y9508739D01* +G01X4473800Y9506986D01* +G01X4626200Y9506986D01* +G01X4637267Y9508739D01* +G01X4647251Y9513826D01* +G01X4655174Y9521749D01* +G01X4660261Y9531733D01* +G01X4662014Y9542800D01* +G01X4662014Y9695200D01* +G01X4662014Y9695200D01* +G01X4660261Y9706267D01* +G01X4655174Y9716251D01* +G01X4647251Y9724174D01* +G01X4637267Y9729261D01* +G01X4626200Y9731014D01* +G01X4473800Y9731014D01* +G01X4462733Y9729261D01* +G01X4452749Y9724174D01* +G01X4444826Y9716251D01* +G01X4439739Y9706267D01* +G01X4437986Y9695200D01* +G01X4377461Y9695200D01* +G01X4371463Y9701779D01* +G01X4354968Y9714236D01* +G01X4336464Y9723450D01* +G01X4316582Y9729107D01* +G01X4296000Y9731014D01* +G01X4275417Y9729107D01* +G01X4255536Y9723450D01* +G01X4237032Y9714236D01* +G01X4220537Y9701779D01* +G01X4206611Y9686503D01* +G01X4195729Y9668929D01* +G01X4188262Y9649654D01* +G01X4184464Y9629335D01* +G01X4131721Y9629335D01* +G01X4267150Y9764765D01* +G01X4287343Y9761321D01* +G01X4307825Y9761612D01* +G01X4327912Y9765628D01* +G01X4346932Y9773235D01* +G01X4364248Y9784178D01* +G01X4379282Y9798092D01* +G01X4391531Y9814510D01* +G01X4400585Y9832885D01* +G01X4406141Y9852601D01* +G01X4408014Y9873000D01* +G01X4407065Y9883335D01* +G01X4438464Y9883335D01* +G01X4438464Y9862665D01* +G01X4442262Y9842346D01* +G01X4449729Y9823071D01* +G01X4460611Y9805496D01* +G01X4474537Y9790221D01* +G01X4491032Y9777764D01* +G01X4509536Y9768550D01* +G01X4529417Y9762893D01* +G01X4550000Y9760986D01* +G01X4550000Y9760986D01* +G01X4570582Y9762893D01* +G01X4590464Y9768550D01* +G01X4608968Y9777764D01* +G01X4625463Y9790221D01* +G01X4639389Y9805496D01* +G01X4650271Y9823071D01* +G01X4657738Y9842346D01* +G01X4661536Y9862665D01* +G01X4661536Y9883335D01* +G01X4657738Y9903654D01* +G01X4650271Y9922929D01* +G01X4639389Y9940503D01* +G01X4625463Y9955779D01* +G01X4608968Y9968236D01* +G01X4590464Y9977450D01* +G01X4570582Y9983107D01* +G01X4550000Y9985014D01* +G01X4529417Y9983107D01* +G01X4509536Y9977450D01* +G01X4491032Y9968236D01* +G01X4474537Y9955779D01* +G01X4460611Y9940503D01* +G01X4449729Y9922929D01* +G01X4442262Y9903654D01* +G01X4438464Y9883335D01* +G01X4407065Y9883335D01* +G01X4406141Y9893398D01* +G01X4400585Y9913115D01* +G01X4391531Y9931490D01* +G01X4379282Y9947908D01* +G01X4364248Y9961822D01* +G01X4346932Y9972765D01* +G01X4327912Y9980372D01* +G01X4307825Y9984388D01* +G01X4287343Y9984679D01* +G01X4267150Y9981235D01* +G01X4111050Y10137335D01* +G01X4184464Y10137335D01* +G01X4184464Y10116665D01* +G01X4188262Y10096346D01* +G01X4195729Y10077071D01* +G01X4206611Y10059496D01* +G01X4220537Y10044221D01* +G01X4237032Y10031764D01* +G01X4255536Y10022550D01* +G01X4275417Y10016893D01* +G01X4296000Y10014986D01* +G01X4296000Y10014986D01* +G01X4316582Y10016893D01* +G01X4336464Y10022550D01* +G01X4354968Y10031764D01* +G01X4371463Y10044221D01* +G01X4385389Y10059496D01* +G01X4396271Y10077071D01* +G01X4403738Y10096346D01* +G01X4407536Y10116665D01* +G01X4407536Y10137335D01* +G01X4438464Y10137335D01* +G01X4438464Y10116665D01* +G01X4442262Y10096346D01* +G01X4449729Y10077071D01* +G01X4460611Y10059496D01* +G01X4474537Y10044221D01* +G01X4491032Y10031764D01* +G01X4509536Y10022550D01* +G01X4529417Y10016893D01* +G01X4550000Y10014986D01* +G01X4550000Y10014986D01* +G01X4570582Y10016893D01* +G01X4590464Y10022550D01* +G01X4608968Y10031764D01* +G01X4625463Y10044221D01* +G01X4639389Y10059496D01* +G01X4650271Y10077071D01* +G01X4657738Y10096346D01* +G01X4661536Y10116665D01* +G01X4661536Y10137335D01* +G01X4657738Y10157654D01* +G01X4650271Y10176929D01* +G01X4639389Y10194503D01* +G01X4625463Y10209779D01* +G01X4608968Y10222236D01* +G01X4590464Y10231450D01* +G01X4570582Y10237107D01* +G01X4550000Y10239014D01* +G01X4529417Y10237107D01* +G01X4509536Y10231450D01* +G01X4491032Y10222236D01* +G01X4474537Y10209779D01* +G01X4460611Y10194503D01* +G01X4449729Y10176929D01* +G01X4442262Y10157654D01* +G01X4438464Y10137335D01* +G01X4407536Y10137335D01* +G01X4403738Y10157654D01* +G01X4396271Y10176929D01* +G01X4385389Y10194503D01* +G01X4371463Y10209779D01* +G01X4354968Y10222236D01* +G01X4336464Y10231450D01* +G01X4316582Y10237107D01* +G01X4296000Y10239014D01* +G01X4275417Y10237107D01* +G01X4255536Y10231450D01* +G01X4237032Y10222236D01* +G01X4220537Y10209779D01* +G01X4206611Y10194503D01* +G01X4195729Y10176929D01* +G01X4188262Y10157654D01* +G01X4184464Y10137335D01* +G01X4111050Y10137335D01* +G01X3950093Y10298293D01* +G01X3938467Y10307213D01* +G01X3924928Y10312821D01* +G01X3910400Y10314734D01* +G01X3640310Y10314734D01* +G01X3651159Y10332897D01* +G01X3658400Y10352776D01* +G01X3661773Y10373661D01* +G01X3661260Y10391335D01* +G01X4184464Y10391335D01* +G01X4184464Y10370665D01* +G01X4188262Y10350346D01* +G01X4195729Y10331071D01* +G01X4206611Y10313496D01* +G01X4220537Y10298221D01* +G01X4237032Y10285764D01* +G01X4255536Y10276550D01* +G01X4275417Y10270893D01* +G01X4296000Y10268986D01* +G01X4296000Y10268986D01* +G01X4316582Y10270893D01* +G01X4336464Y10276550D01* +G01X4354968Y10285764D01* +G01X4371463Y10298221D01* +G01X4385389Y10313496D01* +G01X4396271Y10331071D01* +G01X4403738Y10350346D01* +G01X4407536Y10370665D01* +G01X4407536Y10391335D01* +G01X4403738Y10411654D01* +G01X4396271Y10430929D01* +G01X4385389Y10448503D01* +G01X4371463Y10463779D01* +G01X4354968Y10476236D01* +G01X4336464Y10485450D01* +G01X4316582Y10491107D01* +G01X4296000Y10493014D01* +G01X4275417Y10491107D01* +G01X4255536Y10485450D01* +G01X4237032Y10476236D01* +G01X4220537Y10463779D01* +G01X4206611Y10448503D01* +G01X4195729Y10430929D01* +G01X4188262Y10411654D01* +G01X4184464Y10391335D01* +G01X3661260Y10391335D01* +G01X3661159Y10394809D01* +G01X3656580Y10415464D01* +G01X3648199Y10434889D01* +G01X3636315Y10452392D01* +G01X3621352Y10467349D01* +G01X3603843Y10479225D01* +G01X3584413Y10487597D01* +G01X3563756Y10492166D01* +G01X3542609Y10492770D01* +G01X3521725Y10489386D01* +G01X3501849Y10482137D01* +G01X3483691Y10471279D01* +G01X3467899Y10457201D01* +G01X3455035Y10440404D01* +G01X3445560Y10421489D01* +G01X3439809Y10401129D01* +G01X3437990Y10380051D01* +G01X3440166Y10359007D01* +G01X3446261Y10338747D01* +G01X3456056Y10319995D01* +G01X3469202Y10303419D01* +G01X3463307Y10298293D01* +G01X3386111Y10221097D01* +G01X3380115Y10214016D01* +G01X3375367Y10206044D01* +G01X3360051Y10218894D01* +G01X3342695Y10228817D01* +G01X3323850Y10235496D01* +G01X3304119Y10238719D01* +G01X3284129Y10238383D01* +G01X3264518Y10234499D01* +G01X3245909Y10227190D01* +G01X3228896Y10216689D01* +G01X3214020Y10203331D01* +G01X3201756Y10187542D01* +G01X3192495Y10169824D01* +G01X3186531Y10150741D01* +G01X3184054Y10130902D01* +G01X3184054Y10130902D01* +G01X3185143Y10110939D01* +G01X3189764Y10091488D01* +G01X3197769Y10073168D01* +G01X3208904Y10056563D01* +G01X3222813Y10042201D01* +G01X3239053Y10030542D01* +G01X3257108Y10021954D01* +G01X3276402Y10016714D01* +G01X3296320Y10014986D01* +G01X3316227Y10016827D01* +G01X3335491Y10022178D01* +G01X3353496Y10030868D01* +G01X3369670Y10042621D01* +G01X3369670Y10026055D01* +G01X3324850Y9981235D01* +G01X3304235Y9984711D01* +G01X3283333Y9984295D01* +G01X3262873Y9980003D01* +G01X3243567Y9971984D01* +G01X3226087Y9960517D01* +G01X3211042Y9946002D01* +G01X3198956Y9928943D01* +G01X3190251Y9909936D01* +G01X3185229Y9889643D01* +G01X3184066Y9868770D01* +G01X3186801Y9848044D01* +G01X3193340Y9828187D01* +G01X3203456Y9809892D01* +G01X3216794Y9793794D01* +G01X3232892Y9780456D01* +G01X3251187Y9770341D01* +G01X3271044Y9763801D01* +G01X3291770Y9761066D01* +G01X3312643Y9762229D01* +G01X3332936Y9767251D01* +G01X3351943Y9775956D01* +G01X3369002Y9788042D01* +G01X3383517Y9803087D01* +G01X3394984Y9820567D01* +G01X3403003Y9839873D01* +G01X3407295Y9860333D01* +G01X3407711Y9881235D01* +G01X3407357Y9883335D01* +G01X3438464Y9883335D01* +G01X3438464Y9862665D01* +G01X3442262Y9842346D01* +G01X3449729Y9823071D01* +G01X3460611Y9805496D01* +G01X3474537Y9790221D01* +G01X3491032Y9777764D01* +G01X3509536Y9768550D01* +G01X3529417Y9762893D01* +G01X3550000Y9760986D01* +G01X3550000Y9760986D01* +G01X3570582Y9762893D01* +G01X3590464Y9768550D01* +G01X3608968Y9777764D01* +G01X3625463Y9790221D01* +G01X3639389Y9805496D01* +G01X3650271Y9823071D01* +G01X3657738Y9842346D01* +G01X3661536Y9862665D01* +G01X3661536Y9883335D01* +G01X3657738Y9903654D01* +G01X3650271Y9922929D01* +G01X3639389Y9940503D01* +G01X3625463Y9955779D01* +G01X3608968Y9968236D01* +G01X3590464Y9977450D01* +G01X3570582Y9983107D01* +G01X3550000Y9985014D01* +G01X3529417Y9983107D01* +G01X3509536Y9977450D01* +G01X3491032Y9968236D01* +G01X3474537Y9955779D01* +G01X3460611Y9940503D01* +G01X3449729Y9922929D01* +G01X3442262Y9903654D01* +G01X3438464Y9883335D01* +G01X3407357Y9883335D01* +G01X3404235Y9901850D01* +G01X3465497Y9963111D01* +G01X3474417Y9974737D01* +G01X3480025Y9988275D01* +G01X3481938Y10002804D01* +G01X3481938Y10038035D01* +G01X3499235Y10027150D01* +G01X3518223Y10019588D01* +G01X3538268Y10015602D01* +G01X3558704Y10015325D01* +G01X3578850Y10018765D01* +G01X3674470Y9923144D01* +G01X3674470Y9480755D01* +G01X3272807Y9079093D01* +G01X3263887Y9067467D01* +G01X3258279Y9053929D01* +G01X3256366Y9039400D01* +G01X3256366Y6799830D01* +G01X3258279Y6785302D01* +G01X3263887Y6771763D01* +G01X3272807Y6760138D01* +G01X3429291Y6603654D01* +G01X3440917Y6594733D01* +G01X3454455Y6589125D01* +G01X3468984Y6587213D01* +G01X3480853Y6587213D01* +G01X3480853Y6587213D01* +G01X3469454Y6568774D01* +G01X3461609Y6548566D01* +G01X3457582Y6527266D01* +G01X3457506Y6505588D01* +G01X3461385Y6484261D01* +G01X3469089Y6463998D01* +G01X3480358Y6445481D01* +G01X3441435Y6445481D01* +G01X3216234Y6670682D01* +G01X3216234Y9205849D01* +G01X3517371Y9506986D01* +G01X3626200Y9506986D01* +G01X3637267Y9508739D01* +G01X3647251Y9513826D01* +G01X3655174Y9521749D01* +G01X3660261Y9531733D01* +G01X3662014Y9542800D01* +G01X3662014Y9695200D01* +G01X3660261Y9706267D01* +G01X3655174Y9716251D01* +G01X3647251Y9724174D01* +G01X3637267Y9729261D01* +G01X3626200Y9731014D01* +G01X3473800Y9731014D01* +G01X3462733Y9729261D01* +G01X3452749Y9724174D01* +G01X3444826Y9716251D01* +G01X3439739Y9706267D01* +G01X3437986Y9695200D01* +G01X3437986Y9586371D01* +G01X3120407Y9268793D01* +G01X3120407Y9268793D01* +G01X3111487Y9257167D01* +G01X3105879Y9243629D01* +G01X3103966Y9229100D01* +G01X3067918Y9229100D01* +G01X3067918Y9629335D01* +G01X3184464Y9629335D01* +G01X3184464Y9608665D01* +G01X3188262Y9588346D01* +G01X3195729Y9569071D01* +G01X3206611Y9551496D01* +G01X3220537Y9536221D01* +G01X3237032Y9523764D01* +G01X3255536Y9514550D01* +G01X3275417Y9508893D01* +G01X3296000Y9506986D01* +G01X3296000Y9506986D01* +G01X3316582Y9508893D01* +G01X3336464Y9514550D01* +G01X3354968Y9523764D01* +G01X3371463Y9536221D01* +G01X3385389Y9551496D01* +G01X3396271Y9569071D01* +G01X3403738Y9588346D01* +G01X3407536Y9608665D01* +G01X3407536Y9629335D01* +G01X3403738Y9649654D01* +G01X3396271Y9668929D01* +G01X3385389Y9686503D01* +G01X3371463Y9701779D01* +G01X3354968Y9714236D01* +G01X3336464Y9723450D01* +G01X3316582Y9729107D01* +G01X3296000Y9731014D01* +G01X3275417Y9729107D01* +G01X3255536Y9723450D01* +G01X3237032Y9714236D01* +G01X3220537Y9701779D01* +G01X3206611Y9686503D01* +G01X3195729Y9668929D01* +G01X3188262Y9649654D01* +G01X3184464Y9629335D01* +G01X3067918Y9629335D01* +G01X3067918Y10391335D01* +G01X3184464Y10391335D01* +G01X3184464Y10370665D01* +G01X3188262Y10350346D01* +G01X3195729Y10331071D01* +G01X3206611Y10313496D01* +G01X3220537Y10298221D01* +G01X3237032Y10285764D01* +G01X3255536Y10276550D01* +G01X3275417Y10270893D01* +G01X3296000Y10268986D01* +G01X3296000Y10268986D01* +G01X3316582Y10270893D01* +G01X3336464Y10276550D01* +G01X3354968Y10285764D01* +G01X3371463Y10298221D01* +G01X3385389Y10313496D01* +G01X3396271Y10331071D01* +G01X3403738Y10350346D01* +G01X3407536Y10370665D01* +G01X3407536Y10391335D01* +G01X3403738Y10411654D01* +G01X3396271Y10430929D01* +G01X3385389Y10448503D01* +G01X3371463Y10463779D01* +G01X3354968Y10476236D01* +G01X3336464Y10485450D01* +G01X3316582Y10491107D01* +G01X3296000Y10493014D01* +G01X3275417Y10491107D01* +G01X3255536Y10485450D01* +G01X3237032Y10476236D01* +G01X3220537Y10463779D01* +G01X3206611Y10448503D01* +G01X3195729Y10430929D01* +G01X3188262Y10411654D01* +G01X3184464Y10391335D01* +G01X3067918Y10391335D01* +G01X3067918Y10645335D01* +G01X3184464Y10645335D01* +G01X3184464Y10624665D01* +G01X3188262Y10604346D01* +G01X3195729Y10585071D01* +G01X3206611Y10567496D01* +G01X3220537Y10552221D01* +G01X3237032Y10539764D01* +G01X3255536Y10530550D01* +G01X3275417Y10524893D01* +G01X3296000Y10522986D01* +G01X3296000Y10522986D01* +G01X3316582Y10524893D01* +G01X3336464Y10530550D01* +G01X3354968Y10539764D01* +G01X3371463Y10552221D01* +G01X3385389Y10567496D01* +G01X3396271Y10585071D01* +G01X3403738Y10604346D01* +G01X3407536Y10624665D01* +G01X3407536Y10645335D01* +G01X3403738Y10665654D01* +G01X3396271Y10684929D01* +G01X3385389Y10702503D01* +G01X3371463Y10717779D01* +G01X3354968Y10730236D01* +G01X3336464Y10739450D01* +G01X3316582Y10745107D01* +G01X3296000Y10747014D01* +G01X3275417Y10745107D01* +G01X3255536Y10739450D01* +G01X3237032Y10730236D01* +G01X3220537Y10717779D01* +G01X3206611Y10702503D01* +G01X3195729Y10684929D01* +G01X3188262Y10665654D01* +G01X3184464Y10645335D01* +G01X3067918Y10645335D01* +G01X3067918Y10691627D01* +G01X3129103Y10752813D01* +G01X3415327Y10752813D01* +G01X3462814Y10705326D01* +G01X3462814Y10705326D01* +G01X3451235Y10687845D01* +G01X3443117Y10668513D01* +G01X3438744Y10648006D01* +G01X3438269Y10627044D01* +G01X3441709Y10606360D01* +G01X3448944Y10586680D01* +G01X3459720Y10568693D01* +G01X3473659Y10553029D01* +G01X3490273Y10540238D01* +G01X3508980Y10530767D01* +G01X3529124Y10524948D01* +G01X3550000Y10522986D01* +G01X3570876Y10524948D01* +G01X3591020Y10530767D01* +G01X3609727Y10540238D01* +G01X3626341Y10553029D01* +G01X3640280Y10568693D01* +G01X3651056Y10586680D01* +G01X3658291Y10606360D01* +G01X3661731Y10627044D01* +G01X3661317Y10645335D01* +G01X4184464Y10645335D01* +G01X4184464Y10624665D01* +G01X4188262Y10604346D01* +G01X4195729Y10585071D01* +G01X4206611Y10567496D01* +G01X4220537Y10552221D01* +G01X4237032Y10539764D01* +G01X4255536Y10530550D01* +G01X4275417Y10524893D01* +G01X4296000Y10522986D01* +G01X4296000Y10522986D01* +G01X4316582Y10524893D01* +G01X4336464Y10530550D01* +G01X4354968Y10539764D01* +G01X4371463Y10552221D01* +G01X4385389Y10567496D01* +G01X4396271Y10585071D01* +G01X4403738Y10604346D01* +G01X4407536Y10624665D01* +G01X4407536Y10645335D01* +G01X4403738Y10665654D01* +G01X4396271Y10684929D01* +G01X4385389Y10702503D01* +G01X4371463Y10717779D01* +G01X4354968Y10730236D01* +G01X4336464Y10739450D01* +G01X4316582Y10745107D01* +G01X4296000Y10747014D01* +G01X4275417Y10745107D01* +G01X4255536Y10739450D01* +G01X4237032Y10730236D01* +G01X4220537Y10717779D01* +G01X4206611Y10702503D01* +G01X4195729Y10684929D01* +G01X4188262Y10665654D01* +G01X4184464Y10645335D01* +G01X3661317Y10645335D01* +G01X3661256Y10648006D01* +G01X3656883Y10668513D01* +G01X3648765Y10687845D01* +G01X3637186Y10705326D01* +G01X3687477Y10755617D01* +G01X4418627Y10755617D01* +G01X4463386Y10710858D01* +G01X4463386Y10706029D01* +G01X4463386Y10706029D01* +G01X4451630Y10688576D01* +G01X4443345Y10669233D01* +G01X4438825Y10648681D01* +G01X4438228Y10627647D01* +G01X4441575Y10606872D01* +G01X4448749Y10587089D01* +G01X4459497Y10568998D01* +G01X4473438Y10553236D01* +G01X4490081Y10540359D01* +G01X4508839Y10530822D01* +G01X4529050Y10524962D01* +G01X4550000Y10522986D01* +G01X4550000Y10522986D01* +G01X4570950Y10524962D01* +G01X4591160Y10530822D01* +G01X4609918Y10540359D01* +G01X4626562Y10553236D01* +G01X4640503Y10568998D01* +G01X4651251Y10587089D01* +G01X4658425Y10606872D01* +G01X4661772Y10627647D01* +G01X4661175Y10648681D01* +G01X4656655Y10669233D01* +G01X4648370Y10688576D01* +G01X4636614Y10706029D01* +G01X4636614Y10746735D01* +G01X4634950Y10763632D01* +G01X4630021Y10779880D01* +G01X4622017Y10794855D01* +G01X4611245Y10807980D01* +G01X4515749Y10903476D01* +G01X4502624Y10914247D01* +G01X4487650Y10922251D01* +G01X4471401Y10927180D01* +G01X4454504Y10928845D01* +G01X3651600Y10928845D01* +G01X3634702Y10927180D01* +G01X3618454Y10922251D01* +G01X3603480Y10914247D01* +G01X3590355Y10903476D01* +G01X3550000Y10863121D01* +G01X3512449Y10900672D01* +G01X3499324Y10911443D01* +G01X3484350Y10919447D01* +G01X3468101Y10924376D01* +G01X3451204Y10926041D01* +G01X3093227Y10926041D01* +G01X3076329Y10924376D01* +G01X3060081Y10919447D01* +G01X3045107Y10911443D01* +G01X3031981Y10900672D01* +G01X2920059Y10788749D01* +G01X2909287Y10775624D01* +G01X2901283Y10760650D01* +G01X2896354Y10744401D01* +G01X2894690Y10727504D01* +G01X2894690Y7064497D01* +G01X2894690Y7064497D01* +G01X2571607Y6741414D01* +G01X1759111Y6741414D01* +G01X1742213Y6739750D01* +G01X1725965Y6734821D01* +G01X1710991Y6726817D01* +G01X1697866Y6716045D01* +G01X1584406Y6602585D01* +G01X938341Y7248649D01* +G01X2602787Y7248649D01* +G01X2602787Y7229150D01* +G01X2606370Y7209984D01* +G01X2613413Y7191801D01* +G01X2623678Y7175223D01* +G01X2636815Y7160813D01* +G01X2652375Y7149063D01* +G01X2669830Y7140371D01* +G01X2688584Y7135035D01* +G01X2708000Y7133236D01* +G01X2758800Y7133236D01* +G01X2778216Y7135035D01* +G01X2796970Y7140371D01* +G01X2814425Y7149063D01* +G01X2829985Y7160813D01* +G01X2843122Y7175223D01* +G01X2853386Y7191801D01* +G01X2860430Y7209984D01* +G01X2864013Y7229150D01* +G01X2864013Y7248649D01* +G01X2860430Y7267816D01* +G01X2853386Y7285998D01* +G01X2843122Y7302577D01* +G01X2829985Y7316987D01* +G01X2814425Y7328737D01* +G01X2796970Y7337429D01* +G01X2778216Y7342765D01* +G01X2758800Y7344564D01* +G01X2758800Y7344564D01* +G01X2708000Y7344564D01* +G01X2688584Y7342765D01* +G01X2669830Y7337429D01* +G01X2652375Y7328737D01* +G01X2636815Y7316987D01* +G01X2623678Y7302577D01* +G01X2613413Y7285998D01* +G01X2606370Y7267816D01* +G01X2602787Y7248649D01* +G01X938341Y7248649D01* +G01X684341Y7502649D01* +G01X2602787Y7502649D01* +G01X2602787Y7483150D01* +G01X2606370Y7463984D01* +G01X2613413Y7445801D01* +G01X2623678Y7429223D01* +G01X2636815Y7414813D01* +G01X2652375Y7403063D01* +G01X2669830Y7394371D01* +G01X2688584Y7389035D01* +G01X2708000Y7387236D01* +G01X2758800Y7387236D01* +G01X2778216Y7389035D01* +G01X2796970Y7394371D01* +G01X2814425Y7403063D01* +G01X2829985Y7414813D01* +G01X2843122Y7429223D01* +G01X2853386Y7445801D01* +G01X2860430Y7463984D01* +G01X2864013Y7483150D01* +G01X2864013Y7502649D01* +G01X2860430Y7521816D01* +G01X2853386Y7539998D01* +G01X2843122Y7556577D01* +G01X2829985Y7570987D01* +G01X2814425Y7582737D01* +G01X2796970Y7591429D01* +G01X2778216Y7596765D01* +G01X2758800Y7598564D01* +G01X2758800Y7598564D01* +G01X2708000Y7598564D01* +G01X2688584Y7596765D01* +G01X2669830Y7591429D01* +G01X2652375Y7582737D01* +G01X2636815Y7570987D01* +G01X2623678Y7556577D01* +G01X2613413Y7539998D01* +G01X2606370Y7521816D01* +G01X2602787Y7502649D01* +G01X684341Y7502649D01* +G01X632845Y7554145D01* +G01X619720Y7564917D01* +G01X604746Y7572921D01* +G01X588498Y7577850D01* +G01X571600Y7579514D01* +G01X279322Y7579514D01* +G01X265465Y7587701D01* +G01X250525Y7593689D01* +G01X234848Y7597338D01* +G01X218800Y7598564D01* +G01X168000Y7598564D01* +G01X151951Y7597338D01* +G01X136275Y7593689D01* +G01X121335Y7587701D01* +G01X107478Y7579514D01* +G01X-195828Y7579514D01* +G01X-212489Y7592462D01* +G01X-231186Y7602246D01* +G01X-251322Y7608555D01* +G01X-272259Y7611188D01* +G01X-293331Y7610061D01* +G01X-313867Y7605211D01* +G01X-333216Y7596791D01* +G01X-350763Y7585069D01* +G01X-365949Y7570417D01* +G01X-378292Y7553302D01* +G01X-387400Y7534267D01* +G01X-392983Y7513918D01* +G01X-394864Y7492900D01* +G01X-2536486Y7492900D01* +G01X-2536486Y7757821D01* +G01X-2426359Y7757821D01* +G01X-2426359Y7735979D01* +G01X-2422346Y7714508D01* +G01X-2414455Y7694141D01* +G01X-2402957Y7675570D01* +G01X-2388241Y7659428D01* +G01X-2370811Y7646265D01* +G01X-2351258Y7636529D01* +G01X-2330249Y7630551D01* +G01X-2308500Y7628536D01* +G01X-2308500Y7628536D01* +G01X-2286751Y7630551D01* +G01X-2265742Y7636529D01* +G01X-2246189Y7646265D01* +G01X-2228759Y7659428D01* +G01X-2214044Y7675570D01* +G01X-2202545Y7694141D01* +G01X-2194655Y7714508D01* +G01X-2190641Y7735979D01* +G01X-2190641Y7757821D01* +G01X-2190641Y7757821D01* +G01X-394359Y7757821D01* +G01X-394359Y7735979D01* +G01X-390346Y7714508D01* +G01X-382455Y7694141D01* +G01X-370957Y7675570D01* +G01X-356241Y7659428D01* +G01X-338811Y7646265D01* +G01X-319258Y7636529D01* +G01X-298249Y7630551D01* +G01X-276500Y7628536D01* +G01X-276500Y7628536D01* +G01X-254751Y7630551D01* +G01X-233742Y7636529D01* +G01X-214189Y7646265D01* +G01X-196759Y7659428D01* +G01X-182044Y7675570D01* +G01X-170545Y7694141D01* +G01X-162655Y7714508D01* +G01X-158641Y7735979D01* +G01X-158641Y7756649D01* +G01X62787Y7756649D01* +G01X62787Y7737150D01* +G01X66370Y7717984D01* +G01X73413Y7699801D01* +G01X83678Y7683223D01* +G01X96815Y7668813D01* +G01X112375Y7657063D01* +G01X129830Y7648371D01* +G01X148584Y7643035D01* +G01X168000Y7641236D01* +G01X218800Y7641236D01* +G01X238216Y7643035D01* +G01X256970Y7648371D01* +G01X274425Y7657063D01* +G01X289985Y7668813D01* +G01X303122Y7683223D01* +G01X313386Y7699801D01* +G01X320430Y7717984D01* +G01X324013Y7737150D01* +G01X324013Y7756649D01* +G01X2602787Y7756649D01* +G01X2602787Y7737150D01* +G01X2606370Y7717984D01* +G01X2613413Y7699801D01* +G01X2623678Y7683223D01* +G01X2636815Y7668813D01* +G01X2652375Y7657063D01* +G01X2669830Y7648371D01* +G01X2688584Y7643035D01* +G01X2708000Y7641236D01* +G01X2758800Y7641236D01* +G01X2778216Y7643035D01* +G01X2796970Y7648371D01* +G01X2814425Y7657063D01* +G01X2829985Y7668813D01* +G01X2843122Y7683223D01* +G01X2853386Y7699801D01* +G01X2860430Y7717984D01* +G01X2864013Y7737150D01* +G01X2864013Y7756649D01* +G01X2860430Y7775816D01* +G01X2853386Y7793998D01* +G01X2843122Y7810577D01* +G01X2829985Y7824987D01* +G01X2814425Y7836737D01* +G01X2796970Y7845429D01* +G01X2778216Y7850765D01* +G01X2758800Y7852564D01* +G01X2758800Y7852564D01* +G01X2708000Y7852564D01* +G01X2688584Y7850765D01* +G01X2669830Y7845429D01* +G01X2652375Y7836737D01* +G01X2636815Y7824987D01* +G01X2623678Y7810577D01* +G01X2613413Y7793998D01* +G01X2606370Y7775816D01* +G01X2602787Y7756649D01* +G01X324013Y7756649D01* +G01X320430Y7775816D01* +G01X313386Y7793998D01* +G01X303122Y7810577D01* +G01X289985Y7824987D01* +G01X274425Y7836737D01* +G01X256970Y7845429D01* +G01X238216Y7850765D01* +G01X218800Y7852564D01* +G01X218800Y7852564D01* +G01X168000Y7852564D01* +G01X148584Y7850765D01* +G01X129830Y7845429D01* +G01X112375Y7836737D01* +G01X96815Y7824987D01* +G01X83678Y7810577D01* +G01X73413Y7793998D01* +G01X66370Y7775816D01* +G01X62787Y7756649D01* +G01X-158641Y7756649D01* +G01X-158641Y7757821D01* +G01X-162655Y7779292D01* +G01X-170545Y7799659D01* +G01X-182044Y7818230D01* +G01X-196759Y7834372D01* +G01X-214189Y7847535D01* +G01X-233742Y7857271D01* +G01X-254751Y7863249D01* +G01X-276500Y7865264D01* +G01X-298249Y7863249D01* +G01X-319258Y7857271D01* +G01X-338811Y7847535D01* +G01X-356241Y7834372D01* +G01X-370957Y7818230D01* +G01X-382455Y7799659D01* +G01X-390346Y7779292D01* +G01X-394359Y7757821D01* +G01X-2190641Y7757821D01* +G01X-2194655Y7779292D01* +G01X-2202545Y7799659D01* +G01X-2214044Y7818230D01* +G01X-2228759Y7834372D01* +G01X-2246189Y7847535D01* +G01X-2265742Y7857271D01* +G01X-2286751Y7863249D01* +G01X-2308500Y7865264D01* +G01X-2330249Y7863249D01* +G01X-2351258Y7857271D01* +G01X-2370811Y7847535D01* +G01X-2388241Y7834372D01* +G01X-2402957Y7818230D01* +G01X-2414455Y7799659D01* +G01X-2422346Y7779292D01* +G01X-2426359Y7757821D01* +G01X-2536486Y7757821D01* +G01X-2536486Y8011821D01* +G01X-2426359Y8011821D01* +G01X-2426359Y7989979D01* +G01X-2422346Y7968508D01* +G01X-2414455Y7948141D01* +G01X-2402957Y7929570D01* +G01X-2388241Y7913428D01* +G01X-2370811Y7900265D01* +G01X-2351258Y7890529D01* +G01X-2330249Y7884551D01* +G01X-2308500Y7882536D01* +G01X-2308500Y7882536D01* +G01X-2286751Y7884551D01* +G01X-2265742Y7890529D01* +G01X-2246189Y7900265D01* +G01X-2228759Y7913428D01* +G01X-2214044Y7929570D01* +G01X-2202545Y7948141D01* +G01X-2194655Y7968508D01* +G01X-2190641Y7989979D01* +G01X-2190641Y8011821D01* +G01X-2190641Y8011821D01* +G01X-394359Y8011821D01* +G01X-394359Y7989979D01* +G01X-390346Y7968508D01* +G01X-382455Y7948141D01* +G01X-370957Y7929570D01* +G01X-356241Y7913428D01* +G01X-338811Y7900265D01* +G01X-319258Y7890529D01* +G01X-298249Y7884551D01* +G01X-276500Y7882536D01* +G01X-276500Y7882536D01* +G01X-254751Y7884551D01* +G01X-233742Y7890529D01* +G01X-214189Y7900265D01* +G01X-196759Y7913428D01* +G01X-182044Y7929570D01* +G01X-170545Y7948141D01* +G01X-162655Y7968508D01* +G01X-158641Y7989979D01* +G01X-158641Y8010649D01* +G01X62787Y8010649D01* +G01X62787Y7991150D01* +G01X66370Y7971984D01* +G01X73413Y7953801D01* +G01X83678Y7937223D01* +G01X96815Y7922813D01* +G01X112375Y7911063D01* +G01X129830Y7902371D01* +G01X148584Y7897035D01* +G01X168000Y7895236D01* +G01X218800Y7895236D01* +G01X238216Y7897035D01* +G01X256970Y7902371D01* +G01X274425Y7911063D01* +G01X289985Y7922813D01* +G01X303122Y7937223D01* +G01X313386Y7953801D01* +G01X320430Y7971984D01* +G01X324013Y7991150D01* +G01X324013Y8010649D01* +G01X2602787Y8010649D01* +G01X2602787Y7991150D01* +G01X2606370Y7971984D01* +G01X2613413Y7953801D01* +G01X2623678Y7937223D01* +G01X2636815Y7922813D01* +G01X2652375Y7911063D01* +G01X2669830Y7902371D01* +G01X2688584Y7897035D01* +G01X2708000Y7895236D01* +G01X2758800Y7895236D01* +G01X2778216Y7897035D01* +G01X2796970Y7902371D01* +G01X2814425Y7911063D01* +G01X2829985Y7922813D01* +G01X2843122Y7937223D01* +G01X2853386Y7953801D01* +G01X2860430Y7971984D01* +G01X2864013Y7991150D01* +G01X2864013Y8010649D01* +G01X2860430Y8029816D01* +G01X2853386Y8047998D01* +G01X2843122Y8064577D01* +G01X2829985Y8078987D01* +G01X2814425Y8090737D01* +G01X2796970Y8099429D01* +G01X2778216Y8104765D01* +G01X2758800Y8106564D01* +G01X2758800Y8106564D01* +G01X2708000Y8106564D01* +G01X2688584Y8104765D01* +G01X2669830Y8099429D01* +G01X2652375Y8090737D01* +G01X2636815Y8078987D01* +G01X2623678Y8064577D01* +G01X2613413Y8047998D01* +G01X2606370Y8029816D01* +G01X2602787Y8010649D01* +G01X324013Y8010649D01* +G01X320430Y8029816D01* +G01X313386Y8047998D01* +G01X303122Y8064577D01* +G01X289985Y8078987D01* +G01X274425Y8090737D01* +G01X256970Y8099429D01* +G01X238216Y8104765D01* +G01X218800Y8106564D01* +G01X218800Y8106564D01* +G01X168000Y8106564D01* +G01X148584Y8104765D01* +G01X129830Y8099429D01* +G01X112375Y8090737D01* +G01X96815Y8078987D01* +G01X83678Y8064577D01* +G01X73413Y8047998D01* +G01X66370Y8029816D01* +G01X62787Y8010649D01* +G01X-158641Y8010649D01* +G01X-158641Y8011821D01* +G01X-162655Y8033292D01* +G01X-170545Y8053659D01* +G01X-182044Y8072230D01* +G01X-196759Y8088372D01* +G01X-214189Y8101535D01* +G01X-233742Y8111271D01* +G01X-254751Y8117249D01* +G01X-276500Y8119264D01* +G01X-298249Y8117249D01* +G01X-319258Y8111271D01* +G01X-338811Y8101535D01* +G01X-356241Y8088372D01* +G01X-370957Y8072230D01* +G01X-382455Y8053659D01* +G01X-390346Y8033292D01* +G01X-394359Y8011821D01* +G01X-2190641Y8011821D01* +G01X-2194655Y8033292D01* +G01X-2202545Y8053659D01* +G01X-2214044Y8072230D01* +G01X-2228759Y8088372D01* +G01X-2246189Y8101535D01* +G01X-2265742Y8111271D01* +G01X-2286751Y8117249D01* +G01X-2308500Y8119264D01* +G01X-2330249Y8117249D01* +G01X-2351258Y8111271D01* +G01X-2370811Y8101535D01* +G01X-2388241Y8088372D01* +G01X-2402957Y8072230D01* +G01X-2414455Y8053659D01* +G01X-2422346Y8033292D01* +G01X-2426359Y8011821D01* +G01X-2536486Y8011821D01* +G01X-2536486Y8265821D01* +G01X-2426359Y8265821D01* +G01X-2426359Y8243979D01* +G01X-2422346Y8222508D01* +G01X-2414455Y8202141D01* +G01X-2402957Y8183570D01* +G01X-2388241Y8167428D01* +G01X-2370811Y8154265D01* +G01X-2351258Y8144529D01* +G01X-2330249Y8138551D01* +G01X-2308500Y8136536D01* +G01X-2308500Y8136536D01* +G01X-2286751Y8138551D01* +G01X-2265742Y8144529D01* +G01X-2246189Y8154265D01* +G01X-2228759Y8167428D01* +G01X-2214044Y8183570D01* +G01X-2202545Y8202141D01* +G01X-2194655Y8222508D01* +G01X-2190641Y8243979D01* +G01X-2190641Y8245511D01* +G01X-394491Y8245511D01* +G01X-391010Y8224940D01* +G01X-383970Y8205299D01* +G01X-373591Y8187200D01* +G01X-360196Y8171204D01* +G01X-344200Y8157809D01* +G01X-326101Y8147430D01* +G01X-306460Y8140390D01* +G01X-285889Y8136909D01* +G01X-265025Y8137093D01* +G01X-244519Y8140938D01* +G01X-225006Y8148324D01* +G01X-207093Y8159021D01* +G01X-191336Y8172698D01* +G01X-178226Y8188928D01* +G01X-168169Y8207208D01* +G01X-161478Y8226970D01* +G01X-158361Y8247600D01* +G01X-158814Y8264649D01* +G01X62787Y8264649D01* +G01X62787Y8245150D01* +G01X66370Y8225984D01* +G01X73413Y8207801D01* +G01X83678Y8191223D01* +G01X96815Y8176813D01* +G01X112375Y8165063D01* +G01X129830Y8156371D01* +G01X148584Y8151035D01* +G01X168000Y8149236D01* +G01X218800Y8149236D01* +G01X238216Y8151035D01* +G01X256970Y8156371D01* +G01X274425Y8165063D01* +G01X289985Y8176813D01* +G01X303122Y8191223D01* +G01X313386Y8207801D01* +G01X320430Y8225984D01* +G01X324013Y8245150D01* +G01X324013Y8264649D01* +G01X2602787Y8264649D01* +G01X2602787Y8245150D01* +G01X2606370Y8225984D01* +G01X2613413Y8207801D01* +G01X2623678Y8191223D01* +G01X2636815Y8176813D01* +G01X2652375Y8165063D01* +G01X2669830Y8156371D01* +G01X2688584Y8151035D01* +G01X2708000Y8149236D01* +G01X2758800Y8149236D01* +G01X2778216Y8151035D01* +G01X2796970Y8156371D01* +G01X2814425Y8165063D01* +G01X2829985Y8176813D01* +G01X2843122Y8191223D01* +G01X2853386Y8207801D01* +G01X2860430Y8225984D01* +G01X2864013Y8245150D01* +G01X2864013Y8264649D01* +G01X2860430Y8283816D01* +G01X2853386Y8301998D01* +G01X2843122Y8318577D01* +G01X2829985Y8332987D01* +G01X2814425Y8344737D01* +G01X2796970Y8353429D01* +G01X2778216Y8358765D01* +G01X2758800Y8360564D01* +G01X2758800Y8360564D01* +G01X2708000Y8360564D01* +G01X2688584Y8358765D01* +G01X2669830Y8353429D01* +G01X2652375Y8344737D01* +G01X2636815Y8332987D01* +G01X2623678Y8318577D01* +G01X2613413Y8301998D01* +G01X2606370Y8283816D01* +G01X2602787Y8264649D01* +G01X324013Y8264649D01* +G01X320430Y8283816D01* +G01X313386Y8301998D01* +G01X303122Y8318577D01* +G01X289985Y8332987D01* +G01X274425Y8344737D01* +G01X256970Y8353429D01* +G01X238216Y8358765D01* +G01X218800Y8360564D01* +G01X218800Y8360564D01* +G01X168000Y8360564D01* +G01X148584Y8358765D01* +G01X129830Y8353429D01* +G01X112375Y8344737D01* +G01X96815Y8332987D01* +G01X83678Y8318577D01* +G01X73413Y8301998D01* +G01X66370Y8283816D01* +G01X62787Y8264649D01* +G01X-158814Y8264649D01* +G01X-158915Y8268457D01* +G01X-163122Y8288892D01* +G01X-52403Y8399611D01* +G01X-43483Y8411237D01* +G01X-37875Y8424775D01* +G01X-35962Y8439304D01* +G01X-35962Y8518649D01* +G01X62787Y8518649D01* +G01X62787Y8499150D01* +G01X66370Y8479984D01* +G01X73413Y8461801D01* +G01X83678Y8445223D01* +G01X96815Y8430813D01* +G01X112375Y8419063D01* +G01X129830Y8410371D01* +G01X148584Y8405035D01* +G01X168000Y8403236D01* +G01X218800Y8403236D01* +G01X238216Y8405035D01* +G01X256970Y8410371D01* +G01X274425Y8419063D01* +G01X289985Y8430813D01* +G01X303122Y8445223D01* +G01X313386Y8461801D01* +G01X320430Y8479984D01* +G01X324013Y8499150D01* +G01X324013Y8518649D01* +G01X2602787Y8518649D01* +G01X2602787Y8499150D01* +G01X2606370Y8479984D01* +G01X2613413Y8461801D01* +G01X2623678Y8445223D01* +G01X2636815Y8430813D01* +G01X2652375Y8419063D01* +G01X2669830Y8410371D01* +G01X2688584Y8405035D01* +G01X2708000Y8403236D01* +G01X2758800Y8403236D01* +G01X2778216Y8405035D01* +G01X2796970Y8410371D01* +G01X2814425Y8419063D01* +G01X2829985Y8430813D01* +G01X2843122Y8445223D01* +G01X2853386Y8461801D01* +G01X2860430Y8479984D01* +G01X2864013Y8499150D01* +G01X2864013Y8518649D01* +G01X2860430Y8537816D01* +G01X2853386Y8555998D01* +G01X2843122Y8572577D01* +G01X2829985Y8586987D01* +G01X2814425Y8598737D01* +G01X2796970Y8607429D01* +G01X2778216Y8612765D01* +G01X2758800Y8614564D01* +G01X2758800Y8614564D01* +G01X2708000Y8614564D01* +G01X2688584Y8612765D01* +G01X2669830Y8607429D01* +G01X2652375Y8598737D01* +G01X2636815Y8586987D01* +G01X2623678Y8572577D01* +G01X2613413Y8555998D01* +G01X2606370Y8537816D01* +G01X2602787Y8518649D01* +G01X324013Y8518649D01* +G01X320430Y8537816D01* +G01X313386Y8555998D01* +G01X303122Y8572577D01* +G01X289985Y8586987D01* +G01X274425Y8598737D01* +G01X256970Y8607429D01* +G01X238216Y8612765D01* +G01X218800Y8614564D01* +G01X218800Y8614564D01* +G01X168000Y8614564D01* +G01X148584Y8612765D01* +G01X129830Y8607429D01* +G01X112375Y8598737D01* +G01X96815Y8586987D01* +G01X83678Y8572577D01* +G01X73413Y8555998D01* +G01X66370Y8537816D01* +G01X62787Y8518649D01* +G01X-35962Y8518649D01* +G01X-35962Y8772649D01* +G01X62787Y8772649D01* +G01X62787Y8753150D01* +G01X66370Y8733984D01* +G01X73413Y8715801D01* +G01X83678Y8699223D01* +G01X96815Y8684813D01* +G01X112375Y8673063D01* +G01X129830Y8664371D01* +G01X148584Y8659035D01* +G01X168000Y8657236D01* +G01X218800Y8657236D01* +G01X238216Y8659035D01* +G01X256970Y8664371D01* +G01X274425Y8673063D01* +G01X289985Y8684813D01* +G01X303122Y8699223D01* +G01X313386Y8715801D01* +G01X320430Y8733984D01* +G01X324013Y8753150D01* +G01X324013Y8772649D01* +G01X2602787Y8772649D01* +G01X2602787Y8753150D01* +G01X2606370Y8733984D01* +G01X2613413Y8715801D01* +G01X2623678Y8699223D01* +G01X2636815Y8684813D01* +G01X2652375Y8673063D01* +G01X2669830Y8664371D01* +G01X2688584Y8659035D01* +G01X2708000Y8657236D01* +G01X2758800Y8657236D01* +G01X2778216Y8659035D01* +G01X2796970Y8664371D01* +G01X2814425Y8673063D01* +G01X2829985Y8684813D01* +G01X2843122Y8699223D01* +G01X2853386Y8715801D01* +G01X2860430Y8733984D01* +G01X2864013Y8753150D01* +G01X2864013Y8772649D01* +G01X2860430Y8791816D01* +G01X2853386Y8809998D01* +G01X2843122Y8826577D01* +G01X2829985Y8840987D01* +G01X2814425Y8852737D01* +G01X2796970Y8861429D01* +G01X2778216Y8866765D01* +G01X2758800Y8868564D01* +G01X2758800Y8868564D01* +G01X2708000Y8868564D01* +G01X2688584Y8866765D01* +G01X2669830Y8861429D01* +G01X2652375Y8852737D01* +G01X2636815Y8840987D01* +G01X2623678Y8826577D01* +G01X2613413Y8809998D01* +G01X2606370Y8791816D01* +G01X2602787Y8772649D01* +G01X324013Y8772649D01* +G01X320430Y8791816D01* +G01X313386Y8809998D01* +G01X303122Y8826577D01* +G01X289985Y8840987D01* +G01X274425Y8852737D01* +G01X256970Y8861429D01* +G01X238216Y8866765D01* +G01X218800Y8868564D01* +G01X218800Y8868564D01* +G01X168000Y8868564D01* +G01X148584Y8866765D01* +G01X129830Y8861429D01* +G01X112375Y8852737D01* +G01X96815Y8840987D01* +G01X83678Y8826577D01* +G01X73413Y8809998D01* +G01X66370Y8791816D01* +G01X62787Y8772649D01* +G01X-35962Y8772649D01* +G01X-35962Y9026649D01* +G01X62787Y9026649D01* +G01X62787Y9007150D01* +G01X66370Y8987984D01* +G01X73413Y8969801D01* +G01X83678Y8953223D01* +G01X96815Y8938813D01* +G01X112375Y8927063D01* +G01X129830Y8918371D01* +G01X148584Y8913035D01* +G01X168000Y8911236D01* +G01X218800Y8911236D01* +G01X238216Y8913035D01* +G01X256970Y8918371D01* +G01X274425Y8927063D01* +G01X289985Y8938813D01* +G01X303122Y8953223D01* +G01X313386Y8969801D01* +G01X320430Y8987984D01* +G01X324013Y9007150D01* +G01X324013Y9026649D01* +G01X2602787Y9026649D01* +G01X2602787Y9007150D01* +G01X2606370Y8987984D01* +G01X2613413Y8969801D01* +G01X2623678Y8953223D01* +G01X2636815Y8938813D01* +G01X2652375Y8927063D01* +G01X2669830Y8918371D01* +G01X2688584Y8913035D01* +G01X2708000Y8911236D01* +G01X2758800Y8911236D01* +G01X2778216Y8913035D01* +G01X2796970Y8918371D01* +G01X2814425Y8927063D01* +G01X2829985Y8938813D01* +G01X2843122Y8953223D01* +G01X2853386Y8969801D01* +G01X2860430Y8987984D01* +G01X2864013Y9007150D01* +G01X2864013Y9026649D01* +G01X2860430Y9045816D01* +G01X2853386Y9063998D01* +G01X2843122Y9080577D01* +G01X2829985Y9094987D01* +G01X2814425Y9106737D01* +G01X2796970Y9115429D01* +G01X2778216Y9120765D01* +G01X2758800Y9122564D01* +G01X2758800Y9122564D01* +G01X2708000Y9122564D01* +G01X2688584Y9120765D01* +G01X2669830Y9115429D01* +G01X2652375Y9106737D01* +G01X2636815Y9094987D01* +G01X2623678Y9080577D01* +G01X2613413Y9063998D01* +G01X2606370Y9045816D01* +G01X2602787Y9026649D01* +G01X324013Y9026649D01* +G01X324013Y9026649D01* +G01X320430Y9045816D01* +G01X313386Y9063998D01* +G01X303122Y9080577D01* +G01X289985Y9094987D01* +G01X274425Y9106737D01* +G01X256970Y9115429D01* +G01X238216Y9120765D01* +G01X218800Y9122564D01* +G01X218800Y9122564D01* +G01X168000Y9122564D01* +G01X148584Y9120765D01* +G01X129830Y9115429D01* +G01X112375Y9106737D01* +G01X96815Y9094987D01* +G01X83678Y9080577D01* +G01X73413Y9063998D01* +G01X66370Y9045816D01* +G01X62787Y9026649D01* +G01X-35962Y9026649D01* +G01X-35962Y9280649D01* +G01X62787Y9280649D01* +G01X62787Y9261150D01* +G01X66370Y9241984D01* +G01X73413Y9223801D01* +G01X83678Y9207223D01* +G01X96815Y9192813D01* +G01X112375Y9181063D01* +G01X129830Y9172371D01* +G01X148584Y9167035D01* +G01X168000Y9165236D01* +G01X218800Y9165236D01* +G01X238216Y9167035D01* +G01X256970Y9172371D01* +G01X274425Y9181063D01* +G01X289985Y9192813D01* +G01X303122Y9207223D01* +G01X313386Y9223801D01* +G01X320430Y9241984D01* +G01X324013Y9261150D01* +G01X324013Y9280649D01* +G01X2602787Y9280649D01* +G01X2602787Y9261150D01* +G01X2606370Y9241984D01* +G01X2613413Y9223801D01* +G01X2623678Y9207223D01* +G01X2636815Y9192813D01* +G01X2652375Y9181063D01* +G01X2669830Y9172371D01* +G01X2688584Y9167035D01* +G01X2708000Y9165236D01* +G01X2758800Y9165236D01* +G01X2778216Y9167035D01* +G01X2796970Y9172371D01* +G01X2814425Y9181063D01* +G01X2829985Y9192813D01* +G01X2843122Y9207223D01* +G01X2853386Y9223801D01* +G01X2860430Y9241984D01* +G01X2864013Y9261150D01* +G01X2864013Y9280649D01* +G01X2860430Y9299816D01* +G01X2853386Y9317998D01* +G01X2843122Y9334577D01* +G01X2829985Y9348987D01* +G01X2814425Y9360737D01* +G01X2796970Y9369429D01* +G01X2778216Y9374765D01* +G01X2758800Y9376564D01* +G01X2758800Y9376564D01* +G01X2708000Y9376564D01* +G01X2688584Y9374765D01* +G01X2669830Y9369429D01* +G01X2652375Y9360737D01* +G01X2636815Y9348987D01* +G01X2623678Y9334577D01* +G01X2613413Y9317998D01* +G01X2606370Y9299816D01* +G01X2602787Y9280649D01* +G01X324013Y9280649D01* +G01X324013Y9280649D01* +G01X320430Y9299816D01* +G01X313386Y9317998D01* +G01X303122Y9334577D01* +G01X289985Y9348987D01* +G01X274425Y9360737D01* +G01X256970Y9369429D01* +G01X238216Y9374765D01* +G01X218800Y9376564D01* +G01X218800Y9376564D01* +G01X168000Y9376564D01* +G01X148584Y9374765D01* +G01X129830Y9369429D01* +G01X112375Y9360737D01* +G01X96815Y9348987D01* +G01X83678Y9334577D01* +G01X73413Y9317998D01* +G01X66370Y9299816D01* +G01X62787Y9280649D01* +G01X-35962Y9280649D01* +G01X-35962Y9534649D01* +G01X62787Y9534649D01* +G01X62787Y9515150D01* +G01X66370Y9495984D01* +G01X73413Y9477801D01* +G01X83678Y9461223D01* +G01X96815Y9446813D01* +G01X112375Y9435063D01* +G01X129830Y9426371D01* +G01X148584Y9421035D01* +G01X168000Y9419236D01* +G01X218800Y9419236D01* +G01X238216Y9421035D01* +G01X256970Y9426371D01* +G01X274425Y9435063D01* +G01X289985Y9446813D01* +G01X303122Y9461223D01* +G01X313386Y9477801D01* +G01X320430Y9495984D01* +G01X324013Y9515150D01* +G01X324013Y9534649D01* +G01X2602787Y9534649D01* +G01X2602787Y9515150D01* +G01X2606370Y9495984D01* +G01X2613413Y9477801D01* +G01X2623678Y9461223D01* +G01X2636815Y9446813D01* +G01X2652375Y9435063D01* +G01X2669830Y9426371D01* +G01X2688584Y9421035D01* +G01X2708000Y9419236D01* +G01X2758800Y9419236D01* +G01X2778216Y9421035D01* +G01X2796970Y9426371D01* +G01X2814425Y9435063D01* +G01X2829985Y9446813D01* +G01X2843122Y9461223D01* +G01X2853386Y9477801D01* +G01X2860430Y9495984D01* +G01X2864013Y9515150D01* +G01X2864013Y9534649D01* +G01X2860430Y9553816D01* +G01X2853386Y9571998D01* +G01X2843122Y9588577D01* +G01X2829985Y9602987D01* +G01X2814425Y9614737D01* +G01X2796970Y9623429D01* +G01X2778216Y9628765D01* +G01X2758800Y9630564D01* +G01X2758800Y9630564D01* +G01X2708000Y9630564D01* +G01X2688584Y9628765D01* +G01X2669830Y9623429D01* +G01X2652375Y9614737D01* +G01X2636815Y9602987D01* +G01X2623678Y9588577D01* +G01X2613413Y9571998D01* +G01X2606370Y9553816D01* +G01X2602787Y9534649D01* +G01X324013Y9534649D01* +G01X324013Y9534649D01* +G01X320430Y9553816D01* +G01X313386Y9571998D01* +G01X303122Y9588577D01* +G01X289985Y9602987D01* +G01X274425Y9614737D01* +G01X256970Y9623429D01* +G01X238216Y9628765D01* +G01X218800Y9630564D01* +G01X218800Y9630564D01* +G01X168000Y9630564D01* +G01X148584Y9628765D01* +G01X129830Y9623429D01* +G01X112375Y9614737D01* +G01X96815Y9602987D01* +G01X83678Y9588577D01* +G01X73413Y9571998D01* +G01X66370Y9553816D01* +G01X62787Y9534649D01* +G01X-35962Y9534649D01* +G01X-35962Y9788649D01* +G01X62787Y9788649D01* +G01X62787Y9769150D01* +G01X66370Y9749984D01* +G01X73413Y9731801D01* +G01X83678Y9715223D01* +G01X96815Y9700813D01* +G01X112375Y9689063D01* +G01X129830Y9680371D01* +G01X148584Y9675035D01* +G01X168000Y9673236D01* +G01X218800Y9673236D01* +G01X238216Y9675035D01* +G01X256970Y9680371D01* +G01X274425Y9689063D01* +G01X289985Y9700813D01* +G01X303122Y9715223D01* +G01X313386Y9731801D01* +G01X320430Y9749984D01* +G01X324013Y9769150D01* +G01X324013Y9788649D01* +G01X320430Y9807816D01* +G01X313386Y9825998D01* +G01X306848Y9836558D01* +G01X957178Y9836558D01* +G01X957178Y9671458D01* +G01X958931Y9660391D01* +G01X964018Y9650407D01* +G01X971941Y9642484D01* +G01X981925Y9637397D01* +G01X992992Y9635644D01* +G01X1158092Y9635644D01* +G01X1158092Y9635644D01* +G01X1169159Y9637397D01* +G01X1179143Y9642484D01* +G01X1187066Y9650407D01* +G01X1192153Y9660391D01* +G01X1193906Y9671458D01* +G01X1193906Y9754008D01* +G01X1211178Y9754008D01* +G01X1213193Y9732259D01* +G01X1219171Y9711250D01* +G01X1228907Y9691697D01* +G01X1242070Y9674267D01* +G01X1258212Y9659551D01* +G01X1276783Y9648053D01* +G01X1297150Y9640162D01* +G01X1318621Y9636149D01* +G01X1340463Y9636149D01* +G01X1361934Y9640162D01* +G01X1382301Y9648053D01* +G01X1400872Y9659551D01* +G01X1417014Y9674267D01* +G01X1430177Y9691697D01* +G01X1439913Y9711250D01* +G01X1445891Y9732259D01* +G01X1447906Y9754008D01* +G01X1465178Y9754008D01* +G01X1467193Y9732259D01* +G01X1473171Y9711250D01* +G01X1482907Y9691697D01* +G01X1496070Y9674267D01* +G01X1512212Y9659551D01* +G01X1530783Y9648053D01* +G01X1551150Y9640162D01* +G01X1572621Y9636149D01* +G01X1594463Y9636149D01* +G01X1615934Y9640162D01* +G01X1636301Y9648053D01* +G01X1654872Y9659551D01* +G01X1671014Y9674267D01* +G01X1684177Y9691697D01* +G01X1693913Y9711250D01* +G01X1699891Y9732259D01* +G01X1701906Y9754008D01* +G01X1719178Y9754008D01* +G01X1721193Y9732259D01* +G01X1727171Y9711250D01* +G01X1736907Y9691697D01* +G01X1750070Y9674267D01* +G01X1766212Y9659551D01* +G01X1784783Y9648053D01* +G01X1805150Y9640162D01* +G01X1826621Y9636149D01* +G01X1848463Y9636149D01* +G01X1869934Y9640162D01* +G01X1890301Y9648053D01* +G01X1908872Y9659551D01* +G01X1925014Y9674267D01* +G01X1938177Y9691697D01* +G01X1947913Y9711250D01* +G01X1953891Y9732259D01* +G01X1955906Y9754008D01* +G01X1973178Y9754008D01* +G01X1975193Y9732259D01* +G01X1981171Y9711250D01* +G01X1990907Y9691697D01* +G01X2004070Y9674267D01* +G01X2020212Y9659551D01* +G01X2038783Y9648053D01* +G01X2059150Y9640162D01* +G01X2080621Y9636149D01* +G01X2102463Y9636149D01* +G01X2123934Y9640162D01* +G01X2144301Y9648053D01* +G01X2162872Y9659551D01* +G01X2179014Y9674267D01* +G01X2192177Y9691697D01* +G01X2201913Y9711250D01* +G01X2207891Y9732259D01* +G01X2209906Y9754008D01* +G01X2207891Y9775757D01* +G01X2204222Y9788649D01* +G01X2602787Y9788649D01* +G01X2602787Y9769150D01* +G01X2606370Y9749984D01* +G01X2613413Y9731801D01* +G01X2623678Y9715223D01* +G01X2636815Y9700813D01* +G01X2652375Y9689063D01* +G01X2669830Y9680371D01* +G01X2688584Y9675035D01* +G01X2708000Y9673236D01* +G01X2758800Y9673236D01* +G01X2778216Y9675035D01* +G01X2796970Y9680371D01* +G01X2814425Y9689063D01* +G01X2829985Y9700813D01* +G01X2843122Y9715223D01* +G01X2853386Y9731801D01* +G01X2860430Y9749984D01* +G01X2864013Y9769150D01* +G01X2864013Y9788649D01* +G01X2860430Y9807816D01* +G01X2853386Y9825998D01* +G01X2843122Y9842577D01* +G01X2829985Y9856987D01* +G01X2814425Y9868737D01* +G01X2796970Y9877429D01* +G01X2778216Y9882765D01* +G01X2758800Y9884564D01* +G01X2758800Y9884564D01* +G01X2708000Y9884564D01* +G01X2688584Y9882765D01* +G01X2669830Y9877429D01* +G01X2652375Y9868737D01* +G01X2636815Y9856987D01* +G01X2623678Y9842577D01* +G01X2613413Y9825998D01* +G01X2606370Y9807816D01* +G01X2602787Y9788649D01* +G01X2204222Y9788649D01* +G01X2201913Y9796766D01* +G01X2192177Y9816319D01* +G01X2179014Y9833749D01* +G01X2162872Y9848464D01* +G01X2144301Y9859963D01* +G01X2123934Y9867853D01* +G01X2102463Y9871867D01* +G01X2080621Y9871867D01* +G01X2059150Y9867853D01* +G01X2038783Y9859963D01* +G01X2020212Y9848464D01* +G01X2004070Y9833749D01* +G01X1990907Y9816319D01* +G01X1981171Y9796766D01* +G01X1975193Y9775757D01* +G01X1973178Y9754008D01* +G01X1973178Y9754008D01* +G01X1955906Y9754008D01* +G01X1953891Y9775757D01* +G01X1947913Y9796766D01* +G01X1938177Y9816319D01* +G01X1925014Y9833749D01* +G01X1908872Y9848464D01* +G01X1890301Y9859963D01* +G01X1869934Y9867853D01* +G01X1848463Y9871867D01* +G01X1826621Y9871867D01* +G01X1805150Y9867853D01* +G01X1784783Y9859963D01* +G01X1766212Y9848464D01* +G01X1750070Y9833749D01* +G01X1736907Y9816319D01* +G01X1727171Y9796766D01* +G01X1721193Y9775757D01* +G01X1719178Y9754008D01* +G01X1719178Y9754008D01* +G01X1701906Y9754008D01* +G01X1699891Y9775757D01* +G01X1693913Y9796766D01* +G01X1684177Y9816319D01* +G01X1671014Y9833749D01* +G01X1654872Y9848464D01* +G01X1636301Y9859963D01* +G01X1615934Y9867853D01* +G01X1594463Y9871867D01* +G01X1572621Y9871867D01* +G01X1551150Y9867853D01* +G01X1530783Y9859963D01* +G01X1512212Y9848464D01* +G01X1496070Y9833749D01* +G01X1482907Y9816319D01* +G01X1473171Y9796766D01* +G01X1467193Y9775757D01* +G01X1465178Y9754008D01* +G01X1465178Y9754008D01* +G01X1447906Y9754008D01* +G01X1445891Y9775757D01* +G01X1439913Y9796766D01* +G01X1430177Y9816319D01* +G01X1417014Y9833749D01* +G01X1400872Y9848464D01* +G01X1382301Y9859963D01* +G01X1361934Y9867853D01* +G01X1340463Y9871867D01* +G01X1318621Y9871867D01* +G01X1297150Y9867853D01* +G01X1276783Y9859963D01* +G01X1258212Y9848464D01* +G01X1242070Y9833749D01* +G01X1228907Y9816319D01* +G01X1219171Y9796766D01* +G01X1213193Y9775757D01* +G01X1211178Y9754008D01* +G01X1211178Y9754008D01* +G01X1193906Y9754008D01* +G01X1193906Y9836558D01* +G01X1192153Y9847625D01* +G01X1187066Y9857609D01* +G01X1179143Y9865532D01* +G01X1169159Y9870619D01* +G01X1158092Y9872372D01* +G01X992992Y9872372D01* +G01X981925Y9870619D01* +G01X971941Y9865532D01* +G01X964018Y9857609D01* +G01X958931Y9847625D01* +G01X957178Y9836558D01* +G01X306848Y9836558D01* +G01X303122Y9842577D01* +G01X289985Y9856987D01* +G01X274425Y9868737D01* +G01X256970Y9877429D01* +G01X238216Y9882765D01* +G01X218800Y9884564D01* +G01X218800Y9884564D01* +G01X168000Y9884564D01* +G01X148584Y9882765D01* +G01X129830Y9877429D01* +G01X112375Y9868737D01* +G01X96815Y9856987D01* +G01X83678Y9842577D01* +G01X73413Y9825998D01* +G01X66370Y9807816D01* +G01X62787Y9788649D01* +G01X-35962Y9788649D01* +G01X-35962Y10042649D01* +G01X62787Y10042649D01* +G01X62787Y10023150D01* +G01X66370Y10003984D01* +G01X73413Y9985801D01* +G01X83678Y9969223D01* +G01X96815Y9954813D01* +G01X112375Y9943063D01* +G01X129830Y9934371D01* +G01X148584Y9929035D01* +G01X168000Y9927236D01* +G01X218800Y9927236D01* +G01X238216Y9929035D01* +G01X256970Y9934371D01* +G01X274425Y9943063D01* +G01X289985Y9954813D01* +G01X303122Y9969223D01* +G01X313386Y9985801D01* +G01X320430Y10003984D01* +G01X321183Y10008008D01* +G01X957178Y10008008D01* +G01X959193Y9986259D01* +G01X965171Y9965250D01* +G01X974907Y9945697D01* +G01X988070Y9928267D01* +G01X1004212Y9913551D01* +G01X1022783Y9902053D01* +G01X1043150Y9894162D01* +G01X1064621Y9890149D01* +G01X1086463Y9890149D01* +G01X1107934Y9894162D01* +G01X1128301Y9902053D01* +G01X1146872Y9913551D01* +G01X1163014Y9928267D01* +G01X1176177Y9945697D01* +G01X1185913Y9965250D01* +G01X1191891Y9986259D01* +G01X1193906Y10008008D01* +G01X1211178Y10008008D01* +G01X1213193Y9986259D01* +G01X1219171Y9965250D01* +G01X1228907Y9945697D01* +G01X1242070Y9928267D01* +G01X1258212Y9913551D01* +G01X1276783Y9902053D01* +G01X1297150Y9894162D01* +G01X1318621Y9890149D01* +G01X1340463Y9890149D01* +G01X1361934Y9894162D01* +G01X1382301Y9902053D01* +G01X1400872Y9913551D01* +G01X1417014Y9928267D01* +G01X1430177Y9945697D01* +G01X1439913Y9965250D01* +G01X1445891Y9986259D01* +G01X1447906Y10008008D01* +G01X1465178Y10008008D01* +G01X1467193Y9986259D01* +G01X1473171Y9965250D01* +G01X1482907Y9945697D01* +G01X1496070Y9928267D01* +G01X1512212Y9913551D01* +G01X1530783Y9902053D01* +G01X1551150Y9894162D01* +G01X1572621Y9890149D01* +G01X1594463Y9890149D01* +G01X1615934Y9894162D01* +G01X1636301Y9902053D01* +G01X1654872Y9913551D01* +G01X1671014Y9928267D01* +G01X1684177Y9945697D01* +G01X1693913Y9965250D01* +G01X1699891Y9986259D01* +G01X1701906Y10008008D01* +G01X1719178Y10008008D01* +G01X1721193Y9986259D01* +G01X1727171Y9965250D01* +G01X1736907Y9945697D01* +G01X1750070Y9928267D01* +G01X1766212Y9913551D01* +G01X1784783Y9902053D01* +G01X1805150Y9894162D01* +G01X1826621Y9890149D01* +G01X1848463Y9890149D01* +G01X1869934Y9894162D01* +G01X1890301Y9902053D01* +G01X1908872Y9913551D01* +G01X1925014Y9928267D01* +G01X1938177Y9945697D01* +G01X1947913Y9965250D01* +G01X1953891Y9986259D01* +G01X1955906Y10008008D01* +G01X1973178Y10008008D01* +G01X1975193Y9986259D01* +G01X1981171Y9965250D01* +G01X1990907Y9945697D01* +G01X2004070Y9928267D01* +G01X2020212Y9913551D01* +G01X2038783Y9902053D01* +G01X2059150Y9894162D01* +G01X2080621Y9890149D01* +G01X2102463Y9890149D01* +G01X2123934Y9894162D01* +G01X2144301Y9902053D01* +G01X2162872Y9913551D01* +G01X2179014Y9928267D01* +G01X2192177Y9945697D01* +G01X2201913Y9965250D01* +G01X2207891Y9986259D01* +G01X2209906Y10008008D01* +G01X2207891Y10029757D01* +G01X2204222Y10042649D01* +G01X2602787Y10042649D01* +G01X2602787Y10023150D01* +G01X2606370Y10003984D01* +G01X2613413Y9985801D01* +G01X2623678Y9969223D01* +G01X2636815Y9954813D01* +G01X2652375Y9943063D01* +G01X2669830Y9934371D01* +G01X2688584Y9929035D01* +G01X2708000Y9927236D01* +G01X2758800Y9927236D01* +G01X2778216Y9929035D01* +G01X2796970Y9934371D01* +G01X2814425Y9943063D01* +G01X2829985Y9954813D01* +G01X2843122Y9969223D01* +G01X2853386Y9985801D01* +G01X2860430Y10003984D01* +G01X2864013Y10023150D01* +G01X2864013Y10042649D01* +G01X2860430Y10061816D01* +G01X2853386Y10079998D01* +G01X2843122Y10096577D01* +G01X2829985Y10110987D01* +G01X2814425Y10122737D01* +G01X2796970Y10131429D01* +G01X2778216Y10136765D01* +G01X2758800Y10138564D01* +G01X2758800Y10138564D01* +G01X2708000Y10138564D01* +G01X2688584Y10136765D01* +G01X2669830Y10131429D01* +G01X2652375Y10122737D01* +G01X2636815Y10110987D01* +G01X2623678Y10096577D01* +G01X2613413Y10079998D01* +G01X2606370Y10061816D01* +G01X2602787Y10042649D01* +G01X2204222Y10042649D01* +G01X2201913Y10050766D01* +G01X2192177Y10070319D01* +G01X2179014Y10087749D01* +G01X2162872Y10102464D01* +G01X2144301Y10113963D01* +G01X2123934Y10121853D01* +G01X2102463Y10125867D01* +G01X2080621Y10125867D01* +G01X2059150Y10121853D01* +G01X2038783Y10113963D01* +G01X2020212Y10102464D01* +G01X2004070Y10087749D01* +G01X1990907Y10070319D01* +G01X1981171Y10050766D01* +G01X1975193Y10029757D01* +G01X1973178Y10008008D01* +G01X1973178Y10008008D01* +G01X1955906Y10008008D01* +G01X1953891Y10029757D01* +G01X1947913Y10050766D01* +G01X1938177Y10070319D01* +G01X1925014Y10087749D01* +G01X1908872Y10102464D01* +G01X1890301Y10113963D01* +G01X1869934Y10121853D01* +G01X1848463Y10125867D01* +G01X1826621Y10125867D01* +G01X1805150Y10121853D01* +G01X1784783Y10113963D01* +G01X1766212Y10102464D01* +G01X1750070Y10087749D01* +G01X1736907Y10070319D01* +G01X1727171Y10050766D01* +G01X1721193Y10029757D01* +G01X1719178Y10008008D01* +G01X1719178Y10008008D01* +G01X1701906Y10008008D01* +G01X1699891Y10029757D01* +G01X1693913Y10050766D01* +G01X1684177Y10070319D01* +G01X1671014Y10087749D01* +G01X1654872Y10102464D01* +G01X1636301Y10113963D01* +G01X1615934Y10121853D01* +G01X1594463Y10125867D01* +G01X1572621Y10125867D01* +G01X1551150Y10121853D01* +G01X1530783Y10113963D01* +G01X1512212Y10102464D01* +G01X1496070Y10087749D01* +G01X1482907Y10070319D01* +G01X1473171Y10050766D01* +G01X1467193Y10029757D01* +G01X1465178Y10008008D01* +G01X1465178Y10008008D01* +G01X1447906Y10008008D01* +G01X1445891Y10029757D01* +G01X1439913Y10050766D01* +G01X1430177Y10070319D01* +G01X1417014Y10087749D01* +G01X1400872Y10102464D01* +G01X1382301Y10113963D01* +G01X1361934Y10121853D01* +G01X1340463Y10125867D01* +G01X1318621Y10125867D01* +G01X1297150Y10121853D01* +G01X1276783Y10113963D01* +G01X1258212Y10102464D01* +G01X1242070Y10087749D01* +G01X1228907Y10070319D01* +G01X1219171Y10050766D01* +G01X1213193Y10029757D01* +G01X1211178Y10008008D01* +G01X1211178Y10008008D01* +G01X1193906Y10008008D01* +G01X1191891Y10029757D01* +G01X1185913Y10050766D01* +G01X1176177Y10070319D01* +G01X1163014Y10087749D01* +G01X1146872Y10102464D01* +G01X1128301Y10113963D01* +G01X1107934Y10121853D01* +G01X1086463Y10125867D01* +G01X1064621Y10125867D01* +G01X1043150Y10121853D01* +G01X1022783Y10113963D01* +G01X1004212Y10102464D01* +G01X988070Y10087749D01* +G01X974907Y10070319D01* +G01X965171Y10050766D01* +G01X959193Y10029757D01* +G01X957178Y10008008D01* +G01X957178Y10008008D01* +G01X321183Y10008008D01* +G01X324013Y10023150D01* +G01X324013Y10042649D01* +G01X320430Y10061816D01* +G01X313386Y10079998D01* +G01X303122Y10096577D01* +G01X289985Y10110987D01* +G01X274425Y10122737D01* +G01X256970Y10131429D01* +G01X238216Y10136765D01* +G01X218800Y10138564D01* +G01X218800Y10138564D01* +G01X168000Y10138564D01* +G01X148584Y10136765D01* +G01X129830Y10131429D01* +G01X112375Y10122737D01* +G01X96815Y10110987D01* +G01X83678Y10096577D01* +G01X73413Y10079998D01* +G01X66370Y10061816D01* +G01X62787Y10042649D01* +G01X-35962Y10042649D01* +G01X-35962Y10231975D01* +G01X88057Y10355994D01* +G01X76431Y10339626D01* +G01X68111Y10321354D01* +G01X63397Y10301839D01* +G01X62460Y10281784D01* +G01X65333Y10261913D01* +G01X71912Y10242945D01* +G01X81961Y10225564D01* +G01X95116Y10210397D01* +G01X110902Y10197992D01* +G01X128749Y10188797D01* +G01X148014Y10183143D01* +G01X168000Y10181236D01* +G01X218800Y10181236D01* +G01X238216Y10183035D01* +G01X256970Y10188371D01* +G01X274425Y10197063D01* +G01X289985Y10208813D01* +G01X303122Y10223223D01* +G01X313386Y10239801D01* +G01X320430Y10257984D01* +G01X324013Y10277150D01* +G01X324013Y10296649D01* +G01X2602787Y10296649D01* +G01X2602787Y10277150D01* +G01X2606370Y10257984D01* +G01X2613413Y10239801D01* +G01X2623678Y10223223D01* +G01X2636815Y10208813D01* +G01X2652375Y10197063D01* +G01X2669830Y10188371D01* +G01X2688584Y10183035D01* +G01X2708000Y10181236D01* +G01X2758800Y10181236D01* +G01X2778216Y10183035D01* +G01X2796970Y10188371D01* +G01X2814425Y10197063D01* +G01X2829985Y10208813D01* +G01X2843122Y10223223D01* +G01X2853386Y10239801D01* +G01X2860430Y10257984D01* +G01X2864013Y10277150D01* +G01X2864013Y10296649D01* +G01X2860430Y10315816D01* +G01X2853386Y10333998D01* +G01X2843122Y10350577D01* +G01X2829985Y10364987D01* +G01X2814425Y10376737D01* +G01X2796970Y10385429D01* +G01X2778216Y10390765D01* +G01X2758800Y10392564D01* +G01X2758800Y10392564D01* +G01X2708000Y10392564D01* +G01X2688584Y10390765D01* +G01X2669830Y10385429D01* +G01X2652375Y10376737D01* +G01X2636815Y10364987D01* +G01X2623678Y10350577D01* +G01X2613413Y10333998D01* +G01X2606370Y10315816D01* +G01X2602787Y10296649D01* +G01X324013Y10296649D01* +G01X320430Y10315816D01* +G01X313386Y10333998D01* +G01X303122Y10350577D01* +G01X289985Y10364987D01* +G01X274425Y10376737D01* +G01X256970Y10385429D01* +G01X238216Y10390765D01* +G01X218800Y10392564D01* +G01X168000Y10392564D01* +G01X149272Y10390891D01* +G01X131137Y10385925D01* +G01X114169Y10377823D01* +G01X98905Y10366843D01* +G01X167301Y10435238D01* +G01X168000Y10435236D01* +G01X218800Y10435236D01* +G01X238216Y10437035D01* +G01X256970Y10442371D01* +G01X274425Y10451063D01* +G01X289985Y10462813D01* +G01X303122Y10477223D01* +G01X313386Y10493801D01* +G01X320430Y10511984D01* +G01X324013Y10531150D01* +G01X324013Y10550649D01* +G01X2602787Y10550649D01* +G01X2602787Y10531150D01* +G01X2606370Y10511984D01* +G01X2613413Y10493801D01* +G01X2623678Y10477223D01* +G01X2636815Y10462813D01* +G01X2652375Y10451063D01* +G01X2669830Y10442371D01* +G01X2688584Y10437035D01* +G01X2708000Y10435236D01* +G01X2758800Y10435236D01* +G01X2778216Y10437035D01* +G01X2796970Y10442371D01* +G01X2814425Y10451063D01* +G01X2829985Y10462813D01* +G01X2843122Y10477223D01* +G01X2853386Y10493801D01* +G01X2860430Y10511984D01* +G01X2864013Y10531150D01* +G01X2864013Y10550649D01* +G01X2860430Y10569816D01* +G01X2853386Y10587998D01* +G01X2843122Y10604577D01* +G01X2829985Y10618987D01* +G01X2814425Y10630737D01* +G01X2796970Y10639429D01* +G01X2778216Y10644765D01* +G01X2758800Y10646564D01* +G01X2758800Y10646564D01* +G01X2708000Y10646564D01* +G01X2688584Y10644765D01* +G01X2669830Y10639429D01* +G01X2652375Y10630737D01* +G01X2636815Y10618987D01* +G01X2623678Y10604577D01* +G01X2613413Y10587998D01* +G01X2606370Y10569816D01* +G01X2602787Y10550649D01* +G01X324013Y10550649D01* +G01X320430Y10569816D01* +G01X313386Y10587998D01* +G01X303122Y10604577D01* +G01X289985Y10618987D01* +G01X274425Y10630737D01* +G01X256970Y10639429D01* +G01X238216Y10644765D01* +G01X218800Y10646564D01* +G01X168000Y10646564D01* +G01X149009Y10644843D01* +G01X130636Y10639737D01* +G01X113481Y10631413D01* +G01X98101Y10620140D01* +G01X84997Y10606287D01* +G01X74597Y10590304D01* +G01X67238Y10572712D01* +G01X63162Y10554084D01* +G01X62499Y10535027D01* +G01X65273Y10516161D01* +G01X71392Y10498100D01* +G01X-131789Y10294919D01* +G01X-140710Y10283294D01* +G01X-146317Y10269755D01* +G01X-148230Y10255227D01* +G01X-148230Y8462555D01* +G01X-148230Y8462555D01* +G01X-242508Y8368278D01* +G01X-262943Y8372485D01* +G01X-283800Y8373039D01* +G01X-304430Y8369922D01* +G01X-324192Y8363231D01* +G01X-342472Y8353174D01* +G01X-358702Y8340064D01* +G01X-372379Y8324307D01* +G01X-383076Y8306394D01* +G01X-390462Y8286881D01* +G01X-394307Y8266375D01* +G01X-394491Y8245511D01* +G01X-2190641Y8245511D01* +G01X-2190641Y8265821D01* +G01X-2194655Y8287292D01* +G01X-2202545Y8307659D01* +G01X-2214044Y8326230D01* +G01X-2228759Y8342372D01* +G01X-2246189Y8355535D01* +G01X-2265742Y8365271D01* +G01X-2286751Y8371249D01* +G01X-2308500Y8373264D01* +G01X-2330249Y8371249D01* +G01X-2351258Y8365271D01* +G01X-2370811Y8355535D01* +G01X-2388241Y8342372D01* +G01X-2402957Y8326230D01* +G01X-2414455Y8307659D01* +G01X-2422346Y8287292D01* +G01X-2426359Y8265821D01* +G01X-2536486Y8265821D01* +G01X-2536486Y8519821D01* +G01X-2426359Y8519821D01* +G01X-2426359Y8497979D01* +G01X-2422346Y8476508D01* +G01X-2414455Y8456141D01* +G01X-2402957Y8437570D01* +G01X-2388241Y8421428D01* +G01X-2370811Y8408265D01* +G01X-2351258Y8398529D01* +G01X-2330249Y8392551D01* +G01X-2308500Y8390536D01* +G01X-2308500Y8390536D01* +G01X-2286751Y8392551D01* +G01X-2265742Y8398529D01* +G01X-2246189Y8408265D01* +G01X-2228759Y8421428D01* +G01X-2214044Y8437570D01* +G01X-2202545Y8456141D01* +G01X-2194655Y8476508D01* +G01X-2190641Y8497979D01* +G01X-2190641Y8519821D01* +G01X-2190641Y8519821D01* +G01X-394359Y8519821D01* +G01X-394359Y8497979D01* +G01X-390346Y8476508D01* +G01X-382455Y8456141D01* +G01X-370957Y8437570D01* +G01X-356241Y8421428D01* +G01X-338811Y8408265D01* +G01X-319258Y8398529D01* +G01X-298249Y8392551D01* +G01X-276500Y8390536D01* +G01X-276500Y8390536D01* +G01X-254751Y8392551D01* +G01X-233742Y8398529D01* +G01X-214189Y8408265D01* +G01X-196759Y8421428D01* +G01X-182044Y8437570D01* +G01X-170545Y8456141D01* +G01X-162655Y8476508D01* +G01X-158641Y8497979D01* +G01X-158641Y8519821D01* +G01X-162655Y8541292D01* +G01X-170545Y8561659D01* +G01X-182044Y8580230D01* +G01X-196759Y8596372D01* +G01X-214189Y8609535D01* +G01X-233742Y8619271D01* +G01X-254751Y8625249D01* +G01X-276500Y8627264D01* +G01X-298249Y8625249D01* +G01X-319258Y8619271D01* +G01X-338811Y8609535D01* +G01X-356241Y8596372D01* +G01X-370957Y8580230D01* +G01X-382455Y8561659D01* +G01X-390346Y8541292D01* +G01X-394359Y8519821D01* +G01X-2190641Y8519821D01* +G01X-2194655Y8541292D01* +G01X-2202545Y8561659D01* +G01X-2214044Y8580230D01* +G01X-2228759Y8596372D01* +G01X-2246189Y8609535D01* +G01X-2265742Y8619271D01* +G01X-2286751Y8625249D01* +G01X-2308500Y8627264D01* +G01X-2330249Y8625249D01* +G01X-2351258Y8619271D01* +G01X-2370811Y8609535D01* +G01X-2388241Y8596372D01* +G01X-2402957Y8580230D01* +G01X-2414455Y8561659D01* +G01X-2422346Y8541292D01* +G01X-2426359Y8519821D01* +G01X-2536486Y8519821D01* +G01X-2536486Y8773821D01* +G01X-2426359Y8773821D01* +G01X-2426359Y8751979D01* +G01X-2422346Y8730508D01* +G01X-2414455Y8710141D01* +G01X-2402957Y8691570D01* +G01X-2388241Y8675428D01* +G01X-2370811Y8662265D01* +G01X-2351258Y8652529D01* +G01X-2330249Y8646551D01* +G01X-2308500Y8644536D01* +G01X-2308500Y8644536D01* +G01X-2286751Y8646551D01* +G01X-2265742Y8652529D01* +G01X-2246189Y8662265D01* +G01X-2228759Y8675428D01* +G01X-2214044Y8691570D01* +G01X-2202545Y8710141D01* +G01X-2194655Y8730508D01* +G01X-2190641Y8751979D01* +G01X-2190641Y8773821D01* +G01X-2194655Y8795292D01* +G01X-2202545Y8815659D01* +G01X-2214044Y8834230D01* +G01X-2228759Y8850372D01* +G01X-2246189Y8863535D01* +G01X-2265742Y8873271D01* +G01X-2286751Y8879249D01* +G01X-2308500Y8881264D01* +G01X-2330249Y8879249D01* +G01X-2351258Y8873271D01* +G01X-2370811Y8863535D01* +G01X-2388241Y8850372D01* +G01X-2402957Y8834230D01* +G01X-2414455Y8815659D01* +G01X-2422346Y8795292D01* +G01X-2426359Y8773821D01* +G01X-2536486Y8773821D01* +G01X-2536486Y9027821D01* +G01X-2426359Y9027821D01* +G01X-2426359Y9005979D01* +G01X-2422346Y8984508D01* +G01X-2414455Y8964141D01* +G01X-2402957Y8945570D01* +G01X-2388241Y8929428D01* +G01X-2370811Y8916265D01* +G01X-2351258Y8906529D01* +G01X-2330249Y8900551D01* +G01X-2308500Y8898536D01* +G01X-2308500Y8898536D01* +G01X-2286751Y8900551D01* +G01X-2265742Y8906529D01* +G01X-2246189Y8916265D01* +G01X-2228759Y8929428D01* +G01X-2214044Y8945570D01* +G01X-2205421Y8959496D01* +G01X-529230Y8959496D01* +G01X-529230Y8959496D01* +G01X-527317Y8944967D01* +G01X-521710Y8931429D01* +G01X-512789Y8919803D01* +G01X-389878Y8796892D01* +G01X-394085Y8776457D01* +G01X-394639Y8755600D01* +G01X-391522Y8734970D01* +G01X-384831Y8715208D01* +G01X-374774Y8696928D01* +G01X-361664Y8680698D01* +G01X-345907Y8667021D01* +G01X-327994Y8656324D01* +G01X-308481Y8648938D01* +G01X-287975Y8645093D01* +G01X-267112Y8644909D01* +G01X-246540Y8648390D01* +G01X-226899Y8655430D01* +G01X-208800Y8665809D01* +G01X-192804Y8679204D01* +G01X-179409Y8695200D01* +G01X-169030Y8713299D01* +G01X-161991Y8732940D01* +G01X-158509Y8753511D01* +G01X-158694Y8774375D01* +G01X-162539Y8794881D01* +G01X-169924Y8814394D01* +G01X-180622Y8832307D01* +G01X-194298Y8848064D01* +G01X-210528Y8861174D01* +G01X-228809Y8871231D01* +G01X-248571Y8877922D01* +G01X-269200Y8881039D01* +G01X-290057Y8880485D01* +G01X-310493Y8876278D01* +G01X-416962Y8982747D01* +G01X-416962Y9027821D01* +G01X-394359Y9027821D01* +G01X-394359Y9005979D01* +G01X-390346Y8984508D01* +G01X-382455Y8964141D01* +G01X-370957Y8945570D01* +G01X-356241Y8929428D01* +G01X-338811Y8916265D01* +G01X-319258Y8906529D01* +G01X-298249Y8900551D01* +G01X-276500Y8898536D01* +G01X-276500Y8898536D01* +G01X-254751Y8900551D01* +G01X-233742Y8906529D01* +G01X-214189Y8916265D01* +G01X-196759Y8929428D01* +G01X-182044Y8945570D01* +G01X-170545Y8964141D01* +G01X-162655Y8984508D01* +G01X-158641Y9005979D01* +G01X-158641Y9027821D01* +G01X-162655Y9049292D01* +G01X-170545Y9069659D01* +G01X-182044Y9088230D01* +G01X-196759Y9104372D01* +G01X-214189Y9117535D01* +G01X-233742Y9127271D01* +G01X-254751Y9133249D01* +G01X-276500Y9135264D01* +G01X-298249Y9133249D01* +G01X-319258Y9127271D01* +G01X-338811Y9117535D01* +G01X-356241Y9104372D01* +G01X-370957Y9088230D01* +G01X-382455Y9069659D01* +G01X-390346Y9049292D01* +G01X-394359Y9027821D01* +G01X-416962Y9027821D01* +G01X-416962Y9281821D01* +G01X-394359Y9281821D01* +G01X-394359Y9259979D01* +G01X-390346Y9238508D01* +G01X-382455Y9218141D01* +G01X-370957Y9199570D01* +G01X-356241Y9183428D01* +G01X-338811Y9170265D01* +G01X-319258Y9160529D01* +G01X-298249Y9154551D01* +G01X-276500Y9152536D01* +G01X-276500Y9152536D01* +G01X-254751Y9154551D01* +G01X-233742Y9160529D01* +G01X-214189Y9170265D01* +G01X-196759Y9183428D01* +G01X-182044Y9199570D01* +G01X-170545Y9218141D01* +G01X-162655Y9238508D01* +G01X-158641Y9259979D01* +G01X-158641Y9281821D01* +G01X-162655Y9303292D01* +G01X-170545Y9323659D01* +G01X-182044Y9342230D01* +G01X-196759Y9358372D01* +G01X-214189Y9371535D01* +G01X-233742Y9381271D01* +G01X-254751Y9387249D01* +G01X-276500Y9389264D01* +G01X-298249Y9387249D01* +G01X-319258Y9381271D01* +G01X-338811Y9371535D01* +G01X-356241Y9358372D01* +G01X-370957Y9342230D01* +G01X-382455Y9323659D01* +G01X-390346Y9303292D01* +G01X-394359Y9281821D01* +G01X-416962Y9281821D01* +G01X-416962Y9535821D01* +G01X-394359Y9535821D01* +G01X-394359Y9513979D01* +G01X-390346Y9492508D01* +G01X-382455Y9472141D01* +G01X-370957Y9453570D01* +G01X-356241Y9437428D01* +G01X-338811Y9424265D01* +G01X-319258Y9414529D01* +G01X-298249Y9408551D01* +G01X-276500Y9406536D01* +G01X-276500Y9406536D01* +G01X-254751Y9408551D01* +G01X-233742Y9414529D01* +G01X-214189Y9424265D01* +G01X-196759Y9437428D01* +G01X-182044Y9453570D01* +G01X-170545Y9472141D01* +G01X-162655Y9492508D01* +G01X-158641Y9513979D01* +G01X-158641Y9535821D01* +G01X-162655Y9557292D01* +G01X-170545Y9577659D01* +G01X-182044Y9596230D01* +G01X-196759Y9612372D01* +G01X-214189Y9625535D01* +G01X-233742Y9635271D01* +G01X-254751Y9641249D01* +G01X-276500Y9643264D01* +G01X-298249Y9641249D01* +G01X-319258Y9635271D01* +G01X-338811Y9625535D01* +G01X-356241Y9612372D01* +G01X-370957Y9596230D01* +G01X-382455Y9577659D01* +G01X-390346Y9557292D01* +G01X-394359Y9535821D01* +G01X-416962Y9535821D01* +G01X-416962Y10231975D01* +G01X83083Y10732020D01* +G01X96229Y10717352D01* +G01X111868Y10705378D01* +G01X129459Y10696516D01* +G01X148389Y10691072D01* +G01X168000Y10689236D01* +G01X218800Y10689236D01* +G01X238216Y10691035D01* +G01X256970Y10696371D01* +G01X274425Y10705063D01* +G01X289985Y10716813D01* +G01X303122Y10731223D01* +G01X313386Y10747801D01* +G01X320430Y10765984D01* +G01X324013Y10785150D01* +G01X324013Y10804649D01* +G01X2602787Y10804649D01* +G01X2602787Y10785150D01* +G01X2606370Y10765984D01* +G01X2613413Y10747801D01* +G01X2623678Y10731223D01* +G01X2636815Y10716813D01* +G01X2652375Y10705063D01* +G01X2669830Y10696371D01* +G01X2688584Y10691035D01* +G01X2708000Y10689236D01* +G01X2758800Y10689236D01* +G01X2778216Y10691035D01* +G01X2796970Y10696371D01* +G01X2814425Y10705063D01* +G01X2829985Y10716813D01* +G01X2843122Y10731223D01* +G01X2853386Y10747801D01* +G01X2860430Y10765984D01* +G01X2864013Y10785150D01* +G01X2864013Y10804649D01* +G01X2860430Y10823816D01* +G01X2853386Y10841998D01* +G01X2843122Y10858577D01* +G01X2829985Y10872987D01* +G01X2814425Y10884737D01* +G01X2796970Y10893429D01* +G01X2778216Y10898765D01* +G01X2758800Y10900564D01* +G01X2758800Y10900564D01* +G01X2708000Y10900564D01* +G01X2688584Y10898765D01* +G01X2669830Y10893429D01* +G01X2652375Y10884737D01* +G01X2636815Y10872987D01* +G01X2623678Y10858577D01* +G01X2613413Y10841998D01* +G01X2606370Y10823816D01* +G01X2602787Y10804649D01* +G01X324013Y10804649D01* +G01X320430Y10823816D01* +G01X313386Y10841998D01* +G01X303122Y10858577D01* +G01X289985Y10872987D01* +G01X274425Y10884737D01* +G01X256970Y10893429D01* +G01X238216Y10898765D01* +G01X218800Y10900564D01* +G01X168000Y10900564D01* +G01X150250Y10899062D01* +G01X133005Y10894601D01* +G01X116754Y10887305D01* +G01X101960Y10877384D01* +G01X89042Y10865118D01* +G01X78369Y10850857D01* +G01X66400Y10850857D01* +G01X51871Y10848944D01* +G01X38333Y10843336D01* +G01X26707Y10834415D01* +G01X-512789Y10294919D01* +G01X-521710Y10283294D01* +G01X-527317Y10269755D01* +G01X-529230Y10255227D01* +G01X-529230Y8959496D01* +G01X-2205421Y8959496D01* +G01X-2202545Y8964141D01* +G01X-2194655Y8984508D01* +G01X-2190641Y9005979D01* +G01X-2190641Y9027821D01* +G01X-2194655Y9049292D01* +G01X-2202545Y9069659D01* +G01X-2214044Y9088230D01* +G01X-2228759Y9104372D01* +G01X-2246189Y9117535D01* +G01X-2265742Y9127271D01* +G01X-2286751Y9133249D01* +G01X-2308500Y9135264D01* +G01X-2330249Y9133249D01* +G01X-2351258Y9127271D01* +G01X-2370811Y9117535D01* +G01X-2388241Y9104372D01* +G01X-2402957Y9088230D01* +G01X-2414455Y9069659D01* +G01X-2422346Y9049292D01* +G01X-2426359Y9027821D01* +G01X-2536486Y9027821D01* +G01X-2536486Y10699650D01* +G01X-2426864Y10699650D01* +G01X-2425111Y10688583D01* +G01X-2420024Y10678599D01* +G01X-2412101Y10670676D01* +G01X-2402117Y10665589D01* +G01X-2391050Y10663836D01* +G01X-2225950Y10663836D01* +G01X-2225950Y10663836D01* +G01X-2214883Y10665589D01* +G01X-2204899Y10670676D01* +G01X-2196976Y10678599D01* +G01X-2191889Y10688583D01* +G01X-2190136Y10699650D01* +G01X-2190136Y10782200D01* +G01X-2172864Y10782200D01* +G01X-2170849Y10760451D01* +G01X-2164871Y10739442D01* +G01X-2155135Y10719889D01* +G01X-2141972Y10702459D01* +G01X-2125830Y10687743D01* +G01X-2107259Y10676245D01* +G01X-2086892Y10668354D01* +G01X-2065421Y10664341D01* +G01X-2043579Y10664341D01* +G01X-2022108Y10668354D01* +G01X-2001741Y10676245D01* +G01X-1983170Y10687743D01* +G01X-1967028Y10702459D01* +G01X-1953865Y10719889D01* +G01X-1944129Y10739442D01* +G01X-1938151Y10760451D01* +G01X-1936136Y10782200D01* +G01X-1918864Y10782200D01* +G01X-1916849Y10760451D01* +G01X-1910871Y10739442D01* +G01X-1901135Y10719889D01* +G01X-1887972Y10702459D01* +G01X-1871830Y10687743D01* +G01X-1853259Y10676245D01* +G01X-1832892Y10668354D01* +G01X-1811421Y10664341D01* +G01X-1789579Y10664341D01* +G01X-1768108Y10668354D01* +G01X-1747741Y10676245D01* +G01X-1729170Y10687743D01* +G01X-1713028Y10702459D01* +G01X-1699865Y10719889D01* +G01X-1690129Y10739442D01* +G01X-1684151Y10760451D01* +G01X-1682136Y10782200D01* +G01X-1664864Y10782200D01* +G01X-1662849Y10760451D01* +G01X-1656871Y10739442D01* +G01X-1647135Y10719889D01* +G01X-1633972Y10702459D01* +G01X-1617830Y10687743D01* +G01X-1599259Y10676245D01* +G01X-1578892Y10668354D01* +G01X-1557421Y10664341D01* +G01X-1535579Y10664341D01* +G01X-1514108Y10668354D01* +G01X-1493741Y10676245D01* +G01X-1475170Y10687743D01* +G01X-1459028Y10702459D01* +G01X-1445865Y10719889D01* +G01X-1436129Y10739442D01* +G01X-1430151Y10760451D01* +G01X-1428136Y10782200D01* +G01X-1430151Y10803949D01* +G01X-1436129Y10824958D01* +G01X-1445865Y10844511D01* +G01X-1459028Y10861941D01* +G01X-1475170Y10876656D01* +G01X-1493741Y10888155D01* +G01X-1514108Y10896045D01* +G01X-1535579Y10900059D01* +G01X-1557421Y10900059D01* +G01X-1578892Y10896045D01* +G01X-1599259Y10888155D01* +G01X-1617830Y10876656D01* +G01X-1633972Y10861941D01* +G01X-1647135Y10844511D01* +G01X-1656871Y10824958D01* +G01X-1662849Y10803949D01* +G01X-1664864Y10782200D01* +G01X-1664864Y10782200D01* +G01X-1682136Y10782200D01* +G01X-1684151Y10803949D01* +G01X-1690129Y10824958D01* +G01X-1699865Y10844511D01* +G01X-1713028Y10861941D01* +G01X-1729170Y10876656D01* +G01X-1747741Y10888155D01* +G01X-1768108Y10896045D01* +G01X-1789579Y10900059D01* +G01X-1811421Y10900059D01* +G01X-1832892Y10896045D01* +G01X-1853259Y10888155D01* +G01X-1871830Y10876656D01* +G01X-1887972Y10861941D01* +G01X-1901135Y10844511D01* +G01X-1910871Y10824958D01* +G01X-1916849Y10803949D01* +G01X-1918864Y10782200D01* +G01X-1918864Y10782200D01* +G01X-1936136Y10782200D01* +G01X-1938151Y10803949D01* +G01X-1944129Y10824958D01* +G01X-1953865Y10844511D01* +G01X-1967028Y10861941D01* +G01X-1983170Y10876656D01* +G01X-2001741Y10888155D01* +G01X-2022108Y10896045D01* +G01X-2043579Y10900059D01* +G01X-2065421Y10900059D01* +G01X-2086892Y10896045D01* +G01X-2107259Y10888155D01* +G01X-2125830Y10876656D01* +G01X-2141972Y10861941D01* +G01X-2155135Y10844511D01* +G01X-2164871Y10824958D01* +G01X-2170849Y10803949D01* +G01X-2172864Y10782200D01* +G01X-2172864Y10782200D01* +G01X-2190136Y10782200D01* +G01X-2190136Y10864750D01* +G01X-2191889Y10875817D01* +G01X-2196976Y10885801D01* +G01X-2204899Y10893724D01* +G01X-2214883Y10898811D01* +G01X-2225950Y10900564D01* +G01X-2391050Y10900564D01* +G01X-2402117Y10898811D01* +G01X-2412101Y10893724D01* +G01X-2420024Y10885801D01* +G01X-2425111Y10875817D01* +G01X-2426864Y10864750D01* +G01X-2426864Y10699650D01* +G01X-2536486Y10699650D01* +G01X-2536486Y10796000D01* +G01X-2534751Y10815828D01* +G01X-2529600Y10835054D01* +G01X-2521188Y10853093D01* +G01X-2509772Y10869397D01* +G01X-2495697Y10883471D01* +G01X-2479393Y10894888D01* +G01X-2461354Y10903300D01* +G01X-2442128Y10908451D01* +G01X-2422300Y10910186D01* +G01X0Y10910186D01* +G01X11067Y10911939D01* +G01X21051Y10917026D01* +G01X28974Y10924949D01* +G01X34061Y10934933D01* +G01X35814Y10946000D01* +G01X35814Y11058649D01* +G01X62787Y11058649D01* +G01X62787Y11039150D01* +G01X66370Y11019984D01* +G01X73413Y11001801D01* +G01X83678Y10985223D01* +G01X96815Y10970813D01* +G01X112375Y10959063D01* +G01X129830Y10950371D01* +G01X148584Y10945035D01* +G01X168000Y10943236D01* +G01X218800Y10943236D01* +G01X238216Y10945035D01* +G01X256970Y10950371D01* +G01X274425Y10959063D01* +G01X289985Y10970813D01* +G01X303122Y10985223D01* +G01X313386Y11001801D01* +G01X320430Y11019984D01* +G01X324013Y11039150D01* +G01X324013Y11058649D01* +G01X2602787Y11058649D01* +G01X2602787Y11039150D01* +G01X2606370Y11019984D01* +G01X2613413Y11001801D01* +G01X2623678Y10985223D01* +G01X2636815Y10970813D01* +G01X2652375Y10959063D01* +G01X2669830Y10950371D01* +G01X2688584Y10945035D01* +G01X2708000Y10943236D01* +G01X2758800Y10943236D01* +G01X2778216Y10945035D01* +G01X2796970Y10950371D01* +G01X2814425Y10959063D01* +G01X2829985Y10970813D01* +G01X2843122Y10985223D01* +G01X2853386Y11001801D01* +G01X2860430Y11019984D01* +G01X2864013Y11039150D01* +G01X2864013Y11058649D01* +G01X2860430Y11077816D01* +G01X2853386Y11095998D01* +G01X2843122Y11112577D01* +G01X2829985Y11126987D01* +G01X2814425Y11138737D01* +G01X2796970Y11147429D01* +G01X2778216Y11152765D01* +G01X2758800Y11154564D01* +G01X2758800Y11154564D01* +G01X2708000Y11154564D01* +G01X2688584Y11152765D01* +G01X2669830Y11147429D01* +G01X2652375Y11138737D01* +G01X2636815Y11126987D01* +G01X2623678Y11112577D01* +G01X2613413Y11095998D01* +G01X2606370Y11077816D01* +G01X2602787Y11058649D01* +G01X324013Y11058649D01* +G01X320430Y11077816D01* +G01X313386Y11095998D01* +G01X303122Y11112577D01* +G01X289985Y11126987D01* +G01X274425Y11138737D01* +G01X256970Y11147429D01* +G01X238216Y11152765D01* +G01X218800Y11154564D01* +G01X218800Y11154564D01* +G01X168000Y11154564D01* +G01X148584Y11152765D01* +G01X129830Y11147429D01* +G01X112375Y11138737D01* +G01X96815Y11126987D01* +G01X83678Y11112577D01* +G01X73413Y11095998D01* +G01X66370Y11077816D01* +G01X62787Y11058649D01* +G01X35814Y11058649D01* +G01X35814Y11312649D01* +G01X62787Y11312649D01* +G01X62787Y11293150D01* +G01X66370Y11273984D01* +G01X73413Y11255801D01* +G01X83678Y11239223D01* +G01X96815Y11224813D01* +G01X112375Y11213063D01* +G01X129830Y11204371D01* +G01X148584Y11199035D01* +G01X168000Y11197236D01* +G01X218800Y11197236D01* +G01X238216Y11199035D01* +G01X256970Y11204371D01* +G01X274425Y11213063D01* +G01X289985Y11224813D01* +G01X303122Y11239223D01* +G01X313386Y11255801D01* +G01X320430Y11273984D01* +G01X324013Y11293150D01* +G01X324013Y11312649D01* +G01X320430Y11331816D01* +G01X313386Y11349998D01* +G01X303122Y11366577D01* +G01X289985Y11380987D01* +G01X274425Y11392737D01* +G01X256970Y11401429D01* +G01X238216Y11406765D01* +G01X218800Y11408564D01* +G01X218800Y11408564D01* +G01X168000Y11408564D01* +G01X148584Y11406765D01* +G01X129830Y11401429D01* +G01X112375Y11392737D01* +G01X96815Y11380987D01* +G01X83678Y11366577D01* +G01X73413Y11349998D01* +G01X66370Y11331816D01* +G01X62787Y11312649D01* +G01X35814Y11312649D01* +G01X35814Y11566649D01* +G01X62787Y11566649D01* +G01X62787Y11547150D01* +G01X66370Y11527984D01* +G01X73413Y11509801D01* +G01X83678Y11493223D01* +G01X96815Y11478813D01* +G01X112375Y11467063D01* +G01X129830Y11458371D01* +G01X148584Y11453035D01* +G01X168000Y11451236D01* +G01X218800Y11451236D01* +G01X238216Y11453035D01* +G01X256970Y11458371D01* +G01X274425Y11467063D01* +G01X289985Y11478813D01* +G01X303122Y11493223D01* +G01X313386Y11509801D01* +G01X320430Y11527984D01* +G01X324013Y11547150D01* +G01X324013Y11566649D01* +G01X320430Y11585816D01* +G01X313386Y11603998D01* +G01X303122Y11620577D01* +G01X289985Y11634987D01* +G01X274425Y11646737D01* +G01X256970Y11655429D01* +G01X238216Y11660765D01* +G01X218800Y11662564D01* +G01X218800Y11662564D01* +G01X168000Y11662564D01* +G01X148584Y11660765D01* +G01X129830Y11655429D01* +G01X112375Y11646737D01* +G01X96815Y11634987D01* +G01X83678Y11620577D01* +G01X73413Y11603998D01* +G01X66370Y11585816D01* +G01X62787Y11566649D01* +G01X35814Y11566649D01* +G01X35814Y11820649D01* +G01X62787Y11820649D01* +G01X62787Y11801150D01* +G01X66370Y11781984D01* +G01X73413Y11763801D01* +G01X83678Y11747223D01* +G01X96815Y11732813D01* +G01X112375Y11721063D01* +G01X129830Y11712371D01* +G01X148584Y11707035D01* +G01X168000Y11705236D01* +G01X218800Y11705236D01* +G01X238216Y11707035D01* +G01X256970Y11712371D01* +G01X274425Y11721063D01* +G01X289985Y11732813D01* +G01X303122Y11747223D01* +G01X313386Y11763801D01* +G01X320430Y11781984D01* +G01X324013Y11801150D01* +G01X324013Y11820649D01* +G01X320430Y11839816D01* +G01X313386Y11857998D01* +G01X303122Y11874577D01* +G01X289985Y11888987D01* +G01X274425Y11900737D01* +G01X256970Y11909429D01* +G01X238216Y11914765D01* +G01X218800Y11916564D01* +G01X218800Y11916564D01* +G01X168000Y11916564D01* +G01X148584Y11914765D01* +G01X129830Y11909429D01* +G01X112375Y11900737D01* +G01X96815Y11888987D01* +G01X83678Y11874577D01* +G01X73413Y11857998D01* +G01X66370Y11839816D01* +G01X62787Y11820649D01* +G01X35814Y11820649D01* +G01X35814Y12074649D01* +G01X62787Y12074649D01* +G01X62787Y12055150D01* +G01X66370Y12035984D01* +G01X73413Y12017801D01* +G01X83678Y12001223D01* +G01X96815Y11986813D01* +G01X112375Y11975063D01* +G01X129830Y11966371D01* +G01X148584Y11961035D01* +G01X168000Y11959236D01* +G01X218800Y11959236D01* +G01X238216Y11961035D01* +G01X256970Y11966371D01* +G01X274425Y11975063D01* +G01X289985Y11986813D01* +G01X303122Y12001223D01* +G01X313386Y12017801D01* +G01X320430Y12035984D01* +G01X324013Y12055150D01* +G01X324013Y12074649D01* +G01X320430Y12093816D01* +G01X313386Y12111998D01* +G01X303122Y12128577D01* +G01X289985Y12142987D01* +G01X274425Y12154737D01* +G01X256970Y12163429D01* +G01X238216Y12168765D01* +G01X218800Y12170564D01* +G01X218800Y12170564D01* +G01X168000Y12170564D01* +G01X148584Y12168765D01* +G01X129830Y12163429D01* +G01X112375Y12154737D01* +G01X96815Y12142987D01* +G01X83678Y12128577D01* +G01X73413Y12111998D01* +G01X66370Y12093816D01* +G01X62787Y12074649D01* +G01X35814Y12074649D01* +G01X35814Y12328649D01* +G01X62787Y12328649D01* +G01X62787Y12309150D01* +G01X66370Y12289984D01* +G01X73413Y12271801D01* +G01X83678Y12255223D01* +G01X96815Y12240813D01* +G01X112375Y12229063D01* +G01X129830Y12220371D01* +G01X148584Y12215035D01* +G01X168000Y12213236D01* +G01X218800Y12213236D01* +G01X238216Y12215035D01* +G01X256970Y12220371D01* +G01X274425Y12229063D01* +G01X289985Y12240813D01* +G01X303122Y12255223D01* +G01X313386Y12271801D01* +G01X320430Y12289984D01* +G01X324013Y12309150D01* +G01X324013Y12328649D01* +G01X320430Y12347816D01* +G01X313386Y12365998D01* +G01X303122Y12382577D01* +G01X289985Y12396987D01* +G01X274425Y12408737D01* +G01X256970Y12417429D01* +G01X238216Y12422765D01* +G01X218800Y12424564D01* +G01X218800Y12424564D01* +G01X168000Y12424564D01* +G01X148584Y12422765D01* +G01X129830Y12417429D01* +G01X112375Y12408737D01* +G01X96815Y12396987D01* +G01X83678Y12382577D01* +G01X73413Y12365998D01* +G01X66370Y12347816D01* +G01X62787Y12328649D01* +G01X35814Y12328649D01* +G01X35814Y12642750D01* +G01X62336Y12642750D01* +G01X62336Y12503050D01* +G01X64089Y12491983D01* +G01X69176Y12481999D01* +G01X77099Y12474076D01* +G01X87083Y12468989D01* +G01X98150Y12467236D01* +G01X288650Y12467236D01* +G01X288650Y12467236D01* +G01X299717Y12468989D01* +G01X309701Y12474076D01* +G01X317624Y12481999D01* +G01X322711Y12491983D01* +G01X324464Y12503050D01* +G01X324464Y12642750D01* +G01X322711Y12653817D01* +G01X317624Y12663801D01* +G01X309701Y12671724D01* +G01X299717Y12676811D01* +G01X288650Y12678564D01* +G01X98150Y12678564D01* +G01X87083Y12676811D01* +G01X77099Y12671724D01* +G01X69176Y12663801D01* +G01X64089Y12653817D01* +G01X62336Y12642750D01* +G01X35814Y12642750D01* +G01X35814Y13350000D01* +G01X37549Y13369828D01* +G01X42700Y13389054D01* +G01X51112Y13407093D01* +G01X62528Y13423397D01* +G01X76603Y13437471D01* +G01X92907Y13448888D01* +G01X110946Y13457300D01* +G01X130172Y13462451D01* +G01X150000Y13464186D01* +G01X2750004Y13464183D01* +G01X2769832Y13462448D01* +G01X2789058Y13457296D01* +G01X2807097Y13448884D01* +G01X2823401Y13437468D01* +G01X2837475Y13423394D01* +G01X2848892Y13407090D01* +G01X2857304Y13389050D01* +G01X2862455Y13369825D01* +G01X2864190Y13349997D01* +G01X2864188Y12580525D01* +G01X2860925Y12600018D01* +G01X2854088Y12618562D01* +G01X2843918Y12635508D01* +G01X2830769Y12650265D01* +G01X2815103Y12662314D01* +G01X2797467Y12671235D01* +G01X2778477Y12676716D01* +G01X2758800Y12678564D01* +G01X2708000Y12678564D01* +G01X2688584Y12676765D01* +G01X2669830Y12671429D01* +G01X2652375Y12662737D01* +G01X2636815Y12650987D01* +G01X2623678Y12636577D01* +G01X2613413Y12619998D01* +G01X2606370Y12601816D01* +G01X2602787Y12582649D01* +G01X2602787Y12563150D01* +G01X2606370Y12543984D01* +G01X2613413Y12525801D01* +G01X2623678Y12509223D01* +G01X2636815Y12494813D01* +G01X2652375Y12483063D01* +G01X2669830Y12474371D01* +G01X2688584Y12469035D01* +G01X2708000Y12467236D01* +G01X2758800Y12467236D01* +G01X2778477Y12469084D01* +G01X2797467Y12474565D01* +G01X2815103Y12483486D01* +G01X2830769Y12495535D01* +G01X2843918Y12510291D01* +G01X2854088Y12527238D01* +G01X2860925Y12545782D01* +G01X2864188Y12565274D01* +G01X2864188Y12326532D01* +G01X2864188Y12326532D01* +G01X2860923Y12346023D01* +G01X2854086Y12364566D01* +G01X2843915Y12381512D01* +G01X2830767Y12396267D01* +G01X2815101Y12408315D01* +G01X2797465Y12417236D01* +G01X2778477Y12422716D01* +G01X2758800Y12424564D01* +G01X2708000Y12424564D01* +G01X2688584Y12422765D01* +G01X2669830Y12417429D01* +G01X2652375Y12408737D01* +G01X2636815Y12396987D01* +G01X2623678Y12382577D01* +G01X2613413Y12365998D01* +G01X2606370Y12347816D01* +G01X2602787Y12328649D01* +G01X2602787Y12309150D01* +G01X2606370Y12289984D01* +G01X2613413Y12271801D01* +G01X2623678Y12255223D01* +G01X2636815Y12240813D01* +G01X2652375Y12229063D01* +G01X2669830Y12220371D01* +G01X2688584Y12215035D01* +G01X2708000Y12213236D01* +G01X2758800Y12213236D01* +G01X2778477Y12215084D01* +G01X2797465Y12220564D01* +G01X2815101Y12229485D01* +G01X2830767Y12241533D01* +G01X2843915Y12256288D01* +G01X2854086Y12273233D01* +G01X2860923Y12291776D01* +G01X2864188Y12311268D01* +G37* +G54D10* +G01X2864188Y12311268D02* +G01X2864187Y12072538D01* +G03X2758800Y12170564I-105388J-7638D01* +G01X2708000Y12170564D01* +G03X2708000Y11959236I0J-105664D01* +G01X2758800Y11959236D01* +G03X2864187Y12057261I0J105664D01* +G01X2864187Y11818545D01* +G03X2758800Y11916564I-105387J-7645D01* +G01X2708000Y11916564D01* +G03X2708000Y11705236I0J-105664D01* +G01X2758800Y11705236D01* +G03X2864187Y11803255I0J105664D01* +G01X2864187Y11564551D01* +G03X2758800Y11662564I-105387J-7651D01* +G01X2708000Y11662564D01* +G03X2708000Y11451236I0J-105664D01* +G01X2758800Y11451236D01* +G03X2864187Y11549248I0J105664D01* +G01X2864186Y11310558D01* +G03X2758800Y11408564I-105386J-7658D01* +G01X2708000Y11408564D01* +G03X2708000Y11197236I0J-105664D01* +G01X2758800Y11197236D01* +G03X2864304Y11297093I0J105664D01* +G03X2900000Y11264186I35696J2907D01* +G01X4750000Y11264186D01* +G02X4864186Y11150000I0J-114186D01* +G01X4891892Y5650013D01* +G02X4777706Y5535830I-114186J2D01* +G01X2454000Y5535830D01* +G03X2418186Y5500016I0J-35814D01* +G01X2418186Y150000D01* +G02X2304000Y35814I-114186J0D01* +G01X150000Y35814D01* +G02X35814Y150000I0J114186D01* +G01X35814Y6646000D01* +G03X0Y6681814I-35814J0D01* +G01X-2422300Y6681814D01* +G02X-2536486Y6796000I0J114186D01* +G01X-2536486Y10796000D01* +G02X-2422300Y10910186I114186J0D01* +G01X0Y10910186D01* +G03X35814Y10946000I0J35814D01* +G01X35814Y13350000D01* +G02X150000Y13464186I114186J0D01* +G01X2750004Y13464183D01* +G02X2864190Y13349997I0J-114186D01* +G01X2864188Y12580525D01* +G03X2758800Y12678564I-105389J-7625D01* +G01X2708000Y12678564D01* +G03X2708000Y12467236I0J-105664D01* +G01X2758800Y12467236D01* +G03X2864188Y12565274I0J105664D01* +G01X2864188Y12326532D01* +G03X2758800Y12424564I-105388J-7632D01* +G01X2708000Y12424564D01* +G03X2708000Y12213236I0J-105664D01* +G01X2758800Y12213236D01* +G03X2864188Y12311268I0J105664D01* +G01X-2308500Y8898536D02* +G03X-2308500Y9135264I0J118364D01* +G03X-2308500Y8898536I0J-118364D01* +G01X-2308500Y8136536D02* +G03X-2308500Y8373264I0J118364D01* +G03X-2308500Y8136536I0J-118364D01* +G01X-2308500Y8390536D02* +G03X-2308500Y8627264I0J118364D01* +G03X-2308500Y8390536I0J-118364D01* +G01X-2308500Y8644536D02* +G03X-2308500Y8881264I0J118364D01* +G03X-2308500Y8644536I0J-118364D01* +G01X-2308500Y7628536D02* +G03X-2308500Y7865264I0J118364D01* +G03X-2308500Y7628536I0J-118364D01* +G01X-2308500Y7882536D02* +G03X-2308500Y8119264I0J118364D01* +G03X-2308500Y7882536I0J-118364D01* +G01X-2225950Y10663836D02* +G03X-2190136Y10699650I0J35814D01* +G01X-2190136Y10864750D01* +G03X-2225950Y10900564I-35814J0D01* +G01X-2391050Y10900564D01* +G03X-2426864Y10864750I0J-35814D01* +G01X-2426864Y10699650D01* +G03X-2391050Y10663836I35814J0D01* +G01X-2225950Y10663836D01* +G01X-2172864Y10782200D02* +G03X-1936136Y10782200I118364J0D01* +G03X-2172864Y10782200I-118364J0D01* +G01X-1918864Y10782200D02* +G03X-1682136Y10782200I118364J0D01* +G03X-1918864Y10782200I-118364J0D01* +G01X-1664864Y10782200D02* +G03X-1428136Y10782200I118364J0D01* +G03X-1664864Y10782200I-118364J0D01* +G01X-529230Y8959496D02* +G03X-512789Y8919803I56134J0D01* +G01X-389878Y8796892D01* +G03X-192804Y8679204I113378J-33992D01* +G03X-310493Y8876278I-83696J83696D01* +G01X-416962Y8982747D01* +G01X-416962Y10231975D01* +G01X83083Y10732020D01* +G03X168000Y10689236I84917J62880D01* +G01X218800Y10689236D01* +G03X218800Y10900564I0J105664D01* +G01X168000Y10900564D01* +G03X78369Y10850857I0J-105664D01* +G01X66400Y10850857D01* +G03X26707Y10834415I0J-56134D01* +G01X-512789Y10294919D01* +G03X-529230Y10255227I39693J-39693D01* +G01X-529230Y8959496D01* +G01X-148230Y8462555D02* +G01X-242508Y8368278D01* +G03X-360196Y8171204I-33992J-113378D01* +G03X-163122Y8288892I83696J83696D01* +G01X-52403Y8399611D01* +G03X-35962Y8439304I-39693J39693D01* +G01X-35962Y10231975D01* +G01X88057Y10355994D01* +G03X168000Y10181236I79943J-69094D01* +G01X218800Y10181236D01* +G03X218800Y10392564I0J105664D01* +G01X168000Y10392564D01* +G03X98905Y10366843I0J-105664D01* +G01X167301Y10435238D01* +G01X168000Y10435236D01* +G01X218800Y10435236D01* +G03X218800Y10646564I0J105664D01* +G01X168000Y10646564D01* +G03X71392Y10498100I0J-105664D01* +G01X-131789Y10294919D01* +G03X-148230Y10255227I39693J-39693D01* +G01X-148230Y8462555D01* +G01X-276500Y8390536D02* +G03X-276500Y8627264I0J118364D01* +G03X-276500Y8390536I0J-118364D01* +G01X-276500Y7628536D02* +G03X-276500Y7865264I0J118364D01* +G03X-276500Y7628536I0J-118364D01* +G01X-276500Y7882536D02* +G03X-276500Y8119264I0J118364D01* +G03X-276500Y7882536I0J-118364D01* +G01X-276500Y9406536D02* +G03X-276500Y9643264I0J118364D01* +G03X-276500Y9406536I0J-118364D01* +G01X-276500Y9152536D02* +G03X-276500Y9389264I0J118364D01* +G03X-276500Y9152536I0J-118364D01* +G01X-276500Y8898536D02* +G03X-276500Y9135264I0J118364D01* +G03X-276500Y8898536I0J-118364D01* +G01X2894690Y7064497D02* +G01X2571607Y6741414D01* +G01X1759111Y6741414D01* +G03X1697866Y6716045I0J-86614D01* +G01X1584406Y6602585D01* +G01X632845Y7554145D01* +G03X571600Y7579514I-61245J-61245D01* +G01X279322Y7579514D01* +G03X218800Y7598564I-60522J-86614D01* +G01X168000Y7598564D01* +G03X107478Y7579514I0J-105664D01* +G01X-195828Y7579514D01* +G03X-394864Y7492900I-80672J-86614D01* +G03X-195828Y7406286I118364J0D01* +G01X107478Y7406286D01* +G03X168000Y7387236I60522J86614D01* +G01X218800Y7387236D01* +G03X279322Y7406286I0J105664D01* +G01X535723Y7406286D01* +G01X1497792Y6444218D01* +G01X1497792Y6390214D01* +G01X1489406Y6390214D01* +G03X1453592Y6354400I0J-35814D01* +G01X1453592Y6116800D01* +G03X1489406Y6080986I35814J0D01* +G01X1497792Y6080986D01* +G01X1497792Y4307281D01* +G03X1452997Y4226788I79908J-97179D01* +G01X1192573Y3966364D01* +G01X1114150Y3966364D01* +G03X1078336Y3930550I0J-35814D01* +G01X1078336Y3765450D01* +G03X1114150Y3729636I35814J0D01* +G01X1279250Y3729636D01* +G03X1315064Y3765450I0J35814D01* +G01X1315064Y3843873D01* +G01X1557166Y4085975D01* +G03X1688124Y4149807I20534J124127D01* +G03X1671020Y4294486I-110425J60295D01* +G01X1671020Y6080986D01* +G01X1679405Y6080986D01* +G03X1715219Y6116800I0J35814D01* +G01X1715219Y6354400D01* +G03X1679405Y6390214I-35814J0D01* +G01X1671020Y6390214D01* +G01X1671020Y6444218D01* +G01X1794988Y6568186D01* +G01X2607484Y6568186D01* +G03X2668729Y6593555I0J86614D01* +G01X3042549Y6967374D01* +G03X3067918Y7028620I-61245J61245D01* +G01X3067918Y10691627D01* +G01X3129103Y10752813D01* +G01X3415327Y10752813D01* +G01X3462814Y10705326D01* +G03X3550000Y10522986I87186J-70326D01* +G03X3637186Y10705326I0J112014D01* +G01X3687477Y10755617D01* +G01X4418627Y10755617D01* +G01X4463386Y10710858D01* +G01X4463386Y10706029D01* +G03X4550000Y10522986I86614J-71029D01* +G03X4636614Y10706029I0J112014D01* +G01X4636614Y10746735D01* +G03X4611245Y10807980I-86614J0D01* +G01X4515749Y10903476D01* +G03X4454504Y10928845I-61245J-61245D01* +G01X3651600Y10928845D01* +G03X3590355Y10903476I0J-86614D01* +G01X3550000Y10863121D01* +G01X3512449Y10900672D01* +G03X3451204Y10926041I-61245J-61245D01* +G01X3093227Y10926041D01* +G03X3031981Y10900672I0J-86614D01* +G01X2920059Y10788749D01* +G03X2894690Y10727504I61245J-61245D01* +G01X2894690Y7064497D01* +G01X218800Y12170564D02* +G01X168000Y12170564D01* +G03X168000Y11959236I0J-105664D01* +G01X218800Y11959236D01* +G03X218800Y12170564I0J105664D01* +G01X218800Y12424564D02* +G01X168000Y12424564D01* +G03X168000Y12213236I0J-105664D01* +G01X218800Y12213236D01* +G03X218800Y12424564I0J105664D01* +G01X288650Y12467236D02* +G03X324464Y12503050I0J35814D01* +G01X324464Y12642750D01* +G03X288650Y12678564I-35814J0D01* +G01X98150Y12678564D01* +G03X62336Y12642750I0J-35814D01* +G01X62336Y12503050D01* +G03X98150Y12467236I35814J0D01* +G01X288650Y12467236D01* +G01X218800Y11408564D02* +G01X168000Y11408564D01* +G03X168000Y11197236I0J-105664D01* +G01X218800Y11197236D01* +G03X218800Y11408564I0J105664D01* +G01X218800Y11662564D02* +G01X168000Y11662564D01* +G03X168000Y11451236I0J-105664D01* +G01X218800Y11451236D01* +G03X218800Y11662564I0J105664D01* +G01X218800Y11916564D02* +G01X168000Y11916564D01* +G03X168000Y11705236I0J-105664D01* +G01X218800Y11705236D01* +G03X218800Y11916564I0J105664D01* +G01X218800Y11154564D02* +G01X168000Y11154564D01* +G03X168000Y10943236I0J-105664D01* +G01X218800Y10943236D01* +G03X218800Y11154564I0J105664D01* +G01X218800Y9884564D02* +G01X168000Y9884564D01* +G03X168000Y9673236I0J-105664D01* +G01X218800Y9673236D01* +G03X218800Y9884564I0J105664D01* +G01X218800Y10138564D02* +G01X168000Y10138564D01* +G03X168000Y9927236I0J-105664D01* +G01X218800Y9927236D01* +G03X218800Y10138564I0J105664D01* +G01X218800Y9122564D02* +G01X168000Y9122564D01* +G03X168000Y8911236I0J-105664D01* +G01X218800Y8911236D01* +G03X218800Y9122564I0J105664D01* +G01X218800Y9376564D02* +G01X168000Y9376564D01* +G03X168000Y9165236I0J-105664D01* +G01X218800Y9165236D01* +G03X218800Y9376564I0J105664D01* +G01X218800Y9630564D02* +G01X168000Y9630564D01* +G03X168000Y9419236I0J-105664D01* +G01X218800Y9419236D01* +G03X218800Y9630564I0J105664D01* +G01X218800Y8360564D02* +G01X168000Y8360564D01* +G03X168000Y8149236I0J-105664D01* +G01X218800Y8149236D01* +G03X218800Y8360564I0J105664D01* +G01X218800Y8614564D02* +G01X168000Y8614564D01* +G03X168000Y8403236I0J-105664D01* +G01X218800Y8403236D01* +G03X218800Y8614564I0J105664D01* +G01X218800Y8868564D02* +G01X168000Y8868564D01* +G03X168000Y8657236I0J-105664D01* +G01X218800Y8657236D01* +G03X218800Y8868564I0J105664D01* +G01X218800Y7852564D02* +G01X168000Y7852564D01* +G03X168000Y7641236I0J-105664D01* +G01X218800Y7641236D01* +G03X218800Y7852564I0J105664D01* +G01X218800Y8106564D02* +G01X168000Y8106564D01* +G03X168000Y7895236I0J-105664D01* +G01X218800Y7895236D01* +G03X218800Y8106564I0J105664D01* +G01X218800Y7344564D02* +G01X168000Y7344564D01* +G03X168000Y7133236I0J-105664D01* +G01X218800Y7133236D01* +G03X218800Y7344564I0J105664D01* +G01X358500Y684186D02* +G03X358500Y915814I0J115814D01* +G03X358500Y684186I0J-115814D01* +G01X358500Y430186D02* +G03X358500Y661814I0J115814D01* +G03X358500Y430186I0J-115814D01* +G01X358500Y2208186D02* +G03X358500Y2439814I0J115814D01* +G03X358500Y2208186I0J-115814D01* +G01X358500Y1954186D02* +G03X358500Y2185814I0J115814D01* +G03X358500Y1954186I0J-115814D01* +G01X358500Y1700186D02* +G03X358500Y1931814I0J115814D01* +G03X358500Y1700186I0J-115814D01* +G01X358500Y1446186D02* +G03X358500Y1677814I0J115814D01* +G03X358500Y1446186I0J-115814D01* +G01X358500Y1192186D02* +G03X358500Y1423814I0J115814D01* +G03X358500Y1192186I0J-115814D01* +G01X358500Y938186D02* +G03X358500Y1169814I0J115814D01* +G03X358500Y938186I0J-115814D01* +G01X358500Y3224186D02* +G03X358500Y3455814I0J115814D01* +G03X358500Y3224186I0J-115814D01* +G01X358500Y5002186D02* +G03X358500Y5233814I0J115814D01* +G03X358500Y5002186I0J-115814D01* +G01X358500Y5256186D02* +G03X358500Y5487814I0J115814D01* +G03X358500Y5256186I0J-115814D01* +G01X358500Y4748186D02* +G03X358500Y4979814I0J115814D01* +G03X358500Y4748186I0J-115814D01* +G01X358500Y4494186D02* +G03X358500Y4725814I0J115814D01* +G03X358500Y4494186I0J-115814D01* +G01X358500Y4240186D02* +G03X358500Y4471814I0J115814D01* +G03X358500Y4240186I0J-115814D01* +G01X358500Y3986186D02* +G03X358500Y4217814I0J115814D01* +G03X358500Y3986186I0J-115814D01* +G01X358500Y3732186D02* +G03X358500Y3963814I0J115814D01* +G03X358500Y3732186I0J-115814D01* +G01X358500Y3478186D02* +G03X358500Y3709814I0J115814D01* +G03X358500Y3478186I0J-115814D01* +G01X358500Y2462186D02* +G03X358500Y2693814I0J115814D01* +G03X358500Y2462186I0J-115814D01* +G01X708924Y3032954D02* +G01X703884Y3032954D01* +G03X612500Y3191664I-91384J53046D01* +G03X521116Y3032954I0J-105664D01* +G01X485540Y3032954D01* +G03X458688Y3027904I0J-73914D01* +G03X283471Y3174224I-100188J58096D01* +G03X399752Y2977782I75029J-88224D01* +G01X369281Y2947311D01* +G03X276607Y2750107I-10781J-115311D01* +G03X473811Y2842781I81893J81893D01* +G01X516156Y2885126D01* +G01X521163Y2885126D01* +G03X612500Y2726336I91337J-53126D01* +G03X703837Y2885126I0J105664D01* +G01X739540Y2885126D01* +G03X791805Y2906775I0J73914D01* +G01X1248965Y3363935D01* +G03X1270614Y3416200I-52265J52265D01* +G01X1270614Y3501551D01* +G03X1196700Y3712364I-73914J92449D01* +G03X1122786Y3501551I0J-118364D01* +G01X1122786Y3446816D01* +G01X708924Y3032954D01* +G01X728314Y626000D02* +G03X692500Y661814I-35814J0D01* +G01X532500Y661814D01* +G03X496686Y626000I0J-35814D01* +G01X496686Y466000D01* +G03X532500Y430186I35814J0D01* +G01X692500Y430186D01* +G03X728314Y466000I0J35814D01* +G01X728314Y626000D01* +G01X612500Y2462186D02* +G03X612500Y2693814I0J115814D01* +G03X612500Y2462186I0J-115814D01* +G01X612500Y2208186D02* +G03X612500Y2439814I0J115814D01* +G03X612500Y2208186I0J-115814D01* +G01X612500Y1954186D02* +G03X612500Y2185814I0J115814D01* +G03X612500Y1954186I0J-115814D01* +G01X612500Y1700186D02* +G03X612500Y1931814I0J115814D01* +G03X612500Y1700186I0J-115814D01* +G01X612500Y1446186D02* +G03X612500Y1677814I0J115814D01* +G03X612500Y1446186I0J-115814D01* +G01X612500Y1192186D02* +G03X612500Y1423814I0J115814D01* +G03X612500Y1192186I0J-115814D01* +G01X612500Y938186D02* +G03X612500Y1169814I0J115814D01* +G03X612500Y938186I0J-115814D01* +G01X612500Y684186D02* +G03X612500Y915814I0J115814D01* +G03X612500Y684186I0J-115814D01* +G01X612500Y5256186D02* +G03X612500Y5487814I0J115814D01* +G03X612500Y5256186I0J-115814D01* +G01X612500Y5002186D02* +G03X612500Y5233814I0J115814D01* +G03X612500Y5002186I0J-115814D01* +G01X612500Y4748186D02* +G03X612500Y4979814I0J115814D01* +G03X612500Y4748186I0J-115814D01* +G01X612500Y4494186D02* +G03X612500Y4725814I0J115814D01* +G03X612500Y4494186I0J-115814D01* +G01X612500Y4240186D02* +G03X612500Y4471814I0J115814D01* +G03X612500Y4240186I0J-115814D01* +G01X612500Y3986186D02* +G03X612500Y4217814I0J115814D01* +G03X612500Y3986186I0J-115814D01* +G01X612500Y3732186D02* +G03X612500Y3963814I0J115814D01* +G03X612500Y3732186I0J-115814D01* +G01X612500Y3478186D02* +G03X612500Y3709814I0J115814D01* +G03X612500Y3478186I0J-115814D01* +G01X612500Y3224186D02* +G03X612500Y3455814I0J115814D01* +G03X612500Y3224186I0J-115814D01* +G01X957178Y10008008D02* +G03X1193906Y10008008I118364J0D01* +G03X957178Y10008008I-118364J0D01* +G01X1158092Y9635644D02* +G03X1193906Y9671458I0J35814D01* +G01X1193906Y9836558D01* +G03X1158092Y9872372I-35814J0D01* +G01X992992Y9872372D01* +G03X957178Y9836558I0J-35814D01* +G01X957178Y9671458D01* +G03X992992Y9635644I35814J0D01* +G01X1158092Y9635644D01* +G01X1211178Y10008008D02* +G03X1447906Y10008008I118364J0D01* +G03X1211178Y10008008I-118364J0D01* +G01X1211178Y9754008D02* +G03X1447906Y9754008I118364J0D01* +G03X1211178Y9754008I-118364J0D01* +G01X1577700Y3465915D02* +G03X1577700Y3214288I0J-125814D01* +G03X1577700Y3465915I0J125814D01* +G01X1465178Y10008008D02* +G03X1701906Y10008008I118364J0D01* +G03X1465178Y10008008I-118364J0D01* +G01X1465178Y9754008D02* +G03X1701906Y9754008I118364J0D01* +G03X1465178Y9754008I-118364J0D01* +G01X1719178Y10008008D02* +G03X1955906Y10008008I118364J0D01* +G03X1719178Y10008008I-118364J0D01* +G01X1719178Y9754008D02* +G03X1955906Y9754008I118364J0D01* +G03X1719178Y9754008I-118364J0D01* +G01X1946000Y5002186D02* +G03X1946000Y5233814I0J115814D01* +G03X1946000Y5002186I0J-115814D01* +G01X1946000Y5256186D02* +G03X1946000Y5487814I0J115814D01* +G03X1946000Y5256186I0J-115814D01* +G01X1946000Y4748186D02* +G03X1946000Y4979814I0J115814D01* +G03X1946000Y4748186I0J-115814D01* +G01X1946000Y2716186D02* +G03X1946000Y2947814I0J115814D01* +G03X1946000Y2716186I0J-115814D01* +G01X1946000Y2970186D02* +G03X1946000Y3201814I0J115814D01* +G03X1946000Y2970186I0J-115814D01* +G01X1946000Y2462186D02* +G03X1946000Y2693814I0J115814D01* +G03X1946000Y2462186I0J-115814D01* +G01X1946000Y1954186D02* +G03X1946000Y2185814I0J115814D01* +G03X1946000Y1954186I0J-115814D01* +G01X1946000Y2208186D02* +G03X1946000Y2439814I0J115814D01* +G03X1946000Y2208186I0J-115814D01* +G01X1946000Y1700186D02* +G03X1946000Y1931814I0J115814D01* +G03X1946000Y1700186I0J-115814D01* +G01X1946000Y1192186D02* +G03X1946000Y1423814I0J115814D01* +G03X1946000Y1192186I0J-115814D01* +G01X1946000Y1446186D02* +G03X1946000Y1677814I0J115814D01* +G03X1946000Y1446186I0J-115814D01* +G01X1946000Y938186D02* +G03X1946000Y1169814I0J115814D01* +G03X1946000Y938186I0J-115814D01* +G01X1946000Y684186D02* +G03X1946000Y915814I0J115814D01* +G03X1946000Y684186I0J-115814D01* +G01X1946000Y3224186D02* +G03X1946000Y3455814I0J115814D01* +G03X1946000Y3224186I0J-115814D01* +G01X1946000Y3732186D02* +G03X1946000Y3963814I0J115814D01* +G03X1946000Y3732186I0J-115814D01* +G01X1946000Y4240186D02* +G03X1946000Y4471814I0J115814D01* +G03X1946000Y4240186I0J-115814D01* +G01X1946000Y4494186D02* +G03X1946000Y4725814I0J115814D01* +G03X1946000Y4494186I0J-115814D01* +G01X1946000Y3986186D02* +G03X1946000Y4217814I0J115814D01* +G03X1946000Y3986186I0J-115814D01* +G01X1946000Y430186D02* +G03X1946000Y661814I0J115814D01* +G03X1946000Y430186I0J-115814D01* +G01X1946000Y3478186D02* +G03X1946000Y3709814I0J115814D01* +G03X1946000Y3478186I0J-115814D01* +G01X1973178Y9754008D02* +G03X2209906Y9754008I118364J0D01* +G03X1973178Y9754008I-118364J0D01* +G01X1973178Y10008008D02* +G03X2209906Y10008008I118364J0D01* +G03X1973178Y10008008I-118364J0D01* +G01X2235208Y6354400D02* +G03X2199394Y6390214I-35814J0D01* +G01X2009395Y6390214D01* +G03X1973581Y6354400I0J-35814D01* +G01X1973581Y6116800D01* +G03X2009395Y6080986I35814J0D01* +G01X2199394Y6080986D01* +G03X2235208Y6116800I0J35814D01* +G01X2235208Y6354400D01* +G01X2200000Y5002186D02* +G03X2200000Y5233814I0J115814D01* +G03X2200000Y5002186I0J-115814D01* +G01X2200000Y5256186D02* +G03X2200000Y5487814I0J115814D01* +G03X2200000Y5256186I0J-115814D01* +G01X2200000Y4748186D02* +G03X2200000Y4979814I0J115814D01* +G03X2200000Y4748186I0J-115814D01* +G01X2200000Y2716186D02* +G03X2200000Y2947814I0J115814D01* +G03X2200000Y2716186I0J-115814D01* +G01X2200000Y2970186D02* +G03X2200000Y3201814I0J115814D01* +G03X2200000Y2970186I0J-115814D01* +G01X2200000Y2462186D02* +G03X2200000Y2693814I0J115814D01* +G03X2200000Y2462186I0J-115814D01* +G01X2200000Y1954186D02* +G03X2200000Y2185814I0J115814D01* +G03X2200000Y1954186I0J-115814D01* +G01X2200000Y2208186D02* +G03X2200000Y2439814I0J115814D01* +G03X2200000Y2208186I0J-115814D01* +G01X2200000Y1700186D02* +G03X2200000Y1931814I0J115814D01* +G03X2200000Y1700186I0J-115814D01* +G01X2200000Y1192186D02* +G03X2200000Y1423814I0J115814D01* +G03X2200000Y1192186I0J-115814D01* +G01X2200000Y1446186D02* +G03X2200000Y1677814I0J115814D01* +G03X2200000Y1446186I0J-115814D01* +G01X2200000Y938186D02* +G03X2200000Y1169814I0J115814D01* +G03X2200000Y938186I0J-115814D01* +G01X2200000Y3224186D02* +G03X2200000Y3455814I0J115814D01* +G03X2200000Y3224186I0J-115814D01* +G01X2200000Y3732186D02* +G03X2200000Y3963814I0J115814D01* +G03X2200000Y3732186I0J-115814D01* +G01X2200000Y4494186D02* +G03X2200000Y4725814I0J115814D01* +G03X2200000Y4494186I0J-115814D01* +G01X2200000Y4240186D02* +G03X2200000Y4471814I0J115814D01* +G03X2200000Y4240186I0J-115814D01* +G01X2200000Y3986186D02* +G03X2200000Y4217814I0J115814D01* +G03X2200000Y3986186I0J-115814D01* +G01X2200000Y3478186D02* +G03X2200000Y3709814I0J115814D01* +G03X2200000Y3478186I0J-115814D01* +G01X2315814Y626000D02* +G03X2280000Y661814I-35814J0D01* +G01X2120000Y661814D01* +G03X2084186Y626000I0J-35814D01* +G01X2084186Y466000D01* +G03X2120000Y430186I35814J0D01* +G01X2280000Y430186D01* +G03X2315814Y466000I0J35814D01* +G01X2315814Y626000D01* +G01X2200000Y684186D02* +G03X2200000Y915814I0J115814D01* +G03X2200000Y684186I0J-115814D01* +G01X2758800Y10392564D02* +G01X2708000Y10392564D01* +G03X2708000Y10181236I0J-105664D01* +G01X2758800Y10181236D01* +G03X2758800Y10392564I0J105664D01* +G01X2758800Y10138564D02* +G01X2708000Y10138564D01* +G03X2708000Y9927236I0J-105664D01* +G01X2758800Y9927236D01* +G03X2758800Y10138564I0J105664D01* +G01X2758800Y9884564D02* +G01X2708000Y9884564D01* +G03X2708000Y9673236I0J-105664D01* +G01X2758800Y9673236D01* +G03X2758800Y9884564I0J105664D01* +G01X2758800Y9122564D02* +G01X2708000Y9122564D01* +G03X2708000Y8911236I0J-105664D01* +G01X2758800Y8911236D01* +G03X2758800Y9122564I0J105664D01* +G01X2758800Y9376564D02* +G01X2708000Y9376564D01* +G03X2708000Y9165236I0J-105664D01* +G01X2758800Y9165236D01* +G03X2758800Y9376564I0J105664D01* +G01X2758800Y9630564D02* +G01X2708000Y9630564D01* +G03X2708000Y9419236I0J-105664D01* +G01X2758800Y9419236D01* +G03X2758800Y9630564I0J105664D01* +G01X2758800Y11154564D02* +G01X2708000Y11154564D01* +G03X2708000Y10943236I0J-105664D01* +G01X2758800Y10943236D01* +G03X2758800Y11154564I0J105664D01* +G01X2758800Y7598564D02* +G01X2708000Y7598564D01* +G03X2708000Y7387236I0J-105664D01* +G01X2758800Y7387236D01* +G03X2758800Y7598564I0J105664D01* +G01X2758800Y7344564D02* +G01X2708000Y7344564D01* +G03X2708000Y7133236I0J-105664D01* +G01X2758800Y7133236D01* +G03X2758800Y7344564I0J105664D01* +G01X2758800Y10646564D02* +G01X2708000Y10646564D01* +G03X2708000Y10435236I0J-105664D01* +G01X2758800Y10435236D01* +G03X2758800Y10646564I0J105664D01* +G01X2758800Y10900564D02* +G01X2708000Y10900564D01* +G03X2708000Y10689236I0J-105664D01* +G01X2758800Y10689236D01* +G03X2758800Y10900564I0J105664D01* +G01X2758800Y8868564D02* +G01X2708000Y8868564D01* +G03X2708000Y8657236I0J-105664D01* +G01X2758800Y8657236D01* +G03X2758800Y8868564I0J105664D01* +G01X2758800Y8614564D02* +G01X2708000Y8614564D01* +G03X2708000Y8403236I0J-105664D01* +G01X2758800Y8403236D01* +G03X2758800Y8614564I0J105664D01* +G01X2758800Y8360564D02* +G01X2708000Y8360564D01* +G03X2708000Y8149236I0J-105664D01* +G01X2758800Y8149236D01* +G03X2758800Y8360564I0J105664D01* +G01X2758800Y8106564D02* +G01X2708000Y8106564D01* +G03X2708000Y7895236I0J-105664D01* +G01X2758800Y7895236D01* +G03X2758800Y8106564I0J105664D01* +G01X2758800Y7852564D02* +G01X2708000Y7852564D01* +G03X2708000Y7641236I0J-105664D01* +G01X2758800Y7641236D01* +G03X2758800Y7852564I0J105664D01* +G01X3120407Y9268793D02* +G03X3103966Y9229100I39693J-39693D01* +G01X3103966Y6647430D01* +G03X3120407Y6607738I56134J0D01* +G01X3378491Y6349654D01* +G03X3418184Y6333213I39693J39693D01* +G01X3480853Y6333213D01* +G03X3575410Y6143652I94557J-71197D01* +G03X3669967Y6333213I0J118364D01* +G01X3678828Y6333213D01* +G01X3716032Y6296008D01* +G03X3913106Y6178320I113378J-33992D01* +G03X3795417Y6375394I-83696J83696D01* +G01X3741772Y6429039D01* +G03X3702079Y6445481I-39693J-39693D01* +G01X3670461Y6445481D01* +G03X3669967Y6587213I-95052J70535D01* +G01X3678828Y6587213D01* +G01X3716032Y6550008D01* +G03X3913106Y6432320I113378J-33992D01* +G03X3795417Y6629394I-83696J83696D01* +G01X3741772Y6683039D01* +G03X3702079Y6699481I-39693J-39693D01* +G01X3670461Y6699481D01* +G03X3590762Y6887380I-95052J70535D01* +G03X3465414Y6726302I-15352J-117364D01* +G01X3368634Y6823082D01* +G01X3368634Y9016149D01* +G01X3770297Y9417811D01* +G03X3786738Y9457504I-39693J39693D01* +G01X3786738Y9946396D01* +G03X3770297Y9986089I-56134J0D01* +G01X3658235Y10098150D01* +G03X3632777Y10202466I-108235J28850D01* +G01X3887148Y10202466D01* +G01X4187765Y9901850D01* +G03X4187765Y9844150I108235J-28850D01* +G01X4009407Y9665793D01* +G03X3992966Y9626100I39693J-39693D01* +G01X3992966Y8300651D01* +G01X3937008Y8244693D01* +G03X3815622Y8411574I-107598J49323D01* +G03X3736145Y8221134I13788J-117558D01* +G01X3700394Y8221134D01* +G03X3693774Y8220742I0J-56134D01* +G01X3693774Y8376566D01* +G03X3657960Y8412380I-35814J0D01* +G01X3492860Y8412380D01* +G03X3457046Y8376566I0J-35814D01* +G01X3457046Y8211466D01* +G03X3492860Y8175652I35814J0D01* +G01X3631660Y8175652D01* +G01X3609402Y8153394D01* +G03X3491714Y7956320I-33992J-113378D01* +G03X3688788Y8074008I83696J83696D01* +G01X3723645Y8108866D01* +G01X3733131Y8108866D01* +G03X3829410Y7921652I96279J-68850D01* +G03X3925689Y8108866I0J118364D01* +G01X3936700Y8108866D01* +G03X3976393Y8125307I0J56134D01* +G01X4088793Y8237707D01* +G03X4105234Y8277400I-39693J39693D01* +G01X4105234Y9602849D01* +G01X4267150Y9764765D01* +G03X4408014Y9873000I28850J108235D01* +G03X4267150Y9981235I-112014J0D01* +G01X3950093Y10298293D01* +G03X3910400Y10314734I-39693J-39693D01* +G01X3640310Y10314734D01* +G03X3542609Y10492770I-90310J66266D01* +G03X3469202Y10303419I7391J-111770D01* +G03X3463307Y10298293I33798J-44819D01* +G01X3386111Y10221097D01* +G03X3375367Y10206044I39693J-39693D01* +G03X3184054Y10130902I-79367J-79044D01* +G03X3369670Y10042621I111946J-3903D01* +G01X3369670Y10026055D01* +G01X3324850Y9981235D01* +G03X3216794Y9793794I-28850J-108235D01* +G03X3404235Y9901850I79206J79206D01* +G01X3465497Y9963111D01* +G03X3481938Y10002804I-39693J39693D01* +G01X3481938Y10038035D01* +G03X3578850Y10018765I68062J88965D01* +G01X3674470Y9923144D01* +G01X3674470Y9480755D01* +G01X3272807Y9079093D01* +G03X3256366Y9039400I39693J-39693D01* +G01X3256366Y6799830D01* +G03X3272807Y6760138I56134J0D01* +G01X3429291Y6603654D01* +G03X3468984Y6587213I39693J39693D01* +G01X3480853Y6587213D01* +G03X3480358Y6445481I94557J-71197D01* +G01X3441435Y6445481D01* +G01X3216234Y6670682D01* +G01X3216234Y9205849D01* +G01X3517371Y9506986D01* +G01X3626200Y9506986D01* +G03X3662014Y9542800I0J35814D01* +G01X3662014Y9695200D01* +G03X3626200Y9731014I-35814J0D01* +G01X3473800Y9731014D01* +G03X3437986Y9695200I0J-35814D01* +G01X3437986Y9586371D01* +G01X3120407Y9268793D01* +G01X3296000Y9506986D02* +G03X3296000Y9731014I0J112014D01* +G03X3296000Y9506986I0J-112014D01* +G01X3296000Y10522986D02* +G03X3296000Y10747014I0J112014D01* +G03X3296000Y10522986I0J-112014D01* +G01X3296000Y10268986D02* +G03X3296000Y10493014I0J112014D01* +G03X3296000Y10268986I0J-112014D01* +G01X3550000Y9760986D02* +G03X3550000Y9985014I0J112014D01* +G03X3550000Y9760986I0J-112014D01* +G01X3575410Y6126380D02* +G03X3575410Y5889652I0J-118364D01* +G03X3575410Y6126380I0J118364D01* +G01X3575410Y7904380D02* +G03X3575410Y7667652I0J-118364D01* +G03X3575410Y7904380I0J118364D01* +G01X3575410Y7142380D02* +G03X3575410Y6905652I0J-118364D01* +G03X3575410Y7142380I0J118364D01* +G01X3575410Y7650380D02* +G03X3575410Y7413652I0J-118364D01* +G03X3575410Y7650380I0J118364D01* +G01X3575410Y7396380D02* +G03X3575410Y7159652I0J-118364D01* +G03X3575410Y7396380I0J118364D01* +G01X3829410Y6126380D02* +G03X3829410Y5889652I0J-118364D01* +G03X3829410Y6126380I0J118364D01* +G01X3829410Y7396380D02* +G03X3829410Y7159652I0J-118364D01* +G03X3829410Y7396380I0J118364D01* +G01X4691466Y7711458D02* +G01X3863402Y6883394D01* +G03X3745714Y6686320I-33992J-113378D01* +G03X3942788Y6804008I83696J83696D01* +G01X4787293Y7648513D01* +G03X4803734Y7688206I-39693J39693D01* +G01X4803734Y10183400D01* +G03X4787293Y10223092I-56134J0D01* +G01X4658235Y10352150D01* +G03X4470794Y10460206I-108235J28850D01* +G03X4578850Y10272765I79206J-79206D01* +G01X4691466Y10160148D01* +G01X4691466Y7711458D01* +G01X3829410Y7142380D02* +G03X3829410Y6905652I0J-118364D01* +G03X3829410Y7142380I0J118364D01* +G01X3829410Y7650380D02* +G03X3829410Y7413652I0J-118364D01* +G03X3829410Y7650380I0J118364D01* +G01X3829410Y7904380D02* +G03X3829410Y7667652I0J-118364D01* +G03X3829410Y7904380I0J118364D01* +G01X4296000Y9506986D02* +G03X4296000Y9731014I0J112014D01* +G03X4296000Y9506986I0J-112014D01* +G01X4296000Y10014986D02* +G03X4296000Y10239014I0J112014D01* +G03X4296000Y10014986I0J-112014D01* +G01X4296000Y10522986D02* +G03X4296000Y10747014I0J112014D01* +G03X4296000Y10522986I0J-112014D01* +G01X4296000Y10268986D02* +G03X4296000Y10493014I0J112014D01* +G03X4296000Y10268986I0J-112014D01* +G01X4550000Y9760986D02* +G03X4550000Y9985014I0J112014D01* +G03X4550000Y9760986I0J-112014D01* +G01X4662014Y9695200D02* +G03X4626200Y9731014I-35814J0D01* +G01X4473800Y9731014D01* +G03X4437986Y9695200I0J-35814D01* +G01X4437986Y9542800D01* +G03X4473800Y9506986I35814J0D01* +G01X4626200Y9506986D01* +G03X4662014Y9542800I0J35814D01* +G01X4662014Y9695200D01* +G01X4550000Y10014986D02* +G03X4550000Y10239014I0J112014D01* +G03X4550000Y10014986I0J-112014D01* +G54D11* +G01X612500Y2832000D02* +G01X612500Y2736496D01* +G01X612500Y2832000D02* +G01X516996Y2832000D01* +G01X612500Y2832000D02* +G01X708004Y2832000D01* +G01X358500Y3086000D02* +G01X358500Y2980346D01* +G01X358500Y3086000D02* +G01X358500Y3191654D01* +G01X358500Y3086000D02* +G01X252846Y3086000D01* +G01X358500Y3086000D02* +G01X464154Y3086000D01* +G01X358500Y3340000D02* +G01X358500Y3234346D01* +G01X358500Y3340000D02* +G01X358500Y3445654D01* +G01X358500Y3340000D02* +G01X252846Y3340000D01* +G01X358500Y3340000D02* +G01X464154Y3340000D01* +G01X358500Y3594000D02* +G01X358500Y3488346D01* +G01X358500Y3594000D02* +G01X358500Y3699654D01* +G01X358500Y3594000D02* +G01X252846Y3594000D01* +G01X358500Y3594000D02* +G01X464154Y3594000D01* +G01X358500Y4102000D02* +G01X358500Y3996346D01* +G01X358500Y4102000D02* +G01X358500Y4207654D01* +G01X358500Y4102000D02* +G01X252846Y4102000D01* +G01X358500Y4102000D02* +G01X464154Y4102000D01* +G01X1946000Y546000D02* +G01X1946000Y440346D01* +G01X1946000Y546000D02* +G01X1946000Y651654D01* +G01X1946000Y546000D02* +G01X1840346Y546000D01* +G01X1946000Y546000D02* +G01X2051654Y546000D01* +G01X1946000Y3086000D02* +G01X1946000Y2980346D01* +G01X1946000Y3086000D02* +G01X1946000Y3191654D01* +G01X1946000Y3086000D02* +G01X1840346Y3086000D01* +G01X1946000Y3086000D02* +G01X2051654Y3086000D01* +G01X1946000Y5372000D02* +G01X1946000Y5266346D01* +G01X1946000Y5372000D02* +G01X1946000Y5477654D01* +G01X1946000Y5372000D02* +G01X1840346Y5372000D01* +G01X1946000Y5372000D02* +G01X2051654Y5372000D01* +G01X1946000Y4102000D02* +G01X1946000Y3996346D01* +G01X1946000Y4102000D02* +G01X1946000Y4207654D01* +G01X1946000Y4102000D02* +G01X1840346Y4102000D01* +G01X1946000Y4102000D02* +G01X2051654Y4102000D01* +G01X1946000Y3594000D02* +G01X1946000Y3488346D01* +G01X1946000Y3594000D02* +G01X1946000Y3699654D01* +G01X1946000Y3594000D02* +G01X1840346Y3594000D01* +G01X1946000Y3594000D02* +G01X2051654Y3594000D01* +G01X1946000Y3340000D02* +G01X1946000Y3234346D01* +G01X1946000Y3340000D02* +G01X1946000Y3445654D01* +G01X1946000Y3340000D02* +G01X1840346Y3340000D01* +G01X1946000Y3340000D02* +G01X2051654Y3340000D01* +G01X2200000Y2832000D02* +G01X2200000Y2726346D01* +G01X2200000Y2832000D02* +G01X2200000Y2937654D01* +G01X2200000Y2832000D02* +G01X2094346Y2832000D01* +G01X2200000Y2832000D02* +G01X2305654Y2832000D01* +G01X358500Y5372000D02* +G01X358500Y5266346D01* +G01X358500Y5372000D02* +G01X358500Y5477654D01* +G01X358500Y5372000D02* +G01X252846Y5372000D01* +G01X358500Y5372000D02* +G01X464154Y5372000D01* +G01X3575410Y6516016D02* +G01X3683614Y6516016D01* +G01X3575410Y6516016D02* +G01X3467206Y6516016D01* +G01X2733400Y7238900D02* +G01X2612496Y7238900D01* +G01X2733400Y7238900D02* +G01X2854304Y7238900D01* +G01X2733400Y7238900D02* +G01X2733400Y7334404D01* +G01X2733400Y7238900D02* +G01X2733400Y7143396D01* +G01X-276500Y8000900D02* +G01X-276500Y7892696D01* +G01X-276500Y8000900D02* +G01X-276500Y8109104D01* +G01X-276500Y8000900D02* +G01X-384704Y8000900D01* +G01X-276500Y8000900D02* +G01X-168296Y8000900D01* +G01X2091542Y10008008D02* +G01X1983338Y10008008D01* +G01X2091542Y10008008D02* +G01X2199746Y10008008D01* +G01X2091542Y10008008D02* +G01X2091542Y10116212D01* +G01X2091542Y10008008D02* +G01X2091542Y9899804D01* +G01X1075542Y10008008D02* +G01X967338Y10008008D01* +G01X1075542Y10008008D02* +G01X1183746Y10008008D01* +G01X1075542Y10008008D02* +G01X1075542Y10116212D01* +G01X1075542Y10008008D02* +G01X1075542Y9899804D01* +G01X3296000Y10127000D02* +G01X3296000Y10025146D01* +G01X3296000Y10127000D02* +G01X3296000Y10228854D01* +G01X3296000Y10127000D02* +G01X3194146Y10127000D01* +G01X2733400Y7492900D02* +G01X2612496Y7492900D01* +G01X2733400Y7492900D02* +G01X2854304Y7492900D01* +G01X2733400Y7492900D02* +G01X2733400Y7588404D01* +G01X2733400Y7492900D02* +G01X2733400Y7397396D01* +G01X4296000Y10127000D02* +G01X4296000Y10025146D01* +G01X4296000Y10127000D02* +G01X4296000Y10228854D01* +G01X4296000Y10127000D02* +G01X4194146Y10127000D01* +G01X4296000Y10127000D02* +G01X4397854Y10127000D01* +G01X2733400Y12572900D02* +G01X2612496Y12572900D01* +G01X2733400Y12572900D02* +G01X2733400Y12668404D01* +G01X2733400Y12572900D02* +G01X2733400Y12477396D01* +G01X193400Y7238900D02* +G01X72496Y7238900D01* +G01X193400Y7238900D02* +G01X314304Y7238900D01* +G01X193400Y7238900D02* +G01X193400Y7334404D01* +G01X193400Y7238900D02* +G01X193400Y7143396D01* +G01X2104394Y6235600D02* +G01X2225048Y6235600D01* +G01X2104394Y6235600D02* +G01X1983741Y6235600D01* +G01X2104394Y6235600D02* +G01X2104394Y6091146D01* +G01X2104394Y6235600D02* +G01X2104394Y6380054D01* +G04 Copper End* + +G04 Pad Start* +G54D12* +G01X1196700Y3594000D03* +G54D13* +G01X1196700Y3848000D03* +G54D14* +G01X2733400Y12572900D03* +G01X2733400Y12318900D03* +G01X2733400Y12064900D03* +G01X2733400Y11810900D03* +G01X2733400Y11556900D03* +G01X2733400Y11302900D03* +G01X2733400Y11048900D03* +G01X2733400Y10794900D03* +G01X2733400Y10540900D03* +G01X2733400Y10286900D03* +G01X2733400Y10032900D03* +G01X2733400Y9778900D03* +G01X2733400Y9524900D03* +G01X2733400Y9270900D03* +G01X2733400Y9016900D03* +G01X2733400Y8762900D03* +G01X2733400Y8508900D03* +G01X2733400Y8254900D03* +G01X2733400Y8000900D03* +G01X2733400Y7746900D03* +G01X2733400Y7492900D03* +G01X2733400Y7238900D03* +G01X193400Y7238900D03* +G01X193400Y7492900D03* +G01X193400Y7746900D03* +G01X193400Y8000900D03* +G01X193400Y8254900D03* +G01X193400Y8508900D03* +G01X193400Y8762900D03* +G01X193400Y9016900D03* +G01X193400Y9270900D03* +G01X193400Y9524900D03* +G01X193400Y9778900D03* +G01X193400Y10032900D03* +G01X193400Y10286900D03* +G01X193400Y10540900D03* +G01X193400Y10794900D03* +G01X193400Y11048900D03* +G01X193400Y11302900D03* +G01X193400Y11556900D03* +G01X193400Y11810900D03* +G01X193400Y12064900D03* +G01X193400Y12318900D03* +G54D16* +G01X193400Y12572900D03* +G54D12* +G01X-276500Y7492900D03* +G01X-276500Y7746900D03* +G01X-276500Y8000900D03* +G01X-276500Y8254900D03* +G01X-276500Y8508900D03* +G01X-276500Y8762900D03* +G01X-276500Y9016900D03* +G01X-276500Y9270900D03* +G01X-276500Y9524900D03* +G01X-2308500Y9016900D03* +G01X-2308500Y8762900D03* +G01X-2308500Y8508900D03* +G01X-2308500Y8254900D03* +G01X-2308500Y8000900D03* +G01X-2308500Y7746900D03* +G54D17* +G01X1946000Y5372000D03* +G01X2200000Y5372000D03* +G01X1946000Y5118000D03* +G01X2200000Y5118000D03* +G01X1946000Y4864000D03* +G01X2200000Y4864000D03* +G01X1946000Y4610000D03* +G01X2200000Y4610000D03* +G01X1946000Y4356000D03* +G01X2200000Y4356000D03* +G01X1946000Y4102000D03* +G01X2200000Y4102000D03* +G01X1946000Y3848000D03* +G01X2200000Y3848000D03* +G01X1946000Y3594000D03* +G01X2200000Y3594000D03* +G01X1946000Y3340000D03* +G01X2200000Y3340000D03* +G01X1946000Y3086000D03* +G01X2200000Y3086000D03* +G01X1946000Y2832000D03* +G01X2200000Y2832000D03* +G01X1946000Y2578000D03* +G01X2200000Y2578000D03* +G01X1946000Y2324000D03* +G01X2200000Y2324000D03* +G01X1946000Y2070000D03* +G01X2200000Y2070000D03* +G01X1946000Y1816000D03* +G01X2200000Y1816000D03* +G01X1946000Y1562000D03* +G01X2200000Y1562000D03* +G01X1946000Y1308000D03* +G01X2200000Y1308000D03* +G01X1946000Y1054000D03* +G01X2200000Y1054000D03* +G01X1946000Y800000D03* +G01X2200000Y800000D03* +G01X1946000Y546000D03* +G54D18* +G01X2200000Y546000D03* +G01X612500Y546000D03* +G54D17* +G01X358500Y546000D03* +G01X612500Y800000D03* +G01X358500Y800000D03* +G01X612500Y1054000D03* +G01X358500Y1054000D03* +G01X612500Y1308000D03* +G01X358500Y1308000D03* +G01X612500Y1562000D03* +G01X358500Y1562000D03* +G01X612500Y1816000D03* +G01X358500Y1816000D03* +G01X612500Y2070000D03* +G01X358500Y2070000D03* +G01X612500Y2324000D03* +G01X358500Y2324000D03* +G01X612500Y2578000D03* +G01X358500Y2578000D03* +G54D19* +G01X612500Y2832000D03* +G54D17* +G01X358500Y2832000D03* +G54D19* +G01X612500Y3086000D03* +G54D17* +G01X358500Y3086000D03* +G01X612500Y3340000D03* +G01X358500Y3340000D03* +G01X612500Y3594000D03* +G01X358500Y3594000D03* +G01X612500Y3848000D03* +G01X358500Y3848000D03* +G01X612500Y4102000D03* +G01X358500Y4102000D03* +G01X612500Y4356000D03* +G01X358500Y4356000D03* +G01X612500Y4610000D03* +G01X358500Y4610000D03* +G01X612500Y4864000D03* +G01X358500Y4864000D03* +G01X612500Y5118000D03* +G01X358500Y5118000D03* +G01X612500Y5372000D03* +G01X358500Y5372000D03* +G54D12* +G01X3829410Y6008016D03* +G01X3575410Y6008016D03* +G01X3829410Y6262016D03* +G01X3575410Y6262016D03* +G01X3829410Y6516016D03* +G01X3575410Y6516016D03* +G01X3829410Y6770016D03* +G01X3575410Y6770016D03* +G01X3829410Y7024016D03* +G01X3575410Y7024016D03* +G01X3829410Y7278016D03* +G01X3575410Y7278016D03* +G01X3829410Y7532016D03* +G01X3575410Y7532016D03* +G01X3829410Y7786016D03* +G01X3575410Y7786016D03* +G01X3829410Y8040016D03* +G01X3575410Y8040016D03* +G01X3829410Y8294016D03* +G54D13* +G01X3575410Y8294016D03* +G54D20* +G01X3550000Y9619000D03* +G54D21* +G01X3296000Y9619000D03* +G01X3550000Y9873000D03* +G01X3296000Y9873000D03* +G01X3550000Y10127000D03* +G01X3296000Y10127000D03* +G01X3550000Y10381000D03* +G01X3296000Y10381000D03* +G01X3550000Y10635000D03* +G01X3296000Y10635000D03* +G54D12* +G01X2091542Y10008008D03* +G01X2091542Y9754008D03* +G01X1837542Y10008008D03* +G01X1837542Y9754008D03* +G01X1583542Y10008008D03* +G01X1583542Y9754008D03* +G01X1329542Y10008008D03* +G01X1329542Y9754008D03* +G01X1075542Y10008008D03* +G54D13* +G01X1075542Y9754008D03* +G54D20* +G01X4550000Y9619000D03* +G54D21* +G01X4296000Y9619000D03* +G01X4550000Y9873000D03* +G01X4296000Y9873000D03* +G01X4550000Y10127000D03* +G01X4296000Y10127000D03* +G01X4550000Y10381000D03* +G01X4296000Y10381000D03* +G01X4550000Y10635000D03* +G01X4296000Y10635000D03* +G54D13* +G01X-2308500Y10782200D03* +G54D12* +G01X-2054500Y10782200D03* +G01X-1800500Y10782200D03* +G01X-1546500Y10782200D03* +G54D22* +G01X1584406Y6235600D03* +G01X2104394Y6235600D03* +G54D23* +G01X1577700Y4210102D03* +G01X1577700Y3340102D03* +G04 Pad End* + +G04 Track Start* +G54D24* +G01X1558802Y4210102D02* +G01X1577700Y4210102D01* +G54D25* +G01X1196700Y3594000D02* +G01X1196700Y3416200D01* +G01X739540Y2959040D01* +G01X485540Y2959040D01* +G01X358500Y2832000D01* +G54D26* +G01X3829410Y6516016D02* +G01X3702079Y6643347D01* +G01X3468984Y6643347D01* +G01X3418184Y6389347D02* +G01X3702079Y6389347D01* +G01X3829410Y6262016D01* +G54D24* +G01X1196700Y3848000D02* +G01X1558802Y4210102D01* +G01X-276500Y7492900D02* +G01X193400Y7492900D01* +G54D26* +G01X-276500Y8762900D02* +G01X-473096Y8959496D01* +G01X-473096Y10255227D01* +G01X66400Y10794723D01* +G01X193400Y10794723D01* +G01X-276500Y8254900D02* +G01X-92096Y8439304D01* +G01X-92096Y10255227D01* +G01X193400Y10540723D01* +G01X3296000Y9873000D02* +G01X3425804Y10002804D01* +G01X3730604Y9946396D02* +G01X3550000Y10127000D01* +G01X3910400Y10258600D02* +G01X4296000Y9873000D01* +G01X3425804Y10002804D02* +G01X3425804Y10181404D01* +G01X3503000Y10258600D01* +G01X3910400Y10258600D01* +G01X3730604Y9457504D02* +G01X3730604Y9946396D01* +G01X3550000Y9619000D02* +G01X3160100Y9229100D01* +G01X3160100Y6647430D01* +G01X3418184Y6389347D01* +G01X3468984Y6643347D02* +G01X3312500Y6799830D01* +G01X3312500Y9039400D01* +G01X3730604Y9457504D01* +G54D24* +G01X3451204Y10839427D02* +G01X3550000Y10740631D01* +G01X3550000Y10635000D01* +G01X2981304Y10727504D02* +G01X3093227Y10839427D01* +G01X3451204Y10839427D01* +G01X3550000Y10740631D02* +G01X3651600Y10842231D01* +G01X4454504Y10842231D01* +G01X4550000Y10746735D01* +G01X4550000Y10635000D01* +G54D26* +G01X4049100Y8277400D02* +G01X4049100Y9626100D01* +G01X4296000Y9873000D01* +G01X3575410Y8040016D02* +G01X3700394Y8165000D01* +G01X3936700Y8165000D01* +G01X4049100Y8277400D01* +G01X4550000Y10381000D02* +G01X4747600Y10183400D01* +G01X4747600Y7688206D01* +G01X3829410Y6770016D01* +G54D24* +G01X1577700Y4210102D02* +G01X1584406Y4216808D01* +G01X1584406Y6235600D01* +G01X2981304Y7028620D02* +G01X2981304Y10727504D01* +G01X1584406Y6235600D02* +G01X1584406Y6480094D01* +G01X571600Y7492900D01* +G01X193400Y7492900D01* +G01X1584406Y6480094D02* +G01X1759111Y6654800D01* +G01X2607484Y6654800D01* +G01X2981304Y7028620D01* +G04 Track End* + +M02* + diff --git a/hardware/gerber/Gerber_TopPasteMaskLayer.GTP b/hardware/gerber/Gerber_TopPasteMaskLayer.GTP new file mode 100644 index 0000000..9b57141 --- /dev/null +++ b/hardware/gerber/Gerber_TopPasteMaskLayer.GTP @@ -0,0 +1,25 @@ +G04 Layer: TopPasteMaskLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%ADD10R,1.9X2.37599*% +%ADD11C,0.8733*% +G75* + + +G04 Pad Start* +G54D10* +G01X1584406Y6235600D03* +G01X2104394Y6235600D03* +G04 Pad End* + +M02* + diff --git a/hardware/gerber/Gerber_TopSilkscreenLayer.GTO b/hardware/gerber/Gerber_TopSilkscreenLayer.GTO new file mode 100644 index 0000000..e889f30 --- /dev/null +++ b/hardware/gerber/Gerber_TopSilkscreenLayer.GTO @@ -0,0 +1,16753 @@ +G04 Layer: TopSilkscreenLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%ADD10C,0.1524*% +%ADD11C,0.2032*% +%ADD12C,0.15001*% +%ADD13C,0.254*% +%ADD14C,0.5792*% +G75* + + +G04 Image Start* +G36* +G01X1463742Y7640471D02* +G01X1035978Y7640287D01* +G01X1034341Y7641359D01* +G01X1032705Y7642432D01* +G01X1032199Y7645577D01* +G01X1031692Y7648722D01* +G01X1030759Y7650199D01* +G01X1029825Y7651677D01* +G01X1028790Y7656788D01* +G01X1026141Y7664121D01* +G01X1025237Y7666688D01* +G01X1024334Y7669255D01* +G01X1022367Y7675855D01* +G01X1021107Y7679521D01* +G01X1019846Y7683188D01* +G01X1018593Y7686855D01* +G01X1017341Y7690521D01* +G01X1015534Y7695655D01* +G01X1014551Y7698955D01* +G01X1013567Y7702255D01* +G01X1012307Y7705921D01* +G01X1011046Y7709588D01* +G01X1008541Y7716921D01* +G01X1006734Y7722054D01* +G01X1004767Y7728655D01* +G01X1003515Y7732321D01* +G01X1002262Y7735987D01* +G01X1000914Y7739423D01* +G01X999566Y7742859D01* +G01X999566Y7745578D01* +G01X998100Y7748454D01* +G01X996633Y7751331D01* +G01X996633Y7754378D01* +G01X995166Y7757254D01* +G01X993700Y7760131D01* +G01X993700Y7763177D01* +G01X992233Y7766054D01* +G01X990766Y7768931D01* +G01X990766Y7771977D01* +G01X989299Y7774854D01* +G01X987833Y7777731D01* +G01X987833Y7781092D01* +G01X986366Y7783829D01* +G01X984899Y7786565D01* +G01X984899Y7789893D01* +G01X983433Y7792629D01* +G01X981966Y7795365D01* +G01X981966Y7798692D01* +G01X980500Y7801429D01* +G01X979033Y7804166D01* +G01X979033Y7807492D01* +G01X977566Y7810229D01* +G01X976100Y7812965D01* +G01X976100Y7816292D01* +G01X974633Y7819029D01* +G01X973167Y7821765D01* +G01X973167Y7825092D01* +G01X971700Y7827829D01* +G01X970233Y7830565D01* +G01X970233Y7834293D01* +G01X968154Y7837261D01* +G01X967645Y7840158D01* +G01X967135Y7843053D01* +G01X966171Y7844596D01* +G01X965206Y7846139D01* +G01X964202Y7851854D01* +G01X963237Y7853396D01* +G01X962273Y7854939D01* +G01X961771Y7857796D01* +G01X961269Y7860653D01* +G01X960304Y7862196D01* +G01X959339Y7863739D01* +G01X958837Y7866596D01* +G01X958335Y7869453D01* +G01X957371Y7870996D01* +G01X956406Y7872539D01* +G01X955904Y7875396D01* +G01X955402Y7878253D01* +G01X953473Y7881339D01* +G01X952970Y7884196D01* +G01X952468Y7887053D01* +G01X951547Y7888530D01* +G01X950625Y7890008D01* +G01X949850Y7893297D01* +G01X949075Y7896586D01* +G01X946512Y7903919D01* +G01X945260Y7907586D01* +G01X944007Y7911253D01* +G01X943104Y7913819D01* +G01X942201Y7916386D01* +G01X940234Y7922986D01* +G01X937713Y7930319D01* +G01X936460Y7933986D01* +G01X935208Y7937653D01* +G01X934304Y7940219D01* +G01X933401Y7942786D01* +G01X932417Y7946085D01* +G01X931434Y7949385D01* +G01X930173Y7953053D01* +G01X928913Y7956719D01* +G01X927660Y7960385D01* +G01X926408Y7964052D01* +G01X924601Y7969185D01* +G01X922633Y7975785D01* +G01X921381Y7979452D01* +G01X920128Y7983119D01* +G01X917433Y7989991D01* +G01X917408Y7991321D01* +G01X917383Y7992652D01* +G01X915966Y7995585D01* +G01X914549Y7998519D01* +G01X914500Y7999985D01* +G01X914450Y8001452D01* +G01X913033Y8004386D01* +G01X911616Y8007319D01* +G01X911567Y8008785D01* +G01X911516Y8010252D01* +G01X910100Y8013185D01* +G01X908683Y8016118D01* +G01X908658Y8017771D01* +G01X908633Y8019423D01* +G01X907167Y8022160D01* +G01X905700Y8024896D01* +G01X905700Y8028224D01* +G01X904233Y8030960D01* +G01X902766Y8033697D01* +G01X902766Y8037024D01* +G01X901300Y8039760D01* +G01X899833Y8042497D01* +G01X899833Y8045823D01* +G01X898366Y8048560D01* +G01X896900Y8051296D01* +G01X896900Y8054623D01* +G01X895433Y8057360D01* +G01X893966Y8060096D01* +G01X893966Y8063825D01* +G01X891887Y8066793D01* +G01X891378Y8069689D01* +G01X890868Y8072585D01* +G01X889904Y8074128D01* +G01X888940Y8075670D01* +G01X888437Y8078527D01* +G01X887935Y8081384D01* +G01X886970Y8082927D01* +G01X886006Y8084470D01* +G01X885504Y8087327D01* +G01X885002Y8090185D01* +G01X884037Y8091727D01* +G01X883073Y8093270D01* +G01X882570Y8096127D01* +G01X882068Y8098984D01* +G01X881104Y8100527D01* +G01X880140Y8102070D01* +G01X879637Y8104927D01* +G01X879135Y8107784D01* +G01X878171Y8109327D01* +G01X877206Y8110870D01* +G01X876704Y8113727D01* +G01X876201Y8116584D01* +G01X875238Y8118127D01* +G01X874273Y8119670D01* +G01X873771Y8122527D01* +G01X873268Y8125384D01* +G01X872304Y8126927D01* +G01X871340Y8128470D01* +G01X870838Y8131327D01* +G01X870335Y8134184D01* +G01X869413Y8135662D01* +G01X868492Y8137139D01* +G01X867717Y8140428D01* +G01X866942Y8143717D01* +G01X865660Y8147384D01* +G01X864379Y8151051D01* +G01X861875Y8158384D01* +G01X860067Y8163517D01* +G01X858100Y8170117D01* +G01X855579Y8177450D01* +G01X854327Y8181117D01* +G01X853074Y8184784D01* +G01X852171Y8187350D01* +G01X851268Y8189917D01* +G01X849300Y8196517D01* +G01X846795Y8203850D01* +G01X844100Y8210722D01* +G01X844100Y8213440D01* +G01X842633Y8216317D01* +G01X841167Y8219193D01* +G01X841167Y8222240D01* +G01X838233Y8227993D01* +G01X838233Y8231355D01* +G01X836766Y8234091D01* +G01X835300Y8236828D01* +G01X835300Y8240155D01* +G01X833833Y8242891D01* +G01X832366Y8245628D01* +G01X832366Y8248955D01* +G01X830900Y8251692D01* +G01X829433Y8254428D01* +G01X829433Y8257755D01* +G01X827966Y8260491D01* +G01X826499Y8263228D01* +G01X826499Y8266555D01* +G01X825033Y8269291D01* +G01X823566Y8272028D01* +G01X823566Y8275355D01* +G01X822099Y8278091D01* +G01X820633Y8280828D01* +G01X820633Y8284154D01* +G01X819166Y8286891D01* +G01X817700Y8289627D01* +G01X817700Y8292955D01* +G01X816233Y8295691D01* +G01X814766Y8298427D01* +G01X814766Y8301755D01* +G01X813300Y8304491D01* +G01X811833Y8307228D01* +G01X811833Y8310956D01* +G01X810793Y8312440D01* +G01X809754Y8313924D01* +G01X809245Y8316820D01* +G01X808735Y8319715D01* +G01X806806Y8322801D01* +G01X806304Y8325658D01* +G01X805802Y8328516D01* +G01X804838Y8330058D01* +G01X803873Y8331601D01* +G01X803371Y8334458D01* +G01X802868Y8337315D01* +G01X801904Y8338859D01* +G01X800940Y8340401D01* +G01X800437Y8343258D01* +G01X799935Y8346115D01* +G01X798971Y8347658D01* +G01X798006Y8349201D01* +G01X797002Y8354916D01* +G01X796037Y8356458D01* +G01X795073Y8358001D01* +G01X794571Y8360858D01* +G01X794069Y8363715D01* +G01X793104Y8365258D01* +G01X792140Y8366801D01* +G01X791637Y8369658D01* +G01X791135Y8372515D01* +G01X790214Y8373993D01* +G01X789292Y8375470D01* +G01X788775Y8378026D01* +G01X788256Y8380581D01* +G01X786933Y8384249D01* +G01X785608Y8387915D01* +G01X783801Y8393048D01* +G01X781833Y8399648D01* +G01X780581Y8403315D01* +G01X779328Y8406981D01* +G01X777980Y8410417D01* +G01X776633Y8413853D01* +G01X776633Y8416571D01* +G01X775167Y8419448D01* +G01X773700Y8422325D01* +G01X773700Y8425371D01* +G01X770766Y8431124D01* +G01X770766Y8434171D01* +G01X769300Y8437048D01* +G01X767833Y8439925D01* +G01X767833Y8442971D01* +G01X766366Y8445848D01* +G01X764900Y8448725D01* +G01X764900Y8449698D01* +G01X777304Y8449698D01* +G01X777806Y8446307D01* +G01X778309Y8442914D01* +G01X781033Y8437803D01* +G01X781033Y8434476D01* +G01X782500Y8431740D01* +G01X783966Y8429003D01* +G01X783966Y8425274D01* +G01X786045Y8422306D01* +G01X786555Y8419411D01* +G01X787064Y8416514D01* +G01X788029Y8414972D01* +G01X788993Y8413429D01* +G01X789495Y8410572D01* +G01X789998Y8407715D01* +G01X790962Y8406172D01* +G01X791926Y8404629D01* +G01X792428Y8401772D01* +G01X792931Y8398915D01* +G01X793895Y8397372D01* +G01X794860Y8395830D01* +G01X795362Y8392972D01* +G01X795864Y8390115D01* +G01X796828Y8388572D01* +G01X797793Y8387029D01* +G01X798295Y8384172D01* +G01X798797Y8381315D01* +G01X799719Y8379838D01* +G01X800641Y8378360D01* +G01X801676Y8373249D01* +G01X803001Y8369582D01* +G01X804325Y8365915D01* +G01X805228Y8363348D01* +G01X806132Y8360782D01* +G01X807115Y8357482D01* +G01X808099Y8354182D01* +G01X809359Y8350515D01* +G01X810620Y8346849D01* +G01X811873Y8343182D01* +G01X813125Y8339516D01* +G01X814029Y8336949D01* +G01X814932Y8334382D01* +G01X816899Y8327782D01* +G01X818159Y8324116D01* +G01X819420Y8320449D01* +G01X820673Y8316782D01* +G01X821925Y8313116D01* +G01X823732Y8307983D01* +G01X825699Y8301382D01* +G01X826951Y8297716D01* +G01X828204Y8294049D01* +G01X829552Y8290614D01* +G01X830900Y8287178D01* +G01X830900Y8284459D01* +G01X832366Y8281583D01* +G01X833833Y8278706D01* +G01X833833Y8275659D01* +G01X835300Y8272783D01* +G01X836766Y8269906D01* +G01X836766Y8266860D01* +G01X838233Y8263983D01* +G01X839700Y8261106D01* +G01X839700Y8257744D01* +G01X841167Y8255008D01* +G01X842633Y8252271D01* +G01X842633Y8248944D01* +G01X845567Y8243472D01* +G01X845567Y8240144D01* +G01X847033Y8237408D01* +G01X848500Y8234671D01* +G01X848500Y8231344D01* +G01X849966Y8228608D01* +G01X851433Y8225871D01* +G01X851433Y8222545D01* +G01X852899Y8219808D01* +G01X854366Y8217072D01* +G01X854366Y8213744D01* +G01X855833Y8211008D01* +G01X857299Y8208272D01* +G01X857299Y8204945D01* +G01X858766Y8202208D01* +G01X860233Y8199472D01* +G01X860233Y8196145D01* +G01X861700Y8193408D01* +G01X863166Y8190672D01* +G01X863166Y8186943D01* +G01X865245Y8183975D01* +G01X865754Y8181080D01* +G01X866264Y8178183D01* +G01X867229Y8176641D01* +G01X868193Y8175098D01* +G01X868695Y8172241D01* +G01X869197Y8169384D01* +G01X870162Y8167841D01* +G01X871127Y8166298D01* +G01X871629Y8163441D01* +G01X872131Y8160584D01* +G01X873095Y8159041D01* +G01X874060Y8157498D01* +G01X875064Y8151784D01* +G01X876029Y8150241D01* +G01X876993Y8148698D01* +G01X877496Y8145841D01* +G01X877998Y8142984D01* +G01X878962Y8141441D01* +G01X879926Y8139898D01* +G01X880429Y8137041D01* +G01X880931Y8134184D01* +G01X881895Y8132641D01* +G01X882859Y8131099D01* +G01X883362Y8128241D01* +G01X883864Y8125384D01* +G01X884786Y8123907D01* +G01X885707Y8122429D01* +G01X886742Y8117317D01* +G01X889392Y8109984D01* +G01X890295Y8107418D01* +G01X891198Y8104851D01* +G01X893165Y8098251D01* +G01X894426Y8094585D01* +G01X895686Y8090917D01* +G01X896939Y8087251D01* +G01X898191Y8083585D01* +G01X899999Y8078451D01* +G01X901966Y8071851D01* +G01X904487Y8064518D01* +G01X905739Y8060851D01* +G01X906991Y8057185D01* +G01X908799Y8052051D01* +G01X910766Y8045451D01* +G01X912019Y8041785D01* +G01X913271Y8038118D01* +G01X914619Y8034682D01* +G01X915966Y8031246D01* +G01X915991Y8029915D01* +G01X916016Y8028585D01* +G01X917433Y8025651D01* +G01X918850Y8022718D01* +G01X918899Y8021252D01* +G01X918950Y8019785D01* +G01X921783Y8013919D01* +G01X921808Y8012266D01* +G01X921833Y8010613D01* +G01X923299Y8007877D01* +G01X924766Y8005141D01* +G01X924766Y8001813D01* +G01X926233Y7999077D01* +G01X927700Y7996340D01* +G01X927700Y7993013D01* +G01X929166Y7990277D01* +G01X930633Y7987540D01* +G01X930633Y7984214D01* +G01X932100Y7981477D01* +G01X933566Y7978741D01* +G01X933566Y7975413D01* +G01X935033Y7972677D01* +G01X936500Y7969940D01* +G01X936500Y7966614D01* +G01X937966Y7963877D01* +G01X939433Y7961141D01* +G01X939433Y7957412D01* +G01X941512Y7954444D01* +G01X942021Y7951548D01* +G01X942531Y7948652D01* +G01X943496Y7947110D01* +G01X944460Y7945567D01* +G01X944962Y7942710D01* +G01X945464Y7939852D01* +G01X946429Y7938310D01* +G01X947393Y7936767D01* +G01X947895Y7933909D01* +G01X948398Y7931053D01* +G01X949362Y7929510D01* +G01X950326Y7927967D01* +G01X950829Y7925110D01* +G01X951331Y7922253D01* +G01X952295Y7920710D01* +G01X953259Y7919167D01* +G01X953762Y7916310D01* +G01X954265Y7913452D01* +G01X955228Y7911910D01* +G01X956193Y7910367D01* +G01X956695Y7907510D01* +G01X957198Y7904653D01* +G01X958162Y7903110D01* +G01X959126Y7901567D01* +G01X959628Y7898710D01* +G01X960131Y7895853D01* +G01X961095Y7894310D01* +G01X962060Y7892768D01* +G01X962562Y7889910D01* +G01X963064Y7887053D01* +G01X964907Y7884098D01* +G01X965682Y7880809D01* +G01X966457Y7877519D01* +G01X969020Y7870186D01* +G01X970272Y7866520D01* +G01X971525Y7862853D01* +G01X972429Y7860286D01* +G01X973332Y7857720D01* +G01X974315Y7854420D01* +G01X975299Y7851120D01* +G01X976559Y7847453D01* +G01X977820Y7843787D01* +G01X979073Y7840120D01* +G01X980325Y7836454D01* +G01X982132Y7831320D01* +G01X983116Y7828020D01* +G01X984099Y7824720D01* +G01X985352Y7821054D01* +G01X986604Y7817387D01* +G01X989299Y7810515D01* +G01X989299Y7807797D01* +G01X990766Y7804921D01* +G01X992233Y7802043D01* +G01X992233Y7798997D01* +G01X993700Y7796121D01* +G01X995166Y7793244D01* +G01X995166Y7790198D01* +G01X996633Y7787320D01* +G01X998100Y7784444D01* +G01X998100Y7781082D01* +G01X999566Y7778345D01* +G01X1001033Y7775609D01* +G01X1001033Y7772282D01* +G01X1002500Y7769546D01* +G01X1003967Y7766809D01* +G01X1003967Y7763482D01* +G01X1005433Y7760746D01* +G01X1006900Y7758009D01* +G01X1006900Y7754682D01* +G01X1008367Y7751945D01* +G01X1009833Y7749209D01* +G01X1009833Y7745883D01* +G01X1011300Y7743146D01* +G01X1012766Y7740410D01* +G01X1012766Y7737082D01* +G01X1014233Y7734346D01* +G01X1015700Y7731609D01* +G01X1015700Y7728282D01* +G01X1017166Y7725546D01* +G01X1018633Y7722809D01* +G01X1018633Y7719483D01* +G01X1020099Y7716746D01* +G01X1021566Y7714010D01* +G01X1021566Y7710682D01* +G01X1023033Y7707946D01* +G01X1024499Y7705210D01* +G01X1024499Y7701481D01* +G01X1026578Y7698513D01* +G01X1027088Y7695617D01* +G01X1027598Y7692721D01* +G01X1028562Y7691178D01* +G01X1029526Y7689636D01* +G01X1030028Y7686779D01* +G01X1030531Y7683922D01* +G01X1031495Y7682379D01* +G01X1032460Y7680836D01* +G01X1032962Y7677979D01* +G01X1033464Y7675121D01* +G01X1034429Y7673579D01* +G01X1035393Y7672036D01* +G01X1035895Y7669179D01* +G01X1036397Y7666322D01* +G01X1037362Y7664779D01* +G01X1038326Y7663236D01* +G01X1038829Y7660379D01* +G01X1039331Y7657522D01* +G01X1041134Y7654588D01* +G01X1041134Y7654588D01* +G01X1041631Y7652572D01* +G01X1042128Y7650555D01* +G01X1883128Y7650555D01* +G01X1884179Y7651606D01* +G01X1885230Y7652657D01* +G01X1885715Y7655691D01* +G01X1886200Y7658725D01* +G01X1888202Y7661922D01* +G01X1888704Y7664779D01* +G01X1889206Y7667636D01* +G01X1890171Y7669179D01* +G01X1891135Y7670721D01* +G01X1891638Y7673579D01* +G01X1892140Y7676436D01* +G01X1893104Y7677979D01* +G01X1894068Y7679521D01* +G01X1895073Y7685236D01* +G01X1896037Y7686779D01* +G01X1897001Y7688322D01* +G01X1897511Y7691217D01* +G01X1898021Y7694113D01* +G01X1899060Y7695597D01* +G01X1900100Y7697081D01* +G01X1900100Y7700809D01* +G01X1901566Y7703546D01* +G01X1903033Y7706282D01* +G01X1903033Y7709610D01* +G01X1904499Y7712346D01* +G01X1905966Y7715083D01* +G01X1905966Y7718410D01* +G01X1907433Y7721146D01* +G01X1908899Y7723883D01* +G01X1908899Y7727209D01* +G01X1910366Y7729946D01* +G01X1911833Y7732682D01* +G01X1911833Y7736010D01* +G01X1913300Y7738746D01* +G01X1914766Y7741482D01* +G01X1914766Y7744809D01* +G01X1916233Y7747546D01* +G01X1917700Y7750282D01* +G01X1917700Y7753609D01* +G01X1919166Y7756345D01* +G01X1920633Y7759082D01* +G01X1920633Y7762444D01* +G01X1922100Y7765321D01* +G01X1923566Y7768198D01* +G01X1923566Y7771244D01* +G01X1925033Y7774121D01* +G01X1926500Y7776997D01* +G01X1926500Y7780044D01* +G01X1927967Y7782921D01* +G01X1929433Y7785797D01* +G01X1929433Y7788844D01* +G01X1930900Y7791720D01* +G01X1932366Y7794597D01* +G01X1932366Y7797315D01* +G01X1935061Y7804187D01* +G01X1937567Y7811520D01* +G01X1939534Y7818120D01* +G01X1940437Y7820687D01* +G01X1941341Y7823253D01* +G01X1942593Y7826920D01* +G01X1943846Y7830587D01* +G01X1946367Y7837920D01* +G01X1948334Y7844520D01* +G01X1949238Y7847087D01* +G01X1950141Y7849653D01* +G01X1951394Y7853320D01* +G01X1952646Y7856987D01* +G01X1955209Y7864320D01* +G01X1955983Y7867609D01* +G01X1956759Y7870898D01* +G01X1957680Y7872376D01* +G01X1958601Y7873853D01* +G01X1959104Y7876710D01* +G01X1959606Y7879567D01* +G01X1960571Y7881110D01* +G01X1961535Y7882653D01* +G01X1962540Y7888368D01* +G01X1963504Y7889910D01* +G01X1964468Y7891453D01* +G01X1964971Y7894310D01* +G01X1965473Y7897167D01* +G01X1966437Y7898710D01* +G01X1967402Y7900253D01* +G01X1967904Y7903110D01* +G01X1968407Y7905967D01* +G01X1969370Y7907510D01* +G01X1970335Y7909053D01* +G01X1970837Y7911910D01* +G01X1971340Y7914767D01* +G01X1972304Y7916310D01* +G01X1973268Y7917853D01* +G01X1973770Y7920710D01* +G01X1974273Y7923567D01* +G01X1975237Y7925110D01* +G01X1976202Y7926653D01* +G01X1976711Y7929548D01* +G01X1977221Y7932444D01* +G01X1979300Y7935412D01* +G01X1979300Y7939141D01* +G01X1980766Y7941877D01* +G01X1982233Y7944614D01* +G01X1982233Y7947941D01* +G01X1983700Y7950677D01* +G01X1985166Y7953414D01* +G01X1985166Y7956741D01* +G01X1986633Y7959477D01* +G01X1988100Y7962214D01* +G01X1988100Y7965540D01* +G01X1989566Y7968277D01* +G01X1991033Y7971013D01* +G01X1991033Y7974341D01* +G01X1993967Y7979813D01* +G01X1993967Y7983141D01* +G01X1995433Y7985877D01* +G01X1996900Y7988614D01* +G01X1996900Y7991940D01* +G01X1998366Y7994677D01* +G01X1999833Y7997413D01* +G01X1999833Y8000740D01* +G01X2001300Y8003477D01* +G01X2002766Y8006213D01* +G01X2002766Y8009575D01* +G01X2004233Y8012452D01* +G01X2005699Y8015328D01* +G01X2005699Y8018375D01* +G01X2007166Y8021252D01* +G01X2008633Y8024129D01* +G01X2008633Y8027175D01* +G01X2010099Y8030051D01* +G01X2011566Y8032928D01* +G01X2011566Y8035975D01* +G01X2013033Y8038852D01* +G01X2014500Y8041728D01* +G01X2014500Y8044775D01* +G01X2015966Y8047651D01* +G01X2017433Y8050528D01* +G01X2017433Y8053575D01* +G01X2018900Y8056451D01* +G01X2020366Y8059328D01* +G01X2020366Y8062374D01* +G01X2021833Y8065252D01* +G01X2023300Y8068128D01* +G01X2023300Y8070846D01* +G01X2025995Y8077718D01* +G01X2027248Y8081384D01* +G01X2028500Y8085051D01* +G01X2029484Y8088351D01* +G01X2030468Y8091651D01* +G01X2031371Y8094217D01* +G01X2032274Y8096784D01* +G01X2033527Y8100451D01* +G01X2034779Y8104118D01* +G01X2037342Y8111451D01* +G01X2038117Y8114740D01* +G01X2038892Y8118029D01* +G01X2040735Y8120984D01* +G01X2041237Y8123841D01* +G01X2041740Y8126699D01* +G01X2042704Y8128241D01* +G01X2043669Y8129784D01* +G01X2044171Y8132641D01* +G01X2044673Y8135498D01* +G01X2045637Y8137041D01* +G01X2046602Y8138584D01* +G01X2047104Y8141441D01* +G01X2047606Y8144298D01* +G01X2048571Y8145841D01* +G01X2049535Y8147384D01* +G01X2050037Y8150241D01* +G01X2050540Y8153098D01* +G01X2051504Y8154641D01* +G01X2052468Y8156184D01* +G01X2052971Y8159041D01* +G01X2053473Y8161898D01* +G01X2054438Y8163441D01* +G01X2055402Y8164984D01* +G01X2055904Y8167841D01* +G01X2056406Y8170698D01* +G01X2057371Y8172241D01* +G01X2058335Y8173784D01* +G01X2058844Y8176680D01* +G01X2059354Y8179575D01* +G01X2060393Y8181059D01* +G01X2061433Y8182543D01* +G01X2061433Y8186272D01* +G01X2062900Y8189008D01* +G01X2064366Y8191745D01* +G01X2064366Y8195072D01* +G01X2065833Y8197809D01* +G01X2067300Y8200545D01* +G01X2067300Y8203871D01* +G01X2068766Y8206608D01* +G01X2070233Y8209344D01* +G01X2070233Y8212672D01* +G01X2071699Y8215408D01* +G01X2073166Y8218145D01* +G01X2073166Y8221472D01* +G01X2074633Y8224208D01* +G01X2076099Y8226945D01* +G01X2076099Y8230271D01* +G01X2077566Y8233008D01* +G01X2079033Y8235744D01* +G01X2079033Y8239072D01* +G01X2080500Y8241808D01* +G01X2081966Y8244544D01* +G01X2081966Y8247871D01* +G01X2083433Y8250608D01* +G01X2084900Y8253344D01* +G01X2084900Y8256671D01* +G01X2086366Y8259407D01* +G01X2087833Y8262144D01* +G01X2087833Y8265506D01* +G01X2089300Y8268383D01* +G01X2090767Y8271260D01* +G01X2090767Y8274306D01* +G01X2092233Y8277183D01* +G01X2093700Y8280059D01* +G01X2093716Y8281554D01* +G01X2093732Y8283050D01* +G01X2096633Y8289443D01* +G01X2096633Y8291753D01* +G01X2097981Y8294734D01* +G01X2099330Y8297716D01* +G01X2100101Y8300649D01* +G01X2100872Y8303583D01* +G01X2102674Y8308716D01* +G01X2103927Y8312382D01* +G01X2105179Y8316049D01* +G01X2106440Y8319715D01* +G01X2107700Y8323382D01* +G01X2108684Y8326683D01* +G01X2109667Y8329982D01* +G01X2111475Y8335115D01* +G01X2112727Y8338782D01* +G01X2113979Y8342449D01* +G01X2115260Y8346115D01* +G01X2116542Y8349782D01* +G01X2117317Y8353072D01* +G01X2118092Y8356361D01* +G01X2119013Y8357838D01* +G01X2119935Y8359315D01* +G01X2120438Y8362172D01* +G01X2120940Y8365030D01* +G01X2121904Y8366572D01* +G01X2122868Y8368115D01* +G01X2123371Y8370972D01* +G01X2123873Y8373830D01* +G01X2124838Y8375373D01* +G01X2125801Y8376915D01* +G01X2126304Y8379772D01* +G01X2126807Y8382629D01* +G01X2127771Y8384172D01* +G01X2128735Y8385715D01* +G01X2129740Y8391430D01* +G01X2130704Y8392972D01* +G01X2131668Y8394515D01* +G01X2132170Y8397372D01* +G01X2132673Y8400229D01* +G01X2133637Y8401772D01* +G01X2134602Y8403315D01* +G01X2135104Y8406172D01* +G01X2135606Y8409029D01* +G01X2136570Y8410572D01* +G01X2137535Y8412115D01* +G01X2138037Y8414972D01* +G01X2138540Y8417829D01* +G01X2140469Y8420915D01* +G01X2141487Y8426706D01* +G01X2143566Y8429674D01* +G01X2143566Y8433403D01* +G01X2145033Y8436140D01* +G01X2146500Y8438876D01* +G01X2146500Y8442203D01* +G01X2147966Y8444939D01* +G01X2149433Y8447676D01* +G01X2149433Y8449624D01* +G01X2141287Y8455381D01* +G01X2138576Y8457389D01* +G01X2135866Y8459397D01* +G01X2134793Y8460322D01* +G01X2133720Y8461248D01* +G01X2132475Y8461981D01* +G01X2131229Y8462714D01* +G01X2127908Y8465043D01* +G01X2124589Y8467371D01* +G01X2122160Y8469076D01* +G01X2119733Y8470781D01* +G01X2117818Y8472247D01* +G01X2115904Y8473714D01* +G01X2114518Y8474609D01* +G01X2113133Y8475505D01* +G01X2109466Y8478080D01* +G01X2105800Y8480655D01* +G01X2101766Y8483403D01* +G01X2097733Y8486152D01* +G01X2097473Y8486763D01* +G01X2097212Y8487375D01* +G01X2095640Y8488065D01* +G01X2094066Y8488755D01* +G01X2085266Y8495369D01* +G01X2076099Y8501451D01* +G01X2076099Y8502681D01* +G01X2074499Y8502681D01* +G01X2072549Y8504172D01* +G01X2070600Y8505664D01* +G01X2066898Y8508389D01* +G01X2063196Y8511114D01* +G01X2062051Y8511847D01* +G01X2060905Y8512580D01* +G01X2058786Y8513996D01* +G01X2056666Y8515411D01* +G01X2055916Y8516196D01* +G01X2055166Y8516981D01* +G01X2053985Y8517714D01* +G01X2052803Y8518447D01* +G01X2048502Y8521355D01* +G01X2044199Y8524263D01* +G01X2043749Y8524905D01* +G01X2043298Y8525546D01* +G01X2041837Y8526396D01* +G01X2040376Y8527247D01* +G01X2037521Y8529223D01* +G01X2034666Y8531199D01* +G01X2031000Y8533826D01* +G01X2027333Y8536455D01* +G01X2025499Y8537708D01* +G01X2023666Y8538961D01* +G01X2022697Y8539888D01* +G01X2021728Y8540813D01* +G01X2020623Y8540813D01* +G01X2016278Y8544110D01* +G01X2011933Y8547406D01* +G01X2010466Y8548525D01* +G01X2008633Y8549775D01* +G01X2006800Y8551025D01* +G01X2000566Y8555427D01* +G01X1994333Y8559829D01* +G01X1990299Y8562578D01* +G01X1986267Y8565327D01* +G01X1985680Y8566270D01* +G01X1985094Y8567213D01* +G01X1983565Y8567213D01* +G01X1981616Y8568705D01* +G01X1979666Y8570197D01* +G01X1975964Y8572922D01* +G01X1972263Y8575647D01* +G01X1969972Y8577113D01* +G01X1967853Y8578529D01* +G01X1965733Y8579944D01* +G01X1964983Y8580728D01* +G01X1964233Y8581513D01* +G01X1963051Y8582247D01* +G01X1961870Y8582980D01* +G01X1957568Y8585888D01* +G01X1953266Y8588796D01* +G01X1952815Y8589437D01* +G01X1952365Y8590079D01* +G01X1950903Y8590930D01* +G01X1949443Y8591780D01* +G01X1946588Y8593755D01* +G01X1943733Y8595731D01* +G01X1940066Y8598360D01* +G01X1936399Y8600987D01* +G01X1932733Y8603479D01* +G01X1932282Y8604112D01* +G01X1931831Y8604746D01* +G01X1930341Y8605596D01* +G01X1928852Y8606446D01* +G01X1924559Y8609367D01* +G01X1920267Y8612288D01* +G01X1919533Y8612859D01* +G01X1918800Y8613431D01* +G01X1913466Y8617446D01* +G01X1912099Y8618342D01* +G01X1910733Y8619236D01* +G01X1907066Y8621812D01* +G01X1903400Y8624387D01* +G01X1899366Y8627123D01* +G01X1895333Y8629860D01* +G01X1894747Y8630803D01* +G01X1894160Y8631746D01* +G01X1892631Y8631746D01* +G01X1890683Y8633238D01* +G01X1888733Y8634730D01* +G01X1885031Y8637454D01* +G01X1881330Y8640179D01* +G01X1879898Y8641113D01* +G01X1878466Y8642047D01* +G01X1876083Y8643569D01* +G01X1873699Y8645091D01* +G01X1873699Y8646413D01* +G01X1872098Y8646413D01* +G01X1870149Y8647904D01* +G01X1868200Y8649396D01* +G01X1864498Y8652121D01* +G01X1860796Y8654846D01* +G01X1859364Y8655780D01* +G01X1857933Y8656713D01* +G01X1855550Y8658235D01* +G01X1853166Y8659757D01* +G01X1853166Y8661079D01* +G01X1851751Y8661079D01* +G01X1848609Y8663303D01* +G01X1845466Y8665527D01* +G01X1841800Y8668010D01* +G01X1841213Y8668945D01* +G01X1840627Y8669879D01* +G01X1839078Y8669879D01* +G01X1837014Y8671529D01* +G01X1834951Y8673179D01* +G01X1827423Y8678312D01* +G01X1824977Y8680146D01* +G01X1822532Y8681979D01* +G01X1819799Y8683770D01* +G01X1812466Y8688919D01* +G01X1808433Y8691668D01* +G01X1804399Y8694417D01* +G01X1804140Y8695028D01* +G01X1803879Y8695640D01* +G01X1802306Y8696330D01* +G01X1800733Y8697019D01* +G01X1796333Y8700312D01* +G01X1791933Y8703605D01* +G01X1783866Y8709059D01* +G01X1783280Y8710002D01* +G01X1782693Y8710945D01* +G01X1781165Y8710945D01* +G01X1779216Y8712437D01* +G01X1777266Y8713929D01* +G01X1773564Y8716654D01* +G01X1769863Y8719379D01* +G01X1768717Y8720112D01* +G01X1767572Y8720845D01* +G01X1765452Y8722260D01* +G01X1763333Y8723676D01* +G01X1762583Y8724461D01* +G01X1761833Y8725245D01* +G01X1760651Y8725978D01* +G01X1759470Y8726712D01* +G01X1755168Y8729620D01* +G01X1750866Y8732528D01* +G01X1750415Y8733170D01* +G01X1749965Y8733811D01* +G01X1748503Y8734661D01* +G01X1747043Y8735512D01* +G01X1744188Y8737488D01* +G01X1741333Y8739464D01* +G01X1737667Y8742091D01* +G01X1733999Y8744719D01* +G01X1732166Y8745973D01* +G01X1730333Y8747226D01* +G01X1729364Y8748152D01* +G01X1728395Y8749078D01* +G01X1727289Y8749078D01* +G01X1722945Y8752375D01* +G01X1718599Y8755671D01* +G01X1717866Y8756231D01* +G01X1717133Y8756790D01* +G01X1715299Y8758040D01* +G01X1713466Y8759290D01* +G01X1707233Y8763692D01* +G01X1701000Y8768094D01* +G01X1692933Y8773592D01* +G01X1692347Y8774535D01* +G01X1691760Y8775478D01* +G01X1690231Y8775478D01* +G01X1688282Y8776970D01* +G01X1686333Y8778462D01* +G01X1678929Y8783911D01* +G01X1677784Y8784645D01* +G01X1676639Y8785378D01* +G01X1672399Y8788209D01* +G01X1671649Y8788993D01* +G01X1670900Y8789778D01* +G01X1669718Y8790511D01* +G01X1668537Y8791245D01* +G01X1664235Y8794152D01* +G01X1659933Y8797061D01* +G01X1659482Y8797702D01* +G01X1659031Y8798344D01* +G01X1656109Y8800045D01* +G01X1653255Y8802020D01* +G01X1650400Y8803996D01* +G01X1646733Y8806624D01* +G01X1643066Y8809252D01* +G01X1639400Y8811744D01* +G01X1638949Y8812377D01* +G01X1638498Y8813011D01* +G01X1637008Y8813861D01* +G01X1635519Y8814711D01* +G01X1626933Y8820553D01* +G01X1626200Y8821124D01* +G01X1625467Y8821695D01* +G01X1622800Y8823703D01* +G01X1620132Y8825711D01* +G01X1618766Y8826606D01* +G01X1617399Y8827501D01* +G01X1613733Y8830077D01* +G01X1610067Y8832652D01* +G01X1606033Y8835388D01* +G01X1601999Y8838125D01* +G01X1601413Y8839068D01* +G01X1600827Y8840011D01* +G01X1599298Y8840011D01* +G01X1597349Y8841503D01* +G01X1595400Y8842994D01* +G01X1587996Y8848444D01* +G01X1586565Y8849378D01* +G01X1585133Y8850311D01* +G01X1582749Y8851833D01* +G01X1580366Y8853356D01* +G01X1580366Y8854678D01* +G01X1578765Y8854678D01* +G01X1576815Y8856169D01* +G01X1574867Y8857661D01* +G01X1567462Y8863110D01* +G01X1566031Y8864044D01* +G01X1564600Y8864978D01* +G01X1562216Y8866500D01* +G01X1559833Y8868022D01* +G01X1559833Y8869344D01* +G01X1558418Y8869344D01* +G01X1555276Y8871568D01* +G01X1552133Y8873792D01* +G01X1548466Y8876275D01* +G01X1547880Y8877210D01* +G01X1547294Y8878144D01* +G01X1545745Y8878144D01* +G01X1543681Y8879794D01* +G01X1541618Y8881444D01* +G01X1534089Y8886577D01* +G01X1529199Y8890244D01* +G01X1527833Y8891139D01* +G01X1526466Y8892034D01* +G01X1519133Y8897184D01* +G01X1515100Y8899922D01* +G01X1511066Y8902660D01* +G01X1510700Y8903164D01* +G01X1510333Y8903669D01* +G01X1504466Y8907748D01* +G01X1498600Y8911826D01* +G01X1490533Y8917324D01* +G01X1489947Y8918267D01* +G01X1489360Y8919210D01* +G01X1487832Y8919210D01* +G01X1485882Y8920702D01* +G01X1483933Y8922194D01* +G01X1476529Y8927644D01* +G01X1473667Y8929510D01* +G01X1471283Y8931032D01* +G01X1468900Y8932555D01* +G01X1468900Y8933877D01* +G01X1467298Y8933877D01* +G01X1465433Y8935343D01* +G01X1463569Y8936810D01* +G01X1461746Y8936810D01* +G01X1460884Y8935771D01* +G01X1460022Y8934733D01* +G01X1449831Y8927644D01* +G01X1447449Y8925982D01* +G01X1445066Y8924321D01* +G01X1443681Y8923416D01* +G01X1442296Y8922510D01* +G01X1440381Y8921043D01* +G01X1438466Y8919577D01* +G01X1436038Y8917872D01* +G01X1433611Y8916167D01* +G01X1430291Y8913839D01* +G01X1426971Y8911510D01* +G01X1424479Y8910043D01* +G01X1423406Y8909099D01* +G01X1422333Y8908155D01* +G01X1417761Y8904883D01* +G01X1413189Y8901610D01* +G01X1411699Y8901610D01* +G01X1411699Y8900289D01* +G01X1409316Y8898767D01* +G01X1406933Y8897244D01* +G01X1405501Y8896310D01* +G01X1404070Y8895377D01* +G01X1400368Y8892652D01* +G01X1396666Y8889927D01* +G01X1394717Y8888436D01* +G01X1392768Y8886944D01* +G01X1391239Y8886944D01* +G01X1390653Y8886001D01* +G01X1390066Y8885058D01* +G01X1386033Y8882330D01* +G01X1382000Y8879603D01* +G01X1377599Y8876311D01* +G01X1373199Y8873018D01* +G01X1371627Y8872328D01* +G01X1370054Y8871639D01* +G01X1369533Y8870415D01* +G01X1365499Y8867666D01* +G01X1361467Y8864918D01* +G01X1357799Y8862343D01* +G01X1354133Y8859768D01* +G01X1352767Y8858872D01* +G01X1351401Y8857977D01* +G01X1346510Y8854311D01* +G01X1342745Y8851744D01* +G01X1338982Y8849177D01* +G01X1336918Y8847528D01* +G01X1334854Y8845877D01* +G01X1333306Y8845877D01* +G01X1332719Y8844943D01* +G01X1332133Y8844009D01* +G01X1328466Y8841519D01* +G01X1324800Y8838890D01* +G01X1321133Y8836263D01* +G01X1318278Y8834287D01* +G01X1315423Y8832311D01* +G01X1313962Y8831460D01* +G01X1312502Y8830610D01* +G01X1312051Y8829969D01* +G01X1311599Y8829327D01* +G01X1307298Y8826419D01* +G01X1302996Y8823511D01* +G01X1301815Y8822777D01* +G01X1300634Y8822045D01* +G01X1299883Y8821260D01* +G01X1299133Y8820475D01* +G01X1294894Y8817644D01* +G01X1293749Y8816911D01* +G01X1292603Y8816178D01* +G01X1288901Y8813453D01* +G01X1285200Y8810728D01* +G01X1283250Y8809236D01* +G01X1281301Y8807745D01* +G01X1279773Y8807745D01* +G01X1279186Y8806802D01* +G01X1278600Y8805859D01* +G01X1274566Y8803122D01* +G01X1270533Y8800385D01* +G01X1266866Y8797810D01* +G01X1263200Y8795235D01* +G01X1261833Y8794340D01* +G01X1260467Y8793444D01* +G01X1255665Y8789778D01* +G01X1254299Y8788853D01* +G01X1252933Y8787930D01* +G01X1247800Y8784278D01* +G01X1242666Y8780626D01* +G01X1241300Y8779703D01* +G01X1239934Y8778778D01* +G01X1235043Y8775112D01* +G01X1231279Y8772545D01* +G01X1227515Y8769978D01* +G01X1225451Y8768328D01* +G01X1223388Y8766678D01* +G01X1221839Y8766678D01* +G01X1221253Y8765735D01* +G01X1220666Y8764792D01* +G01X1216365Y8761885D01* +G01X1212062Y8758978D01* +G01X1209700Y8757511D01* +G01X1208950Y8756727D01* +G01X1208200Y8755942D01* +G01X1203961Y8753112D01* +G01X1202815Y8752378D01* +G01X1201670Y8751645D01* +G01X1197968Y8748920D01* +G01X1194267Y8746195D01* +G01X1190368Y8743212D01* +G01X1188839Y8743212D01* +G01X1188253Y8742268D01* +G01X1187666Y8741325D01* +G01X1183633Y8738577D01* +G01X1179599Y8735828D01* +G01X1173733Y8731750D01* +G01X1167866Y8727671D01* +G01X1167499Y8727179D01* +G01X1167133Y8726688D01* +G01X1161816Y8723033D01* +G01X1156497Y8719379D01* +G01X1154116Y8717718D01* +G01X1151733Y8716056D01* +G01X1150347Y8715151D01* +G01X1148963Y8714245D01* +G01X1147047Y8712779D01* +G01X1145133Y8711312D01* +G01X1142705Y8709607D01* +G01X1140278Y8707903D01* +G01X1136957Y8705574D01* +G01X1133637Y8703245D01* +G01X1131146Y8701779D01* +G01X1128999Y8699890D01* +G01X1124428Y8696618D01* +G01X1119856Y8693345D01* +G01X1118366Y8693345D01* +G01X1118366Y8692024D01* +G01X1115983Y8690502D01* +G01X1113599Y8688979D01* +G01X1110737Y8687112D01* +G01X1103333Y8681663D01* +G01X1101384Y8680171D01* +G01X1099434Y8678679D01* +G01X1097906Y8678679D01* +G01X1097319Y8677736D01* +G01X1096733Y8676793D01* +G01X1088666Y8671338D01* +G01X1084266Y8668046D01* +G01X1079866Y8664753D01* +G01X1078293Y8664063D01* +G01X1076720Y8663374D01* +G01X1076460Y8662762D01* +G01X1076200Y8662150D01* +G01X1072166Y8659402D01* +G01X1068133Y8656653D01* +G01X1060800Y8651503D01* +G01X1059433Y8650608D01* +G01X1058067Y8649712D01* +G01X1053177Y8646046D01* +G01X1045648Y8640913D01* +G01X1043585Y8639263D01* +G01X1041521Y8637612D01* +G01X1039972Y8637612D01* +G01X1039386Y8636678D01* +G01X1038800Y8635744D01* +G01X1035133Y8633254D01* +G01X1031467Y8630626D01* +G01X1027799Y8627998D01* +G01X1024944Y8626022D01* +G01X1022090Y8624046D01* +G01X1020629Y8623196D01* +G01X1019168Y8622345D01* +G01X1018717Y8621704D01* +G01X1018266Y8621062D01* +G01X1013965Y8618154D01* +G01X1009663Y8615246D01* +G01X1008481Y8614513D01* +G01X1007300Y8613780D01* +G01X1006550Y8612995D01* +G01X1005800Y8612210D01* +G01X1001561Y8609379D01* +G01X1000415Y8608647D01* +G01X999270Y8607913D01* +G01X991866Y8602464D01* +G01X989917Y8600971D01* +G01X987968Y8599480D01* +G01X986439Y8599480D01* +G01X985853Y8598537D01* +G01X985267Y8597594D01* +G01X977199Y8592120D01* +G01X969866Y8586970D01* +G01X968500Y8586075D01* +G01X967134Y8585180D01* +G01X962332Y8581513D01* +G01X960966Y8580589D01* +G01X959600Y8579665D01* +G01X954466Y8576013D01* +G01X949333Y8572362D01* +G01X947967Y8571438D01* +G01X946601Y8570513D01* +G01X941710Y8566847D01* +G01X934181Y8561714D01* +G01X932118Y8560063D01* +G01X930055Y8558413D01* +G01X928506Y8558413D01* +G01X927920Y8557470D01* +G01X927333Y8556528D01* +G01X923031Y8553621D01* +G01X918729Y8550714D01* +G01X917548Y8549980D01* +G01X916366Y8549247D01* +G01X915617Y8548462D01* +G01X914867Y8547678D01* +G01X910627Y8544847D01* +G01X908336Y8543380D01* +G01X904635Y8540655D01* +G01X900933Y8537930D01* +G01X898983Y8536439D01* +G01X897035Y8534947D01* +G01X895506Y8534947D01* +G01X894919Y8534004D01* +G01X894333Y8533061D01* +G01X890300Y8530312D01* +G01X886266Y8527564D01* +G01X880399Y8523485D01* +G01X874533Y8519406D01* +G01X873800Y8518423D01* +G01X868482Y8514768D01* +G01X863164Y8511114D01* +G01X860782Y8509453D01* +G01X858400Y8507792D01* +G01X855629Y8505981D01* +G01X851800Y8503047D01* +G01X849372Y8501343D01* +G01X846944Y8499638D01* +G01X840304Y8494981D01* +G01X839058Y8494247D01* +G01X837813Y8493514D01* +G01X835666Y8491625D01* +G01X831094Y8488353D01* +G01X826523Y8485081D01* +G01X825033Y8485081D01* +G01X825033Y8483759D01* +G01X822649Y8482237D01* +G01X820266Y8480714D01* +G01X818835Y8479781D01* +G01X817403Y8478847D01* +G01X813702Y8476123D01* +G01X810000Y8473398D01* +G01X808050Y8471906D01* +G01X806101Y8470414D01* +G01X804573Y8470414D01* +G01X803399Y8468528D01* +G01X799366Y8465801D01* +G01X795333Y8463074D01* +G01X790933Y8459778D01* +G01X786533Y8456482D01* +G01X785433Y8455996D01* +G01X784333Y8455509D01* +G01X783233Y8454532D01* +G01X782133Y8453556D01* +G01X779718Y8451626D01* +G01X777304Y8449698D01* +G01X764900Y8449698D01* +G01X764900Y8454281D01* +G01X766366Y8455748D01* +G01X767833Y8457214D01* +G01X769195Y8457214D01* +G01X770164Y8458140D01* +G01X771133Y8459067D01* +G01X772966Y8460320D01* +G01X774800Y8461573D01* +G01X778466Y8464201D01* +G01X782133Y8466830D01* +G01X784988Y8468805D01* +G01X787842Y8470781D01* +G01X790765Y8472482D01* +G01X791666Y8473748D01* +G01X795333Y8476240D01* +G01X798999Y8478868D01* +G01X802667Y8481496D01* +G01X805521Y8483471D01* +G01X808376Y8485448D01* +G01X809837Y8486298D01* +G01X811297Y8487148D01* +G01X811749Y8487790D01* +G01X812200Y8488431D01* +G01X816501Y8491340D01* +G01X820803Y8494247D01* +G01X823166Y8495714D01* +G01X823916Y8496498D01* +G01X824666Y8497283D01* +G01X828905Y8500114D01* +G01X830051Y8500847D01* +G01X831196Y8501581D01* +G01X838600Y8507030D01* +G01X840549Y8508522D01* +G01X842498Y8510014D01* +G01X844027Y8510014D01* +G01X844613Y8510957D01* +G01X845199Y8511900D01* +G01X853267Y8517398D01* +G01X859500Y8521800D01* +G01X865733Y8526202D01* +G01X867566Y8527452D01* +G01X869399Y8528702D01* +G01X870866Y8529882D01* +G01X876000Y8533507D01* +G01X881133Y8537132D01* +G01X882499Y8538056D01* +G01X883865Y8538980D01* +G01X886311Y8540813D01* +G01X888756Y8542647D01* +G01X896285Y8547780D01* +G01X898348Y8549430D01* +G01X900411Y8551080D01* +G01X901960Y8551080D01* +G01X902546Y8552023D01* +G01X903133Y8552966D01* +G01X907435Y8555873D01* +G01X911737Y8558780D01* +G01X914099Y8560247D01* +G01X914849Y8561032D01* +G01X915599Y8561816D01* +G01X919839Y8564647D01* +G01X920984Y8565380D01* +G01X922129Y8566113D01* +G01X929533Y8571563D01* +G01X931482Y8573055D01* +G01X933431Y8574547D01* +G01X934960Y8574547D01* +G01X935547Y8575490D01* +G01X936133Y8576433D01* +G01X944200Y8581930D01* +G01X950067Y8586009D01* +G01X955933Y8590088D01* +G01X956300Y8590579D01* +G01X956666Y8591071D01* +G01X961984Y8594726D01* +G01X967302Y8598380D01* +G01X969684Y8600041D01* +G01X972066Y8601702D01* +G01X974837Y8603513D01* +G01X976752Y8604979D01* +G01X978666Y8606446D01* +G01X981094Y8608151D01* +G01X983522Y8609856D01* +G01X990162Y8614513D01* +G01X991408Y8615246D01* +G01X992653Y8615979D01* +G01X994800Y8617868D01* +G01X999371Y8621141D01* +G01X1003943Y8624413D01* +G01X1005433Y8624413D01* +G01X1005433Y8625735D01* +G01X1007816Y8627257D01* +G01X1010200Y8628779D01* +G01X1011631Y8629713D01* +G01X1013063Y8630646D01* +G01X1016764Y8633371D01* +G01X1020466Y8636095D01* +G01X1022416Y8637588D01* +G01X1024365Y8639079D01* +G01X1025966Y8639079D01* +G01X1025966Y8640309D01* +G01X1035133Y8646391D01* +G01X1043933Y8653005D01* +G01X1045506Y8653695D01* +G01X1047079Y8654385D01* +G01X1047340Y8654997D01* +G01X1047599Y8655608D01* +G01X1051633Y8658357D01* +G01X1055666Y8661105D01* +G01X1062999Y8666255D01* +G01X1065732Y8668046D01* +G01X1068177Y8669879D01* +G01X1070623Y8671712D01* +G01X1078151Y8676846D01* +G01X1080214Y8678496D01* +G01X1082278Y8680146D01* +G01X1083827Y8680146D01* +G01X1084414Y8681080D01* +G01X1085000Y8682014D01* +G01X1086833Y8683259D01* +G01X1088666Y8684504D01* +G01X1092333Y8687132D01* +G01X1096000Y8689761D01* +G01X1098855Y8691736D01* +G01X1101710Y8693712D01* +G01X1103170Y8694563D01* +G01X1104631Y8695413D01* +G01X1105082Y8696055D01* +G01X1105533Y8696696D01* +G01X1109835Y8699604D01* +G01X1114137Y8702512D01* +G01X1115318Y8703245D01* +G01X1116499Y8703979D01* +G01X1117249Y8704763D01* +G01X1118000Y8705548D01* +G01X1120119Y8706963D01* +G01X1122239Y8708379D01* +G01X1124530Y8709846D01* +G01X1128231Y8712570D01* +G01X1131933Y8715295D01* +G01X1133883Y8716787D01* +G01X1135831Y8718278D01* +G01X1137360Y8718278D01* +G01X1137947Y8719222D01* +G01X1138533Y8720165D01* +G01X1142566Y8722914D01* +G01X1146600Y8725663D01* +G01X1152833Y8730064D01* +G01X1159066Y8734467D01* +G01X1160900Y8735717D01* +G01X1162733Y8736967D01* +G01X1163467Y8737557D01* +G01X1164199Y8738147D01* +G01X1169333Y8741772D01* +G01X1174466Y8745396D01* +G01X1175833Y8746321D01* +G01X1177199Y8747245D01* +G01X1179644Y8749078D01* +G01X1182089Y8750912D01* +G01X1189618Y8756045D01* +G01X1191682Y8757695D01* +G01X1193745Y8759345D01* +G01X1195293Y8759345D01* +G01X1195880Y8760288D01* +G01X1196466Y8761231D01* +G01X1200768Y8764138D01* +G01X1205070Y8767045D01* +G01X1206251Y8767778D01* +G01X1207433Y8768511D01* +G01X1208183Y8769296D01* +G01X1208933Y8770081D01* +G01X1211053Y8771496D01* +G01X1213172Y8772911D01* +G01X1215463Y8774378D01* +G01X1219164Y8777103D01* +G01X1222866Y8779828D01* +G01X1224816Y8781319D01* +G01X1226765Y8782812D01* +G01X1228294Y8782812D01* +G01X1228880Y8783754D01* +G01X1229467Y8784697D01* +G01X1233499Y8787446D01* +G01X1237533Y8790195D01* +G01X1249266Y8798352D01* +G01X1249633Y8798844D01* +G01X1250000Y8799336D01* +G01X1260635Y8806645D01* +G01X1265400Y8809967D01* +G01X1266766Y8810873D01* +G01X1268132Y8811778D01* +G01X1273023Y8815444D01* +G01X1276787Y8818011D01* +G01X1280551Y8820578D01* +G01X1282615Y8822227D01* +G01X1284678Y8823878D01* +G01X1286227Y8823878D01* +G01X1286813Y8824812D01* +G01X1287400Y8825746D01* +G01X1289233Y8826988D01* +G01X1291066Y8828229D01* +G01X1294209Y8830454D01* +G01X1297352Y8832678D01* +G01X1298766Y8832678D01* +G01X1298766Y8834000D01* +G01X1301150Y8835522D01* +G01X1303533Y8837044D01* +G01X1304964Y8837977D01* +G01X1306396Y8838911D01* +G01X1310098Y8841635D01* +G01X1313800Y8844360D01* +G01X1315749Y8845852D01* +G01X1317699Y8847344D01* +G01X1319299Y8847344D01* +G01X1319299Y8848574D01* +G01X1328466Y8854656D01* +G01X1337266Y8861270D01* +G01X1338840Y8861960D01* +G01X1340412Y8862649D01* +G01X1340673Y8863261D01* +G01X1340933Y8863873D01* +G01X1344966Y8866622D01* +G01X1349000Y8869370D01* +G01X1352666Y8871945D01* +G01X1356333Y8874520D01* +G01X1357699Y8875415D01* +G01X1359066Y8876311D01* +G01X1363956Y8879977D01* +G01X1367720Y8882544D01* +G01X1371484Y8885110D01* +G01X1373548Y8886761D01* +G01X1375611Y8888410D01* +G01X1377160Y8888410D01* +G01X1377747Y8889344D01* +G01X1378333Y8890279D01* +G01X1380166Y8891524D01* +G01X1382000Y8892769D01* +G01X1389333Y8898025D01* +G01X1392188Y8900001D01* +G01X1395043Y8901977D01* +G01X1396503Y8902827D01* +G01X1397964Y8903678D01* +G01X1398415Y8904320D01* +G01X1398866Y8904961D01* +G01X1403168Y8907869D01* +G01X1407470Y8910777D01* +G01X1408651Y8911510D01* +G01X1409833Y8912244D01* +G01X1410583Y8913028D01* +G01X1411333Y8913813D01* +G01X1413453Y8915228D01* +G01X1415572Y8916644D01* +G01X1417863Y8918110D01* +G01X1421564Y8920835D01* +G01X1425266Y8923560D01* +G01X1429165Y8926543D01* +G01X1430694Y8926543D01* +G01X1431280Y8927487D01* +G01X1431866Y8928430D01* +G01X1435899Y8931179D01* +G01X1439933Y8933927D01* +G01X1446166Y8938329D01* +G01X1452400Y8942732D01* +G01X1454233Y8943982D01* +G01X1456066Y8945232D01* +G01X1457035Y8945971D01* +G01X1458005Y8946710D01* +G01X1460466Y8949155D01* +G01X1462849Y8949216D01* +G01X1465233Y8949276D01* +G01X1466699Y8947993D01* +G01X1468166Y8946710D01* +G01X1469514Y8945610D01* +G01X1470862Y8944510D01* +G01X1471995Y8943777D01* +G01X1473129Y8943043D01* +G01X1477431Y8940135D01* +G01X1481733Y8937227D01* +G01X1482184Y8936585D01* +G01X1482635Y8935944D01* +G01X1484096Y8935094D01* +G01X1485556Y8934243D01* +G01X1488411Y8932268D01* +G01X1491266Y8930291D01* +G01X1494933Y8927664D01* +G01X1498600Y8925036D01* +G01X1502266Y8922544D01* +G01X1503168Y8921278D01* +G01X1504658Y8920427D01* +G01X1506147Y8919577D01* +G01X1510440Y8916656D01* +G01X1514733Y8913735D01* +G01X1516200Y8912593D01* +G01X1521534Y8908577D01* +G01X1524267Y8906786D01* +G01X1531600Y8901637D01* +G01X1539667Y8896163D01* +G01X1540253Y8895220D01* +G01X1540839Y8894277D01* +G01X1542368Y8894277D01* +G01X1544317Y8892785D01* +G01X1546266Y8891293D01* +G01X1549968Y8888569D01* +G01X1553670Y8885844D01* +G01X1555102Y8884910D01* +G01X1556533Y8883977D01* +G01X1558917Y8882454D01* +G01X1561300Y8880932D01* +G01X1561300Y8879611D01* +G01X1562901Y8879611D01* +G01X1564850Y8878118D01* +G01X1566800Y8876627D01* +G01X1570502Y8873902D01* +G01X1574203Y8871177D01* +G01X1575635Y8870244D01* +G01X1577066Y8869310D01* +G01X1579449Y8867788D01* +G01X1581833Y8866266D01* +G01X1581833Y8864944D01* +G01X1583248Y8864944D01* +G01X1586391Y8862720D01* +G01X1589533Y8860496D01* +G01X1591366Y8859254D01* +G01X1593200Y8858013D01* +G01X1593786Y8857079D01* +G01X1594372Y8856144D01* +G01X1595921Y8856144D01* +G01X1597985Y8854494D01* +G01X1600048Y8852844D01* +G01X1607577Y8847710D01* +G01X1612467Y8844044D01* +G01X1613833Y8843149D01* +G01X1615200Y8842254D01* +G01X1618866Y8839679D01* +G01X1622533Y8837104D01* +G01X1630600Y8831629D01* +G01X1630966Y8831124D01* +G01X1631333Y8830619D01* +G01X1637199Y8826540D01* +G01X1643066Y8822461D01* +G01X1647100Y8819712D01* +G01X1651133Y8816964D01* +G01X1651719Y8816021D01* +G01X1652306Y8815077D01* +G01X1653835Y8815077D01* +G01X1655784Y8813586D01* +G01X1657733Y8812094D01* +G01X1665137Y8806645D01* +G01X1666282Y8805911D01* +G01X1667427Y8805178D01* +G01X1671667Y8802347D01* +G01X1672417Y8801562D01* +G01X1673166Y8800778D01* +G01X1674348Y8800045D01* +G01X1675529Y8799311D01* +G01X1679831Y8796404D01* +G01X1684133Y8793497D01* +G01X1684720Y8792554D01* +G01X1685306Y8791611D01* +G01X1686855Y8791611D01* +G01X1688918Y8789962D01* +G01X1690981Y8788311D01* +G01X1698510Y8783178D01* +G01X1703401Y8779511D01* +G01X1704767Y8778587D01* +G01X1706133Y8777663D01* +G01X1711266Y8774038D01* +G01X1716400Y8770413D01* +G01X1717133Y8769823D01* +G01X1717866Y8769233D01* +G01X1719700Y8767983D01* +G01X1721533Y8766733D01* +G01X1727766Y8762331D01* +G01X1733999Y8757929D01* +G01X1738033Y8755180D01* +G01X1742066Y8752431D01* +G01X1742653Y8751488D01* +G01X1743239Y8750545D01* +G01X1744768Y8750545D01* +G01X1746717Y8749053D01* +G01X1748666Y8747561D01* +G01X1756070Y8742112D01* +G01X1757215Y8741378D01* +G01X1758361Y8740645D01* +G01X1762600Y8737815D01* +G01X1763350Y8737030D01* +G01X1764100Y8736245D01* +G01X1765281Y8735512D01* +G01X1766463Y8734779D01* +G01X1770765Y8731870D01* +G01X1775066Y8728963D01* +G01X1775517Y8728321D01* +G01X1775968Y8727679D01* +G01X1777429Y8726829D01* +G01X1778890Y8725978D01* +G01X1781745Y8724003D01* +G01X1784599Y8722027D01* +G01X1788267Y8719399D01* +G01X1791933Y8716771D01* +G01X1795600Y8714280D01* +G01X1796186Y8713346D01* +G01X1796772Y8712412D01* +G01X1798321Y8712412D01* +G01X1800385Y8710762D01* +G01X1802448Y8709112D01* +G01X1809977Y8703979D01* +G01X1814867Y8700312D01* +G01X1816233Y8699417D01* +G01X1817600Y8698522D01* +G01X1824933Y8693372D01* +G01X1833000Y8687898D01* +G01X1833586Y8686955D01* +G01X1834173Y8686012D01* +G01X1835701Y8686012D01* +G01X1837651Y8684520D01* +G01X1839600Y8683029D01* +G01X1843301Y8680304D01* +G01X1847003Y8677579D01* +G01X1849866Y8675712D01* +G01X1852250Y8674189D01* +G01X1854633Y8672667D01* +G01X1854633Y8671346D01* +G01X1856234Y8671346D01* +G01X1858184Y8669854D01* +G01X1860133Y8668362D01* +G01X1867537Y8662913D01* +G01X1870399Y8661046D01* +G01X1872783Y8659523D01* +G01X1875166Y8658001D01* +G01X1875166Y8656679D01* +G01X1876656Y8656679D01* +G01X1881228Y8653407D01* +G01X1885799Y8650135D01* +G01X1887946Y8648246D01* +G01X1890437Y8646779D01* +G01X1893757Y8644451D01* +G01X1897078Y8642122D01* +G01X1899505Y8640417D01* +G01X1901933Y8638713D01* +G01X1903847Y8637246D01* +G01X1905763Y8635779D01* +G01X1907147Y8634884D01* +G01X1908533Y8633989D01* +G01X1912200Y8631414D01* +G01X1915866Y8628839D01* +G01X1923933Y8623364D01* +G01X1924299Y8622859D01* +G01X1924666Y8622354D01* +G01X1930533Y8618275D01* +G01X1936399Y8614196D01* +G01X1940433Y8611448D01* +G01X1944466Y8608699D01* +G01X1945052Y8607756D01* +G01X1945639Y8606813D01* +G01X1947168Y8606813D01* +G01X1951067Y8603830D01* +G01X1954768Y8601105D01* +G01X1958470Y8598380D01* +G01X1959615Y8597647D01* +G01X1960760Y8596913D01* +G01X1965000Y8594082D01* +G01X1965750Y8593297D01* +G01X1966500Y8592513D01* +G01X1968862Y8591046D01* +G01X1973165Y8588139D01* +G01X1977466Y8585232D01* +G01X1978053Y8584289D01* +G01X1978639Y8583347D01* +G01X1980188Y8583347D01* +G01X1982251Y8581697D01* +G01X1984315Y8580046D01* +G01X1988079Y8577480D01* +G01X1991843Y8574913D01* +G01X1996734Y8571247D01* +G01X1998100Y8570322D01* +G01X1999466Y8569398D01* +G01X2004600Y8565773D01* +G01X2009733Y8562148D01* +G01X2011200Y8560969D01* +G01X2013033Y8559718D01* +G01X2014866Y8558469D01* +G01X2021099Y8554066D01* +G01X2027333Y8549665D01* +G01X2031366Y8546915D01* +G01X2035400Y8544166D01* +G01X2035986Y8543223D01* +G01X2036573Y8542280D01* +G01X2038101Y8542280D01* +G01X2040050Y8540789D01* +G01X2042000Y8539296D01* +G01X2045701Y8536572D01* +G01X2049403Y8533847D01* +G01X2050549Y8533113D01* +G01X2051694Y8532381D01* +G01X2055933Y8529550D01* +G01X2056683Y8528765D01* +G01X2057434Y8527980D01* +G01X2058615Y8527247D01* +G01X2059796Y8526514D01* +G01X2064098Y8523606D01* +G01X2068399Y8520698D01* +G01X2068851Y8520056D01* +G01X2069302Y8519415D01* +G01X2070762Y8518564D01* +G01X2072223Y8517714D01* +G01X2075078Y8515738D01* +G01X2077933Y8513762D01* +G01X2081600Y8511134D01* +G01X2085266Y8508506D01* +G01X2088933Y8506016D01* +G01X2089519Y8505082D01* +G01X2090106Y8504147D01* +G01X2091654Y8504147D01* +G01X2093718Y8502497D01* +G01X2095782Y8500847D01* +G01X2099545Y8498281D01* +G01X2103310Y8495714D01* +G01X2108201Y8492048D01* +G01X2109567Y8491152D01* +G01X2110933Y8490257D01* +G01X2114599Y8487682D01* +G01X2118267Y8485107D01* +G01X2122299Y8482358D01* +G01X2126333Y8479610D01* +G01X2126854Y8478386D01* +G01X2128427Y8477697D01* +G01X2129999Y8477007D01* +G01X2134399Y8473700D01* +G01X2138800Y8470392D01* +G01X2143383Y8467352D01* +G01X2147966Y8464311D01* +G01X2147966Y8463081D01* +G01X2149588Y8463081D01* +G01X2151679Y8461431D01* +G01X2153769Y8459781D01* +G01X2157816Y8456847D01* +G01X2161862Y8453914D01* +G01X2161900Y8449270D01* +G01X2161172Y8449026D01* +G01X2160444Y8448781D01* +G01X2159422Y8445115D01* +G01X2158399Y8441448D01* +G01X2156591Y8436314D01* +G01X2154087Y8428981D01* +G01X2152826Y8425315D01* +G01X2151566Y8421648D01* +G01X2150582Y8418348D01* +G01X2149599Y8415048D01* +G01X2147791Y8409915D01* +G01X2146539Y8406248D01* +G01X2145286Y8402581D01* +G01X2142765Y8395249D01* +G01X2140798Y8388648D01* +G01X2139895Y8386082D01* +G01X2138992Y8383515D01* +G01X2137739Y8379849D01* +G01X2136487Y8376182D01* +G01X2133924Y8368849D01* +G01X2133149Y8365559D01* +G01X2132374Y8362270D01* +G01X2131452Y8360792D01* +G01X2130531Y8359315D01* +G01X2130029Y8356458D01* +G01X2129526Y8353601D01* +G01X2128562Y8352058D01* +G01X2127598Y8350515D01* +G01X2127096Y8347658D01* +G01X2126593Y8344801D01* +G01X2125629Y8343258D01* +G01X2124664Y8341715D01* +G01X2124162Y8338859D01* +G01X2123660Y8336001D01* +G01X2122695Y8334458D01* +G01X2121731Y8332916D01* +G01X2121229Y8330058D01* +G01X2120727Y8327201D01* +G01X2119762Y8325658D01* +G01X2118797Y8324116D01* +G01X2117793Y8318401D01* +G01X2116829Y8316859D01* +G01X2115864Y8315315D01* +G01X2115354Y8312420D01* +G01X2114845Y8309524D01* +G01X2113806Y8308040D01* +G01X2112766Y8306556D01* +G01X2112766Y8302828D01* +G01X2111300Y8300091D01* +G01X2109833Y8297355D01* +G01X2109833Y8294027D01* +G01X2108366Y8291291D01* +G01X2106899Y8288554D01* +G01X2106899Y8285228D01* +G01X2105433Y8282491D01* +G01X2103966Y8279755D01* +G01X2103966Y8276428D01* +G01X2102499Y8273691D01* +G01X2101033Y8270955D01* +G01X2101033Y8267627D01* +G01X2098100Y8262155D01* +G01X2098100Y8258828D01* +G01X2096633Y8256091D01* +G01X2095166Y8253355D01* +G01X2095166Y8250028D01* +G01X2093700Y8247292D01* +G01X2092233Y8244555D01* +G01X2092233Y8241228D01* +G01X2090767Y8238491D01* +G01X2089300Y8235755D01* +G01X2089300Y8232393D01* +G01X2087833Y8229516D01* +G01X2086366Y8226640D01* +G01X2086366Y8223593D01* +G01X2084900Y8220717D01* +G01X2083433Y8217840D01* +G01X2083433Y8214946D01* +G01X2082084Y8211965D01* +G01X2080736Y8208983D01* +G01X2079965Y8206050D01* +G01X2079194Y8203116D01* +G01X2077392Y8197983D01* +G01X2076139Y8194317D01* +G01X2074887Y8190650D01* +G01X2073626Y8186984D01* +G01X2072366Y8183317D01* +G01X2071382Y8180017D01* +G01X2070398Y8176717D01* +G01X2069495Y8174151D01* +G01X2068592Y8171584D01* +G01X2067339Y8167917D01* +G01X2066087Y8164250D01* +G01X2064826Y8160584D01* +G01X2063566Y8156917D01* +G01X2062582Y8153617D01* +G01X2061598Y8150317D01* +G01X2060695Y8147751D01* +G01X2059792Y8145184D01* +G01X2058539Y8141518D01* +G01X2057287Y8137850D01* +G01X2054724Y8130518D01* +G01X2053949Y8127228D01* +G01X2053174Y8123939D01* +G01X2052253Y8122461D01* +G01X2051331Y8120984D01* +G01X2050327Y8115269D01* +G01X2049362Y8113727D01* +G01X2048397Y8112184D01* +G01X2047895Y8109327D01* +G01X2047393Y8106470D01* +G01X2046428Y8104927D01* +G01X2045464Y8103384D01* +G01X2044962Y8100527D01* +G01X2044460Y8097670D01* +G01X2043495Y8096127D01* +G01X2042531Y8094585D01* +G01X2042028Y8091727D01* +G01X2041526Y8088870D01* +G01X2040562Y8087327D01* +G01X2039598Y8085784D01* +G01X2039088Y8082889D01* +G01X2038578Y8079993D01* +G01X2036499Y8077025D01* +G01X2036499Y8073296D01* +G01X2035033Y8070560D01* +G01X2033566Y8067823D01* +G01X2033566Y8064496D01* +G01X2030633Y8059024D01* +G01X2030633Y8055696D01* +G01X2029167Y8052960D01* +G01X2027700Y8050223D01* +G01X2027700Y8046896D01* +G01X2026233Y8044160D01* +G01X2024767Y8041423D01* +G01X2024767Y8038097D01* +G01X2023300Y8035360D01* +G01X2021833Y8032624D01* +G01X2021833Y8029296D01* +G01X2020366Y8026560D01* +G01X2018900Y8023824D01* +G01X2018900Y8020497D01* +G01X2017433Y8017760D01* +G01X2015966Y8015024D01* +G01X2015966Y8011697D01* +G01X2014500Y8008960D01* +G01X2013033Y8006224D01* +G01X2013033Y8002897D01* +G01X2011566Y8000160D01* +G01X2010099Y7997424D01* +G01X2010099Y7994097D01* +G01X2008633Y7991361D01* +G01X2007166Y7988624D01* +G01X2007166Y7985262D01* +G01X2005699Y7982386D01* +G01X2004233Y7979508D01* +G01X2004233Y7976462D01* +G01X2002766Y7973586D01* +G01X2001300Y7970709D01* +G01X2001300Y7967663D01* +G01X1999833Y7964785D01* +G01X1998366Y7961909D01* +G01X1998366Y7958862D01* +G01X1995433Y7953109D01* +G01X1995433Y7950062D01* +G01X1993967Y7947186D01* +G01X1992500Y7944309D01* +G01X1992500Y7941263D01* +G01X1991033Y7938385D01* +G01X1989566Y7935509D01* +G01X1989566Y7932463D01* +G01X1988100Y7929586D01* +G01X1986633Y7926709D01* +G01X1986633Y7923991D01* +G01X1983938Y7917120D01* +G01X1982685Y7913452D01* +G01X1981432Y7909786D01* +G01X1979465Y7903186D01* +G01X1978561Y7900619D01* +G01X1977658Y7898053D01* +G01X1975009Y7890720D01* +G01X1973974Y7885608D01* +G01X1973052Y7884130D01* +G01X1972131Y7882653D01* +G01X1971629Y7879796D01* +G01X1971126Y7876938D01* +G01X1970162Y7875396D01* +G01X1969198Y7873853D01* +G01X1968695Y7870996D01* +G01X1968193Y7868139D01* +G01X1967229Y7866596D01* +G01X1966264Y7865053D01* +G01X1965762Y7862196D01* +G01X1965259Y7859339D01* +G01X1964296Y7857796D01* +G01X1963331Y7856253D01* +G01X1962829Y7853396D01* +G01X1962326Y7850539D01* +G01X1961362Y7848996D01* +G01X1960398Y7847453D01* +G01X1959895Y7844596D01* +G01X1959393Y7841739D01* +G01X1958429Y7840196D01* +G01X1957464Y7838653D01* +G01X1956962Y7835796D01* +G01X1956460Y7832939D01* +G01X1955495Y7831396D01* +G01X1954531Y7829854D01* +G01X1954021Y7826957D01* +G01X1953512Y7824062D01* +G01X1951433Y7821094D01* +G01X1951433Y7817365D01* +G01X1949966Y7814629D01* +G01X1948500Y7811892D01* +G01X1948500Y7808565D01* +G01X1947033Y7805829D01* +G01X1945566Y7803092D01* +G01X1945566Y7799766D01* +G01X1944099Y7797029D01* +G01X1942633Y7794293D01* +G01X1942633Y7790965D01* +G01X1941166Y7788229D01* +G01X1939699Y7785492D01* +G01X1939699Y7782166D01* +G01X1938233Y7779429D01* +G01X1936766Y7776692D01* +G01X1936766Y7773366D01* +G01X1935300Y7770629D01* +G01X1933833Y7767893D01* +G01X1933833Y7764566D01* +G01X1932366Y7761829D01* +G01X1930900Y7759093D01* +G01X1930900Y7755766D01* +G01X1929433Y7753029D01* +G01X1927967Y7750293D01* +G01X1927967Y7746966D01* +G01X1926500Y7744230D01* +G01X1925033Y7741493D01* +G01X1925033Y7738131D01* +G01X1923566Y7735254D01* +G01X1922100Y7732378D01* +G01X1922100Y7729331D01* +G01X1920633Y7726454D01* +G01X1919166Y7723578D01* +G01X1919166Y7720860D01* +G01X1916471Y7713988D01* +G01X1915218Y7710321D01* +G01X1913965Y7706655D01* +G01X1912982Y7703354D01* +G01X1911999Y7700054D01* +G01X1910192Y7694921D01* +G01X1908939Y7691255D01* +G01X1907687Y7687588D01* +G01X1906426Y7683922D01* +G01X1905166Y7680255D01* +G01X1904182Y7676955D01* +G01X1903198Y7673655D01* +G01X1902295Y7671089D01* +G01X1901392Y7668522D01* +G01X1900139Y7664855D01* +G01X1898887Y7661188D01* +G01X1897610Y7657522D01* +G01X1896333Y7653855D01* +G01X1895633Y7650922D01* +G01X1894932Y7647989D01* +G01X1893742Y7645422D01* +G01X1892551Y7642855D01* +G01X1892029Y7641755D01* +G01X1891507Y7640655D01* +G01X1463742Y7640471D01* +G37* +G36* +G01X1859347Y7683922D02* +G01X1067701Y7683553D01* +G01X1064100Y7687155D01* +G01X1064100Y7690893D01* +G01X1062633Y7693630D01* +G01X1061166Y7696366D01* +G01X1061166Y7699693D01* +G01X1059700Y7702430D01* +G01X1058233Y7705166D01* +G01X1058233Y7708493D01* +G01X1055299Y7713966D01* +G01X1055299Y7717695D01* +G01X1054261Y7719179D01* +G01X1053221Y7720663D01* +G01X1052711Y7723559D01* +G01X1052202Y7726454D01* +G01X1051237Y7727997D01* +G01X1050273Y7729540D01* +G01X1049770Y7732397D01* +G01X1049268Y7735254D01* +G01X1048304Y7736797D01* +G01X1047340Y7738340D01* +G01X1046837Y7741197D01* +G01X1046335Y7744054D01* +G01X1045371Y7745597D01* +G01X1044407Y7747140D01* +G01X1043904Y7749997D01* +G01X1043401Y7752854D01* +G01X1042437Y7754397D01* +G01X1041473Y7755940D01* +G01X1040971Y7758797D01* +G01X1040468Y7761654D01* +G01X1039504Y7763197D01* +G01X1038540Y7764739D01* +G01X1037535Y7770454D01* +G01X1036571Y7771997D01* +G01X1035606Y7773540D01* +G01X1035104Y7776397D01* +G01X1034602Y7779254D01* +G01X1033680Y7780731D01* +G01X1032759Y7782209D01* +G01X1031983Y7785498D01* +G01X1031209Y7788787D01* +G01X1029927Y7792454D01* +G01X1028646Y7796121D01* +G01X1027394Y7799787D01* +G01X1026141Y7803454D01* +G01X1025237Y7806020D01* +G01X1024334Y7808587D01* +G01X1022367Y7815187D01* +G01X1019846Y7822520D01* +G01X1018593Y7826187D01* +G01X1017341Y7829854D01* +G01X1015534Y7834987D01* +G01X1014551Y7838287D01* +G01X1013567Y7841587D01* +G01X1011061Y7848920D01* +G01X1008367Y7855792D01* +G01X1008367Y7858510D01* +G01X1006900Y7861387D01* +G01X1005433Y7864263D01* +G01X1005433Y7867310D01* +G01X1003967Y7870186D01* +G01X1002500Y7873063D01* +G01X1002500Y7876425D01* +G01X999566Y7881898D01* +G01X999566Y7885225D01* +G01X998100Y7887961D01* +G01X996633Y7890698D01* +G01X996633Y7894025D01* +G01X995166Y7896762D01* +G01X993700Y7899498D01* +G01X993700Y7902825D01* +G01X992233Y7905561D01* +G01X990766Y7908298D01* +G01X990766Y7911625D01* +G01X989299Y7914361D01* +G01X987833Y7917097D01* +G01X987833Y7920425D01* +G01X986366Y7923161D01* +G01X984899Y7925898D01* +G01X984899Y7929224D01* +G01X983433Y7931961D01* +G01X981966Y7934697D01* +G01X981966Y7938024D01* +G01X980500Y7940761D01* +G01X979033Y7943497D01* +G01X979033Y7946825D01* +G01X977566Y7949561D01* +G01X976100Y7952298D01* +G01X976100Y7956026D01* +G01X975060Y7957510D01* +G01X974021Y7958994D01* +G01X973511Y7961890D01* +G01X973001Y7964785D01* +G01X972038Y7966328D01* +G01X971073Y7967871D01* +G01X970068Y7973586D01* +G01X969104Y7975128D01* +G01X968140Y7976671D01* +G01X967638Y7979528D01* +G01X967135Y7982386D01* +G01X966171Y7983928D01* +G01X965206Y7985471D01* +G01X964704Y7988328D01* +G01X964202Y7991185D01* +G01X963237Y7992728D01* +G01X962273Y7994271D01* +G01X961771Y7997128D01* +G01X961269Y7999985D01* +G01X959339Y8003071D01* +G01X958837Y8005928D01* +G01X958335Y8008785D01* +G01X957371Y8010328D01* +G01X956406Y8011871D01* +G01X955904Y8014728D01* +G01X955402Y8017585D01* +G01X954480Y8019062D01* +G01X953558Y8020540D01* +G01X952784Y8023829D01* +G01X952008Y8027118D01* +G01X950727Y8030785D01* +G01X949446Y8034452D01* +G01X948193Y8038118D01* +G01X946941Y8041785D01* +G01X945139Y8046918D01* +G01X944367Y8049852D01* +G01X943597Y8052785D01* +G01X942248Y8055766D01* +G01X940900Y8058748D01* +G01X940900Y8061641D01* +G01X939433Y8064518D01* +G01X937966Y8067395D01* +G01X937966Y8070441D01* +G01X936500Y8073318D01* +G01X935033Y8076194D01* +G01X935033Y8079241D01* +G01X933566Y8082118D01* +G01X932100Y8084995D01* +G01X932100Y8088041D01* +G01X930633Y8090917D01* +G01X929166Y8093795D01* +G01X929166Y8096841D01* +G01X927700Y8099718D01* +G01X926233Y8102594D01* +G01X926233Y8105641D01* +G01X923299Y8111394D01* +G01X923299Y8114441D01* +G01X921833Y8117317D01* +G01X920366Y8120194D01* +G01X920366Y8123556D01* +G01X918899Y8126292D01* +G01X917433Y8129029D01* +G01X917433Y8132356D01* +G01X915966Y8135093D01* +G01X914500Y8137829D01* +G01X914500Y8141156D01* +G01X913033Y8143892D01* +G01X911567Y8146629D01* +G01X911567Y8149956D01* +G01X910100Y8152692D01* +G01X908633Y8155429D01* +G01X908633Y8158756D01* +G01X907167Y8161492D01* +G01X905700Y8164229D01* +G01X905700Y8167556D01* +G01X904233Y8170292D01* +G01X902766Y8173029D01* +G01X902766Y8176356D01* +G01X901300Y8179092D01* +G01X899833Y8181828D01* +G01X899833Y8185156D01* +G01X898366Y8187892D01* +G01X896900Y8190629D01* +G01X896900Y8193955D01* +G01X895433Y8196692D01* +G01X893966Y8199428D01* +G01X893966Y8202755D01* +G01X892499Y8205492D01* +G01X891033Y8208228D01* +G01X891033Y8211957D01* +G01X888954Y8214925D01* +G01X888445Y8217820D01* +G01X887935Y8220717D01* +G01X886970Y8222260D01* +G01X886006Y8223802D01* +G01X885504Y8226659D01* +G01X885002Y8229516D01* +G01X884037Y8231059D01* +G01X883073Y8232602D01* +G01X882570Y8235459D01* +G01X882068Y8238316D01* +G01X881104Y8239859D01* +G01X880140Y8241402D01* +G01X879637Y8244259D01* +G01X879135Y8247116D01* +G01X878214Y8248593D01* +G01X877292Y8250071D01* +G01X876257Y8255183D01* +G01X874932Y8258849D01* +G01X873607Y8262516D01* +G01X872705Y8265083D01* +G01X871801Y8267650D01* +G01X870817Y8270950D01* +G01X869834Y8274249D01* +G01X868573Y8277916D01* +G01X867313Y8281583D01* +G01X866060Y8285249D01* +G01X864808Y8288916D01* +G01X863000Y8294049D01* +G01X862017Y8297349D01* +G01X861034Y8300649D01* +G01X859773Y8304315D01* +G01X858512Y8307983D01* +G01X856008Y8315315D01* +G01X854201Y8320449D01* +G01X852233Y8327049D01* +G01X850981Y8330715D01* +G01X849728Y8334382D01* +G01X848381Y8337818D01* +G01X847033Y8341254D01* +G01X847033Y8343972D01* +G01X845567Y8346849D01* +G01X844100Y8349725D01* +G01X844100Y8352772D01* +G01X842633Y8355648D01* +G01X841167Y8358526D01* +G01X841167Y8361887D01* +G01X839700Y8364623D01* +G01X838233Y8367360D01* +G01X838233Y8370687D01* +G01X836766Y8373424D01* +G01X835300Y8376160D01* +G01X835300Y8379487D01* +G01X832366Y8384960D01* +G01X832366Y8388287D01* +G01X830900Y8391023D01* +G01X829433Y8393760D01* +G01X829433Y8397087D01* +G01X827966Y8399823D01* +G01X826499Y8402560D01* +G01X826499Y8405887D01* +G01X825033Y8408623D01* +G01X823566Y8411360D01* +G01X823566Y8414687D01* +G01X822099Y8417423D01* +G01X820633Y8420159D01* +G01X820633Y8423436D01* +G01X819218Y8426209D01* +G01X817803Y8428981D01* +G01X817472Y8431760D01* +G01X828805Y8431760D01* +G01X829972Y8428171D01* +G01X831138Y8424581D01* +G01X833833Y8417710D01* +G01X833833Y8414992D01* +G01X835300Y8412115D01* +G01X836766Y8409238D01* +G01X836766Y8406775D01* +G01X838217Y8403578D01* +G01X839667Y8400382D01* +G01X839683Y8398886D01* +G01X839700Y8397392D01* +G01X841167Y8394515D01* +G01X842633Y8391638D01* +G01X842633Y8388592D01* +G01X844100Y8385715D01* +G01X845567Y8382838D01* +G01X845567Y8379477D01* +G01X847033Y8376740D01* +G01X848500Y8374004D01* +G01X848500Y8370677D01* +G01X849966Y8367940D01* +G01X851433Y8365204D01* +G01X851433Y8361876D01* +G01X852899Y8359140D01* +G01X854366Y8356403D01* +G01X854366Y8353077D01* +G01X855833Y8350340D01* +G01X857299Y8347604D01* +G01X857299Y8344277D01* +G01X858766Y8341540D01* +G01X860233Y8338804D01* +G01X860233Y8335477D01* +G01X861700Y8332740D01* +G01X863166Y8330004D01* +G01X863166Y8326677D01* +G01X864633Y8323941D01* +G01X866100Y8321204D01* +G01X866100Y8317877D01* +G01X867566Y8315140D01* +G01X869033Y8312404D01* +G01X869033Y8308675D01* +G01X871112Y8305707D01* +G01X871621Y8302812D01* +G01X872131Y8299916D01* +G01X873095Y8298373D01* +G01X874060Y8296830D01* +G01X874562Y8293973D01* +G01X875064Y8291116D01* +G01X876029Y8289573D01* +G01X876993Y8288030D01* +G01X877496Y8285173D01* +G01X877998Y8282316D01* +G01X878962Y8280773D01* +G01X879926Y8279231D01* +G01X880429Y8276373D01* +G01X880931Y8273516D01* +G01X881895Y8271973D01* +G01X882859Y8270430D01* +G01X883362Y8267573D01* +G01X883864Y8264716D01* +G01X884829Y8263174D01* +G01X885793Y8261631D01* +G01X886295Y8258774D01* +G01X886798Y8255916D01* +G01X887762Y8254373D01* +G01X888726Y8252831D01* +G01X889228Y8249973D01* +G01X889731Y8247116D01* +G01X890652Y8245639D01* +G01X891574Y8244162D01* +G01X892349Y8240873D01* +G01X893124Y8237583D01* +G01X894406Y8233916D01* +G01X895686Y8230250D01* +G01X896939Y8226583D01* +G01X898191Y8222916D01* +G01X899999Y8217783D01* +G01X900982Y8214483D01* +G01X901966Y8211183D01* +G01X903218Y8207517D01* +G01X904471Y8203850D01* +G01X905818Y8200414D01* +G01X907167Y8196978D01* +G01X907167Y8194260D01* +G01X908633Y8191384D01* +G01X910100Y8188507D01* +G01X910100Y8185460D01* +G01X911567Y8182583D01* +G01X913033Y8179707D01* +G01X913033Y8176661D01* +G01X914500Y8173784D01* +G01X915966Y8170907D01* +G01X915966Y8167860D01* +G01X917433Y8164984D01* +G01X918899Y8162107D01* +G01X918899Y8159061D01* +G01X920366Y8156184D01* +G01X921833Y8153307D01* +G01X921833Y8150261D01* +G01X923299Y8147384D01* +G01X924766Y8144507D01* +G01X924766Y8141145D01* +G01X926233Y8138409D01* +G01X927700Y8135672D01* +G01X927700Y8132345D01* +G01X929166Y8129609D01* +G01X930633Y8126873D01* +G01X930633Y8123545D01* +G01X932100Y8120809D01* +G01X933566Y8118072D01* +G01X933566Y8114746D01* +G01X935033Y8112009D01* +G01X936500Y8109273D01* +G01X936500Y8105946D01* +G01X937966Y8103209D01* +G01X939433Y8100473D01* +G01X939433Y8097145D01* +G01X942367Y8091673D01* +G01X942367Y8088346D01* +G01X943833Y8085610D01* +G01X945300Y8082873D01* +G01X945300Y8079546D01* +G01X946766Y8076809D01* +G01X948233Y8074073D01* +G01X948233Y8070746D01* +G01X949700Y8068009D01* +G01X951166Y8065273D01* +G01X951166Y8061545D01* +G01X953245Y8058577D01* +G01X953755Y8055680D01* +G01X954265Y8052785D01* +G01X955228Y8051242D01* +G01X956193Y8049699D01* +G01X956695Y8046842D01* +G01X957198Y8043985D01* +G01X958162Y8042442D01* +G01X959126Y8040900D01* +G01X960131Y8035185D01* +G01X961095Y8033642D01* +G01X962060Y8032099D01* +G01X962562Y8029242D01* +G01X963064Y8026385D01* +G01X964028Y8024842D01* +G01X964993Y8023299D01* +G01X965495Y8020442D01* +G01X965997Y8017585D01* +G01X966962Y8016042D01* +G01X967927Y8014500D01* +G01X968429Y8011642D01* +G01X968931Y8008785D01* +G01X970774Y8005830D01* +G01X971809Y8000718D01* +G01X974458Y7993386D01* +G01X976265Y7988252D01* +G01X978233Y7981652D01* +G01X979493Y7977986D01* +G01X980754Y7974319D01* +G01X983258Y7966986D01* +G01X985065Y7961852D01* +G01X987032Y7955252D01* +G01X989553Y7947919D01* +G01X990806Y7944252D01* +G01X992058Y7940586D01* +G01X992961Y7938019D01* +G01X993865Y7935452D01* +G01X995832Y7928852D01* +G01X998338Y7921519D01* +G01X1001033Y7914648D01* +G01X1001033Y7911930D01* +G01X1002500Y7909053D01* +G01X1003967Y7906176D01* +G01X1003967Y7903129D01* +G01X1005433Y7900253D01* +G01X1006900Y7897376D01* +G01X1006900Y7894014D01* +G01X1008367Y7891278D01* +G01X1009833Y7888542D01* +G01X1009833Y7885214D01* +G01X1011300Y7882478D01* +G01X1012766Y7879741D01* +G01X1012766Y7876415D01* +G01X1014233Y7873678D01* +G01X1015700Y7870941D01* +G01X1015700Y7867615D01* +G01X1017166Y7864878D01* +G01X1018633Y7862142D01* +G01X1018633Y7858814D01* +G01X1020099Y7856078D01* +G01X1021566Y7853341D01* +G01X1021566Y7850015D01* +G01X1023033Y7847278D01* +G01X1024499Y7844542D01* +G01X1024499Y7841215D01* +G01X1025966Y7838478D01* +G01X1027433Y7835742D01* +G01X1027433Y7832414D01* +G01X1028900Y7829678D01* +G01X1030366Y7826942D01* +G01X1030366Y7823213D01* +G01X1032445Y7820245D01* +G01X1032954Y7817349D01* +G01X1033464Y7814454D01* +G01X1034429Y7812911D01* +G01X1035393Y7811368D01* +G01X1035895Y7808511D01* +G01X1036397Y7805654D01* +G01X1038326Y7802568D01* +G01X1038829Y7799711D01* +G01X1039331Y7796854D01* +G01X1040295Y7795311D01* +G01X1041260Y7793768D01* +G01X1041762Y7790911D01* +G01X1042264Y7788054D01* +G01X1043229Y7786511D01* +G01X1044193Y7784968D01* +G01X1044696Y7782111D01* +G01X1045198Y7779254D01* +G01X1046119Y7777776D01* +G01X1047041Y7776299D01* +G01X1047816Y7773010D01* +G01X1048591Y7769721D01* +G01X1049872Y7766054D01* +G01X1051153Y7762387D01* +G01X1052406Y7758721D01* +G01X1053659Y7755054D01* +G01X1054562Y7752488D01* +G01X1055465Y7749921D01* +G01X1057432Y7743321D01* +G01X1058693Y7739655D01* +G01X1059953Y7735987D01* +G01X1061206Y7732321D01* +G01X1062458Y7728655D01* +G01X1063362Y7726088D01* +G01X1064265Y7723521D01* +G01X1066232Y7716921D01* +G01X1068738Y7709588D01* +G01X1071433Y7702716D01* +G01X1071433Y7700363D01* +G01X1071433Y7700363D01* +G01X1072915Y7697458D01* +G01X1074397Y7694553D01* +G01X1463517Y7694738D01* +G01X1852637Y7694921D01* +G01X1854429Y7701977D01* +G01X1855264Y7702813D01* +G01X1856100Y7703648D01* +G01X1856100Y7707291D01* +G01X1857448Y7710273D01* +G01X1858797Y7713255D01* +G01X1859568Y7716188D01* +G01X1860338Y7719121D01* +G01X1861240Y7721688D01* +G01X1862141Y7724255D01* +G01X1864646Y7731588D01* +G01X1865927Y7735254D01* +G01X1867208Y7738921D01* +G01X1867984Y7742210D01* +G01X1868759Y7745500D01* +G01X1869680Y7746977D01* +G01X1870602Y7748454D01* +G01X1871104Y7751311D01* +G01X1871606Y7754169D01* +G01X1872570Y7755712D01* +G01X1873535Y7757254D01* +G01X1874037Y7760112D01* +G01X1874540Y7762968D01* +G01X1875504Y7764511D01* +G01X1876468Y7766054D01* +G01X1876971Y7768911D01* +G01X1877473Y7771769D01* +G01X1878437Y7773311D01* +G01X1879402Y7774854D01* +G01X1879904Y7777711D01* +G01X1880406Y7780568D01* +G01X1881371Y7782111D01* +G01X1882335Y7783654D01* +G01X1882837Y7786511D01* +G01X1883339Y7789368D01* +G01X1884304Y7790911D01* +G01X1885269Y7792454D01* +G01X1885771Y7795311D01* +G01X1886273Y7798168D01* +G01X1887238Y7799711D01* +G01X1888202Y7801253D01* +G01X1889206Y7806968D01* +G01X1890171Y7808511D01* +G01X1891135Y7810054D01* +G01X1891645Y7812949D01* +G01X1892154Y7815846D01* +G01X1893193Y7817330D01* +G01X1894233Y7818814D01* +G01X1894233Y7822542D01* +G01X1897167Y7828015D01* +G01X1897167Y7831342D01* +G01X1898633Y7834078D01* +G01X1900100Y7836815D01* +G01X1900100Y7840142D01* +G01X1901566Y7842878D01* +G01X1903033Y7845615D01* +G01X1903033Y7848941D01* +G01X1904499Y7851678D01* +G01X1905966Y7854414D01* +G01X1905966Y7857742D01* +G01X1907433Y7860478D01* +G01X1908899Y7863214D01* +G01X1908899Y7866542D01* +G01X1910366Y7869278D01* +G01X1911833Y7872015D01* +G01X1911833Y7875341D01* +G01X1913300Y7878078D01* +G01X1914766Y7880814D01* +G01X1914766Y7884141D01* +G01X1916233Y7886878D01* +G01X1917700Y7889614D01* +G01X1917700Y7892941D01* +G01X1919166Y7895678D01* +G01X1920633Y7898414D01* +G01X1920633Y7901776D01* +G01X1922100Y7904653D01* +G01X1923566Y7907530D01* +G01X1923566Y7910576D01* +G01X1925033Y7913452D01* +G01X1926500Y7916330D01* +G01X1926500Y7919047D01* +G01X1929195Y7925919D01* +G01X1930447Y7929586D01* +G01X1931700Y7933253D01* +G01X1932684Y7936552D01* +G01X1933668Y7939852D01* +G01X1934571Y7942419D01* +G01X1935474Y7944986D01* +G01X1936727Y7948652D01* +G01X1937979Y7952319D01* +G01X1940500Y7959652D01* +G01X1942467Y7966252D01* +G01X1944275Y7971386D01* +G01X1945527Y7975052D01* +G01X1946779Y7978719D01* +G01X1949342Y7986052D01* +G01X1950117Y7989341D01* +G01X1950892Y7992631D01* +G01X1951813Y7994108D01* +G01X1952735Y7995585D01* +G01X1953238Y7998443D01* +G01X1953740Y8001299D01* +G01X1954704Y8002842D01* +G01X1955668Y8004386D01* +G01X1956171Y8007242D01* +G01X1956673Y8010100D01* +G01X1957638Y8011642D01* +G01X1958601Y8013185D01* +G01X1959104Y8016042D01* +G01X1959606Y8018900D01* +G01X1960571Y8020442D01* +G01X1961535Y8021985D01* +G01X1962037Y8024842D01* +G01X1962540Y8027699D01* +G01X1963504Y8029242D01* +G01X1964468Y8030785D01* +G01X1964971Y8033642D01* +G01X1965473Y8036499D01* +G01X1967402Y8039585D01* +G01X1967904Y8042442D01* +G01X1968407Y8045299D01* +G01X1969370Y8046842D01* +G01X1970335Y8048385D01* +G01X1970837Y8051242D01* +G01X1971340Y8054099D01* +G01X1972304Y8055642D01* +G01X1973268Y8057185D01* +G01X1973778Y8060081D01* +G01X1974287Y8062976D01* +G01X1976366Y8065944D01* +G01X1976366Y8069673D01* +G01X1977833Y8072409D01* +G01X1979300Y8075146D01* +G01X1979300Y8078473D01* +G01X1980766Y8081210D01* +G01X1982233Y8083946D01* +G01X1982233Y8087273D01* +G01X1983700Y8090009D01* +G01X1985166Y8092746D01* +G01X1985166Y8096073D01* +G01X1986633Y8098809D01* +G01X1988100Y8101546D01* +G01X1988100Y8104873D01* +G01X1989566Y8107609D01* +G01X1991033Y8110346D01* +G01X1991058Y8111998D01* +G01X1991083Y8113651D01* +G01X1992500Y8116584D01* +G01X1993916Y8119518D01* +G01X1993967Y8120984D01* +G01X1994016Y8122451D01* +G01X1995433Y8125384D01* +G01X1996850Y8128317D01* +G01X1996875Y8129648D01* +G01X1996900Y8130979D01* +G01X1999595Y8137850D01* +G01X2000847Y8141518D01* +G01X2002100Y8145184D01* +G01X2003084Y8148484D01* +G01X2004067Y8151784D01* +G01X2004971Y8154350D01* +G01X2005874Y8156917D01* +G01X2007127Y8160584D01* +G01X2008379Y8164250D01* +G01X2009640Y8167917D01* +G01X2010900Y8171584D01* +G01X2011884Y8174883D01* +G01X2012867Y8178183D01* +G01X2014675Y8183317D01* +G01X2015927Y8186984D01* +G01X2017179Y8190650D01* +G01X2018439Y8194317D01* +G01X2019701Y8197983D01* +G01X2020684Y8201283D01* +G01X2021667Y8204583D01* +G01X2023474Y8209717D01* +G01X2024727Y8213383D01* +G01X2025979Y8217050D01* +G01X2027261Y8220717D01* +G01X2028542Y8224383D01* +G01X2030092Y8230962D01* +G01X2031014Y8232439D01* +G01X2031935Y8233916D01* +G01X2032437Y8236774D01* +G01X2032940Y8239631D01* +G01X2033904Y8241174D01* +G01X2034868Y8242717D01* +G01X2035370Y8245573D01* +G01X2035873Y8248431D01* +G01X2036837Y8249973D01* +G01X2037802Y8251516D01* +G01X2038304Y8254373D01* +G01X2038806Y8257231D01* +G01X2039770Y8258774D01* +G01X2040735Y8260316D01* +G01X2041237Y8263174D01* +G01X2041740Y8266030D01* +G01X2042704Y8267573D01* +G01X2043669Y8269116D01* +G01X2044171Y8271973D01* +G01X2044673Y8274830D01* +G01X2045637Y8276373D01* +G01X2046602Y8277916D01* +G01X2047111Y8280812D01* +G01X2047621Y8283708D01* +G01X2048660Y8285191D01* +G01X2049700Y8286675D01* +G01X2049700Y8290404D01* +G01X2051166Y8293141D01* +G01X2052633Y8295877D01* +G01X2052633Y8299204D01* +G01X2054100Y8301941D01* +G01X2055566Y8304677D01* +G01X2055566Y8308004D01* +G01X2057033Y8310740D01* +G01X2058500Y8313477D01* +G01X2058500Y8316804D01* +G01X2059967Y8319541D01* +G01X2061433Y8322277D01* +G01X2061433Y8325604D01* +G01X2062900Y8328340D01* +G01X2064366Y8331077D01* +G01X2064366Y8334404D01* +G01X2065833Y8337140D01* +G01X2067300Y8339877D01* +G01X2067300Y8343204D01* +G01X2068766Y8345940D01* +G01X2070233Y8348677D01* +G01X2070233Y8352004D01* +G01X2071699Y8354740D01* +G01X2073166Y8357477D01* +G01X2073166Y8360838D01* +G01X2074633Y8363715D01* +G01X2076099Y8366592D01* +G01X2076099Y8369639D01* +G01X2079033Y8375392D01* +G01X2079033Y8378285D01* +G01X2080382Y8381267D01* +G01X2081730Y8384249D01* +G01X2082501Y8387182D01* +G01X2083272Y8390115D01* +G01X2084173Y8392682D01* +G01X2085074Y8395249D01* +G01X2086327Y8398915D01* +G01X2087580Y8402581D01* +G01X2088840Y8406248D01* +G01X2090100Y8409915D01* +G01X2091084Y8413215D01* +G01X2092068Y8416514D01* +G01X2092971Y8419081D01* +G01X2093874Y8421648D01* +G01X2096633Y8429010D01* +G01X2096633Y8432957D01* +G01X2095716Y8433728D01* +G01X2094799Y8434499D01* +G01X2089465Y8438515D01* +G01X2088099Y8439439D01* +G01X2086733Y8440363D01* +G01X2081600Y8443988D01* +G01X2076466Y8447613D01* +G01X2075000Y8448793D01* +G01X2073166Y8450043D01* +G01X2071333Y8451292D01* +G01X2065100Y8455695D01* +G01X2058866Y8460097D01* +G01X2054833Y8462846D01* +G01X2050800Y8465595D01* +G01X2050213Y8466538D01* +G01X2049627Y8467481D01* +G01X2048098Y8467481D01* +G01X2046149Y8468973D01* +G01X2044199Y8470465D01* +G01X2040498Y8473190D01* +G01X2036796Y8475914D01* +G01X2035650Y8476648D01* +G01X2034506Y8477381D01* +G01X2030266Y8480211D01* +G01X2029516Y8480996D01* +G01X2028766Y8481781D01* +G01X2027585Y8482514D01* +G01X2026404Y8483247D01* +G01X2022101Y8486156D01* +G01X2017799Y8489063D01* +G01X2017349Y8489705D01* +G01X2016898Y8490347D01* +G01X2015437Y8491197D01* +G01X2013976Y8492048D01* +G01X2011121Y8494023D01* +G01X2008266Y8495999D01* +G01X2004600Y8498627D01* +G01X2000933Y8501255D01* +G01X1999100Y8502501D01* +G01X1997266Y8503747D01* +G01X1996364Y8505013D01* +G01X1994863Y8505863D01* +G01X1993362Y8506714D01* +G01X1986999Y8511233D01* +G01X1983700Y8513545D01* +G01X1980400Y8515858D01* +G01X1974167Y8520244D01* +G01X1967933Y8524630D01* +G01X1963900Y8527390D01* +G01X1959866Y8530151D01* +G01X1959346Y8531375D01* +G01X1957773Y8532064D01* +G01X1956200Y8532754D01* +G01X1951799Y8536061D01* +G01X1947399Y8539369D01* +G01X1942816Y8542409D01* +G01X1938233Y8545450D01* +G01X1938233Y8546680D01* +G01X1936632Y8546680D01* +G01X1934682Y8548172D01* +G01X1932733Y8549664D01* +G01X1929031Y8552389D01* +G01X1925329Y8555113D01* +G01X1923898Y8556047D01* +G01X1922466Y8556980D01* +G01X1920083Y8558503D01* +G01X1917700Y8560025D01* +G01X1917700Y8561346D01* +G01X1916210Y8561346D01* +G01X1911638Y8564619D01* +G01X1907066Y8567891D01* +G01X1904920Y8569780D01* +G01X1903675Y8570513D01* +G01X1902429Y8571247D01* +G01X1899108Y8573575D01* +G01X1895789Y8575904D01* +G01X1893361Y8577609D01* +G01X1890933Y8579313D01* +G01X1887104Y8582247D01* +G01X1885718Y8583152D01* +G01X1884333Y8584057D01* +G01X1881951Y8585719D01* +G01X1879569Y8587380D01* +G01X1874251Y8591034D01* +G01X1868933Y8594689D01* +G01X1868566Y8595180D01* +G01X1868200Y8595672D01* +G01X1862333Y8599750D01* +G01X1856466Y8603830D01* +G01X1852433Y8606578D01* +G01X1848400Y8609327D01* +G01X1847813Y8610270D01* +G01X1847227Y8611213D01* +G01X1845698Y8611213D01* +G01X1841800Y8614196D01* +G01X1838098Y8616921D01* +G01X1834396Y8619646D01* +G01X1833251Y8620379D01* +G01X1832106Y8621113D01* +G01X1827866Y8623944D01* +G01X1827116Y8624728D01* +G01X1826366Y8625513D01* +G01X1825185Y8626246D01* +G01X1824003Y8626979D01* +G01X1819702Y8629886D01* +G01X1815399Y8632794D01* +G01X1814813Y8633736D01* +G01X1814227Y8634679D01* +G01X1812678Y8634679D01* +G01X1810615Y8636329D01* +G01X1808551Y8637979D01* +G01X1804787Y8640546D01* +G01X1801023Y8643113D01* +G01X1796132Y8646779D01* +G01X1794766Y8647704D01* +G01X1793400Y8648628D01* +G01X1788267Y8652253D01* +G01X1783133Y8655877D01* +G01X1781666Y8657057D01* +G01X1779833Y8658308D01* +G01X1778000Y8659557D01* +G01X1771766Y8663960D01* +G01X1765533Y8668361D01* +G01X1761499Y8671111D01* +G01X1757467Y8673860D01* +G01X1756880Y8674803D01* +G01X1756294Y8675746D01* +G01X1754765Y8675746D01* +G01X1752816Y8677237D01* +G01X1750866Y8678730D01* +G01X1747164Y8681454D01* +G01X1743463Y8684179D01* +G01X1742317Y8684913D01* +G01X1741172Y8685645D01* +G01X1739053Y8687061D01* +G01X1736933Y8688476D01* +G01X1736183Y8689261D01* +G01X1735433Y8690046D01* +G01X1734252Y8690779D01* +G01X1733070Y8691512D01* +G01X1728768Y8694420D01* +G01X1724466Y8697328D01* +G01X1724015Y8697970D01* +G01X1723564Y8698611D01* +G01X1722103Y8699462D01* +G01X1720643Y8700312D01* +G01X1717788Y8702288D01* +G01X1714933Y8704264D01* +G01X1711266Y8706892D01* +G01X1707599Y8709520D01* +G01X1703933Y8712010D01* +G01X1703347Y8712944D01* +G01X1702760Y8713878D01* +G01X1701211Y8713878D01* +G01X1699148Y8715529D01* +G01X1697084Y8717179D01* +G01X1693320Y8719745D01* +G01X1689556Y8722312D01* +G01X1684666Y8725978D01* +G01X1683299Y8726874D01* +G01X1681933Y8727769D01* +G01X1678266Y8730344D01* +G01X1674600Y8732919D01* +G01X1670566Y8735668D01* +G01X1666533Y8738416D01* +G01X1666013Y8739640D01* +G01X1664440Y8740329D01* +G01X1662866Y8741019D01* +G01X1658466Y8744312D01* +G01X1654066Y8747604D01* +G01X1650033Y8750332D01* +G01X1646000Y8753059D01* +G01X1645413Y8754002D01* +G01X1644827Y8754945D01* +G01X1643299Y8754945D01* +G01X1641349Y8756437D01* +G01X1639400Y8757929D01* +G01X1635698Y8760653D01* +G01X1631996Y8763378D01* +G01X1630564Y8764312D01* +G01X1629133Y8765245D01* +G01X1626750Y8766768D01* +G01X1624366Y8768290D01* +G01X1624366Y8769611D01* +G01X1622876Y8769611D01* +G01X1618305Y8772884D01* +G01X1613733Y8776156D01* +G01X1611587Y8778045D01* +G01X1610341Y8778778D01* +G01X1609096Y8779511D01* +G01X1602455Y8784168D01* +G01X1600027Y8785873D01* +G01X1597600Y8787578D01* +G01X1593770Y8790511D01* +G01X1592385Y8791417D01* +G01X1590999Y8792322D01* +G01X1588617Y8793984D01* +G01X1586235Y8795645D01* +G01X1580917Y8799299D01* +G01X1575599Y8802954D01* +G01X1574867Y8803936D01* +G01X1569000Y8808015D01* +G01X1563133Y8812094D01* +G01X1559099Y8814843D01* +G01X1555067Y8817591D01* +G01X1554480Y8818534D01* +G01X1553893Y8819478D01* +G01X1552365Y8819478D01* +G01X1550416Y8820970D01* +G01X1548466Y8822461D01* +G01X1544764Y8825186D01* +G01X1541063Y8827911D01* +G01X1538772Y8829378D01* +G01X1536652Y8830793D01* +G01X1534533Y8832208D01* +G01X1533783Y8832993D01* +G01X1533033Y8833777D01* +G01X1531851Y8834511D01* +G01X1530670Y8835244D01* +G01X1526368Y8838151D01* +G01X1522066Y8841058D01* +G01X1521480Y8842001D01* +G01X1520893Y8842944D01* +G01X1519345Y8842944D01* +G01X1517281Y8844594D01* +G01X1515218Y8846244D01* +G01X1507689Y8851378D01* +G01X1502798Y8855044D01* +G01X1501433Y8855969D01* +G01X1500066Y8856892D01* +G01X1494933Y8860544D01* +G01X1489799Y8864196D01* +G01X1488434Y8865119D01* +G01X1487067Y8866044D01* +G01X1484666Y8867877D01* +G01X1482266Y8869710D01* +G01X1479533Y8871501D01* +G01X1475866Y8874070D01* +G01X1472200Y8876639D01* +G01X1468937Y8878932D01* +G01X1465674Y8881224D01* +G01X1462449Y8882451D01* +G01X1457874Y8879381D01* +G01X1453299Y8876311D01* +G01X1452151Y8875577D01* +G01X1451003Y8874844D01* +G01X1443599Y8869394D01* +G01X1441651Y8867903D01* +G01X1439701Y8866410D01* +G01X1438100Y8866410D01* +G01X1438100Y8865089D01* +G01X1435716Y8863567D01* +G01X1433333Y8862044D01* +G01X1430470Y8860177D01* +G01X1426768Y8857453D01* +G01X1423067Y8854728D01* +G01X1421117Y8853236D01* +G01X1419168Y8851744D01* +G01X1417639Y8851744D01* +G01X1417053Y8850801D01* +G01X1416466Y8849858D01* +G01X1408399Y8844360D01* +G01X1402166Y8839958D01* +G01X1395933Y8835556D01* +G01X1394100Y8834306D01* +G01X1392267Y8833056D01* +G01X1390800Y8831876D01* +G01X1385666Y8828251D01* +G01X1380533Y8824627D01* +G01X1379167Y8823702D01* +G01X1377801Y8822777D01* +G01X1372910Y8819111D01* +G01X1365381Y8813978D01* +G01X1363318Y8812328D01* +G01X1361254Y8810678D01* +G01X1359706Y8810678D01* +G01X1359120Y8809735D01* +G01X1358533Y8808792D01* +G01X1354231Y8805885D01* +G01X1349929Y8802978D01* +G01X1348748Y8802244D01* +G01X1347567Y8801511D01* +G01X1346816Y8800727D01* +G01X1346067Y8799942D01* +G01X1341827Y8797111D01* +G01X1340682Y8796378D01* +G01X1339537Y8795645D01* +G01X1332133Y8790195D01* +G01X1330184Y8788703D01* +G01X1328234Y8787211D01* +G01X1326706Y8787211D01* +G01X1326119Y8786268D01* +G01X1325533Y8785325D01* +G01X1317466Y8779828D01* +G01X1311599Y8775749D01* +G01X1305733Y8771671D01* +G01X1305366Y8771166D01* +G01X1305000Y8770661D01* +G01X1300966Y8767923D01* +G01X1296933Y8765185D01* +G01X1289600Y8760036D01* +G01X1286829Y8758245D01* +G01X1284914Y8756778D01* +G01X1283000Y8755312D01* +G01X1278144Y8751902D01* +G01X1271504Y8747245D01* +G01X1270258Y8746511D01* +G01X1269012Y8745779D01* +G01X1267939Y8744834D01* +G01X1266866Y8743890D01* +G01X1262295Y8740617D01* +G01X1257723Y8737345D01* +G01X1256233Y8737345D01* +G01X1256233Y8736023D01* +G01X1253850Y8734501D01* +G01X1251466Y8732979D01* +G01X1250035Y8732046D01* +G01X1248603Y8731112D01* +G01X1244901Y8728387D01* +G01X1241199Y8725662D01* +G01X1239251Y8724170D01* +G01X1237301Y8722679D01* +G01X1235700Y8722679D01* +G01X1235700Y8721448D01* +G01X1231116Y8718408D01* +G01X1226533Y8715367D01* +G01X1222133Y8712060D01* +G01X1217733Y8708752D01* +G01X1216160Y8708063D01* +G01X1214587Y8707374D01* +G01X1214326Y8706761D01* +G01X1214067Y8706149D01* +G01X1205999Y8700653D01* +G01X1202333Y8698077D01* +G01X1198667Y8695502D01* +G01X1197300Y8694608D01* +G01X1195934Y8693712D01* +G01X1191043Y8690046D01* +G01X1183515Y8684913D01* +G01X1181452Y8683262D01* +G01X1179388Y8681612D01* +G01X1177839Y8681612D01* +G01X1177253Y8680678D01* +G01X1176666Y8679744D01* +G01X1173000Y8677253D01* +G01X1169333Y8674626D01* +G01X1165666Y8671997D01* +G01X1162811Y8670021D01* +G01X1159957Y8668046D01* +G01X1157035Y8666345D01* +G01X1156584Y8665703D01* +G01X1156133Y8665062D01* +G01X1151831Y8662154D01* +G01X1147529Y8659246D01* +G01X1146348Y8658513D01* +G01X1145166Y8657779D01* +G01X1144417Y8656994D01* +G01X1143667Y8656210D01* +G01X1139427Y8653379D01* +G01X1137136Y8651913D01* +G01X1133435Y8649188D01* +G01X1129733Y8646463D01* +G01X1127783Y8644971D01* +G01X1125835Y8643479D01* +G01X1124306Y8643479D01* +G01X1123719Y8642536D01* +G01X1123133Y8641593D01* +G01X1115066Y8636095D01* +G01X1108833Y8631693D01* +G01X1102600Y8627291D01* +G01X1100766Y8626041D01* +G01X1098933Y8624791D01* +G01X1098199Y8624201D01* +G01X1097467Y8623611D01* +G01X1092333Y8619986D01* +G01X1087200Y8616362D01* +G01X1084467Y8614513D01* +G01X1082022Y8612679D01* +G01X1079577Y8610846D01* +G01X1072048Y8605713D01* +G01X1069985Y8604063D01* +G01X1067921Y8602413D01* +G01X1066373Y8602413D01* +G01X1065786Y8601470D01* +G01X1065200Y8600527D01* +G01X1060898Y8597620D01* +G01X1056596Y8594713D01* +G01X1055415Y8593979D01* +G01X1054233Y8593247D01* +G01X1053483Y8592462D01* +G01X1052733Y8591677D01* +G01X1050614Y8590262D01* +G01X1048494Y8588846D01* +G01X1047349Y8588113D01* +G01X1046203Y8587380D01* +G01X1042502Y8584655D01* +G01X1038800Y8581930D01* +G01X1036850Y8580438D01* +G01X1034901Y8578947D01* +G01X1033373Y8578947D01* +G01X1032199Y8577061D01* +G01X1028166Y8574312D01* +G01X1024133Y8571563D01* +G01X1012399Y8563406D01* +G01X1012033Y8562901D01* +G01X1011666Y8562396D01* +G01X1007633Y8559658D01* +G01X1003600Y8556921D01* +G01X996267Y8551771D01* +G01X993534Y8549980D01* +G01X988643Y8546314D01* +G01X984879Y8543747D01* +G01X981115Y8541180D01* +G01X979051Y8539530D01* +G01X976988Y8537880D01* +G01X975439Y8537880D01* +G01X974853Y8536946D01* +G01X974266Y8536012D01* +G01X970600Y8533529D01* +G01X967457Y8531304D01* +G01X964314Y8529081D01* +G01X962900Y8529081D01* +G01X962900Y8527758D01* +G01X960516Y8526236D01* +G01X958133Y8524714D01* +G01X956702Y8523781D01* +G01X955270Y8522847D01* +G01X951568Y8520122D01* +G01X947866Y8517397D01* +G01X943967Y8514414D01* +G01X942367Y8514414D01* +G01X942367Y8513092D01* +G01X939983Y8511570D01* +G01X937600Y8510048D01* +G01X936168Y8509114D01* +G01X934736Y8508180D01* +G01X931035Y8505456D01* +G01X927333Y8502731D01* +G01X925383Y8501239D01* +G01X923435Y8499747D01* +G01X921906Y8499747D01* +G01X921319Y8498804D01* +G01X920733Y8497861D01* +G01X916700Y8495124D01* +G01X912666Y8492388D01* +G01X909000Y8489813D01* +G01X905333Y8487238D01* +G01X903967Y8486343D01* +G01X902600Y8485448D01* +G01X897266Y8481432D01* +G01X895799Y8480314D01* +G01X892499Y8478135D01* +G01X889200Y8475955D01* +G01X887285Y8474468D01* +G01X885370Y8472981D01* +G01X882067Y8470781D01* +G01X879622Y8468948D01* +G01X877176Y8467114D01* +G01X873413Y8464547D01* +G01X869648Y8461981D01* +G01X867584Y8460331D01* +G01X865521Y8458681D01* +G01X863973Y8458681D01* +G01X863386Y8457738D01* +G01X862800Y8456795D01* +G01X858498Y8453888D01* +G01X854196Y8450981D01* +G01X853014Y8450248D01* +G01X851833Y8449515D01* +G01X851083Y8448730D01* +G01X850333Y8447945D01* +G01X848213Y8446530D01* +G01X846094Y8445115D01* +G01X843803Y8443648D01* +G01X840102Y8440923D01* +G01X836400Y8438198D01* +G01X834450Y8436707D01* +G01X832501Y8435214D01* +G01X831068Y8435214D01* +G01X828805Y8431760D01* +G01X817472Y8431760D01* +G01X817312Y8433101D01* +G01X816821Y8437222D01* +G01X817811Y8438060D01* +G01X818799Y8438899D01* +G01X821511Y8440907D01* +G01X824223Y8442914D01* +G01X831710Y8448048D01* +G01X836600Y8451714D01* +G01X838233Y8452815D01* +G01X839865Y8453914D01* +G01X844756Y8457581D01* +G01X848521Y8460147D01* +G01X852284Y8462714D01* +G01X854348Y8464364D01* +G01X856412Y8466014D01* +G01X857960Y8466014D01* +G01X859133Y8467900D01* +G01X863435Y8470807D01* +G01X867737Y8473714D01* +G01X870099Y8475181D01* +G01X870850Y8475965D01* +G01X871600Y8476750D01* +G01X875839Y8479581D01* +G01X876984Y8480314D01* +G01X878129Y8481048D01* +G01X881831Y8483772D01* +G01X885533Y8486497D01* +G01X887482Y8487989D01* +G01X889432Y8489481D01* +G01X890960Y8489481D01* +G01X891546Y8490424D01* +G01X892133Y8491367D01* +G01X896166Y8494104D01* +G01X900199Y8496840D01* +G01X903866Y8499416D01* +G01X907533Y8501990D01* +G01X908900Y8502885D01* +G01X910265Y8503780D01* +G01X915067Y8507447D01* +G01X916685Y8508547D01* +G01X918302Y8509647D01* +G01X926943Y8515880D01* +G01X928360Y8515880D01* +G01X928946Y8516815D01* +G01X929533Y8517749D01* +G01X933200Y8520240D01* +G01X936866Y8522867D01* +G01X940533Y8525495D01* +G01X943388Y8527471D01* +G01X946243Y8529447D01* +G01X947704Y8530297D01* +G01X949164Y8531147D01* +G01X949615Y8531789D01* +G01X950067Y8532431D01* +G01X954368Y8535339D01* +G01X958670Y8538247D01* +G01X961032Y8539714D01* +G01X961783Y8540498D01* +G01X962533Y8541283D01* +G01X966772Y8544113D01* +G01X967918Y8544847D01* +G01X969063Y8545580D01* +G01X972765Y8548305D01* +G01X976466Y8551030D01* +G01X978415Y8552521D01* +G01X980365Y8554014D01* +G01X981893Y8554014D01* +G01X982480Y8554957D01* +G01X983066Y8555900D01* +G01X991133Y8561397D01* +G01X997366Y8565800D01* +G01X1003600Y8570201D01* +G01X1005433Y8571452D01* +G01X1007266Y8572701D01* +G01X1008733Y8573820D01* +G01X1013078Y8577117D01* +G01X1017423Y8580413D01* +G01X1018528Y8580413D01* +G01X1019497Y8581339D01* +G01X1020466Y8582266D01* +G01X1022300Y8583519D01* +G01X1024133Y8584772D01* +G01X1027799Y8587400D01* +G01X1031467Y8590028D01* +G01X1034321Y8592004D01* +G01X1037176Y8593979D01* +G01X1038637Y8594830D01* +G01X1040097Y8595681D01* +G01X1040549Y8596322D01* +G01X1041000Y8596964D01* +G01X1045301Y8599872D01* +G01X1049603Y8602780D01* +G01X1050785Y8603513D01* +G01X1051966Y8604246D01* +G01X1052716Y8605031D01* +G01X1053466Y8605816D01* +G01X1057705Y8608647D01* +G01X1058851Y8609379D01* +G01X1059996Y8610113D01* +G01X1067400Y8615562D01* +G01X1069349Y8617055D01* +G01X1071298Y8618546D01* +G01X1072827Y8618546D01* +G01X1073413Y8619489D01* +G01X1074000Y8620432D01* +G01X1082067Y8625930D01* +G01X1087933Y8630008D01* +G01X1093799Y8634087D01* +G01X1094166Y8634592D01* +G01X1094533Y8635097D01* +G01X1098566Y8637835D01* +G01X1102600Y8640572D01* +G01X1109933Y8645722D01* +G01X1111318Y8646617D01* +G01X1112703Y8647513D01* +G01X1114619Y8648980D01* +G01X1116533Y8650446D01* +G01X1121388Y8653856D01* +G01X1128029Y8658513D01* +G01X1129274Y8659246D01* +G01X1130520Y8659979D01* +G01X1131593Y8660924D01* +G01X1132667Y8661868D01* +G01X1137238Y8665140D01* +G01X1141810Y8668412D01* +G01X1143300Y8668412D01* +G01X1143300Y8669734D01* +G01X1145683Y8671256D01* +G01X1148067Y8672778D01* +G01X1149498Y8673712D01* +G01X1150929Y8674646D01* +G01X1158333Y8680095D01* +G01X1160282Y8681587D01* +G01X1162231Y8683079D01* +G01X1163833Y8683079D01* +G01X1163833Y8684309D01* +G01X1168416Y8687350D01* +G01X1173000Y8690391D01* +G01X1177400Y8693698D01* +G01X1181800Y8697005D01* +G01X1183373Y8697694D01* +G01X1184946Y8698384D01* +G01X1185206Y8698996D01* +G01X1185466Y8699608D01* +G01X1193533Y8705105D01* +G01X1197200Y8707680D01* +G01X1200866Y8710255D01* +G01X1202233Y8711150D01* +G01X1203599Y8712045D01* +G01X1208489Y8715712D01* +G01X1216018Y8720845D01* +G01X1218081Y8722495D01* +G01X1220145Y8724145D01* +G01X1221694Y8724145D01* +G01X1222280Y8725080D01* +G01X1222866Y8726014D01* +G01X1226533Y8728504D01* +G01X1230199Y8731132D01* +G01X1233866Y8733760D01* +G01X1236721Y8735736D01* +G01X1239576Y8737712D01* +G01X1242498Y8739412D01* +G01X1242949Y8740054D01* +G01X1243400Y8740696D01* +G01X1247701Y8743604D01* +G01X1252003Y8746511D01* +G01X1254366Y8747978D01* +G01X1255116Y8748763D01* +G01X1255866Y8749547D01* +G01X1260105Y8752378D01* +G01X1261251Y8753112D01* +G01X1262396Y8753845D01* +G01X1269800Y8759294D01* +G01X1271749Y8760786D01* +G01X1273698Y8762278D01* +G01X1275227Y8762278D01* +G01X1275813Y8763221D01* +G01X1276399Y8764164D01* +G01X1284466Y8769662D01* +G01X1290700Y8774064D01* +G01X1296933Y8778466D01* +G01X1298766Y8779717D01* +G01X1300600Y8780966D01* +G01X1301333Y8781556D01* +G01X1302066Y8782146D01* +G01X1307199Y8785771D01* +G01X1312333Y8789396D01* +G01X1313699Y8790320D01* +G01X1315065Y8791245D01* +G01X1319956Y8794911D01* +G01X1327485Y8800045D01* +G01X1329548Y8801694D01* +G01X1331611Y8803345D01* +G01X1333160Y8803345D01* +G01X1333746Y8804288D01* +G01X1334333Y8805231D01* +G01X1338635Y8808138D01* +G01X1342937Y8811045D01* +G01X1344118Y8811778D01* +G01X1345299Y8812511D01* +G01X1346049Y8813296D01* +G01X1346800Y8814081D01* +G01X1348919Y8815496D01* +G01X1351039Y8816911D01* +G01X1352184Y8817644D01* +G01X1353330Y8818378D01* +G01X1357031Y8821102D01* +G01X1360733Y8823827D01* +G01X1362683Y8825319D01* +G01X1364631Y8826811D01* +G01X1366160Y8826811D01* +G01X1366747Y8827754D01* +G01X1367333Y8828697D01* +G01X1375400Y8834195D01* +G01X1387133Y8842352D01* +G01X1387500Y8842844D01* +G01X1387866Y8843335D01* +G01X1393184Y8846990D01* +G01X1398502Y8850644D01* +G01X1400884Y8852305D01* +G01X1403266Y8853966D01* +G01X1405999Y8855777D01* +G01X1408444Y8857611D01* +G01X1410889Y8859444D01* +G01X1418418Y8864577D01* +G01X1420481Y8866228D01* +G01X1422545Y8867877D01* +G01X1424093Y8867877D01* +G01X1424680Y8868820D01* +G01X1425266Y8869763D01* +G01X1429568Y8872670D01* +G01X1433870Y8875577D01* +G01X1435051Y8876311D01* +G01X1436233Y8877044D01* +G01X1436983Y8877828D01* +G01X1437733Y8878613D01* +G01X1439852Y8880028D01* +G01X1441972Y8881444D01* +G01X1444263Y8882911D01* +G01X1447964Y8885635D01* +G01X1451666Y8888360D01* +G01X1453616Y8889852D01* +G01X1455565Y8891343D01* +G01X1457094Y8891343D01* +G01X1457680Y8892340D01* +G01X1458267Y8893336D01* +G01X1460418Y8894448D01* +G01X1462569Y8895559D01* +G01X1464451Y8894732D01* +G01X1466333Y8893905D01* +G01X1468533Y8892472D01* +G01X1470733Y8891040D01* +G01X1472647Y8889542D01* +G01X1474563Y8888044D01* +G01X1475948Y8887139D01* +G01X1477333Y8886233D01* +G01X1479715Y8884572D01* +G01X1482097Y8882911D01* +G01X1487415Y8879256D01* +G01X1492733Y8875602D01* +G01X1493100Y8875110D01* +G01X1493467Y8874618D01* +G01X1499333Y8870540D01* +G01X1505199Y8866461D01* +G01X1513266Y8860963D01* +G01X1513853Y8860020D01* +G01X1514439Y8859077D01* +G01X1515968Y8859077D01* +G01X1517917Y8857585D01* +G01X1519866Y8856094D01* +G01X1527270Y8850644D01* +G01X1528415Y8849911D01* +G01X1529561Y8849177D01* +G01X1533800Y8846346D01* +G01X1534550Y8845562D01* +G01X1535300Y8844777D01* +G01X1537663Y8843311D01* +G01X1541965Y8840404D01* +G01X1546266Y8837497D01* +G01X1546853Y8836554D01* +G01X1547439Y8835611D01* +G01X1548988Y8835611D01* +G01X1551052Y8833961D01* +G01X1553115Y8832311D01* +G01X1560643Y8827178D01* +G01X1563089Y8825344D01* +G01X1565534Y8823511D01* +G01X1566900Y8822587D01* +G01X1568266Y8821662D01* +G01X1573400Y8818038D01* +G01X1578533Y8814413D01* +G01X1580000Y8813233D01* +G01X1581833Y8811983D01* +G01X1583666Y8810733D01* +G01X1589900Y8806330D01* +G01X1596133Y8801929D01* +G01X1604200Y8796431D01* +G01X1604786Y8795488D01* +G01X1605373Y8794544D01* +G01X1606901Y8794544D01* +G01X1610800Y8791561D01* +G01X1614501Y8788836D01* +G01X1618203Y8786112D01* +G01X1619348Y8785378D01* +G01X1620494Y8784645D01* +G01X1624733Y8781814D01* +G01X1625483Y8781029D01* +G01X1626234Y8780245D01* +G01X1628596Y8778778D01* +G01X1632898Y8775870D01* +G01X1637199Y8772962D01* +G01X1637650Y8772321D01* +G01X1638102Y8771679D01* +G01X1639562Y8770829D01* +G01X1641023Y8769978D01* +G01X1643878Y8768002D01* +G01X1646733Y8766027D01* +G01X1650400Y8763398D01* +G01X1654066Y8760770D01* +G01X1655900Y8759525D01* +G01X1657733Y8758280D01* +G01X1658320Y8757346D01* +G01X1658906Y8756412D01* +G01X1660454Y8756412D01* +G01X1662518Y8754762D01* +G01X1664581Y8753112D01* +G01X1672110Y8747978D01* +G01X1677001Y8744312D01* +G01X1678366Y8743416D01* +G01X1679733Y8742521D01* +G01X1683399Y8739946D01* +G01X1687067Y8737371D01* +G01X1691099Y8734634D01* +G01X1695133Y8731898D01* +G01X1695719Y8730955D01* +G01X1696306Y8730012D01* +G01X1697834Y8730012D01* +G01X1699784Y8728520D01* +G01X1701733Y8727028D01* +G01X1705435Y8724303D01* +G01X1709137Y8721578D01* +G01X1710568Y8720645D01* +G01X1712000Y8719711D01* +G01X1716766Y8716667D01* +G01X1716766Y8715345D01* +G01X1718368Y8715345D01* +G01X1720317Y8713854D01* +G01X1722267Y8712361D01* +G01X1725968Y8709637D01* +G01X1729670Y8706912D01* +G01X1731101Y8705978D01* +G01X1732533Y8705045D01* +G01X1737300Y8702001D01* +G01X1737300Y8700679D01* +G01X1738714Y8700679D01* +G01X1741857Y8698455D01* +G01X1745000Y8696231D01* +G01X1746833Y8694989D01* +G01X1748666Y8693747D01* +G01X1749253Y8692813D01* +G01X1749839Y8691879D01* +G01X1751388Y8691879D01* +G01X1753451Y8690229D01* +G01X1755515Y8688579D01* +G01X1759279Y8686012D01* +G01X1763043Y8683446D01* +G01X1767934Y8679779D01* +G01X1769300Y8678874D01* +G01X1770666Y8677968D01* +G01X1773049Y8676307D01* +G01X1775431Y8674646D01* +G01X1780749Y8670979D01* +G01X1786066Y8667312D01* +G01X1786587Y8666117D01* +G01X1788160Y8665428D01* +G01X1789733Y8664739D01* +G01X1794133Y8661446D01* +G01X1798533Y8658153D01* +G01X1802566Y8655426D01* +G01X1806600Y8652699D01* +G01X1807186Y8651756D01* +G01X1807772Y8650813D01* +G01X1809301Y8650813D01* +G01X1811250Y8649320D01* +G01X1813200Y8647829D01* +G01X1816901Y8645104D01* +G01X1820603Y8642379D01* +G01X1821749Y8641646D01* +G01X1822894Y8640913D01* +G01X1827133Y8638082D01* +G01X1827883Y8637298D01* +G01X1828634Y8636513D01* +G01X1830996Y8635046D01* +G01X1835298Y8632139D01* +G01X1839600Y8629232D01* +G01X1840186Y8628289D01* +G01X1840773Y8627346D01* +G01X1842322Y8627346D01* +G01X1844385Y8625696D01* +G01X1846448Y8624046D01* +G01X1850212Y8621480D01* +G01X1853976Y8618913D01* +G01X1856422Y8617079D01* +G01X1858867Y8615246D01* +G01X1860234Y8614341D01* +G01X1861600Y8613436D01* +G01X1863982Y8611774D01* +G01X1866364Y8610113D01* +G01X1871682Y8606458D01* +G01X1877000Y8602804D01* +G01X1877367Y8602313D01* +G01X1877733Y8601821D01* +G01X1883600Y8597742D01* +G01X1889467Y8593663D01* +G01X1893499Y8590914D01* +G01X1897533Y8588166D01* +G01X1898120Y8587223D01* +G01X1898706Y8586280D01* +G01X1900234Y8586280D01* +G01X1904133Y8583296D01* +G01X1907835Y8580572D01* +G01X1911537Y8577847D01* +G01X1912682Y8577113D01* +G01X1913827Y8576380D01* +G01X1918066Y8573549D01* +G01X1918817Y8572764D01* +G01X1919567Y8571980D01* +G01X1920748Y8571247D01* +G01X1921930Y8570513D01* +G01X1926231Y8567606D01* +G01X1930533Y8564699D01* +G01X1931119Y8563756D01* +G01X1931706Y8562813D01* +G01X1933255Y8562813D01* +G01X1935318Y8561164D01* +G01X1937382Y8559513D01* +G01X1941146Y8556947D01* +G01X1944910Y8554380D01* +G01X1949800Y8550714D01* +G01X1951167Y8549789D01* +G01X1952533Y8548865D01* +G01X1957666Y8545240D01* +G01X1962799Y8541615D01* +G01X1964266Y8540436D01* +G01X1966100Y8539185D01* +G01X1967933Y8537936D01* +G01X1974167Y8533533D01* +G01X1980400Y8529131D01* +G01X1984433Y8526382D01* +G01X1988466Y8523633D01* +G01X1989053Y8522690D01* +G01X1989639Y8521747D01* +G01X1991167Y8521747D01* +G01X1993117Y8520255D01* +G01X1995066Y8518763D01* +G01X1998768Y8516038D01* +G01X2002470Y8513314D01* +G01X2003615Y8512580D01* +G01X2004760Y8511847D01* +G01X2009000Y8509017D01* +G01X2009750Y8508232D01* +G01X2010500Y8507447D01* +G01X2011681Y8506714D01* +G01X2012863Y8505981D01* +G01X2017164Y8503072D01* +G01X2021466Y8500165D01* +G01X2021917Y8499523D01* +G01X2022368Y8498881D01* +G01X2023829Y8498031D01* +G01X2025290Y8497180D01* +G01X2028145Y8495205D01* +G01X2031000Y8493229D01* +G01X2034666Y8490601D01* +G01X2038333Y8487973D01* +G01X2040167Y8486728D01* +G01X2042000Y8485482D01* +G01X2042586Y8484548D01* +G01X2043173Y8483614D01* +G01X2044721Y8483614D01* +G01X2046785Y8481964D01* +G01X2048848Y8480314D01* +G01X2052613Y8477748D01* +G01X2056376Y8475181D01* +G01X2061267Y8471515D01* +G01X2062634Y8470619D01* +G01X2063999Y8469724D01* +G01X2067667Y8467149D01* +G01X2071333Y8464574D01* +G01X2075367Y8461825D01* +G01X2079399Y8459077D01* +G01X2079920Y8457853D01* +G01X2081493Y8457164D01* +G01X2083067Y8456474D01* +G01X2087466Y8453181D01* +G01X2091866Y8449889D01* +G01X2095900Y8447194D01* +G01X2099933Y8444500D01* +G01X2100683Y8443707D01* +G01X2101433Y8442914D01* +G01X2104333Y8441047D01* +G01X2106638Y8439572D01* +G01X2108942Y8438096D01* +G01X2109361Y8436494D01* +G01X2109780Y8434892D01* +G01X2108868Y8431181D01* +G01X2107966Y8429715D01* +G01X2107064Y8428248D01* +G01X2106555Y8425352D01* +G01X2106045Y8422456D01* +G01X2103966Y8419488D01* +G01X2103966Y8415759D01* +G01X2102499Y8413023D01* +G01X2101033Y8410286D01* +G01X2101033Y8406960D01* +G01X2099566Y8404224D01* +G01X2098100Y8401487D01* +G01X2098100Y8398160D01* +G01X2096633Y8395423D01* +G01X2095166Y8392687D01* +G01X2095166Y8389360D01* +G01X2093700Y8386623D01* +G01X2092233Y8383887D01* +G01X2092233Y8380560D01* +G01X2090767Y8377824D01* +G01X2089300Y8375087D01* +G01X2089300Y8371760D01* +G01X2087833Y8369024D01* +G01X2086366Y8366287D01* +G01X2086366Y8362960D01* +G01X2084900Y8360224D01* +G01X2083433Y8357487D01* +G01X2083433Y8354160D01* +G01X2081966Y8351424D01* +G01X2080500Y8348688D01* +G01X2080500Y8345325D01* +G01X2077566Y8339572D01* +G01X2077566Y8336526D01* +G01X2076099Y8333649D01* +G01X2074633Y8330772D01* +G01X2074633Y8327726D01* +G01X2073166Y8324849D01* +G01X2071699Y8321972D01* +G01X2071699Y8319254D01* +G01X2069004Y8312382D01* +G01X2067752Y8308716D01* +G01X2066499Y8305049D01* +G01X2065515Y8301749D01* +G01X2064532Y8298449D01* +G01X2062725Y8293316D01* +G01X2061473Y8289649D01* +G01X2060220Y8285983D01* +G01X2057699Y8278650D01* +G01X2055732Y8272050D01* +G01X2054828Y8269483D01* +G01X2053925Y8266916D01* +G01X2052672Y8263250D01* +G01X2051420Y8259583D01* +G01X2048857Y8252250D01* +G01X2048083Y8248960D01* +G01X2047307Y8245671D01* +G01X2046386Y8244194D01* +G01X2045464Y8242717D01* +G01X2044460Y8237002D01* +G01X2043495Y8235459D01* +G01X2042531Y8233916D01* +G01X2042028Y8231059D01* +G01X2041526Y8228202D01* +G01X2040562Y8226659D01* +G01X2039598Y8225116D01* +G01X2039095Y8222260D01* +G01X2038593Y8219402D01* +G01X2037629Y8217859D01* +G01X2036664Y8216317D01* +G01X2036162Y8213459D01* +G01X2035659Y8210602D01* +G01X2034695Y8209059D01* +G01X2033731Y8207517D01* +G01X2032726Y8201802D01* +G01X2031762Y8200260D01* +G01X2030798Y8198717D01* +G01X2030296Y8195860D01* +G01X2029793Y8193002D01* +G01X2028829Y8191460D01* +G01X2027864Y8189917D01* +G01X2027355Y8187021D01* +G01X2026845Y8184125D01* +G01X2025805Y8182641D01* +G01X2024767Y8181157D01* +G01X2024767Y8177428D01* +G01X2023300Y8174692D01* +G01X2021833Y8171955D01* +G01X2021833Y8168629D01* +G01X2020366Y8165892D01* +G01X2018900Y8163156D01* +G01X2018900Y8159829D01* +G01X2017433Y8157092D01* +G01X2015966Y8154356D01* +G01X2015966Y8151029D01* +G01X2014500Y8148292D01* +G01X2013033Y8145556D01* +G01X2013033Y8142229D01* +G01X2011566Y8139493D01* +G01X2010099Y8136756D01* +G01X2010099Y8133429D01* +G01X2008633Y8130692D01* +G01X2007166Y8127956D01* +G01X2007142Y8126303D01* +G01X2007117Y8124651D01* +G01X2005699Y8121717D01* +G01X2004283Y8118784D01* +G01X2004233Y8116073D01* +G01X2003138Y8113762D01* +G01X2002042Y8111451D01* +G01X2001021Y8107784D01* +G01X1999998Y8104118D01* +G01X1999095Y8101551D01* +G01X1998192Y8098984D01* +G01X1996939Y8095318D01* +G01X1995687Y8091651D01* +G01X1993166Y8084318D01* +G01X1991199Y8077718D01* +G01X1989391Y8072585D01* +G01X1986887Y8065252D01* +G01X1985626Y8061585D01* +G01X1984366Y8057918D01* +G01X1982399Y8051318D01* +G01X1980592Y8046185D01* +G01X1979339Y8042518D01* +G01X1978086Y8038852D01* +G01X1976826Y8035185D01* +G01X1975566Y8031518D01* +G01X1973598Y8024918D01* +G01X1972695Y8022351D01* +G01X1971792Y8019785D01* +G01X1970539Y8016118D01* +G01X1969287Y8012452D01* +G01X1968005Y8008785D01* +G01X1966724Y8005118D01* +G01X1965949Y8001829D01* +G01X1965174Y7998540D01* +G01X1964252Y7997063D01* +G01X1963331Y7995585D01* +G01X1962829Y7992728D01* +G01X1962326Y7989871D01* +G01X1961362Y7988328D01* +G01X1960398Y7986785D01* +G01X1959895Y7983928D01* +G01X1959393Y7981071D01* +G01X1958429Y7979528D01* +G01X1957464Y7977986D01* +G01X1956962Y7975128D01* +G01X1956460Y7972271D01* +G01X1955495Y7970728D01* +G01X1954531Y7969185D01* +G01X1954029Y7966328D01* +G01X1953527Y7963471D01* +G01X1952562Y7961929D01* +G01X1951597Y7960385D01* +G01X1951088Y7957490D01* +G01X1950578Y7954594D01* +G01X1949539Y7953110D01* +G01X1948500Y7951626D01* +G01X1948500Y7947897D01* +G01X1945566Y7942425D01* +G01X1945566Y7939097D01* +G01X1944099Y7936361D01* +G01X1942633Y7933624D01* +G01X1942633Y7930298D01* +G01X1941166Y7927561D01* +G01X1939699Y7924825D01* +G01X1939699Y7921498D01* +G01X1938233Y7918761D01* +G01X1936766Y7916025D01* +G01X1936766Y7912697D01* +G01X1933833Y7907225D01* +G01X1933833Y7903898D01* +G01X1932366Y7901161D01* +G01X1930900Y7898425D01* +G01X1930900Y7895098D01* +G01X1929433Y7892361D01* +G01X1927967Y7889625D01* +G01X1927967Y7886263D01* +G01X1926500Y7883386D01* +G01X1925033Y7880510D01* +G01X1925033Y7877463D01* +G01X1923566Y7874586D01* +G01X1922100Y7871710D01* +G01X1922100Y7868663D01* +G01X1920633Y7865787D01* +G01X1919166Y7862909D01* +G01X1919166Y7860192D01* +G01X1916471Y7853320D01* +G01X1913965Y7845987D01* +G01X1912982Y7842687D01* +G01X1911999Y7839387D01* +G01X1910192Y7834253D01* +G01X1908939Y7830587D01* +G01X1907687Y7826920D01* +G01X1905166Y7819587D01* +G01X1903198Y7812987D01* +G01X1902295Y7810420D01* +G01X1901392Y7807854D01* +G01X1900139Y7804187D01* +G01X1898887Y7800521D01* +G01X1897626Y7796854D01* +G01X1896366Y7793187D01* +G01X1894399Y7786587D01* +G01X1892591Y7781454D01* +G01X1891267Y7777787D01* +G01X1889943Y7774121D01* +G01X1889425Y7771565D01* +G01X1888907Y7769009D01* +G01X1887064Y7766054D01* +G01X1886562Y7763197D01* +G01X1886060Y7760339D01* +G01X1885095Y7758797D01* +G01X1884131Y7757254D01* +G01X1883628Y7754397D01* +G01X1883126Y7751540D01* +G01X1882162Y7749997D01* +G01X1881198Y7748454D01* +G01X1880695Y7745597D01* +G01X1880193Y7742740D01* +G01X1879228Y7741197D01* +G01X1878264Y7739655D01* +G01X1877762Y7736797D01* +G01X1877260Y7733940D01* +G01X1875331Y7730854D01* +G01X1874828Y7727997D01* +G01X1874326Y7725140D01* +G01X1873362Y7723597D01* +G01X1872398Y7722054D01* +G01X1871888Y7719159D01* +G01X1871379Y7716263D01* +G01X1869300Y7713295D01* +G01X1869300Y7709566D01* +G01X1867833Y7706830D01* +G01X1866366Y7704093D01* +G01X1866366Y7700766D01* +G01X1864900Y7698030D01* +G01X1863433Y7695293D01* +G01X1863421Y7693641D01* +G01X1863409Y7691988D01* +G01X1861378Y7687955D01* +G01X1859347Y7683922D01* +G37* +G36* +G01X1414183Y7737197D02* +G01X1405233Y7736941D01* +G01X1402049Y7737703D01* +G01X1398866Y7738465D01* +G01X1391533Y7741121D01* +G01X1389333Y7742588D01* +G01X1387133Y7744054D01* +G01X1384200Y7747092D01* +G01X1381266Y7750130D01* +G01X1380487Y7751437D01* +G01X1379709Y7752744D01* +G01X1377966Y7751667D01* +G01X1377966Y7742548D01* +G01X1375683Y7739288D01* +G01X1299982Y7739288D01* +G01X1298641Y7740501D01* +G01X1297300Y7741715D01* +G01X1297300Y7847527D01* +G01X1295540Y7849287D01* +G01X1291726Y7849287D01* +G01X1290846Y7850166D01* +G01X1289966Y7851046D01* +G01X1289966Y7863262D01* +G01X1297203Y7863262D01* +G01X1297435Y7860866D01* +G01X1297666Y7858470D01* +G01X1300454Y7858021D01* +G01X1303241Y7857572D01* +G01X1305000Y7855814D01* +G01X1305366Y7801767D01* +G01X1305366Y7801767D01* +G01X1305733Y7747721D01* +G01X1369243Y7747339D01* +G01X1369022Y7751196D01* +G01X1368800Y7755054D01* +G01X1320197Y7755441D01* +G01X1319198Y7756643D01* +G01X1318200Y7757845D01* +G01X1317833Y7810349D01* +G01X1317466Y7862853D01* +G01X1297203Y7863262D01* +G01X1289966Y7863262D01* +G01X1289966Y7869576D01* +G01X1290455Y7870064D01* +G01X1290944Y7870553D01* +G01X1323580Y7870553D01* +G01X1324739Y7870108D01* +G01X1325900Y7869663D01* +G01X1325900Y7766324D01* +G01X1326659Y7764906D01* +G01X1327418Y7763487D01* +G01X1374876Y7763487D01* +G01X1375766Y7765807D01* +G01X1375764Y7769292D01* +G01X1383961Y7769292D01* +G01X1385418Y7758721D01* +G01X1386954Y7756154D01* +G01X1388490Y7753588D01* +G01X1391489Y7750663D01* +G01X1396365Y7747354D01* +G01X1398309Y7747354D01* +G01X1407491Y7744421D01* +G01X1407491Y7744421D01* +G01X1417639Y7744421D01* +G01X1419619Y7745432D01* +G01X1421600Y7746445D01* +G01X1424057Y7746973D01* +G01X1426513Y7747503D01* +G01X1429666Y7749630D01* +G01X1432817Y7751758D01* +G01X1435092Y7754348D01* +G01X1437366Y7756938D01* +G01X1437366Y7758354D01* +G01X1442343Y7758354D01* +G01X1442812Y7757131D01* +G01X1443281Y7755908D01* +G01X1443732Y7751597D01* +G01X1444182Y7747285D01* +G01X1451666Y7747721D01* +G01X1451666Y7815921D01* +G01X1449686Y7819220D01* +G01X1447707Y7822520D01* +G01X1444920Y7825169D01* +G01X1442133Y7827816D01* +G01X1439199Y7829326D01* +G01X1436266Y7830835D01* +G01X1428199Y7831999D01* +G01X1420133Y7833162D01* +G01X1417138Y7833157D01* +G01X1414144Y7833154D01* +G01X1413454Y7832463D01* +G01X1395631Y7830393D01* +G01X1390800Y7827578D01* +G01X1390574Y7822483D01* +G01X1390348Y7817387D01* +G01X1390790Y7815004D01* +G01X1391233Y7812620D01* +G01X1395221Y7812620D01* +G01X1398866Y7823252D01* +G01X1401066Y7824302D01* +G01X1403266Y7825352D01* +G01X1410391Y7826078D01* +G01X1417515Y7826804D01* +G01X1422124Y7826023D01* +G01X1426733Y7825242D01* +G01X1433162Y7822827D01* +G01X1435278Y7820840D01* +G01X1437395Y7818854D01* +G01X1438980Y7815921D01* +G01X1440565Y7812987D01* +G01X1440878Y7805601D01* +G01X1441190Y7798215D01* +G01X1438728Y7795754D01* +G01X1418523Y7795754D01* +G01X1411628Y7794298D01* +G01X1404733Y7792844D01* +G01X1403081Y7792832D01* +G01X1401428Y7792821D01* +G01X1398691Y7791354D01* +G01X1395955Y7789887D01* +G01X1394434Y7789887D01* +G01X1387866Y7783452D01* +G01X1386668Y7782086D01* +G01X1385470Y7780721D01* +G01X1384716Y7775007D01* +G01X1383961Y7769292D01* +G01X1375764Y7769292D01* +G01X1375763Y7770330D01* +G01X1375759Y7774854D01* +G01X1376955Y7778521D01* +G01X1378151Y7782187D01* +G01X1379505Y7785121D01* +G01X1380560Y7787036D01* +G01X1381616Y7788952D01* +G01X1388599Y7795112D01* +G01X1389473Y7795787D01* +G01X1390345Y7796463D01* +G01X1399600Y7799996D01* +G01X1403266Y7800905D01* +G01X1406933Y7801813D01* +G01X1410233Y7802407D01* +G01X1413533Y7803000D01* +G01X1422089Y7803043D01* +G01X1430647Y7803087D01* +G01X1431806Y7803532D01* +G01X1432966Y7803978D01* +G01X1432966Y7809376D01* +G01X1431317Y7812622D01* +G01X1429666Y7815869D01* +G01X1419399Y7818454D01* +G01X1415733Y7818411D01* +G01X1412067Y7818369D01* +G01X1405539Y7816653D01* +G01X1404135Y7811887D01* +G01X1402733Y7807120D01* +G01X1401643Y7804921D01* +G01X1385519Y7804508D01* +G01X1383786Y7805911D01* +G01X1382053Y7807314D01* +G01X1382026Y7819784D01* +G01X1382000Y7832254D01* +G01X1383327Y7833727D01* +G01X1384655Y7835200D01* +G01X1388599Y7835948D01* +G01X1391533Y7837086D01* +G01X1394466Y7838222D01* +G01X1397124Y7838255D01* +G01X1399782Y7838287D01* +G01X1402990Y7839468D01* +G01X1406200Y7840650D01* +G01X1418300Y7840679D01* +G01X1430400Y7840709D01* +G01X1433126Y7839498D01* +G01X1435852Y7838287D01* +G01X1437526Y7838276D01* +G01X1439199Y7838265D01* +G01X1441033Y7837220D01* +G01X1442867Y7836175D01* +G01X1445219Y7835081D01* +G01X1447571Y7833987D01* +G01X1450737Y7830821D01* +G01X1453903Y7827653D01* +G01X1455965Y7823987D01* +G01X1458027Y7820320D01* +G01X1458815Y7816653D01* +G01X1459602Y7812987D01* +G01X1459878Y7777508D01* +G01X1460154Y7742029D01* +G01X1457672Y7739288D01* +G01X1441129Y7739288D01* +G01X1439310Y7739979D01* +G01X1437492Y7740671D01* +G01X1437013Y7742179D01* +G01X1436534Y7743687D01* +G01X1434718Y7743687D01* +G01X1429748Y7740021D01* +G01X1427048Y7740021D01* +G01X1423133Y7737454D01* +G01X1414183Y7737197D01* +G37* +G36* +G01X1618133Y7740982D02* +G01X1612633Y7739218D01* +G01X1607133Y7737454D01* +G01X1592833Y7737457D01* +G01X1578533Y7737459D01* +G01X1576186Y7738740D01* +G01X1573839Y7740021D01* +G01X1572520Y7740006D01* +G01X1571199Y7739992D01* +G01X1566271Y7742370D01* +G01X1561342Y7744747D01* +G01X1559732Y7748636D01* +G01X1560187Y7751387D01* +G01X1568757Y7751387D01* +G01X1570434Y7749666D01* +G01X1572109Y7747945D01* +G01X1576787Y7746973D01* +G01X1581466Y7746003D01* +G01X1584400Y7745229D01* +G01X1587333Y7744456D01* +G01X1594873Y7744439D01* +G01X1594873Y7744439D01* +G01X1602413Y7744421D01* +G01X1607283Y7746455D01* +G01X1613724Y7747544D01* +G01X1617666Y7749768D01* +G01X1621608Y7751993D01* +G01X1627300Y7757916D01* +G01X1627349Y7759454D01* +G01X1628767Y7762387D01* +G01X1630183Y7765321D01* +G01X1630208Y7768478D01* +G01X1630233Y7771635D01* +G01X1628666Y7775078D01* +G01X1627099Y7778521D01* +G01X1625182Y7780849D01* +G01X1623265Y7783178D01* +G01X1618133Y7786601D01* +G01X1616300Y7787505D01* +G01X1614466Y7788410D01* +G01X1613367Y7789034D01* +G01X1612266Y7789657D01* +G01X1608966Y7791241D01* +G01X1605667Y7792825D01* +G01X1605013Y7792823D01* +G01X1604360Y7792821D01* +G01X1600980Y7794371D01* +G01X1597600Y7795921D01* +G01X1593698Y7797854D01* +G01X1589796Y7799787D01* +G01X1586548Y7802915D01* +G01X1583299Y7806042D01* +G01X1583299Y7816818D01* +G01X1585550Y7819650D01* +G01X1587800Y7822481D01* +G01X1594666Y7825972D01* +G01X1607133Y7826712D01* +G01X1610154Y7825897D01* +G01X1613175Y7825082D01* +G01X1614998Y7823648D01* +G01X1616822Y7822213D01* +G01X1617257Y7818538D01* +G01X1617692Y7814862D01* +G01X1618489Y7813375D01* +G01X1619285Y7811887D01* +G01X1624366Y7811887D01* +G01X1624366Y7827770D01* +G01X1620883Y7829299D01* +G01X1617399Y7830827D01* +G01X1611035Y7831990D01* +G01X1604670Y7833154D01* +G01X1601135Y7833056D01* +G01X1597600Y7832959D01* +G01X1591366Y7831744D01* +G01X1585133Y7830529D01* +G01X1579284Y7827653D01* +G01X1576158Y7824556D01* +G01X1573033Y7821459D01* +G01X1573024Y7819587D01* +G01X1571810Y7817387D01* +G01X1570596Y7815187D01* +G01X1570610Y7807120D01* +G01X1572160Y7803780D01* +G01X1573708Y7800439D01* +G01X1576815Y7797363D01* +G01X1579922Y7794287D01* +G01X1581635Y7794287D01* +G01X1583500Y7792821D01* +G01X1585364Y7791354D01* +G01X1587333Y7791345D01* +G01X1589533Y7790175D01* +G01X1591733Y7789005D01* +G01X1598637Y7786916D01* +G01X1599078Y7786202D01* +G01X1599520Y7785487D01* +G01X1602902Y7785487D01* +G01X1606399Y7782755D01* +G01X1607866Y7782269D01* +G01X1609333Y7781782D01* +G01X1611166Y7780139D01* +G01X1613000Y7778496D01* +G01X1615016Y7776068D01* +G01X1617033Y7773641D01* +G01X1617033Y7762241D01* +G01X1614816Y7759181D01* +G01X1612600Y7756121D01* +G01X1604200Y7752235D01* +G01X1596500Y7752254D01* +G01X1588800Y7752274D01* +G01X1585960Y7753481D01* +G01X1583120Y7754687D01* +G01X1579245Y7754687D01* +G01X1576431Y7756196D01* +G01X1573617Y7757704D01* +G01X1571683Y7757479D01* +G01X1569750Y7757254D01* +G01X1569254Y7754321D01* +G01X1568757Y7751387D01* +G01X1560187Y7751387D01* +G01X1560202Y7751478D01* +G01X1560672Y7754321D01* +G01X1561714Y7759087D01* +G01X1562756Y7763854D01* +G01X1563142Y7765871D01* +G01X1563527Y7767888D01* +G01X1568170Y7767888D01* +G01X1571151Y7766559D01* +G01X1574133Y7765231D01* +G01X1577800Y7763948D01* +G01X1581466Y7762665D01* +G01X1589406Y7761247D01* +G01X1597344Y7759828D01* +G01X1602422Y7760983D01* +G01X1607499Y7762138D01* +G01X1608599Y7763709D01* +G01X1609699Y7765280D01* +G01X1609677Y7767867D01* +G01X1609653Y7770454D01* +G01X1608026Y7772295D01* +G01X1606399Y7774137D01* +G01X1602969Y7776145D01* +G01X1599538Y7778154D01* +G01X1597578Y7778154D01* +G01X1594842Y7779620D01* +G01X1592105Y7781087D01* +G01X1589733Y7781087D01* +G01X1584400Y7783834D01* +G01X1580006Y7785937D01* +G01X1575613Y7788041D01* +G01X1574337Y7789147D01* +G01X1573061Y7790254D01* +G01X1570133Y7793042D01* +G01X1567205Y7795831D01* +G01X1563188Y7803454D01* +G01X1563160Y7810787D01* +G01X1563133Y7818120D01* +G01X1565159Y7822311D01* +G01X1567185Y7826503D01* +G01X1570780Y7830097D01* +G01X1574374Y7833691D01* +G01X1577774Y7835591D01* +G01X1581174Y7837492D01* +G01X1589533Y7839863D01* +G01X1592833Y7840494D01* +G01X1596133Y7841125D01* +G01X1604288Y7840808D01* +G01X1612443Y7840491D01* +G01X1615081Y7839389D01* +G01X1617719Y7838287D01* +G01X1620906Y7838287D01* +G01X1623919Y7836903D01* +G01X1626933Y7835520D01* +G01X1630995Y7833905D01* +G01X1631714Y7832014D01* +G01X1632433Y7830125D01* +G01X1632433Y7806104D01* +G01X1629173Y7803820D01* +G01X1615470Y7803820D01* +G01X1614068Y7804571D01* +G01X1612667Y7805321D01* +G01X1611786Y7806954D01* +G01X1610906Y7808587D01* +G01X1610115Y7812987D01* +G01X1609323Y7817387D01* +G01X1606761Y7818291D01* +G01X1604200Y7819195D01* +G01X1601148Y7818805D01* +G01X1598096Y7818417D01* +G01X1594915Y7816888D01* +G01X1591733Y7815360D01* +G01X1591194Y7814540D01* +G01X1590655Y7813720D01* +G01X1590644Y7811604D01* +G01X1590633Y7809489D01* +G01X1592350Y7807938D01* +G01X1594067Y7806387D01* +G01X1597300Y7804844D01* +G01X1600533Y7803301D01* +G01X1603833Y7801725D01* +G01X1607133Y7800150D01* +G01X1608324Y7800154D01* +G01X1612495Y7798276D01* +G01X1616666Y7796398D01* +G01X1617767Y7795707D01* +G01X1618866Y7795017D01* +G01X1621897Y7793693D01* +G01X1624781Y7791744D01* +G01X1627666Y7789796D01* +G01X1630769Y7786429D01* +G01X1633872Y7783063D01* +G01X1634807Y7779987D01* +G01X1637199Y7777268D01* +G01X1637199Y7760921D01* +G01X1635224Y7756888D01* +G01X1633248Y7752854D01* +G01X1630428Y7749921D01* +G01X1627607Y7746987D01* +G01X1621721Y7742954D01* +G01X1620449Y7742954D01* +G01X1619291Y7741968D01* +G01X1618133Y7740982D01* +G37* +G36* +G01X1533066Y7740864D02* +G01X1531600Y7740181D01* +G01X1525041Y7737454D01* +G01X1502266Y7737454D01* +G01X1500305Y7738786D01* +G01X1498343Y7740117D01* +G01X1495905Y7740114D01* +G01X1493467Y7740110D01* +G01X1486866Y7739279D01* +G01X1480266Y7738449D01* +G01X1477086Y7738785D01* +G01X1473905Y7739122D01* +G01X1472200Y7740827D01* +G01X1471833Y7794874D01* +G01X1471466Y7848920D01* +G01X1468362Y7849145D01* +G01X1465258Y7849369D01* +G01X1464145Y7850958D01* +G01X1463033Y7852546D01* +G01X1463033Y7860820D01* +G01X1470133Y7860820D01* +G01X1471615Y7858453D01* +G01X1474474Y7858221D01* +G01X1477333Y7857988D01* +G01X1478800Y7856547D01* +G01X1479166Y7802134D01* +G01X1479533Y7747721D01* +G01X1482792Y7747488D01* +G01X1486051Y7747256D01* +G01X1490653Y7752739D01* +G01X1491694Y7752238D01* +G01X1492733Y7751738D01* +G01X1494933Y7750288D01* +G01X1497133Y7748837D01* +G01X1497133Y7748837D01* +G01X1500800Y7747207D01* +G01X1507072Y7744421D01* +G01X1519866Y7744427D01* +G01X1524633Y7746124D01* +G01X1529400Y7747820D01* +G01X1531655Y7749237D01* +G01X1533912Y7750654D01* +G01X1536066Y7752488D01* +G01X1538220Y7754321D01* +G01X1539942Y7756749D01* +G01X1541664Y7759177D01* +G01X1545166Y7765765D01* +G01X1545166Y7767924D01* +G01X1546633Y7772097D01* +G01X1548099Y7776270D01* +G01X1548099Y7807904D01* +G01X1546633Y7812078D01* +G01X1545166Y7816250D01* +G01X1545166Y7817688D01* +G01X1543359Y7820471D01* +G01X1541551Y7823253D01* +G01X1540242Y7824938D01* +G01X1538933Y7826623D01* +G01X1535954Y7828671D01* +G01X1532975Y7830718D01* +G01X1526361Y7832003D01* +G01X1519747Y7833288D01* +G01X1513054Y7831837D01* +G01X1506360Y7830386D01* +G01X1504145Y7828387D01* +G01X1501923Y7826588D01* +G01X1499700Y7824789D01* +G01X1499700Y7822859D01* +G01X1501716Y7823327D01* +G01X1503733Y7823794D01* +G01X1507296Y7826026D01* +G01X1519866Y7826187D01* +G01X1527933Y7822279D01* +G01X1529413Y7820567D01* +G01X1530893Y7818854D01* +G01X1532546Y7816477D01* +G01X1534201Y7814101D01* +G01X1534622Y7811711D01* +G01X1535043Y7809320D01* +G01X1536102Y7806383D01* +G01X1537162Y7803445D01* +G01X1536937Y7789150D01* +G01X1536711Y7774854D01* +G01X1535363Y7770087D01* +G01X1534015Y7765321D01* +G01X1532991Y7764163D01* +G01X1531967Y7763005D01* +G01X1531967Y7761599D01* +G01X1528483Y7758288D01* +G01X1524999Y7754978D01* +G01X1518239Y7751754D01* +G01X1500896Y7751754D01* +G01X1497548Y7753273D01* +G01X1494200Y7754792D01* +G01X1493100Y7755361D01* +G01X1492000Y7755931D01* +G01X1491094Y7757693D01* +G01X1490188Y7759454D01* +G01X1490187Y7762074D01* +G01X1498844Y7762074D01* +G01X1503733Y7759093D01* +G01X1509446Y7759090D01* +G01X1509446Y7759090D01* +G01X1515158Y7759087D01* +G01X1521333Y7762182D01* +G01X1525366Y7765962D01* +G01X1525366Y7767765D01* +G01X1526169Y7768032D01* +G01X1526971Y7768300D01* +G01X1527603Y7771577D01* +G01X1528234Y7774854D01* +G01X1528738Y7784758D01* +G01X1529242Y7794663D01* +G01X1528309Y7802280D01* +G01X1527376Y7809896D01* +G01X1525320Y7812942D01* +G01X1523264Y7815988D01* +G01X1519301Y7817237D01* +G01X1515337Y7818487D01* +G01X1513569Y7818401D01* +G01X1511800Y7818316D01* +G01X1507903Y7817183D01* +G01X1504007Y7816050D01* +G01X1501670Y7812685D01* +G01X1499333Y7809320D01* +G01X1499088Y7785697D01* +G01X1498844Y7762074D01* +G01X1490187Y7762074D01* +G01X1490166Y7802046D01* +G01X1491266Y7806269D01* +G01X1492366Y7810492D01* +G01X1492366Y7814527D01* +G01X1491450Y7815442D01* +G01X1490533Y7816358D01* +G01X1490166Y7839606D01* +G01X1489799Y7862853D01* +G01X1480435Y7863059D01* +G01X1471071Y7863264D01* +G01X1470601Y7862042D01* +G01X1470133Y7860820D01* +G01X1463033Y7860820D01* +G01X1463033Y7868793D01* +G01X1463913Y7869673D01* +G01X1464793Y7870553D01* +G01X1497206Y7870553D01* +G01X1498086Y7869673D01* +G01X1498966Y7868793D01* +G01X1498966Y7836173D01* +G01X1499746Y7835692D01* +G01X1500525Y7835210D01* +G01X1501763Y7836260D01* +G01X1503000Y7837311D01* +G01X1507766Y7838828D01* +G01X1512533Y7840346D01* +G01X1516567Y7840821D01* +G01X1520599Y7841297D01* +G01X1524999Y7840605D01* +G01X1529400Y7839913D01* +G01X1531967Y7839005D01* +G01X1534533Y7838098D01* +G01X1538423Y7836176D01* +G01X1542313Y7834253D01* +G01X1545940Y7830381D01* +G01X1549566Y7826509D01* +G01X1549566Y7824951D01* +G01X1552500Y7821223D01* +G01X1552500Y7818080D01* +G01X1553629Y7816467D01* +G01X1554759Y7814854D01* +G01X1555588Y7806221D01* +G01X1556417Y7797587D01* +G01X1556410Y7792454D01* +G01X1556405Y7787320D01* +G01X1555592Y7778334D01* +G01X1554778Y7769348D01* +G01X1552500Y7766094D01* +G01X1552500Y7762961D01* +G01X1550446Y7759007D01* +G01X1548393Y7755054D01* +G01X1546813Y7752488D01* +G01X1545233Y7749921D01* +G01X1538049Y7743564D01* +G01X1534533Y7741546D01* +G01X1533066Y7740864D01* +G37* +G36* +G01X1423524Y7751754D02* +G01X1409452Y7751754D01* +G01X1404733Y7753732D01* +G01X1402334Y7755755D01* +G01X1399935Y7757777D01* +G01X1396299Y7765462D01* +G01X1396299Y7770252D01* +G01X1404224Y7770252D01* +G01X1405146Y7766136D01* +G01X1406066Y7762021D01* +G01X1407435Y7762021D01* +G01X1409300Y7760554D01* +G01X1411164Y7759087D01* +G01X1411164Y7759087D01* +G01X1420354Y7759087D01* +G01X1427524Y7762410D01* +G01X1429126Y7763902D01* +G01X1430728Y7765394D01* +G01X1431847Y7768566D01* +G01X1432966Y7771738D01* +G01X1432966Y7780860D01* +G01X1431625Y7782073D01* +G01X1430284Y7783288D01* +G01X1425576Y7783195D01* +G01X1420866Y7783103D01* +G01X1415064Y7781998D01* +G01X1409260Y7780894D01* +G01X1407228Y7778815D01* +G01X1405197Y7776736D01* +G01X1404224Y7770252D01* +G01X1396299Y7770252D01* +G01X1396299Y7775833D01* +G01X1398168Y7779554D01* +G01X1400037Y7783274D01* +G01X1406777Y7788421D01* +G01X1409596Y7788421D01* +G01X1411198Y7789309D01* +G01X1412800Y7790198D01* +G01X1416466Y7790700D01* +G01X1420133Y7791202D01* +G01X1438764Y7790987D01* +G01X1440666Y7789079D01* +G01X1440661Y7777933D01* +G01X1440655Y7766787D01* +G01X1438848Y7763854D01* +G01X1437040Y7760921D01* +G01X1434086Y7758139D01* +G01X1431133Y7755357D01* +G01X1427328Y7753555D01* +G01X1423524Y7751754D01* +G37* +G36* +G01X1211133Y7895551D02* +G01X1204959Y7895486D01* +G01X1194206Y7893887D01* +G01X1184855Y7895034D01* +G01X1175504Y7896181D01* +G01X1173905Y7897300D01* +G01X1172306Y7898420D01* +G01X1170145Y7898420D01* +G01X1167172Y7900411D01* +G01X1164199Y7902403D01* +G01X1160141Y7906461D01* +G01X1156083Y7910519D01* +G01X1154091Y7913492D01* +G01X1152099Y7916465D01* +G01X1152099Y7918224D01* +G01X1150633Y7920961D01* +G01X1149166Y7923697D01* +G01X1149166Y7928302D01* +G01X1148067Y7931419D01* +G01X1146966Y7934537D01* +G01X1146966Y7946085D01* +G01X1154751Y7946085D01* +G01X1156642Y7926749D01* +G01X1158037Y7924145D01* +G01X1159433Y7921541D01* +G01X1159433Y7919759D01* +G01X1161574Y7916606D01* +G01X1163715Y7913452D01* +G01X1166158Y7911236D01* +G01X1168600Y7909020D01* +G01X1170953Y7907386D01* +G01X1173307Y7905753D01* +G01X1173307Y7905753D01* +G01X1175222Y7905753D01* +G01X1181009Y7902651D01* +G01X1194337Y7902673D01* +G01X1207665Y7902695D01* +G01X1209936Y7903870D01* +G01X1212208Y7905044D01* +G01X1215520Y7905498D01* +G01X1218833Y7905952D01* +G01X1218833Y7907834D01* +G01X1216266Y7912344D01* +G01X1215497Y7912348D01* +G01X1214726Y7912353D01* +G01X1213315Y7910942D01* +G01X1206724Y7910117D01* +G01X1200133Y7909293D01* +G01X1192800Y7908547D01* +G01X1186612Y7909728D01* +G01X1180425Y7910907D01* +G01X1179221Y7911997D01* +G01X1178018Y7913086D01* +G01X1176414Y7913086D01* +G01X1173719Y7916203D01* +G01X1171024Y7919319D01* +G01X1167276Y7927386D01* +G01X1166937Y7934910D01* +G01X1166600Y7942434D01* +G01X1167506Y7943527D01* +G01X1168413Y7944619D01* +G01X1221971Y7944619D01* +G01X1222946Y7945903D01* +G01X1223920Y7947186D01* +G01X1223943Y7951007D01* +G01X1223966Y7954828D01* +G01X1223148Y7962351D01* +G01X1222329Y7969875D01* +G01X1220948Y7972453D01* +G01X1219566Y7975030D01* +G01X1219566Y7976912D01* +G01X1214813Y7981665D01* +G01X1210060Y7986419D01* +G01X1208178Y7986419D01* +G01X1202683Y7989364D01* +G01X1192974Y7989662D01* +G01X1183266Y7989960D01* +G01X1179966Y7989448D01* +G01X1176666Y7988935D01* +G01X1173280Y7987319D01* +G01X1169895Y7985703D01* +G01X1167016Y7982909D01* +G01X1164137Y7980116D01* +G01X1159433Y7973145D01* +G01X1159433Y7971672D01* +G01X1156642Y7965519D01* +G01X1154751Y7946085D01* +G01X1146966Y7946085D01* +G01X1146966Y7957724D01* +G01X1148568Y7961852D01* +G01X1149251Y7966581D01* +G01X1149935Y7971309D01* +G01X1151017Y7972505D01* +G01X1152099Y7973701D01* +G01X1152099Y7976688D01* +G01X1153566Y7978552D01* +G01X1155033Y7980417D01* +G01X1155033Y7981448D01* +G01X1158058Y7985061D01* +G01X1161083Y7988674D01* +G01X1164474Y7991024D01* +G01X1167866Y7993374D01* +G01X1171167Y7995007D01* +G01X1174466Y7996639D01* +G01X1176300Y7996694D01* +G01X1178133Y7996750D01* +G01X1181800Y7997768D01* +G01X1185466Y7998786D01* +G01X1189162Y7998836D01* +G01X1192858Y7998885D01* +G01X1197082Y7997785D01* +G01X1201304Y7996686D01* +G01X1205323Y7996686D01* +G01X1208043Y7995299D01* +G01X1210763Y7993912D01* +G01X1214589Y7992952D01* +G01X1220344Y7987196D01* +G01X1226099Y7981441D01* +G01X1226598Y7979347D01* +G01X1227097Y7977252D01* +G01X1228120Y7976070D01* +G01X1229143Y7974888D01* +G01X1229807Y7970937D01* +G01X1230470Y7966986D01* +G01X1231270Y7964755D01* +G01X1232070Y7962525D01* +G01X1231868Y7950121D01* +G01X1231666Y7937717D01* +G01X1228000Y7936699D01* +G01X1201050Y7936625D01* +G01X1174100Y7936552D01* +G01X1174100Y7933935D01* +G01X1175566Y7929762D01* +G01X1177033Y7925589D01* +G01X1177033Y7923650D01* +G01X1181479Y7920053D01* +G01X1183820Y7917928D01* +G01X1192800Y7916819D01* +G01X1200133Y7917254D01* +G01X1207466Y7917690D01* +G01X1211184Y7919560D01* +G01X1214092Y7920086D01* +G01X1217000Y7920611D01* +G01X1217997Y7921405D01* +G01X1218994Y7922199D01* +G01X1223966Y7916774D01* +G01X1223966Y7913999D01* +G01X1225066Y7913086D01* +G01X1226166Y7912173D01* +G01X1226166Y7910616D01* +G01X1229245Y7904256D01* +G01X1228865Y7903265D01* +G01X1228484Y7902274D01* +G01X1225080Y7900626D01* +G01X1221675Y7898978D01* +G01X1219337Y7898381D01* +G01X1217000Y7897786D01* +G01X1214067Y7896668D01* +G01X1211133Y7895551D01* +G37* +G36* +G01X1771358Y7894692D02* +G01X1766797Y7893897D01* +G01X1757857Y7895057D01* +G01X1748918Y7896217D01* +G01X1747346Y7897319D01* +G01X1745773Y7898420D01* +G01X1743684Y7898420D01* +G01X1739839Y7900972D01* +G01X1735993Y7903525D01* +G01X1733163Y7907026D01* +G01X1730333Y7910526D01* +G01X1729411Y7911989D01* +G01X1728489Y7913452D01* +G01X1727699Y7915286D01* +G01X1726909Y7917120D01* +G01X1725838Y7919252D01* +G01X1724767Y7921385D01* +G01X1724104Y7926623D01* +G01X1723439Y7931860D01* +G01X1721936Y7938385D01* +G01X1721917Y7946458D01* +G01X1721901Y7953785D01* +G01X1730562Y7953785D01* +G01X1730943Y7940482D01* +G01X1731324Y7927178D01* +G01X1732845Y7923839D01* +G01X1734366Y7920500D01* +G01X1734366Y7918443D01* +G01X1735833Y7916753D01* +G01X1737300Y7915062D01* +G01X1737300Y7913910D01* +G01X1741333Y7909515D01* +G01X1746898Y7905753D01* +G01X1748688Y7905753D01* +G01X1751505Y7904243D01* +G01X1754323Y7902733D01* +G01X1765921Y7902715D01* +G01X1765921Y7902715D01* +G01X1777519Y7902696D01* +G01X1779959Y7903842D01* +G01X1782400Y7904987D01* +G01X1785333Y7905584D01* +G01X1788267Y7906179D01* +G01X1788480Y7907643D01* +G01X1788694Y7909107D01* +G01X1786852Y7910837D01* +G01X1785009Y7912568D01* +G01X1784015Y7911742D01* +G01X1783020Y7910917D01* +G01X1777943Y7910174D01* +G01X1772867Y7909432D01* +G01X1770231Y7908981D01* +G01X1767595Y7908531D01* +G01X1756344Y7910858D01* +G01X1753992Y7912522D01* +G01X1751639Y7914186D01* +G01X1748666Y7917724D01* +G01X1746650Y7921455D01* +G01X1744633Y7925186D01* +G01X1744633Y7928302D01* +G01X1743533Y7931419D01* +G01X1742433Y7934537D01* +G01X1742433Y7959024D01* +G01X1743476Y7962271D01* +G01X1744519Y7965519D01* +G01X1744962Y7968195D01* +G01X1745405Y7970871D01* +G01X1746485Y7971768D01* +G01X1747566Y7972665D01* +G01X1747567Y7973492D01* +G01X1747568Y7974319D01* +G01X1749584Y7976352D01* +G01X1751600Y7978386D01* +G01X1753654Y7980202D01* +G01X1755709Y7982018D01* +G01X1758387Y7982018D01* +G01X1761020Y7983119D01* +G01X1763653Y7984219D01* +G01X1769837Y7984219D01* +G01X1774138Y7983012D01* +G01X1778439Y7981805D01* +G01X1779417Y7979895D01* +G01X1780394Y7977986D01* +G01X1780922Y7974096D01* +G01X1781448Y7970206D01* +G01X1784124Y7970429D01* +G01X1786800Y7970652D01* +G01X1786800Y7986023D01* +G01X1783733Y7987715D01* +G01X1780668Y7989406D01* +G01X1769800Y7989676D01* +G01X1758933Y7989945D01* +G01X1753067Y7989300D01* +G01X1748430Y7987055D01* +G01X1743794Y7984809D01* +G01X1740730Y7981682D01* +G01X1737667Y7978556D01* +G01X1736256Y7976070D01* +G01X1734845Y7973586D01* +G01X1733443Y7969919D01* +G01X1732040Y7966252D01* +G01X1731301Y7960019D01* +G01X1730562Y7953785D01* +G01X1721901Y7953785D01* +G01X1721900Y7954529D01* +G01X1722655Y7957091D01* +G01X1723410Y7959652D01* +G01X1724119Y7965095D01* +G01X1724829Y7970537D01* +G01X1725931Y7972219D01* +G01X1727033Y7973901D01* +G01X1727033Y7976688D01* +G01X1728500Y7978552D01* +G01X1729967Y7980417D01* +G01X1729967Y7981448D01* +G01X1735947Y7988592D01* +G01X1742466Y7992991D01* +G01X1746371Y7994838D01* +G01X1750275Y7996686D01* +G01X1752037Y7996716D01* +G01X1753799Y7996747D01* +G01X1757833Y7997754D01* +G01X1761866Y7998761D01* +G01X1769199Y7998860D01* +G01X1774333Y7997773D01* +G01X1779465Y7996686D01* +G01X1783923Y7996686D01* +G01X1789363Y7993912D01* +G01X1791015Y7993484D01* +G01X1792666Y7993056D01* +G01X1794316Y7990609D01* +G01X1795967Y7988161D01* +G01X1795967Y7965152D01* +G01X1793033Y7962219D01* +G01X1777226Y7962219D01* +G01X1775689Y7963296D01* +G01X1774152Y7964372D01* +G01X1773816Y7968418D01* +G01X1773481Y7972462D01* +G01X1772073Y7974023D01* +G01X1770666Y7975582D01* +G01X1765068Y7975260D01* +G01X1759470Y7974938D01* +G01X1757368Y7973183D01* +G01X1755266Y7971427D01* +G01X1753602Y7968207D01* +G01X1751938Y7964988D01* +G01X1750228Y7946839D01* +G01X1751132Y7937183D01* +G01X1752036Y7927528D01* +G01X1753810Y7924524D01* +G01X1755584Y7921519D01* +G01X1758285Y7919383D01* +G01X1760987Y7917247D01* +G01X1776811Y7917375D01* +G01X1781666Y7919528D01* +G01X1785266Y7920645D01* +G01X1788865Y7921761D01* +G01X1792259Y7920471D01* +G01X1792759Y7918429D01* +G01X1793258Y7916386D01* +G01X1794612Y7913830D01* +G01X1795967Y7911274D01* +G01X1795967Y7908866D01* +G01X1796985Y7908020D01* +G01X1798004Y7907175D01* +G01X1798341Y7905411D01* +G01X1798678Y7903648D01* +G01X1798239Y7903018D01* +G01X1797800Y7902387D01* +G01X1794992Y7900761D01* +G01X1792185Y7899135D01* +G01X1789492Y7898460D01* +G01X1786800Y7897787D01* +G01X1783866Y7896668D01* +G01X1780933Y7895551D01* +G01X1778427Y7895518D01* +G01X1775920Y7895486D01* +G01X1771358Y7894692D01* +G37* +G36* +G01X1849500Y7894375D02* +G01X1845466Y7893905D01* +G01X1836938Y7895046D01* +G01X1828409Y7896186D01* +G01X1826304Y7897241D01* +G01X1824200Y7898296D01* +G01X1822366Y7899127D01* +G01X1820533Y7899958D01* +G01X1818483Y7901078D01* +G01X1816433Y7902198D01* +G01X1807811Y7910847D01* +G01X1805622Y7915450D01* +G01X1803434Y7920053D01* +G01X1803049Y7921519D01* +G01X1802663Y7922986D01* +G01X1801398Y7926286D01* +G01X1800133Y7929586D01* +G01X1800149Y7959703D01* +G01X1807699Y7959703D01* +G01X1807699Y7932469D01* +G01X1809166Y7928295D01* +G01X1810633Y7924123D01* +G01X1810633Y7921751D01* +G01X1812099Y7919886D01* +G01X1813566Y7918021D01* +G01X1813571Y7917204D01* +G01X1813575Y7916386D01* +G01X1817054Y7912633D01* +G01X1820533Y7908879D01* +G01X1822116Y7908388D01* +G01X1823701Y7907896D01* +G01X1824590Y7906824D01* +G01X1825479Y7905753D01* +G01X1827888Y7905753D01* +G01X1827888Y7905753D01* +G01X1830775Y7904205D01* +G01X1833663Y7902658D01* +G01X1859400Y7902738D01* +G01X1863598Y7904245D01* +G01X1867796Y7905753D01* +G01X1870766Y7905753D01* +G01X1870766Y7909973D01* +G01X1869656Y7910894D01* +G01X1868546Y7911815D01* +G01X1864340Y7911028D01* +G01X1860133Y7910240D01* +G01X1853716Y7909345D01* +G01X1847299Y7908450D01* +G01X1840883Y7909418D01* +G01X1834467Y7910385D01* +G01X1831262Y7912224D01* +G01X1828058Y7914061D01* +G01X1824674Y7917445D01* +G01X1822861Y7920949D01* +G01X1821047Y7924452D01* +G01X1820120Y7928120D01* +G01X1819192Y7931786D01* +G01X1818746Y7936860D01* +G01X1818300Y7941935D01* +G01X1819416Y7943281D01* +G01X1820533Y7944627D01* +G01X1848400Y7944807D01* +G01X1876266Y7944986D01* +G01X1876475Y7953373D01* +G01X1876683Y7961760D01* +G01X1875192Y7966513D01* +G01X1873699Y7971266D01* +G01X1873699Y7973117D01* +G01X1872050Y7975876D01* +G01X1870399Y7978634D01* +G01X1867335Y7981731D01* +G01X1864271Y7984827D01* +G01X1854657Y7989416D01* +G01X1835199Y7989955D01* +G01X1832633Y7989632D01* +G01X1830066Y7989309D01* +G01X1826033Y7987339D01* +G01X1822000Y7985369D01* +G01X1818333Y7981648D01* +G01X1814666Y7977927D01* +G01X1812650Y7974039D01* +G01X1810633Y7970150D01* +G01X1810633Y7968049D01* +G01X1809166Y7963876D01* +G01X1807699Y7959703D01* +G01X1800149Y7959703D01* +G01X1800151Y7961852D01* +G01X1800927Y7964785D01* +G01X1801704Y7967719D01* +G01X1802616Y7970286D01* +G01X1803529Y7972852D01* +G01X1805660Y7977436D01* +G01X1807792Y7982018D01* +G01X1809166Y7982018D01* +G01X1809166Y7983892D01* +G01X1817970Y7992258D01* +G01X1822705Y7994472D01* +G01X1827438Y7996686D01* +G01X1829119Y7996696D01* +G01X1830799Y7996708D01* +G01X1834100Y7997747D01* +G01X1837400Y7998787D01* +G01X1841433Y7998827D01* +G01X1845466Y7998868D01* +G01X1853533Y7996703D01* +G01X1855677Y7996694D01* +G01X1857821Y7996686D01* +G01X1870161Y7990544D01* +G01X1874127Y7986098D01* +G01X1878093Y7981652D01* +G01X1878099Y7979999D01* +G01X1879180Y7979101D01* +G01X1880261Y7978205D01* +G01X1880729Y7975528D01* +G01X1881198Y7972852D01* +G01X1882398Y7971019D01* +G01X1883600Y7969185D01* +G01X1883849Y7953824D01* +G01X1884098Y7938463D01* +G01X1882792Y7937507D01* +G01X1881486Y7936552D01* +G01X1827329Y7936552D01* +G01X1828326Y7926653D01* +G01X1830899Y7922986D01* +G01X1831854Y7920420D01* +G01X1833426Y7920420D01* +G01X1835622Y7918795D01* +G01X1837819Y7917171D01* +G01X1858666Y7917351D01* +G01X1862461Y7918853D01* +G01X1866255Y7920354D01* +G01X1873602Y7921328D01* +G01X1877317Y7913625D01* +G01X1881033Y7905921D01* +G01X1881033Y7902193D01* +G01X1877045Y7900306D01* +G01X1873057Y7898420D01* +G01X1869626Y7898420D01* +G01X1868056Y7897320D01* +G01X1866486Y7896220D01* +G01X1853533Y7894845D01* +G01X1849500Y7894375D01* +G37* +G36* +G01X1434066Y7895716D02* +G01X1417933Y7893928D01* +G01X1413983Y7894707D01* +G01X1410033Y7895486D01* +G01X1405410Y7895486D01* +G01X1402533Y7896953D01* +G01X1399656Y7898420D01* +G01X1398284Y7898420D01* +G01X1390465Y7903610D01* +G01X1387491Y7907064D01* +G01X1384516Y7910519D01* +G01X1383488Y7912353D01* +G01X1382460Y7914186D01* +G01X1380550Y7917988D01* +G01X1378638Y7921791D01* +G01X1377996Y7925688D01* +G01X1377354Y7929586D01* +G01X1376453Y7931786D01* +G01X1375552Y7933986D01* +G01X1375547Y7946359D01* +G01X1382959Y7946359D01* +G01X1384185Y7936506D01* +G01X1385410Y7926653D01* +G01X1386821Y7923639D01* +G01X1388233Y7920625D01* +G01X1388233Y7919026D01* +G01X1390371Y7915873D01* +G01X1392509Y7912720D01* +G01X1394588Y7910871D01* +G01X1396666Y7909023D01* +G01X1399020Y7907388D01* +G01X1401374Y7905753D01* +G01X1401374Y7905753D01* +G01X1402247Y7905753D01* +G01X1408930Y7902708D01* +G01X1430607Y7902708D01* +G01X1433590Y7904230D01* +G01X1436574Y7905753D01* +G01X1438540Y7905753D01* +G01X1442783Y7909535D01* +G01X1447027Y7913317D01* +G01X1448949Y7916318D01* +G01X1450871Y7919319D01* +G01X1452251Y7922986D01* +G01X1453630Y7926653D01* +G01X1455815Y7944252D01* +G01X1454944Y7954855D01* +G01X1454072Y7965458D01* +G01X1451299Y7970630D01* +G01X1451299Y7973000D01* +G01X1447704Y7977693D01* +G01X1444108Y7982386D01* +G01X1438911Y7986419D01* +G01X1437173Y7986419D01* +G01X1434751Y7987916D01* +G01X1432329Y7989412D01* +G01X1422564Y7989703D01* +G01X1412800Y7989995D01* +G01X1409500Y7989424D01* +G01X1406200Y7988854D01* +G01X1403999Y7987641D01* +G01X1401800Y7986428D01* +G01X1401200Y7986423D01* +G01X1400602Y7986419D01* +G01X1397912Y7984402D01* +G01X1395221Y7982386D01* +G01X1393473Y7980343D01* +G01X1391726Y7978300D01* +G01X1388233Y7973154D01* +G01X1388233Y7971791D01* +G01X1385404Y7965519D01* +G01X1384181Y7955939D01* +G01X1382959Y7946359D01* +G01X1375547Y7946359D01* +G01X1375547Y7946452D01* +G01X1375543Y7958919D01* +G01X1376754Y7961758D01* +G01X1377966Y7964598D01* +G01X1377966Y7969025D01* +G01X1380732Y7975052D01* +G01X1381585Y7976885D01* +G01X1382438Y7978719D01* +G01X1383458Y7980561D01* +G01X1384479Y7982403D01* +G01X1387639Y7985832D01* +G01X1390800Y7989260D01* +G01X1395997Y7992769D01* +G01X1404276Y7996686D01* +G01X1405971Y7996716D01* +G01X1407667Y7996747D01* +G01X1411699Y7997754D01* +G01X1415733Y7998761D01* +G01X1419399Y7998814D01* +G01X1423067Y7998868D01* +G01X1427100Y7997785D01* +G01X1431133Y7996703D01* +G01X1432895Y7996694D01* +G01X1434658Y7996686D01* +G01X1439128Y7994443D01* +G01X1443599Y7992200D01* +G01X1445551Y7991134D01* +G01X1447501Y7990068D01* +G01X1454917Y7981954D01* +G01X1456006Y7979970D01* +G01X1457094Y7977986D01* +G01X1457935Y7976152D01* +G01X1458775Y7974319D01* +G01X1459838Y7972086D01* +G01X1460902Y7969853D01* +G01X1461558Y7965486D01* +G01X1462214Y7961119D01* +G01X1462990Y7958557D01* +G01X1463766Y7955995D01* +G01X1463766Y7936053D01* +G01X1462674Y7932452D01* +G01X1461582Y7928852D01* +G01X1461574Y7926624D01* +G01X1461566Y7924396D01* +G01X1460180Y7921676D01* +G01X1458793Y7918956D01* +G01X1457874Y7915295D01* +G01X1452053Y7906853D01* +G01X1446097Y7901820D01* +G01X1444481Y7900897D01* +G01X1442867Y7899973D01* +G01X1438466Y7897845D01* +G01X1434066Y7895716D01* +G37* +G36* +G01X1295763Y7896200D02* +G01X1287478Y7895114D01* +G01X1279194Y7894029D01* +G01X1271548Y7895033D01* +G01X1263901Y7896037D01* +G01X1258800Y7898802D01* +G01X1253896Y7902453D01* +G01X1249560Y7908867D01* +G01X1248872Y7912500D01* +G01X1248183Y7916133D01* +G01X1247624Y7916993D01* +G01X1247066Y7917853D01* +G01X1246700Y7946085D01* +G01X1246333Y7974319D01* +G01X1240039Y7974750D01* +G01X1233744Y7975181D01* +G01X1232033Y7976239D01* +G01X1232033Y7986303D01* +G01X1240703Y7986303D01* +G01X1241594Y7982752D01* +G01X1251466Y7982730D01* +G01X1253299Y7981804D01* +G01X1255133Y7980877D01* +G01X1255866Y7913316D01* +G01X1258601Y7909980D01* +G01X1261335Y7906643D01* +G01X1264693Y7904676D01* +G01X1268050Y7902708D01* +G01X1268050Y7902708D01* +G01X1289927Y7902708D01* +G01X1291453Y7903192D01* +G01X1292978Y7903677D01* +G01X1292756Y7906731D01* +G01X1292533Y7909786D01* +G01X1283671Y7909802D01* +G01X1274808Y7909819D01* +G01X1272304Y7911902D01* +G01X1269800Y7913986D01* +G01X1268149Y7917008D01* +G01X1266500Y7920030D01* +G01X1266500Y7980992D01* +G01X1267380Y7981872D01* +G01X1268259Y7982752D01* +G01X1289933Y7982752D01* +G01X1292432Y7986567D01* +G01X1291671Y7987776D01* +G01X1290909Y7988986D01* +G01X1279672Y7989188D01* +G01X1268435Y7989391D01* +G01X1266500Y7990998D01* +G01X1266500Y8012818D01* +G01X1265216Y8012764D01* +G01X1263933Y8012710D01* +G01X1257333Y8009111D01* +G01X1256417Y8007891D01* +G01X1255500Y8006671D01* +G01X1255500Y7990905D01* +G01X1254583Y7990312D01* +G01X1253666Y7989718D01* +G01X1241214Y7988986D01* +G01X1240959Y7987644D01* +G01X1240703Y7986303D01* +G01X1232033Y7986303D01* +G01X1232033Y7995132D01* +G01X1232950Y7995725D01* +G01X1233866Y7996319D01* +G01X1240100Y7996686D01* +G01X1246333Y7997052D01* +G01X1246700Y8004093D01* +G01X1247066Y8011135D01* +G01X1248077Y8012348D01* +G01X1249087Y8013562D01* +G01X1252933Y8015680D01* +G01X1254766Y8016528D01* +G01X1256599Y8017375D01* +G01X1257700Y8018035D01* +G01X1258800Y8018696D01* +G01X1262466Y8020460D01* +G01X1265964Y8023085D01* +G01X1268520Y8023085D01* +G01X1269433Y8024185D01* +G01X1270346Y8025285D01* +G01X1272942Y8025285D01* +G01X1273833Y8022965D01* +G01X1273833Y7996686D01* +G01X1297928Y7996686D01* +G01X1299154Y7995459D01* +G01X1300380Y7994233D01* +G01X1300123Y7985596D01* +G01X1299866Y7976959D01* +G01X1298915Y7976005D01* +G01X1297963Y7975052D01* +G01X1285898Y7974820D01* +G01X1273833Y7974587D01* +G01X1273833Y7922963D01* +G01X1275201Y7920408D01* +G01X1276570Y7917853D01* +G01X1289934Y7917431D01* +G01X1292114Y7918558D01* +G01X1294294Y7919686D01* +G01X1295638Y7919686D01* +G01X1297591Y7916735D01* +G01X1299543Y7913785D01* +G01X1300014Y7911431D01* +G01X1300485Y7909076D01* +G01X1303265Y7904364D01* +G01X1303033Y7901948D01* +G01X1302800Y7899531D01* +G01X1299281Y7897866D01* +G01X1295763Y7896200D01* +G37* +G36* +G01X1672766Y7895154D02* +G01X1665800Y7894666D01* +G01X1652599Y7896151D01* +G01X1649299Y7897792D01* +G01X1646000Y7899434D01* +G01X1642940Y7901736D01* +G01X1639880Y7904038D01* +G01X1636100Y7908531D01* +G01X1636100Y7909670D01* +G01X1635075Y7910828D01* +G01X1634051Y7911986D01* +G01X1632740Y7916753D01* +G01X1631429Y7921519D01* +G01X1631178Y7925776D01* +G01X1639572Y7925776D01* +G01X1640084Y7920987D01* +G01X1640597Y7916198D01* +G01X1643066Y7912851D01* +G01X1649666Y7905761D01* +G01X1650766Y7905732D01* +G01X1651866Y7905703D01* +G01X1654800Y7904286D01* +G01X1657733Y7902869D01* +G01X1657733Y7902869D01* +G01X1676840Y7902819D01* +G01X1679733Y7904811D01* +G01X1682399Y7905678D01* +G01X1685065Y7906544D01* +G01X1688815Y7910140D01* +G01X1692566Y7913737D01* +G01X1692566Y7915323D01* +G01X1694527Y7916067D01* +G01X1696487Y7916813D01* +G01X1697427Y7915866D01* +G01X1698366Y7914919D01* +G01X1698951Y7910153D01* +G01X1699535Y7905386D01* +G01X1706867Y7905386D01* +G01X1706867Y7973586D01* +G01X1704847Y7977182D01* +G01X1702829Y7980779D01* +G01X1699714Y7983589D01* +G01X1696600Y7986398D01* +G01X1695856Y7986408D01* +G01X1695111Y7986419D01* +G01X1692322Y7987914D01* +G01X1689532Y7989409D01* +G01X1677666Y7989682D01* +G01X1665800Y7989956D01* +G01X1660666Y7989434D01* +G01X1655533Y7988913D01* +G01X1647466Y7986280D01* +G01X1646524Y7985995D01* +G01X1645581Y7985712D01* +G01X1645790Y7978182D01* +G01X1646000Y7970652D01* +G01X1651074Y7970652D01* +G01X1654268Y7980886D01* +G01X1656267Y7981857D01* +G01X1668733Y7984226D01* +G01X1672491Y7984222D01* +G01X1676249Y7984219D01* +G01X1679367Y7983119D01* +G01X1682484Y7982018D01* +G01X1685755Y7982018D01* +G01X1689065Y7979492D01* +G01X1692375Y7976965D01* +G01X1694071Y7974175D01* +G01X1695767Y7971386D01* +G01X1696080Y7963969D01* +G01X1696392Y7956553D01* +G01X1695605Y7955081D01* +G01X1694817Y7953611D01* +G01X1676800Y7952643D01* +G01X1668366Y7951849D01* +G01X1659933Y7951054D01* +G01X1650451Y7947380D01* +G01X1648628Y7946184D01* +G01X1646804Y7944990D01* +G01X1643638Y7941825D01* +G01X1642013Y7939194D01* +G01X1640388Y7936564D01* +G01X1639979Y7931170D01* +G01X1639572Y7925776D01* +G01X1631178Y7925776D01* +G01X1630846Y7931422D01* +G01X1631955Y7934537D01* +G01X1633064Y7937653D01* +G01X1633475Y7939586D01* +G01X1633886Y7941520D01* +G01X1639440Y7948912D01* +G01X1643130Y7951849D01* +G01X1646820Y7954787D01* +G01X1648976Y7955320D01* +G01X1651133Y7955851D01* +G01X1652624Y7956815D01* +G01X1654115Y7957779D01* +G01X1659320Y7958517D01* +G01X1664525Y7959256D01* +G01X1666493Y7960004D01* +G01X1668462Y7960753D01* +G01X1676945Y7960753D01* +G01X1682556Y7961226D01* +G01X1688166Y7961701D01* +G01X1688166Y7967967D01* +G01X1686971Y7970049D01* +G01X1685776Y7972132D01* +G01X1683928Y7973525D01* +G01X1682081Y7974919D01* +G01X1673207Y7975239D01* +G01X1664333Y7975558D01* +G01X1660804Y7974202D01* +G01X1658947Y7966986D01* +G01X1657403Y7962952D01* +G01X1639871Y7962952D01* +G01X1638719Y7964105D01* +G01X1637566Y7965257D01* +G01X1637566Y7988692D01* +G01X1638637Y7990762D01* +G01X1639708Y7992832D01* +G01X1641387Y7993282D01* +G01X1643066Y7993732D01* +G01X1644533Y7993746D01* +G01X1646000Y7993761D01* +G01X1648134Y7994874D01* +G01X1650269Y7995987D01* +G01X1656934Y7996733D01* +G01X1663600Y7997479D01* +G01X1666533Y7998098D01* +G01X1669466Y7998716D01* +G01X1673500Y7998757D01* +G01X1677533Y7998798D01* +G01X1681200Y7998105D01* +G01X1684866Y7997413D01* +G01X1694083Y7996088D01* +G01X1695865Y7994920D01* +G01X1697648Y7993752D01* +G01X1699914Y7993752D01* +G01X1701170Y7992285D01* +G01X1702425Y7990819D01* +G01X1703799Y7990819D01* +G01X1707000Y7987335D01* +G01X1710201Y7983852D01* +G01X1712017Y7980382D01* +G01X1713833Y7976912D01* +G01X1713841Y7975249D01* +G01X1713849Y7973586D01* +G01X1714941Y7969985D01* +G01X1716033Y7966386D01* +G01X1716033Y7900084D01* +G01X1714513Y7898152D01* +G01X1712993Y7896219D01* +G01X1695607Y7896219D01* +G01X1693346Y7898961D01* +G01X1691086Y7901703D01* +G01X1689810Y7900805D01* +G01X1688533Y7899906D01* +G01X1684133Y7897774D01* +G01X1679733Y7895641D01* +G01X1672766Y7895154D01* +G37* +G36* +G01X1524958Y7896586D02* +G01X1503000Y7896166D01* +G01X1501431Y7896553D01* +G01X1499862Y7896940D01* +G01X1499230Y7898230D01* +G01X1498600Y7899519D01* +G01X1498233Y7951952D01* +G01X1497866Y8004386D01* +G01X1489309Y8004829D01* +G01X1488365Y8004045D01* +G01X1487421Y8003262D01* +G01X1487059Y8000055D01* +G01X1486698Y7996848D01* +G01X1483933Y7991185D01* +G01X1475754Y7990979D01* +G01X1467576Y7990772D01* +G01X1465988Y7992791D01* +G01X1464401Y7994809D01* +G01X1464633Y8010841D01* +G01X1464779Y8020885D01* +G01X1473260Y8020885D01* +G01X1473667Y7999252D01* +G01X1475133Y7999064D01* +G01X1476600Y7998877D01* +G01X1477510Y7999470D01* +G01X1478419Y8000063D01* +G01X1479903Y8005864D01* +G01X1481386Y8011665D01* +G01X1482905Y8013185D01* +G01X1501196Y8013703D01* +G01X1503001Y8013250D01* +G01X1504806Y8012797D01* +G01X1505920Y8010644D01* +G01X1507033Y8008491D01* +G01X1507033Y7905910D01* +G01X1509353Y7905020D01* +G01X1509353Y7905020D01* +G01X1518766Y7905020D01* +G01X1518766Y8009083D01* +G01X1519583Y8010876D01* +G01X1520400Y8012668D01* +G01X1522608Y8013110D01* +G01X1524816Y8013552D01* +G01X1541387Y8013552D01* +G01X1545817Y8009824D01* +G01X1546314Y8004784D01* +G01X1546810Y7999743D01* +G01X1548115Y7999402D01* +G01X1549420Y7999060D01* +G01X1553233Y7999789D01* +G01X1553233Y8019125D01* +G01X1552353Y8020005D01* +G01X1551473Y8020885D01* +G01X1473260Y8020885D01* +G01X1464779Y8020885D01* +G01X1464866Y8026872D01* +G01X1466290Y8027912D01* +G01X1467713Y8028952D01* +G01X1558366Y8028952D01* +G01X1559833Y8027485D01* +G01X1561300Y8026018D01* +G01X1561299Y8011169D01* +G01X1561298Y7996319D01* +G01X1575273Y7996560D01* +G01X1589247Y7996801D01* +G01X1591041Y7995626D01* +G01X1592833Y7994452D01* +G01X1592833Y7991639D01* +G01X1593574Y7991181D01* +G01X1594314Y7990724D01* +G01X1596239Y7992237D01* +G01X1598164Y7993752D01* +G01X1599568Y7993752D01* +G01X1601433Y7995219D01* +G01X1603297Y7996686D01* +G01X1606648Y7996686D01* +G01X1611208Y7997853D01* +G01X1615768Y7999022D01* +G01X1622533Y7998053D01* +G01X1627666Y7996752D01* +G01X1631673Y7995931D01* +G01X1632778Y7993794D01* +G01X1633882Y7991658D01* +G01X1633407Y7977998D01* +G01X1632932Y7964338D01* +G01X1631419Y7963279D01* +G01X1629906Y7962219D01* +G01X1614279Y7962219D01* +G01X1613582Y7963136D01* +G01X1612885Y7964052D01* +G01X1611556Y7967719D01* +G01X1610227Y7971386D01* +G01X1609552Y7972248D01* +G01X1608876Y7973111D01* +G01X1606538Y7972339D01* +G01X1604200Y7971567D01* +G01X1599488Y7966252D01* +G01X1599461Y7965431D01* +G01X1599433Y7964610D01* +G01X1597967Y7960019D01* +G01X1596500Y7955428D01* +G01X1596500Y7899056D01* +G01X1595740Y7897638D01* +G01X1594981Y7896219D01* +G01X1572626Y7896219D01* +G01X1569366Y7898503D01* +G01X1569366Y7973659D01* +G01X1568486Y7974539D01* +G01X1567607Y7975419D01* +G01X1563583Y7975419D01* +G01X1562442Y7977048D01* +G01X1561300Y7978678D01* +G01X1561283Y7986052D01* +G01X1569540Y7986052D01* +G01X1570884Y7983485D01* +G01X1574173Y7983485D01* +G01X1575803Y7982344D01* +G01X1577433Y7981203D01* +G01X1577433Y7906666D01* +G01X1578469Y7905806D01* +G01X1578469Y7905806D01* +G01X1579505Y7904946D01* +G01X1584152Y7905166D01* +G01X1588800Y7905386D01* +G01X1589166Y7933986D01* +G01X1589533Y7962586D01* +G01X1590740Y7964785D01* +G01X1591947Y7966986D01* +G01X1592206Y7969185D01* +G01X1592466Y7971386D01* +G01X1590166Y7971211D01* +G01X1587866Y7971036D01* +G01X1587401Y7972677D01* +G01X1587286Y7973083D01* +G01X1592674Y7973083D01* +G01X1593419Y7972339D01* +G01X1594164Y7971594D01* +G01X1595073Y7973293D01* +G01X1595982Y7974992D01* +G01X1597524Y7976315D01* +G01X1599066Y7977639D01* +G01X1603059Y7979583D01* +G01X1607052Y7981527D01* +G01X1611397Y7981589D01* +G01X1615742Y7981652D01* +G01X1616281Y7980552D01* +G01X1616281Y7980552D01* +G01X1616820Y7979452D01* +G01X1619708Y7970652D01* +G01X1624733Y7970652D01* +G01X1624939Y7979645D01* +G01X1625145Y7988638D01* +G01X1621338Y7990085D01* +G01X1616436Y7989993D01* +G01X1611533Y7989902D01* +G01X1605667Y7988908D01* +G01X1602733Y7987017D01* +G01X1599800Y7985127D01* +G01X1598234Y7983390D01* +G01X1596668Y7981652D01* +G01X1596168Y7980002D01* +G01X1595667Y7978352D01* +G01X1594413Y7978352D01* +G01X1593544Y7975718D01* +G01X1592674Y7973083D01* +G01X1587286Y7973083D01* +G01X1586936Y7974319D01* +G01X1586467Y7980486D01* +G01X1585999Y7986653D01* +G01X1584649Y7988003D01* +G01X1583299Y7989352D01* +G01X1570785Y7989352D01* +G01X1570162Y7987702D01* +G01X1569540Y7986052D01* +G01X1561283Y7986052D01* +G01X1561277Y7988986D01* +G01X1559979Y7991035D01* +G01X1551133Y7991110D01* +G01X1542287Y7991185D01* +G01X1541016Y7992455D01* +G01X1539745Y7993725D01* +G01X1538750Y8003347D01* +G01X1538352Y8003744D01* +G01X1537954Y8004142D01* +G01X1535007Y8004537D01* +G01X1532059Y8004932D01* +G01X1526833Y8003952D01* +G01X1526812Y7900253D01* +G01X1525885Y7898420D01* +G01X1524958Y7896586D01* +G37* +G36* +G01X1339100Y7949198D02* +G01X1339100Y7898524D01* +G01X1336795Y7896219D01* +G01X1314899Y7896219D01* +G01X1313433Y7897686D01* +G01X1311966Y7899153D01* +G01X1311966Y7973901D01* +G01X1310548Y7974660D01* +G01X1309129Y7975419D01* +G01X1305523Y7975419D01* +G01X1305078Y7976578D01* +G01X1304633Y7977739D01* +G01X1304633Y7987258D01* +G01X1311850Y7987258D01* +G01X1312091Y7985566D01* +G01X1312333Y7983872D01* +G01X1315044Y7983434D01* +G01X1317756Y7982996D01* +G01X1318894Y7982051D01* +G01X1320033Y7981106D01* +G01X1320033Y7907339D01* +G01X1320478Y7906179D01* +G01X1320923Y7905020D01* +G01X1320923Y7905020D01* +G01X1330886Y7905020D01* +G01X1331199Y7932336D01* +G01X1331512Y7959652D01* +G01X1332739Y7962379D01* +G01X1333967Y7965105D01* +G01X1333967Y7969325D01* +G01X1331094Y7971925D01* +G01X1330032Y7975143D01* +G01X1335433Y7975143D01* +G01X1335433Y7970199D01* +G01X1336900Y7971105D01* +G01X1336900Y7972983D01* +G01X1339650Y7975519D01* +G01X1342399Y7978055D01* +G01X1345699Y7979639D01* +G01X1349000Y7981223D01* +G01X1352082Y7981709D01* +G01X1355164Y7982195D01* +G01X1356913Y7981756D01* +G01X1358662Y7981317D01* +G01X1359832Y7978551D01* +G01X1361002Y7975785D01* +G01X1361458Y7972994D01* +G01X1361915Y7970202D01* +G01X1364624Y7970427D01* +G01X1367333Y7970652D01* +G01X1367539Y7979645D01* +G01X1367745Y7988638D01* +G01X1363937Y7990085D01* +G01X1359035Y7989993D01* +G01X1354133Y7989902D01* +G01X1348217Y7988929D01* +G01X1344987Y7986757D01* +G01X1341757Y7984585D01* +G01X1338594Y7979864D01* +G01X1335433Y7975143D01* +G01X1335433Y7975143D01* +G01X1330032Y7975143D01* +G01X1328852Y7978719D01* +G01X1328293Y7983852D01* +G01X1327733Y7988986D01* +G01X1312673Y7989403D01* +G01X1311850Y7987258D01* +G01X1304633Y7987258D01* +G01X1304633Y7995795D01* +G01X1306953Y7996686D01* +G01X1332500Y7996686D01* +G01X1333967Y7995219D01* +G01X1335433Y7993752D01* +G01X1335433Y7990085D01* +G01X1336720Y7990085D01* +G01X1338733Y7992512D01* +G01X1340933Y7993543D01* +G01X1343133Y7994573D01* +G01X1344966Y7995618D01* +G01X1346800Y7996663D01* +G01X1348266Y7996707D01* +G01X1349733Y7996750D01* +G01X1353400Y7997768D01* +G01X1357066Y7998786D01* +G01X1358605Y7998836D01* +G01X1360144Y7998885D01* +G01X1366976Y7997455D01* +G01X1373807Y7996025D01* +G01X1374875Y7994958D01* +G01X1375942Y7993891D01* +G01X1375894Y7978706D01* +G01X1375846Y7963521D01* +G01X1375379Y7963053D01* +G01X1374911Y7962586D01* +G01X1365989Y7962372D01* +G01X1357066Y7962160D01* +G01X1355039Y7963525D01* +G01X1354427Y7967397D01* +G01X1353815Y7971269D01* +G01X1351933Y7972539D01* +G01X1349484Y7972181D01* +G01X1347036Y7971823D01* +G01X1346089Y7971038D01* +G01X1345143Y7970253D01* +G01X1341390Y7964785D01* +G01X1339100Y7949198D01* +G37* +G36* +G01X1079500Y7944326D02* +G01X1079500Y7899153D01* +G01X1076566Y7896219D01* +G01X1053938Y7896219D01* +G01X1051633Y7898524D01* +G01X1051300Y7898786D01* +G01X1050916Y7952677D01* +G01X1050533Y8006567D01* +G01X1043482Y8007576D01* +G01X1042424Y8008453D01* +G01X1041366Y8009331D01* +G01X1041366Y8018682D01* +G01X1050008Y8018682D01* +G01X1050444Y8016946D01* +G01X1050879Y8015212D01* +G01X1054328Y8014823D01* +G01X1057777Y8014434D01* +G01X1058739Y8013119D01* +G01X1059700Y8011805D01* +G01X1059700Y8011805D01* +G01X1059700Y7904955D01* +G01X1065016Y7905171D01* +G01X1070333Y7905386D01* +G01X1070726Y7928486D01* +G01X1071119Y7951586D01* +G01X1071433Y7951895D01* +G01X1073038Y7953390D01* +G01X1074643Y7954886D01* +G01X1089647Y7954886D01* +G01X1091896Y7953602D01* +G01X1094144Y7952319D01* +G01X1094917Y7950486D01* +G01X1095690Y7948652D01* +G01X1099250Y7942786D01* +G01X1102175Y7937653D01* +G01X1103387Y7935086D01* +G01X1104598Y7932519D01* +G01X1105135Y7932152D01* +G01X1105673Y7931786D01* +G01X1106860Y7929586D01* +G01X1108047Y7927386D01* +G01X1109224Y7925186D01* +G01X1110400Y7922986D01* +G01X1112128Y7920053D01* +G01X1113855Y7917120D01* +G01X1116513Y7912041D01* +G01X1119171Y7906962D01* +G01X1121666Y7905066D01* +G01X1127716Y7905043D01* +G01X1133766Y7905020D01* +G01X1133766Y7906357D01* +G01X1127533Y7916820D01* +G01X1125897Y7919536D01* +G01X1124262Y7922253D01* +G01X1122413Y7925919D01* +G01X1119210Y7930727D01* +G01X1116035Y7937286D01* +G01X1114813Y7937286D01* +G01X1113119Y7942419D01* +G01X1111910Y7942419D01* +G01X1110215Y7946452D01* +G01X1108888Y7948827D01* +G01X1107561Y7951202D01* +G01X1106623Y7952332D01* +G01X1105684Y7953462D01* +G01X1107364Y7955250D01* +G01X1109044Y7957038D01* +G01X1112548Y7958202D01* +G01X1116054Y7959366D01* +G01X1117813Y7961485D01* +G01X1119123Y7961485D01* +G01X1121128Y7963757D01* +G01X1123133Y7966029D01* +G01X1125700Y7968411D01* +G01X1125700Y7970479D01* +G01X1128999Y7975785D01* +G01X1128999Y8001452D01* +G01X1126866Y8005118D01* +G01X1124733Y8008785D01* +G01X1119095Y8014121D01* +G01X1113599Y8016556D01* +G01X1112133Y8017390D01* +G01X1110666Y8018223D01* +G01X1104433Y8019265D01* +G01X1098199Y8020307D01* +G01X1074544Y8020642D01* +G01X1050889Y8020977D01* +G01X1050449Y8019829D01* +G01X1050008Y8018682D01* +G01X1041366Y8018682D01* +G01X1041366Y8027532D01* +G01X1043017Y8028232D01* +G01X1044666Y8028932D01* +G01X1102600Y8028419D01* +G01X1105533Y8027250D01* +G01X1108466Y8026083D01* +G01X1110529Y8026050D01* +G01X1112590Y8026018D01* +G01X1120848Y8022112D01* +G01X1123951Y8020018D01* +G01X1127052Y8017925D01* +G01X1129859Y8014455D01* +G01X1132667Y8010985D01* +G01X1133954Y8008418D01* +G01X1135241Y8005852D01* +G01X1136421Y8001819D01* +G01X1137599Y7997785D01* +G01X1137950Y7990263D01* +G01X1138300Y7982740D01* +G01X1137133Y7979315D01* +G01X1135967Y7975891D01* +G01X1135967Y7972621D01* +G01X1133984Y7968703D01* +G01X1132002Y7964785D01* +G01X1126667Y7957921D01* +G01X1124427Y7956036D01* +G01X1122188Y7954152D01* +G01X1120822Y7954152D01* +G01X1117494Y7950610D01* +G01X1118017Y7948898D01* +G01X1118540Y7947186D01* +G01X1119502Y7946084D01* +G01X1120464Y7944983D01* +G01X1121259Y7943151D01* +G01X1122054Y7941319D01* +G01X1128613Y7931053D01* +G01X1129773Y7928852D01* +G01X1130934Y7926653D01* +G01X1132689Y7923719D01* +G01X1134445Y7920786D01* +G01X1135929Y7918086D01* +G01X1137412Y7915385D01* +G01X1138156Y7914926D01* +G01X1138900Y7914466D01* +G01X1138900Y7911573D01* +G01X1139964Y7911165D01* +G01X1141029Y7910756D01* +G01X1142680Y7905753D01* +G01X1143687Y7905753D01* +G01X1145424Y7902095D01* +G01X1147160Y7898437D01* +G01X1145320Y7896219D01* +G01X1131660Y7896244D01* +G01X1118000Y7896268D01* +G01X1116466Y7897550D01* +G01X1114934Y7898832D01* +G01X1113743Y7901009D01* +G01X1112552Y7903186D01* +G01X1110199Y7907586D01* +G01X1108421Y7910519D01* +G01X1106644Y7913452D01* +G01X1104332Y7917853D01* +G01X1102555Y7920786D01* +G01X1100777Y7923719D01* +G01X1098465Y7928120D01* +G01X1096688Y7931053D01* +G01X1094910Y7933986D01* +G01X1093751Y7936476D01* +G01X1092590Y7938967D01* +G01X1091545Y7940012D01* +G01X1090499Y7941057D01* +G01X1090499Y7942691D01* +G01X1088905Y7944389D01* +G01X1087310Y7946085D01* +G01X1081259Y7946085D01* +G01X1080379Y7945206D01* +G01X1079500Y7944326D01* +G37* +G36* +G01X1424020Y7909381D02* +G01X1419841Y7908470D01* +G01X1415221Y7909387D01* +G01X1410600Y7910304D01* +G01X1409465Y7910598D01* +G01X1408330Y7910891D01* +G01X1405085Y7913916D01* +G01X1401840Y7916942D01* +G01X1400932Y7918497D01* +G01X1400024Y7920053D01* +G01X1399191Y7921886D01* +G01X1398358Y7923719D01* +G01X1395933Y7928738D01* +G01X1395933Y7957503D01* +G01X1402900Y7957503D01* +G01X1402900Y7934668D01* +G01X1404367Y7930496D01* +G01X1405833Y7926323D01* +G01X1405833Y7924327D01* +G01X1405833Y7924327D01* +G01X1412369Y7917698D01* +G01X1419927Y7916803D01* +G01X1426733Y7917693D01* +G01X1429357Y7920420D01* +G01X1430766Y7920420D01* +G01X1430766Y7922137D01* +G01X1431886Y7923374D01* +G01X1433004Y7924611D01* +G01X1434810Y7931865D01* +G01X1436616Y7939119D01* +G01X1436625Y7946249D01* +G01X1436633Y7953378D01* +G01X1434904Y7960182D01* +G01X1433175Y7966986D01* +G01X1431739Y7969340D01* +G01X1430304Y7971695D01* +G01X1428242Y7973317D01* +G01X1426179Y7974939D01* +G01X1420589Y7975121D01* +G01X1415000Y7975303D01* +G01X1413365Y7974945D01* +G01X1411730Y7974587D01* +G01X1405842Y7967719D01* +G01X1405838Y7966784D01* +G01X1405833Y7965849D01* +G01X1404367Y7961676D01* +G01X1402900Y7957503D01* +G01X1395933Y7957503D01* +G01X1395933Y7963433D01* +G01X1398424Y7968452D01* +G01X1399226Y7972346D01* +G01X1403446Y7976772D01* +G01X1407667Y7981199D01* +G01X1411699Y7982674D01* +G01X1415733Y7984149D01* +G01X1420133Y7983917D01* +G01X1424533Y7983685D01* +G01X1427927Y7982427D01* +G01X1431322Y7981170D01* +G01X1434161Y7978456D01* +G01X1437000Y7975743D01* +G01X1440334Y7971032D01* +G01X1440788Y7968642D01* +G01X1441242Y7966252D01* +G01X1442404Y7964052D01* +G01X1443564Y7961852D01* +G01X1443833Y7949019D01* +G01X1444101Y7936186D01* +G01X1443373Y7932519D01* +G01X1442645Y7928852D01* +G01X1440852Y7923719D01* +G01X1439292Y7920524D01* +G01X1437733Y7917329D01* +G01X1431133Y7911444D01* +G01X1429666Y7910869D01* +G01X1428199Y7910293D01* +G01X1424020Y7909381D01* +G37* +G36* +G01X1683377Y7910970D02* +G01X1677521Y7909745D01* +G01X1671667Y7908520D01* +G01X1662133Y7910317D01* +G01X1658881Y7912355D01* +G01X1656667Y7914519D01* +G01X1654454Y7916683D01* +G01X1652977Y7920568D01* +G01X1651500Y7924452D01* +G01X1651500Y7928542D01* +G01X1659594Y7928542D01* +G01X1661033Y7920952D01* +G01X1662899Y7919087D01* +G01X1662899Y7919087D01* +G01X1664765Y7917221D01* +G01X1671515Y7917253D01* +G01X1678266Y7917285D01* +G01X1681768Y7919649D01* +G01X1685268Y7922013D01* +G01X1688166Y7927694D01* +G01X1688166Y7939329D01* +G01X1685846Y7940219D01* +G01X1679123Y7940109D01* +G01X1672399Y7939999D01* +G01X1666533Y7939114D01* +G01X1663834Y7937425D01* +G01X1661136Y7935736D01* +G01X1660365Y7932138D01* +G01X1659594Y7928542D01* +G01X1651500Y7928542D01* +G01X1651500Y7928576D01* +G01X1651500Y7932699D01* +G01X1653028Y7936154D01* +G01X1654556Y7939609D01* +G01X1656138Y7941197D01* +G01X1657721Y7942786D01* +G01X1660155Y7944444D01* +G01X1662588Y7946101D01* +G01X1668961Y7947481D01* +G01X1675333Y7948860D01* +G01X1693019Y7949019D01* +G01X1695866Y7946940D01* +G01X1696105Y7936594D01* +G01X1696345Y7926246D01* +G01X1694717Y7922782D01* +G01X1693090Y7919319D01* +G01X1690108Y7916203D01* +G01X1687128Y7913086D01* +G01X1685715Y7913086D01* +G01X1684546Y7912028D01* +G01X1683377Y7910970D01* +G37* +G36* +G01X1214433Y7960491D02* +G01X1214433Y7950665D01* +G01X1212424Y7948998D01* +G01X1189778Y7949192D01* +G01X1167133Y7949385D01* +G01X1167148Y7957821D01* +G01X1167151Y7959652D01* +G01X1174119Y7959652D01* +G01X1174932Y7957085D01* +G01X1204743Y7957085D01* +G01X1205222Y7958334D01* +G01X1205701Y7959584D01* +G01X1204688Y7967699D01* +G01X1203143Y7969883D01* +G01X1201600Y7972068D01* +G01X1200133Y7973338D01* +G01X1198667Y7974609D01* +G01X1195147Y7975381D01* +G01X1191628Y7976152D01* +G01X1187666Y7976005D01* +G01X1184759Y7975324D01* +G01X1181853Y7974643D01* +G01X1179819Y7972563D01* +G01X1177786Y7970483D01* +G01X1175953Y7965068D01* +G01X1175953Y7965068D01* +G01X1174119Y7959652D01* +G01X1167151Y7959652D01* +G01X1167162Y7966255D01* +G01X1169700Y7969879D01* +G01X1169700Y7972040D01* +G01X1171716Y7974996D01* +G01X1173733Y7977953D01* +G01X1175566Y7979608D01* +G01X1177400Y7981263D01* +G01X1182838Y7982792D01* +G01X1183279Y7983506D01* +G01X1183719Y7984219D01* +G01X1195913Y7984219D01* +G01X1199489Y7982659D01* +G01X1203066Y7981099D01* +G01X1206183Y7978577D01* +G01X1209300Y7976054D01* +G01X1209300Y7974132D01* +G01X1210380Y7973235D01* +G01X1211461Y7972338D01* +G01X1211904Y7969662D01* +G01X1212347Y7966986D01* +G01X1213390Y7963738D01* +G01X1214433Y7960491D01* +G37* +G36* +G01X1866556Y7952809D02* +G01X1866078Y7950904D01* +G01X1865600Y7948999D01* +G01X1842333Y7949192D01* +G01X1819067Y7949385D01* +G01X1818848Y7954407D01* +G01X1818630Y7959403D01* +G01X1827501Y7959403D01* +G01X1828390Y7957085D01* +G01X1828390Y7957085D01* +G01X1858201Y7957085D01* +G01X1858625Y7958423D01* +G01X1859050Y7959761D01* +G01X1857311Y7965242D01* +G01X1855571Y7970722D01* +G01X1852066Y7974491D01* +G01X1844294Y7976152D01* +G01X1840333Y7976005D01* +G01X1837416Y7975322D01* +G01X1834498Y7974639D01* +G01X1832465Y7972692D01* +G01X1830433Y7970744D01* +G01X1830433Y7969447D01* +G01X1828448Y7967463D01* +G01X1827501Y7959403D01* +G01X1818630Y7959403D01* +G01X1818629Y7959429D01* +G01X1819703Y7962840D01* +G01X1820778Y7966252D01* +G01X1821225Y7968929D01* +G01X1821672Y7971605D01* +G01X1822752Y7972502D01* +G01X1823833Y7973398D01* +G01X1823833Y7975180D01* +G01X1830161Y7981111D01* +G01X1833414Y7982603D01* +G01X1836666Y7984095D01* +G01X1842920Y7984157D01* +G01X1849173Y7984219D01* +G01X1852066Y7982238D01* +G01X1854025Y7981762D01* +G01X1855982Y7981287D01* +G01X1862701Y7974568D01* +G01X1863154Y7972610D01* +G01X1863607Y7970652D01* +G01X1864740Y7968846D01* +G01X1865871Y7967040D01* +G01X1866214Y7959925D01* +G01X1866556Y7952809D01* +G37* +G36* +G01X1099666Y7961214D02* +G01X1087575Y7960947D01* +G01X1075484Y7960681D01* +G01X1072313Y7961477D01* +G01X1071506Y7963790D01* +G01X1070699Y7966104D01* +G01X1070699Y7970465D01* +G01X1079500Y7970465D01* +G01X1080621Y7969534D01* +G01X1081743Y7968603D01* +G01X1089972Y7969046D01* +G01X1098199Y7969489D01* +G01X1100828Y7970255D01* +G01X1103455Y7971020D01* +G01X1108197Y7976921D01* +G01X1108615Y7983376D01* +G01X1109034Y7989832D01* +G01X1108527Y7993887D01* +G01X1108020Y7997943D01* +G01X1102004Y8004018D01* +G01X1101202Y8004043D01* +G01X1100400Y8004068D01* +G01X1097467Y8005485D01* +G01X1094533Y8006902D01* +G01X1087505Y8006927D01* +G01X1080477Y8006952D01* +G01X1079500Y8005974D01* +G01X1079500Y7970465D01* +G01X1079500Y7970465D01* +G01X1070699Y7970465D01* +G01X1070699Y8012002D01* +G01X1072350Y8013183D01* +G01X1074000Y8014364D01* +G01X1099666Y8013795D01* +G01X1103514Y8011813D01* +G01X1107362Y8009830D01* +G01X1112867Y8004317D01* +G01X1114150Y8002552D01* +G01X1115433Y8000787D01* +G01X1115433Y7997597D01* +G01X1116533Y7994965D01* +G01X1117633Y7992333D01* +G01X1117633Y7982582D01* +G01X1116426Y7978817D01* +G01X1115221Y7975052D01* +G01X1114558Y7973586D01* +G01X1113895Y7972119D01* +G01X1112807Y7970136D01* +G01X1111719Y7968153D01* +G01X1106428Y7963792D01* +G01X1099666Y7961214D01* +G37* +G36* +G01X1473000Y8068918D02* +G01X1453827Y8068918D01* +G01X1450546Y8070281D01* +G01X1447266Y8071645D01* +G01X1444333Y8073023D01* +G01X1442447Y8074065D01* +G01X1440562Y8075106D01* +G01X1430766Y8084081D01* +G01X1430766Y8085825D01* +G01X1429300Y8087081D01* +G01X1427833Y8088337D01* +G01X1427833Y8090803D01* +G01X1426734Y8092016D01* +G01X1425636Y8093229D01* +G01X1424295Y8099718D01* +G01X1423346Y8103934D01* +G01X1422397Y8108151D01* +G01X1424295Y8116584D01* +G01X1424961Y8119806D01* +G01X1425628Y8123028D01* +G01X1426354Y8123902D01* +G01X1427079Y8124777D01* +G01X1429106Y8128474D01* +G01X1431133Y8132172D01* +G01X1432966Y8134288D01* +G01X1434800Y8136403D01* +G01X1437733Y8138746D01* +G01X1440666Y8141088D01* +G01X1443966Y8142949D01* +G01X1447266Y8144810D01* +G01X1449283Y8145618D01* +G01X1451299Y8146427D01* +G01X1451299Y8206199D01* +G01X1441203Y8206599D01* +G01X1431107Y8206998D01* +G01X1428519Y8208525D01* +G01X1425932Y8210052D01* +G01X1422333Y8214850D01* +G01X1422140Y8227317D01* +G01X1421946Y8239783D01* +G01X1421607Y8241308D01* +G01X1421268Y8242832D01* +G01X1419383Y8243691D01* +G01X1417497Y8244550D01* +G01X1414245Y8244550D01* +G01X1411689Y8245909D01* +G01X1409133Y8247268D01* +G01X1406457Y8247762D01* +G01X1403780Y8248255D01* +G01X1402114Y8250263D01* +G01X1397180Y8251189D01* +G01X1396284Y8252269D01* +G01X1395557Y8253145D01* +G01X1425673Y8253145D01* +G01X1426063Y8252514D01* +G01X1426453Y8251883D01* +G01X1430473Y8251883D01* +G01X1431353Y8251003D01* +G01X1432233Y8250123D01* +G01X1432256Y8220717D01* +G01X1432882Y8219729D01* +G01X1433508Y8218740D01* +G01X1435254Y8218866D01* +G01X1437000Y8218991D01* +G01X1460100Y8219689D01* +G01X1460100Y8216770D01* +G01X1460833Y8216317D01* +G01X1461566Y8215863D01* +G01X1461566Y8139231D01* +G01X1460605Y8137917D01* +G01X1459644Y8136601D01* +G01X1456143Y8136207D01* +G01X1452642Y8135813D01* +G01X1452276Y8134860D01* +G01X1451910Y8133907D01* +G01X1449645Y8133409D01* +G01X1447380Y8132912D01* +G01X1442859Y8128392D01* +G01X1438339Y8123872D01* +G01X1437804Y8121740D01* +G01X1437269Y8119608D01* +G01X1436035Y8118705D01* +G01X1434800Y8117802D01* +G01X1434800Y8098772D01* +G01X1435962Y8097412D01* +G01X1437125Y8096051D01* +G01X1438989Y8091337D01* +G01X1442155Y8088194D01* +G01X1445322Y8085051D01* +G01X1447945Y8083434D01* +G01X1450568Y8081817D01* +G01X1450568Y8081817D01* +G01X1456029Y8080792D01* +G01X1458004Y8078818D01* +G01X1468061Y8078818D01* +G01X1470085Y8080841D01* +G01X1473071Y8081346D01* +G01X1476057Y8081850D01* +G01X1477726Y8083084D01* +G01X1479394Y8084318D01* +G01X1486866Y8091791D01* +G01X1489334Y8095127D01* +G01X1490312Y8100917D01* +G01X1489531Y8101698D01* +G01X1488845Y8101274D01* +G01X1488159Y8100850D01* +G01X1487241Y8095111D01* +G01X1486137Y8094687D01* +G01X1485033Y8094264D01* +G01X1485033Y8092323D01* +G01X1481917Y8089341D01* +G01X1478800Y8086359D01* +G01X1477517Y8085911D01* +G01X1476233Y8085464D01* +G01X1476233Y8083969D01* +G01X1473237Y8083489D01* +G01X1470241Y8083010D01* +G01X1469476Y8081018D01* +G01X1457795Y8081018D01* +G01X1455798Y8083014D01* +G01X1452787Y8083496D01* +G01X1449777Y8083978D01* +G01X1449385Y8084998D01* +G01X1448994Y8086018D01* +G01X1447213Y8086465D01* +G01X1445433Y8086913D01* +G01X1445433Y8088913D01* +G01X1442500Y8089680D01* +G01X1442500Y8092018D01* +G01X1440958Y8092018D01* +G01X1439813Y8094767D01* +G01X1438668Y8097518D01* +G01X1437834Y8098041D01* +G01X1437000Y8098564D01* +G01X1437000Y8111451D01* +G01X1446896Y8111451D01* +G01X1446927Y8104118D01* +G01X1451216Y8097289D01* +G01X1451216Y8097289D01* +G01X1453952Y8095204D01* +G01X1456688Y8093118D01* +G01X1470059Y8093118D01* +G01X1472249Y8094931D01* +G01X1474439Y8096745D01* +G01X1476052Y8098694D01* +G01X1477666Y8100642D01* +G01X1478143Y8104697D01* +G01X1478620Y8108752D01* +G01X1478110Y8112149D01* +G01X1477866Y8113773D01* +G01X1490166Y8113773D01* +G01X1490166Y8102284D01* +G01X1491476Y8102284D01* +G01X1491921Y8103444D01* +G01X1492366Y8104604D01* +G01X1492315Y8108394D01* +G01X1492263Y8112184D01* +G01X1491221Y8114827D01* +G01X1491221Y8114827D01* +G01X1490166Y8113773D01* +G01X1477866Y8113773D01* +G01X1477600Y8115546D01* +G01X1475420Y8118030D01* +G01X1473239Y8120514D01* +G01X1470022Y8122399D01* +G01X1466805Y8124284D01* +G01X1462902Y8124204D01* +G01X1458999Y8124125D01* +G01X1456149Y8122555D01* +G01X1453299Y8120984D01* +G01X1451750Y8119439D01* +G01X1450200Y8117894D01* +G01X1448548Y8114673D01* +G01X1446896Y8111451D01* +G01X1437000Y8111451D01* +G01X1437000Y8117530D01* +G01X1438283Y8118948D01* +G01X1439566Y8120367D01* +G01X1439566Y8122003D01* +G01X1449181Y8131617D01* +G01X1450817Y8131617D01* +G01X1452235Y8132901D01* +G01X1453654Y8134184D01* +G01X1472620Y8134184D01* +G01X1473667Y8132515D01* +G01X1476416Y8131370D01* +G01X1479166Y8130225D01* +G01X1479166Y8128684D01* +G01X1480831Y8128684D01* +G01X1482382Y8126968D01* +G01X1483933Y8125252D01* +G01X1485526Y8123042D01* +G01X1487119Y8120831D01* +G01X1488756Y8114751D01* +G01X1490354Y8114751D01* +G01X1489869Y8117867D01* +G01X1489384Y8120984D01* +G01X1487233Y8122613D01* +G01X1487233Y8124083D01* +G01X1484971Y8126933D01* +G01X1482709Y8129784D01* +G01X1479900Y8130837D01* +G01X1479900Y8132237D01* +G01X1477150Y8133133D01* +G01X1474399Y8134030D01* +G01X1473942Y8134735D01* +G01X1473484Y8135439D01* +G01X1469909Y8136093D01* +G01X1466333Y8136746D01* +G01X1463766Y8139846D01* +G01X1463766Y8215362D01* +G01X1468426Y8219714D01* +G01X1479846Y8219376D01* +G01X1491266Y8219038D01* +G01X1494933Y8218516D01* +G01X1495300Y8234160D01* +G01X1495666Y8249804D01* +G01X1498514Y8251883D01* +G01X1501813Y8251883D01* +G01X1502235Y8252565D01* +G01X1502657Y8253248D01* +G01X1502017Y8253644D01* +G01X1501377Y8254039D01* +G01X1497605Y8253592D01* +G01X1493833Y8253145D01* +G01X1493833Y8222655D01* +G01X1492680Y8221502D01* +G01X1491529Y8220350D01* +G01X1437693Y8220350D01* +G01X1436063Y8221491D01* +G01X1434433Y8222633D01* +G01X1434433Y8252530D01* +G01X1433883Y8252846D01* +G01X1433333Y8253163D01* +G01X1429995Y8253646D01* +G01X1426657Y8254129D01* +G01X1425673Y8253145D01* +G01X1395557Y8253145D01* +G01X1395387Y8253350D01* +G01X1392830Y8253350D01* +G01X1390966Y8254816D01* +G01X1389102Y8256283D01* +G01X1386394Y8256283D01* +G01X1377597Y8247513D01* +G01X1368800Y8238742D01* +G01X1367973Y8238713D01* +G01X1367146Y8238683D01* +G01X1366233Y8237583D01* +G01X1365320Y8236483D01* +G01X1358346Y8236483D01* +G01X1357433Y8237583D01* +G01X1356520Y8238683D01* +G01X1355693Y8238699D01* +G01X1354866Y8238715D01* +G01X1351200Y8242044D01* +G01X1347533Y8245373D01* +G01X1327904Y8264864D01* +G01X1308276Y8284354D01* +G01X1307835Y8286112D01* +G01X1307394Y8287869D01* +G01X1307607Y8290817D01* +G01X1317713Y8290817D01* +G01X1319056Y8288973D01* +G01X1320400Y8287129D01* +G01X1320813Y8287106D01* +G01X1321226Y8287082D01* +G01X1340527Y8267958D01* +G01X1359829Y8248832D01* +G01X1361457Y8248708D01* +G01X1361457Y8248708D01* +G01X1363085Y8248583D01* +G01X1373892Y8259102D01* +G01X1384698Y8269621D01* +G01X1390066Y8268621D01* +G01X1390621Y8267642D01* +G01X1391175Y8266664D01* +G01X1393309Y8266196D01* +G01X1395443Y8265726D01* +G01X1395813Y8264764D01* +G01X1396183Y8263802D01* +G01X1398737Y8263322D01* +G01X1401291Y8262843D01* +G01X1401666Y8261867D01* +G01X1402041Y8260890D01* +G01X1404957Y8260424D01* +G01X1407873Y8259958D01* +G01X1408261Y8258946D01* +G01X1408650Y8257934D01* +G01X1415670Y8256881D01* +G01X1416435Y8255886D01* +G01X1417200Y8254892D01* +G01X1420500Y8254671D01* +G01X1423799Y8254449D01* +G01X1424166Y8255173D01* +G01X1424533Y8255896D01* +G01X1416725Y8257020D01* +G01X1415715Y8258029D01* +G01X1414706Y8259038D01* +G01X1411434Y8259529D01* +G01X1408163Y8260020D01* +G01X1407782Y8261011D01* +G01X1407402Y8262003D01* +G01X1404475Y8262498D01* +G01X1401548Y8262993D01* +G01X1401183Y8263945D01* +G01X1400817Y8264898D01* +G01X1398262Y8265377D01* +G01X1395708Y8265856D01* +G01X1395330Y8266842D01* +G01X1394951Y8267827D01* +G01X1392921Y8268337D01* +G01X1390891Y8268847D01* +G01X1389328Y8270983D01* +G01X1386764Y8271396D01* +G01X1384200Y8271809D01* +G01X1373651Y8261479D01* +G01X1363102Y8251149D01* +G01X1360348Y8251149D01* +G01X1333687Y8277183D01* +G01X1329108Y8281766D01* +G01X1324530Y8286349D01* +G01X1323137Y8286349D01* +G01X1322695Y8287999D01* +G01X1322253Y8289649D01* +G01X1322243Y8291181D01* +G01X1322233Y8292713D01* +G01X1332500Y8302668D01* +G01X1342766Y8312624D01* +G01X1342766Y8316189D01* +G01X1339833Y8318843D01* +G01X1339833Y8320862D01* +G01X1338753Y8321276D01* +G01X1337673Y8321691D01* +G01X1337194Y8324245D01* +G01X1336714Y8326799D01* +G01X1335727Y8327178D01* +G01X1334739Y8327557D01* +G01X1334269Y8330063D01* +G01X1333799Y8332570D01* +G01X1331813Y8333681D01* +G01X1331218Y8336545D01* +G01X1330623Y8339408D01* +G01X1328635Y8340071D01* +G01X1329146Y8337227D01* +G01X1329659Y8334382D01* +G01X1330710Y8333570D01* +G01X1331761Y8332757D01* +G01X1332235Y8330390D01* +G01X1332708Y8328023D01* +G01X1334660Y8327274D01* +G01X1335139Y8324720D01* +G01X1335618Y8322165D01* +G01X1336581Y8321796D01* +G01X1337544Y8321427D01* +G01X1338002Y8319338D01* +G01X1338460Y8317250D01* +G01X1340566Y8315503D01* +G01X1340566Y8313365D01* +G01X1329140Y8302091D01* +G01X1317713Y8290817D01* +G01X1307607Y8290817D01* +G01X1307709Y8292226D01* +G01X1308024Y8296583D01* +G01X1316778Y8305419D01* +G01X1325533Y8314254D01* +G01X1326176Y8315660D01* +G01X1326820Y8317066D01* +G01X1324527Y8321129D01* +G01X1322233Y8325193D01* +G01X1322233Y8327236D01* +G01X1320127Y8328984D01* +G01X1319616Y8331316D01* +G01X1319104Y8333649D01* +G01X1317735Y8336205D01* +G01X1316366Y8338760D01* +G01X1316366Y8341995D01* +G01X1315645Y8342442D01* +G01X1314923Y8342888D01* +G01X1313919Y8346335D01* +G01X1313788Y8346786D01* +G01X1325860Y8346786D01* +G01X1327043Y8341090D01* +G01X1327043Y8341090D01* +G01X1328017Y8340765D01* +G01X1328991Y8340440D01* +G01X1327935Y8346849D01* +G01X1327333Y8347948D01* +G01X1326731Y8349049D01* +G01X1326296Y8347917D01* +G01X1325860Y8346786D01* +G01X1313788Y8346786D01* +G01X1312916Y8349782D01* +G01X1283444Y8350515D01* +G01X1280992Y8352894D01* +G01X1278540Y8355272D01* +G01X1277653Y8358588D01* +G01X1276766Y8361903D01* +G01X1276774Y8391409D01* +G01X1276782Y8419178D01* +G01X1287767Y8419178D01* +G01X1287767Y8364999D01* +G01X1288224Y8362707D01* +G01X1288683Y8360415D01* +G01X1319007Y8360415D01* +G01X1322863Y8358595D01* +G01X1323338Y8354508D01* +G01X1323812Y8350420D01* +G01X1324398Y8349472D01* +G01X1324398Y8349472D01* +G01X1324983Y8348526D01* +G01X1325458Y8349295D01* +G01X1325933Y8350063D01* +G01X1325270Y8354294D01* +G01X1324607Y8358524D01* +G01X1323786Y8358797D01* +G01X1322966Y8359071D01* +G01X1322966Y8361725D01* +G01X1321806Y8362170D01* +G01X1320646Y8362615D01* +G01X1291484Y8362615D01* +G01X1290726Y8364033D01* +G01X1289966Y8365452D01* +G01X1289966Y8375633D01* +G01X1300204Y8375633D01* +G01X1301879Y8373615D01* +G01X1311873Y8373607D01* +G01X1321866Y8373599D01* +G01X1325299Y8372558D01* +G01X1328733Y8371516D01* +G01X1330219Y8370029D01* +G01X1331705Y8368543D01* +G01X1333216Y8365582D01* +G01X1334727Y8362620D01* +G01X1335168Y8359135D01* +G01X1335609Y8355648D01* +G01X1336568Y8354106D01* +G01X1337526Y8352563D01* +G01X1338048Y8349706D01* +G01X1338570Y8346849D01* +G01X1339866Y8344282D01* +G01X1341162Y8341715D01* +G01X1344323Y8334382D01* +G01X1345001Y8333282D01* +G01X1345679Y8332182D01* +G01X1347051Y8329616D01* +G01X1348425Y8327049D01* +G01X1349458Y8325216D01* +G01X1350492Y8323382D01* +G01X1351708Y8321549D01* +G01X1352925Y8319715D01* +G01X1353932Y8314206D01* +G01X1353438Y8310918D01* +G01X1352945Y8307630D01* +G01X1344453Y8299177D01* +G01X1335961Y8290725D01* +G01X1337347Y8289159D01* +G01X1338733Y8287594D01* +G01X1349145Y8277286D01* +G01X1359556Y8266977D01* +G01X1362293Y8265964D01* +G01X1376867Y8280127D01* +G01X1379658Y8281772D01* +G01X1382450Y8283416D01* +G01X1388599Y8283332D01* +G01X1392267Y8281248D01* +G01X1395933Y8279164D01* +G01X1411333Y8271530D01* +G01X1413533Y8270585D01* +G01X1415733Y8269639D01* +G01X1419767Y8268159D01* +G01X1423799Y8266678D01* +G01X1429447Y8265722D01* +G01X1434066Y8263697D01* +G01X1436633Y8263268D01* +G01X1439199Y8262837D01* +G01X1441252Y8261031D01* +G01X1443304Y8259226D01* +G01X1444552Y8256471D01* +G01X1445800Y8253716D01* +G01X1445800Y8253716D01* +G01X1446166Y8242717D01* +G01X1446533Y8231717D01* +G01X1482466Y8231717D01* +G01X1482876Y8243816D01* +G01X1483256Y8255019D01* +G01X1503178Y8255019D01* +G01X1503929Y8254555D01* +G01X1504681Y8254090D01* +G01X1508112Y8254561D01* +G01X1511542Y8255030D01* +G01X1513422Y8256910D01* +G01X1516278Y8257423D01* +G01X1519133Y8257936D01* +G01X1520233Y8258874D01* +G01X1521333Y8259813D01* +G01X1524449Y8260643D01* +G01X1527566Y8261472D01* +G01X1527566Y8262651D01* +G01X1530500Y8263530D01* +G01X1533433Y8264409D01* +G01X1533433Y8265702D01* +G01X1535941Y8266530D01* +G01X1538449Y8267358D01* +G01X1539377Y8268476D01* +G01X1540305Y8269595D01* +G01X1545032Y8268708D01* +G01X1554840Y8258929D01* +G01X1564647Y8249150D01* +G01X1564647Y8249150D01* +G01X1567828Y8248140D01* +G01X1580147Y8260197D01* +G01X1592466Y8272253D01* +G01X1601083Y8280606D01* +G01X1609699Y8288959D01* +G01X1609699Y8291978D01* +G01X1599983Y8301428D01* +G01X1590267Y8310877D01* +G01X1589407Y8312363D01* +G01X1588547Y8313849D01* +G01X1588955Y8316049D01* +G01X1589363Y8318249D01* +G01X1590677Y8319715D01* +G01X1591991Y8321182D01* +G01X1592478Y8323146D01* +G01X1592965Y8325110D01* +G01X1593906Y8325471D01* +G01X1594848Y8325832D01* +G01X1595327Y8328386D01* +G01X1595806Y8330941D01* +G01X1596794Y8331319D01* +G01X1597781Y8331698D01* +G01X1598294Y8334429D01* +G01X1598805Y8337159D01* +G01X1600696Y8339050D01* +G01X1601690Y8345262D01* +G01X1602673Y8346056D01* +G01X1603656Y8346849D01* +G01X1604492Y8353482D01* +G01X1603877Y8354479D01* +G01X1603260Y8355476D01* +G01X1602867Y8354096D01* +G01X1602473Y8352715D01* +G01X1601965Y8349458D01* +G01X1601457Y8346201D01* +G01X1599567Y8344311D01* +G01X1598585Y8338500D01* +G01X1597542Y8337634D01* +G01X1596500Y8336769D01* +G01X1596500Y8333480D01* +G01X1595033Y8331615D01* +G01X1593566Y8329751D01* +G01X1593566Y8327640D01* +G01X1592100Y8325949D01* +G01X1590633Y8324258D01* +G01X1590633Y8322268D01* +G01X1589166Y8321012D01* +G01X1587700Y8319757D01* +G01X1587700Y8318080D01* +G01X1586166Y8316131D01* +G01X1584633Y8314182D01* +G01X1596067Y8302718D01* +G01X1607500Y8291254D01* +G01X1607500Y8289857D01* +G01X1587966Y8270503D01* +G01X1568431Y8251149D01* +G01X1565509Y8251149D01* +G01X1555897Y8260500D01* +G01X1546285Y8269849D01* +G01X1544653Y8271910D01* +G01X1541795Y8271447D01* +G01X1538938Y8270983D01* +G01X1538199Y8269973D01* +G01X1537461Y8268963D01* +G01X1535630Y8268389D01* +G01X1533800Y8267814D01* +G01X1532051Y8266449D01* +G01X1530302Y8265083D01* +G01X1528164Y8265083D01* +G01X1524435Y8262149D01* +G01X1520920Y8262149D01* +G01X1520512Y8261084D01* +G01X1520103Y8260020D01* +G01X1516810Y8259526D01* +G01X1513516Y8259032D01* +G01X1512790Y8257139D01* +G01X1508995Y8256629D01* +G01X1505199Y8256119D01* +G01X1504189Y8255569D01* +G01X1503178Y8255019D01* +G01X1483256Y8255019D01* +G01X1483286Y8255916D01* +G01X1484143Y8257487D01* +G01X1485000Y8259058D01* +G01X1487273Y8260971D01* +G01X1489546Y8262883D01* +G01X1493467Y8263672D01* +G01X1498233Y8265121D01* +G01X1503000Y8266571D01* +G01X1503719Y8266560D01* +G01X1504438Y8266549D01* +G01X1512533Y8269663D01* +G01X1515547Y8271040D01* +G01X1518560Y8272416D01* +G01X1520787Y8272416D01* +G01X1521640Y8273444D01* +G01X1522493Y8274472D01* +G01X1524422Y8274957D01* +G01X1526351Y8275440D01* +G01X1529964Y8278283D01* +G01X1531862Y8278283D01* +G01X1532831Y8279238D01* +G01X1533800Y8280192D01* +G01X1537148Y8281804D01* +G01X1540496Y8283416D01* +G01X1546093Y8283416D01* +G01X1551399Y8280219D01* +G01X1558195Y8273428D01* +G01X1564991Y8266637D01* +G01X1566399Y8266410D01* +G01X1567807Y8266183D01* +G01X1579954Y8278175D01* +G01X1592100Y8290166D01* +G01X1592100Y8291212D01* +G01X1578370Y8304677D01* +G01X1574321Y8310519D01* +G01X1574634Y8314750D01* +G01X1574946Y8318983D01* +G01X1577561Y8322690D01* +G01X1580178Y8326399D01* +G01X1580667Y8327941D01* +G01X1581156Y8329483D01* +G01X1582228Y8330372D01* +G01X1583299Y8331262D01* +G01X1583299Y8333818D01* +G01X1586233Y8337547D01* +G01X1586237Y8338898D01* +G01X1586243Y8340249D01* +G01X1587700Y8342449D01* +G01X1589157Y8344649D01* +G01X1589166Y8346115D01* +G01X1589176Y8347582D01* +G01X1590353Y8349782D01* +G01X1591530Y8351982D01* +G01X1592499Y8356015D01* +G01X1592872Y8357564D01* +G01X1604378Y8357564D01* +G01X1604901Y8356240D01* +G01X1605424Y8354916D01* +G01X1606651Y8357482D01* +G01X1607879Y8360048D01* +G01X1623823Y8360246D01* +G01X1639766Y8360444D01* +G01X1639755Y8362813D01* +G01X1639744Y8365182D01* +G01X1639175Y8366078D01* +G01X1638605Y8366974D01* +G01X1637789Y8364809D01* +G01X1636971Y8362645D01* +G01X1621346Y8362447D01* +G01X1605720Y8362249D01* +G01X1605049Y8359907D01* +G01X1604378Y8357564D01* +G01X1604378Y8357564D01* +G01X1592872Y8357564D01* +G01X1593469Y8360048D01* +G01X1594434Y8363392D01* +G01X1595400Y8366735D01* +G01X1599422Y8371514D01* +G01X1601811Y8372324D01* +G01X1604200Y8373134D01* +G01X1615566Y8373558D01* +G01X1626933Y8373982D01* +G01X1627130Y8391322D01* +G01X1627326Y8408663D01* +G01X1603253Y8409182D01* +G01X1601835Y8410465D01* +G01X1600418Y8411748D01* +G01X1599197Y8411748D01* +G01X1597115Y8414080D01* +G01X1595033Y8416412D01* +G01X1595033Y8419154D01* +G01X1593995Y8421163D01* +G01X1592956Y8423171D01* +G01X1592631Y8424776D01* +G01X1604343Y8424776D01* +G01X1605020Y8422852D01* +G01X1605696Y8420929D01* +G01X1606965Y8420685D01* +G01X1606965Y8420685D01* +G01X1608233Y8420441D01* +G01X1608233Y8420589D01* +G01X1636039Y8420589D01* +G01X1638571Y8416725D01* +G01X1639529Y8418035D01* +G01X1640488Y8419345D01* +G01X1638073Y8422015D01* +G01X1636919Y8422015D01* +G01X1636479Y8421302D01* +G01X1636479Y8421302D01* +G01X1636039Y8420589D01* +G01X1608233Y8420589D01* +G01X1608233Y8422523D01* +G01X1605926Y8427148D01* +G01X1605254Y8427148D01* +G01X1604799Y8425962D01* +G01X1604343Y8424776D01* +G01X1592631Y8424776D01* +G01X1592219Y8426810D01* +G01X1591482Y8430448D01* +G01X1590208Y8434115D01* +G01X1589265Y8436827D01* +G01X1601563Y8436827D01* +G01X1602056Y8432904D01* +G01X1602549Y8428981D01* +G01X1602549Y8428981D01* +G01X1603167Y8428309D01* +G01X1603785Y8427636D01* +G01X1604176Y8428675D01* +G01X1604567Y8429715D01* +G01X1603445Y8436199D01* +G01X1601563Y8436827D01* +G01X1589265Y8436827D01* +G01X1588934Y8437781D01* +G01X1587584Y8440447D01* +G01X1586233Y8443114D01* +G01X1586233Y8445376D01* +G01X1584254Y8447355D01* +G01X1582452Y8452815D01* +G01X1581243Y8452815D01* +G01X1580409Y8454831D01* +G01X1579575Y8456847D01* +G01X1577788Y8459781D01* +G01X1576001Y8462714D01* +G01X1575250Y8464412D01* +G01X1574500Y8466109D01* +G01X1574500Y8473049D01* +G01X1577066Y8476521D01* +G01X1584583Y8484023D01* +G01X1592100Y8491525D01* +G01X1592100Y8493061D01* +G01X1581354Y8503554D01* +G01X1570608Y8514047D01* +G01X1569075Y8515510D01* +G01X1567541Y8516972D01* +G01X1566437Y8516720D01* +G01X1565333Y8516467D01* +G01X1558720Y8509962D01* +G01X1552108Y8503455D01* +G01X1549594Y8501601D01* +G01X1547081Y8499747D01* +G01X1538764Y8499747D01* +G01X1537015Y8501060D01* +G01X1535266Y8502372D01* +G01X1531600Y8504189D01* +G01X1526833Y8506719D01* +G01X1522066Y8509249D01* +G01X1520413Y8509281D01* +G01X1518586Y8511480D01* +G01X1516178Y8511480D01* +G01X1511066Y8514185D01* +G01X1508500Y8514669D01* +G01X1505933Y8515153D01* +G01X1503733Y8516179D01* +G01X1501533Y8517206D01* +G01X1494200Y8518665D01* +G01X1491139Y8519817D01* +G01X1488079Y8520968D01* +G01X1486047Y8523000D01* +G01X1484013Y8525033D01* +G01X1483933Y8525519D01* +G01X1509212Y8525519D01* +G01X1510505Y8525139D01* +G01X1511800Y8524759D01* +G01X1511800Y8524759D01* +G01X1514550Y8524271D01* +G01X1517299Y8523784D01* +G01X1517299Y8524145D01* +G01X1517845Y8524145D01* +G01X1518176Y8523152D01* +G01X1518508Y8522157D01* +G01X1524234Y8520967D01* +G01X1525345Y8518981D01* +G01X1527852Y8518510D01* +G01X1530358Y8518041D01* +G01X1530773Y8516960D01* +G01X1531187Y8515880D01* +G01X1533969Y8515880D01* +G01X1535718Y8514514D01* +G01X1537466Y8513149D01* +G01X1539116Y8512632D01* +G01X1540766Y8512115D01* +G01X1540766Y8510747D01* +G01X1544460Y8510747D01* +G01X1554238Y8520565D01* +G01X1564016Y8530383D01* +G01X1566173Y8530857D01* +G01X1568331Y8531330D01* +G01X1574899Y8525017D01* +G01X1581466Y8518703D01* +G01X1594117Y8506185D01* +G01X1606766Y8493666D01* +G01X1606766Y8492318D01* +G01X1605935Y8490765D01* +G01X1605105Y8489212D01* +G01X1595068Y8479249D01* +G01X1585030Y8469284D01* +G01X1588472Y8462777D01* +G01X1589127Y8462372D01* +G01X1589783Y8461966D01* +G01X1590303Y8459898D01* +G01X1590822Y8457829D01* +G01X1591807Y8457451D01* +G01X1592793Y8457073D01* +G01X1593272Y8454518D01* +G01X1593751Y8451964D01* +G01X1594739Y8451585D01* +G01X1595726Y8451206D01* +G01X1596195Y8448527D01* +G01X1596663Y8445848D01* +G01X1597705Y8445016D01* +G01X1598747Y8444185D01* +G01X1599284Y8441041D01* +G01X1599821Y8437897D01* +G01X1599821Y8437897D01* +G01X1600806Y8437568D01* +G01X1601791Y8437239D01* +G01X1600766Y8443648D01* +G01X1599793Y8444417D01* +G01X1598821Y8445187D01* +G01X1597781Y8450732D01* +G01X1596818Y8451101D01* +G01X1595856Y8451470D01* +G01X1595349Y8453792D01* +G01X1594842Y8456115D01* +G01X1592100Y8459612D01* +G01X1592100Y8461541D01* +G01X1589703Y8462882D01* +G01X1588990Y8470313D01* +G01X1609699Y8490873D01* +G01X1609699Y8493432D01* +G01X1587672Y8515175D01* +G01X1565644Y8536918D01* +G01X1565855Y8580326D01* +G01X1566066Y8623733D01* +G01X1566900Y8624257D01* +G01X1567735Y8624779D01* +G01X1570025Y8630280D01* +G01X1571566Y8630280D01* +G01X1571566Y8632617D01* +G01X1573033Y8633001D01* +G01X1574500Y8633384D01* +G01X1574500Y8634754D01* +G01X1580000Y8637044D01* +G01X1581045Y8638713D01* +G01X1615765Y8638929D01* +G01X1650484Y8639145D01* +G01X1652361Y8637670D01* +G01X1654238Y8636193D01* +G01X1654728Y8632497D01* +G01X1655218Y8628801D01* +G01X1656980Y8626057D01* +G01X1658742Y8623313D01* +G01X1661033Y8620746D01* +G01X1661033Y8619243D01* +G01X1664699Y8617849D01* +G01X1664699Y8616524D01* +G01X1667083Y8615553D01* +G01X1669466Y8614581D01* +G01X1670250Y8613548D01* +G01X1671034Y8612514D01* +G01X1678317Y8612204D01* +G01X1685600Y8611894D01* +G01X1689450Y8612340D01* +G01X1693300Y8612785D01* +G01X1694251Y8613735D01* +G01X1695202Y8614686D01* +G01X1696866Y8615214D01* +G01X1698531Y8615743D01* +G01X1706473Y8623685D01* +G01X1706919Y8625462D01* +G01X1707366Y8627240D01* +G01X1709227Y8627955D01* +G01X1709724Y8631700D01* +G01X1710221Y8635445D01* +G01X1709524Y8636690D01* +G01X1708827Y8637936D01* +G01X1708347Y8635025D01* +G01X1707867Y8632113D01* +G01X1707117Y8628079D01* +G01X1705865Y8628079D01* +G01X1705348Y8626451D01* +G01X1704831Y8624822D01* +G01X1700866Y8620951D01* +G01X1696901Y8617079D01* +G01X1695249Y8617079D01* +G01X1692682Y8614756D01* +G01X1687491Y8614105D01* +G01X1682300Y8613453D01* +G01X1677185Y8614095D01* +G01X1672070Y8614737D01* +G01X1670900Y8615908D01* +G01X1669728Y8617079D01* +G01X1667665Y8617079D01* +G01X1659566Y8625178D01* +G01X1659566Y8626672D01* +G01X1657955Y8628852D01* +G01X1656343Y8631031D01* +G01X1656323Y8645547D01* +G01X1666900Y8645547D01* +G01X1666900Y8634753D01* +G01X1669035Y8631589D01* +G01X1671171Y8628424D01* +G01X1674235Y8626419D01* +G01X1677298Y8624413D01* +G01X1677298Y8624413D01* +G01X1687359Y8624413D01* +G01X1690576Y8626584D01* +G01X1693794Y8628755D01* +G01X1695746Y8631573D01* +G01X1697700Y8634392D01* +G01X1697700Y8645606D01* +G01X1693384Y8651913D01* +G01X1688533Y8655098D01* +G01X1684500Y8655455D01* +G01X1680466Y8655813D01* +G01X1678266Y8655321D01* +G01X1676066Y8654829D01* +G01X1673452Y8653195D01* +G01X1670836Y8651560D01* +G01X1668868Y8648554D01* +G01X1666900Y8645547D01* +G01X1656323Y8645547D01* +G01X1656319Y8648246D01* +G01X1657538Y8650446D01* +G01X1658757Y8652646D01* +G01X1659516Y8654312D01* +G01X1660275Y8655977D01* +G01X1663655Y8659261D01* +G01X1667034Y8662546D01* +G01X1669146Y8662546D01* +G01X1669551Y8663601D01* +G01X1669955Y8664656D01* +G01X1672094Y8665068D01* +G01X1674233Y8665479D01* +G01X1676439Y8665905D01* +G01X1678574Y8666318D01* +G01X1686679Y8666318D01* +G01X1687972Y8665962D01* +G01X1689266Y8665607D01* +G01X1692055Y8665136D01* +G01X1694843Y8664665D01* +G01X1695656Y8662546D01* +G01X1697630Y8662546D01* +G01X1701331Y8658844D01* +G01X1705033Y8655143D01* +G01X1705033Y8652967D01* +G01X1706113Y8652552D01* +G01X1707193Y8652137D01* +G01X1707580Y8649642D01* +G01X1707966Y8647146D01* +G01X1708397Y8644418D01* +G01X1708397Y8644418D01* +G01X1708827Y8641689D01* +G01X1709546Y8642974D01* +G01X1710266Y8644260D01* +G01X1709765Y8648270D01* +G01X1709264Y8652279D01* +G01X1707986Y8652279D01* +G01X1706952Y8654663D01* +G01X1705917Y8657046D01* +G01X1702725Y8660434D01* +G01X1699533Y8663821D01* +G01X1697702Y8664390D01* +G01X1695872Y8664959D01* +G01X1695136Y8665903D01* +G01X1694400Y8666846D01* +G01X1691003Y8667333D01* +G01X1687606Y8667820D01* +G01X1687142Y8667069D01* +G01X1686679Y8666318D01* +G01X1678574Y8666318D01* +G01X1678646Y8666332D01* +G01X1678229Y8667006D01* +G01X1677813Y8667679D01* +G01X1673866Y8667479D01* +G01X1670200Y8666842D01* +G01X1669464Y8665901D01* +G01X1668727Y8664959D01* +G01X1666957Y8664397D01* +G01X1665186Y8663835D01* +G01X1658160Y8656810D01* +G01X1657697Y8654964D01* +G01X1657234Y8653118D01* +G01X1655283Y8652370D01* +G01X1654773Y8648285D01* +G01X1654263Y8644199D01* +G01X1652091Y8642373D01* +G01X1649920Y8640546D01* +G01X1581204Y8640546D01* +G01X1580105Y8639446D01* +G01X1579004Y8638346D01* +G01X1576920Y8638346D01* +G01X1573783Y8636239D01* +G01X1570646Y8634133D01* +G01X1568540Y8630996D01* +G01X1566433Y8627859D01* +G01X1566433Y8625775D01* +G01X1565333Y8624674D01* +G01X1564233Y8623575D01* +G01X1564233Y8534498D01* +G01X1562583Y8532316D01* +G01X1560933Y8530135D01* +G01X1545462Y8514647D01* +G01X1541673Y8513696D01* +G01X1539203Y8514540D01* +G01X1536733Y8515383D01* +G01X1536179Y8516308D01* +G01X1535624Y8517233D01* +G01X1531356Y8518170D01* +G01X1530617Y8520095D01* +G01X1527845Y8520615D01* +G01X1525072Y8521135D01* +G01X1523533Y8523122D01* +G01X1517845Y8524145D01* +G01X1517299Y8524145D01* +G01X1517299Y8525327D01* +G01X1516749Y8525652D01* +G01X1516200Y8525978D01* +G01X1513159Y8526481D01* +G01X1510117Y8526984D01* +G01X1509664Y8526252D01* +G01X1509212Y8525519D01* +G01X1483933Y8525519D01* +G01X1483467Y8528340D01* +G01X1482920Y8531647D01* +G01X1482877Y8541645D01* +G01X1482833Y8551643D01* +G01X1481183Y8552084D01* +G01X1479533Y8552527D01* +G01X1463609Y8552537D01* +G01X1447684Y8552547D01* +G01X1446925Y8551128D01* +G01X1446166Y8549710D01* +G01X1446166Y8530000D01* +G01X1444726Y8526744D01* +G01X1443286Y8523489D01* +G01X1440666Y8521175D01* +G01X1436986Y8519610D01* +G01X1433305Y8518046D01* +G01X1429652Y8517390D01* +G01X1426000Y8516735D01* +G01X1422333Y8515465D01* +G01X1418666Y8514194D01* +G01X1415652Y8512837D01* +G01X1412639Y8511480D01* +G01X1410890Y8511480D01* +G01X1407811Y8509888D01* +G01X1404733Y8508297D01* +G01X1403633Y8507664D01* +G01X1402533Y8507030D01* +G01X1397033Y8504658D01* +G01X1397033Y8503558D01* +G01X1392999Y8501902D01* +G01X1389333Y8499769D01* +G01X1385259Y8499758D01* +G01X1381185Y8499747D01* +G01X1378929Y8501411D01* +G01X1376673Y8503076D01* +G01X1369474Y8510159D01* +G01X1362274Y8517242D01* +G01X1361137Y8516630D01* +G01X1360000Y8516017D01* +G01X1335882Y8492591D01* +G01X1344088Y8484193D01* +G01X1352295Y8475794D01* +G01X1353266Y8472554D01* +G01X1354237Y8469314D01* +G01X1352481Y8462714D01* +G01X1350374Y8459159D01* +G01X1348266Y8455603D01* +G01X1346651Y8452925D01* +G01X1345037Y8450248D01* +G01X1344596Y8449147D01* +G01X1344156Y8448048D01* +G01X1342726Y8445115D01* +G01X1341296Y8442181D01* +G01X1341300Y8440875D01* +G01X1338586Y8434848D01* +G01X1337315Y8431181D01* +G01X1336045Y8427514D01* +G01X1335421Y8424057D01* +G01X1334796Y8420600D01* +G01X1331400Y8413150D01* +G01X1324800Y8409184D01* +G01X1312700Y8408816D01* +G01X1300600Y8408448D01* +G01X1300402Y8392041D01* +G01X1300204Y8375633D01* +G01X1289966Y8375633D01* +G01X1289966Y8416978D01* +G01X1290726Y8418396D01* +G01X1291484Y8419815D01* +G01X1293475Y8419900D01* +G01X1295467Y8419985D01* +G01X1294849Y8420133D01* +G01X1300600Y8420133D01* +G01X1310950Y8419974D01* +G01X1310950Y8419974D01* +G01X1321300Y8419815D01* +G01X1324998Y8425315D01* +G01X1325470Y8429649D01* +G01X1325940Y8433983D01* +G01X1326942Y8434782D01* +G01X1327944Y8435581D01* +G01X1328424Y8439000D01* +G01X1328903Y8442418D01* +G01X1329864Y8442787D01* +G01X1330825Y8443156D01* +G01X1331305Y8446152D01* +G01X1331783Y8449147D01* +G01X1333177Y8449147D01* +G01X1333967Y8452081D01* +G01X1334756Y8455014D01* +G01X1335944Y8455014D01* +G01X1338399Y8460515D01* +G01X1339593Y8462714D01* +G01X1340788Y8464914D01* +G01X1341777Y8465500D01* +G01X1342766Y8466087D01* +G01X1342766Y8469997D01* +G01X1332500Y8480024D01* +G01X1322233Y8490051D01* +G01X1322233Y8493896D01* +G01X1339092Y8510755D01* +G01X1355950Y8527614D01* +G01X1357433Y8527614D01* +G01X1357433Y8529727D01* +G01X1358533Y8530375D01* +G01X1363289Y8531394D01* +G01X1383940Y8511114D01* +G01X1384999Y8510520D01* +G01X1386058Y8509927D01* +G01X1389897Y8512947D01* +G01X1391827Y8512947D01* +G01X1392413Y8513944D01* +G01X1392999Y8514940D01* +G01X1395750Y8515834D01* +G01X1398500Y8516727D01* +G01X1398500Y8517848D01* +G01X1401433Y8518727D01* +G01X1404367Y8519606D01* +G01X1404367Y8520885D01* +G01X1407351Y8521389D01* +G01X1410335Y8521893D01* +G01X1410723Y8522905D01* +G01X1411111Y8523915D01* +G01X1414768Y8524401D01* +G01X1418425Y8524886D01* +G01X1419168Y8526823D01* +G01X1423548Y8527318D01* +G01X1427928Y8527814D01* +G01X1429928Y8529814D01* +G01X1432113Y8529814D01* +G01X1434433Y8530704D01* +G01X1434433Y8561112D01* +G01X1436301Y8561962D01* +G01X1438169Y8562813D01* +G01X1464718Y8562802D01* +G01X1491266Y8562791D01* +G01X1492366Y8562097D01* +G01X1493467Y8561403D01* +G01X1493833Y8545792D01* +G01X1494200Y8530180D01* +G01X1498966Y8529721D01* +G01X1498966Y8529940D01* +G01X1499535Y8529940D01* +G01X1499862Y8528960D01* +G01X1500187Y8527980D01* +G01X1500187Y8527980D01* +G01X1504420Y8527385D01* +G01X1508654Y8526790D01* +G01X1509078Y8527214D01* +G01X1509502Y8527638D01* +G01X1508818Y8528275D01* +G01X1508133Y8528913D01* +G01X1503834Y8529427D01* +G01X1499535Y8529940D01* +G01X1498966Y8529940D01* +G01X1498966Y8531112D01* +G01X1497133Y8532313D01* +G01X1495300Y8533514D01* +G01X1495300Y8564280D01* +G01X1468853Y8564280D01* +G01X1463766Y8566405D01* +G01X1463766Y8608757D01* +G01X1465416Y8610304D01* +G01X1467066Y8611851D01* +G01X1470979Y8612368D01* +G01X1474892Y8612885D01* +G01X1475257Y8613838D01* +G01X1475622Y8614790D01* +G01X1477767Y8615261D01* +G01X1479912Y8615732D01* +G01X1481418Y8618546D01* +G01X1483566Y8618546D01* +G01X1483566Y8620694D01* +G01X1485033Y8621480D01* +G01X1486500Y8622265D01* +G01X1486500Y8624186D01* +G01X1487913Y8625464D01* +G01X1489326Y8626743D01* +G01X1489836Y8629795D01* +G01X1490346Y8632846D01* +G01X1491156Y8633359D01* +G01X1491967Y8633872D01* +G01X1492240Y8639283D01* +G01X1492514Y8644694D01* +G01X1491428Y8645779D01* +G01X1490343Y8646865D01* +G01X1489827Y8649917D01* +G01X1489311Y8652969D01* +G01X1487905Y8654757D01* +G01X1486500Y8656544D01* +G01X1486500Y8657297D01* +G01X1483141Y8660655D01* +G01X1479784Y8664012D01* +G01X1478631Y8664012D01* +G01X1476882Y8665385D01* +G01X1475133Y8666758D01* +G01X1472055Y8667277D01* +G01X1468976Y8667795D01* +G01X1467705Y8667083D01* +G01X1466433Y8666372D01* +G01X1470783Y8665476D01* +G01X1475133Y8664581D01* +G01X1475720Y8663563D01* +G01X1476306Y8662546D01* +G01X1477186Y8662523D01* +G01X1478067Y8662499D01* +G01X1479900Y8660870D01* +G01X1481733Y8659241D01* +G01X1487090Y8652646D01* +G01X1488756Y8646413D01* +G01X1490166Y8646413D01* +G01X1490166Y8633369D01* +G01X1488174Y8632605D01* +G01X1487708Y8629689D01* +G01X1487241Y8626773D01* +G01X1486137Y8626349D01* +G01X1485033Y8625925D01* +G01X1485033Y8624243D01* +G01X1481278Y8620661D01* +G01X1477522Y8617079D01* +G01X1475572Y8617079D01* +G01X1474958Y8615981D01* +G01X1474344Y8614883D01* +G01X1468696Y8614167D01* +G01X1463049Y8613451D01* +G01X1452651Y8614756D01* +G01X1450084Y8617079D01* +G01X1448442Y8617079D01* +G01X1446388Y8618897D01* +G01X1444333Y8620713D01* +G01X1443710Y8621390D01* +G01X1443086Y8622066D01* +G01X1440337Y8625109D01* +G01X1439870Y8626970D01* +G01X1439403Y8628832D01* +G01X1438201Y8629504D01* +G01X1437000Y8630176D01* +G01X1437000Y8643585D01* +G01X1446899Y8643585D01* +G01X1446899Y8636925D01* +G01X1450105Y8630646D01* +G01X1451619Y8629133D01* +G01X1453133Y8627619D01* +G01X1455786Y8626016D01* +G01X1458439Y8624413D01* +G01X1458439Y8624413D01* +G01X1468101Y8624413D01* +G01X1470883Y8626301D01* +G01X1473665Y8628189D01* +G01X1475866Y8630858D01* +G01X1478067Y8633528D01* +G01X1478067Y8646865D01* +G01X1475951Y8649389D01* +G01X1473837Y8651913D01* +G01X1469266Y8655112D01* +G01X1465233Y8655449D01* +G01X1461200Y8655786D01* +G01X1458999Y8655434D01* +G01X1456800Y8655083D01* +G01X1453762Y8652596D01* +G01X1450723Y8650110D01* +G01X1446899Y8643585D01* +G01X1437000Y8643585D01* +G01X1437000Y8649192D01* +G01X1438196Y8650552D01* +G01X1439393Y8651913D01* +G01X1439940Y8653701D01* +G01X1440487Y8655489D01* +G01X1447731Y8662546D01* +G01X1449235Y8662546D01* +G01X1451099Y8664012D01* +G01X1452964Y8665479D01* +G01X1457046Y8665479D01* +G01X1458202Y8665922D01* +G01X1459358Y8666366D01* +G01X1458952Y8667023D01* +G01X1458547Y8667679D01* +G01X1454599Y8667479D01* +G01X1450933Y8666842D01* +G01X1450197Y8665901D01* +G01X1449460Y8664959D01* +G01X1447997Y8664491D01* +G01X1446533Y8664024D01* +G01X1443599Y8661129D01* +G01X1440666Y8658233D01* +G01X1439383Y8656723D01* +G01X1438100Y8655213D01* +G01X1438100Y8653210D01* +G01X1436725Y8651462D01* +G01X1435351Y8649712D01* +G01X1434819Y8645118D01* +G01X1434286Y8640524D01* +G01X1435320Y8630231D01* +G01X1436247Y8629304D01* +G01X1437173Y8628378D01* +G01X1437729Y8626579D01* +G01X1438286Y8624779D01* +G01X1439289Y8623679D01* +G01X1440292Y8622580D01* +G01X1442194Y8620196D01* +G01X1444097Y8617813D01* +G01X1446009Y8617813D01* +G01X1446854Y8615613D01* +G01X1448875Y8615613D01* +G01X1450514Y8614191D01* +G01X1452153Y8612770D01* +G01X1456042Y8612284D01* +G01X1459932Y8611798D01* +G01X1461566Y8608210D01* +G01X1461555Y8587529D01* +G01X1461544Y8566847D01* +G01X1460850Y8565746D01* +G01X1460156Y8564647D01* +G01X1446378Y8564280D01* +G01X1432600Y8563913D01* +G01X1432401Y8548520D01* +G01X1432202Y8533125D01* +G01X1430487Y8531535D01* +G01X1428772Y8529945D01* +G01X1424599Y8529423D01* +G01X1420426Y8528902D01* +G01X1418529Y8527005D01* +G01X1415056Y8526484D01* +G01X1411583Y8525963D01* +G01X1411217Y8525010D01* +G01X1410851Y8524056D01* +G01X1407961Y8523568D01* +G01X1405071Y8523080D01* +G01X1404095Y8522105D01* +G01X1403121Y8521130D01* +G01X1400076Y8520310D01* +G01X1397033Y8519491D01* +G01X1397033Y8518194D01* +G01X1391900Y8516500D01* +G01X1391900Y8515203D01* +G01X1385961Y8513604D01* +G01X1384647Y8514022D01* +G01X1383334Y8514438D01* +G01X1373133Y8524498D01* +G01X1362933Y8534557D01* +G01X1362549Y8576368D01* +G01X1362165Y8618180D01* +G01X1361999Y8577640D01* +G01X1361833Y8537101D01* +G01X1360733Y8536679D01* +G01X1359633Y8536257D01* +G01X1359633Y8534228D01* +G01X1322262Y8496814D01* +G01X1320766Y8496814D01* +G01X1320766Y8494713D01* +G01X1319299Y8494247D01* +G01X1317833Y8493782D01* +G01X1317833Y8491738D01* +G01X1328833Y8480951D01* +G01X1339833Y8470163D01* +G01X1339833Y8467240D01* +G01X1338592Y8464427D01* +G01X1337351Y8461614D01* +G01X1336280Y8461614D01* +G01X1335386Y8458864D01* +G01X1334492Y8456115D01* +G01X1333579Y8455575D01* +G01X1332667Y8455035D01* +G01X1332197Y8452529D01* +G01X1331726Y8450022D01* +G01X1329750Y8449264D01* +G01X1329256Y8445971D01* +G01X1328763Y8442678D01* +G01X1327790Y8442304D01* +G01X1326817Y8441931D01* +G01X1325776Y8434986D01* +G01X1323878Y8433088D01* +G01X1322874Y8425056D01* +G01X1321087Y8423886D01* +G01X1319299Y8422714D01* +G01X1319299Y8420592D01* +G01X1300600Y8420133D01* +G01X1294849Y8420133D01* +G01X1294000Y8420338D01* +G01X1292533Y8420690D01* +G01X1291140Y8422015D01* +G01X1289285Y8422015D01* +G01X1288525Y8420596D01* +G01X1287767Y8419178D01* +G01X1276782Y8419178D01* +G01X1276782Y8420915D01* +G01X1277816Y8424322D01* +G01X1278851Y8427729D01* +G01X1280171Y8429272D01* +G01X1281492Y8430815D01* +G01X1282884Y8430815D01* +G01X1284272Y8432071D01* +G01X1285660Y8433327D01* +G01X1313355Y8433923D01* +G01X1313854Y8436218D01* +G01X1314354Y8438515D01* +G01X1315360Y8439961D01* +G01X1316366Y8441408D01* +G01X1316366Y8444221D01* +G01X1317930Y8447601D01* +G01X1319495Y8450981D01* +G01X1322806Y8458314D01* +G01X1323262Y8459414D01* +G01X1323718Y8460515D01* +G01X1325525Y8463713D01* +G01X1327331Y8466912D01* +G01X1319110Y8475080D01* +G01X1310889Y8483247D01* +G01X1309228Y8485406D01* +G01X1307566Y8487566D01* +G01X1307571Y8492006D01* +G01X1307576Y8496448D01* +G01X1309021Y8498647D01* +G01X1310467Y8500847D01* +G01X1329733Y8519649D01* +G01X1349000Y8538450D01* +G01X1349000Y8621172D01* +G01X1347166Y8623393D01* +G01X1345333Y8625614D01* +G01X1342399Y8627019D01* +G01X1339466Y8628424D01* +G01X1311694Y8628652D01* +G01X1283922Y8628879D01* +G01X1282449Y8627563D01* +G01X1280976Y8626246D01* +G01X1279614Y8623313D01* +G01X1278252Y8620379D01* +G01X1277326Y8618916D01* +G01X1276399Y8617453D01* +G01X1273558Y8613939D01* +G01X1270717Y8610424D01* +G01X1267362Y8608116D01* +G01X1264007Y8605808D01* +G01X1260815Y8604111D01* +G01X1257622Y8602413D01* +G01X1254400Y8602361D01* +G01X1252567Y8601313D01* +G01X1250733Y8600265D01* +G01X1237852Y8600213D01* +G01X1232587Y8602413D01* +G01X1229910Y8602413D01* +G01X1226718Y8604111D01* +G01X1223525Y8605808D01* +G01X1220171Y8608116D01* +G01X1216816Y8610424D01* +G01X1213974Y8613939D01* +G01X1211133Y8617453D01* +G01X1210233Y8618916D01* +G01X1209333Y8620379D01* +G01X1207465Y8624046D01* +G01X1205597Y8627713D01* +G01X1204836Y8633681D01* +G01X1204075Y8639650D01* +G01X1204778Y8645782D01* +G01X1205007Y8647774D01* +G01X1215166Y8647774D01* +G01X1215166Y8632584D01* +G01X1217188Y8630563D01* +G01X1217731Y8628038D01* +G01X1218274Y8625513D01* +G01X1220196Y8623313D01* +G01X1227563Y8615613D01* +G01X1229635Y8615613D01* +G01X1229635Y8615613D01* +G01X1231733Y8613963D01* +G01X1233830Y8612313D01* +G01X1253879Y8612313D01* +G01X1255239Y8613509D01* +G01X1256599Y8614706D01* +G01X1258373Y8615248D01* +G01X1260147Y8615790D01* +G01X1263742Y8619551D01* +G01X1267337Y8623313D01* +G01X1268385Y8624474D01* +G01X1269433Y8625636D01* +G01X1269433Y8627735D01* +G01X1270900Y8630471D01* +G01X1272367Y8633208D01* +G01X1272367Y8636775D01* +G01X1274736Y8639145D01* +G01X1310270Y8638929D01* +G01X1345804Y8638713D01* +G01X1346521Y8637430D01* +G01X1347239Y8636146D01* +G01X1349216Y8636146D01* +G01X1355966Y8630105D01* +G01X1355966Y8628034D01* +G01X1358126Y8627204D01* +G01X1358577Y8624525D01* +G01X1359028Y8621846D01* +G01X1359380Y8620563D01* +G01X1359732Y8619280D01* +G01X1361301Y8619280D01* +G01X1360811Y8623457D01* +G01X1360320Y8627634D01* +G01X1358270Y8629913D01* +G01X1351072Y8637444D01* +G01X1346555Y8638435D01* +G01X1346161Y8639464D01* +G01X1345766Y8640492D01* +G01X1310106Y8640702D01* +G01X1274447Y8640913D01* +G01X1273407Y8642336D01* +G01X1272367Y8643760D01* +G01X1272367Y8647774D01* +G01X1270345Y8649795D01* +G01X1269814Y8652212D01* +G01X1269284Y8654628D01* +G01X1268075Y8655915D01* +G01X1266866Y8657201D01* +G01X1265041Y8659507D01* +G01X1263216Y8661813D01* +G01X1261366Y8661813D01* +G01X1261366Y8663019D01* +G01X1258399Y8664962D01* +G01X1255431Y8666904D01* +G01X1251799Y8667386D01* +G01X1248166Y8667868D01* +G01X1248166Y8666311D01* +G01X1250733Y8665607D01* +G01X1256233Y8664679D01* +G01X1256233Y8663203D01* +G01X1260664Y8661658D01* +G01X1261408Y8660268D01* +G01X1262151Y8658879D01* +G01X1264299Y8658879D01* +G01X1264299Y8657184D01* +G01X1266133Y8654781D01* +G01X1267967Y8652377D01* +G01X1267967Y8650184D01* +G01X1269214Y8648936D01* +G01X1270462Y8647689D01* +G01X1270497Y8640161D01* +G01X1270533Y8632633D01* +G01X1269250Y8631216D01* +G01X1267967Y8629797D01* +G01X1267967Y8627644D01* +G01X1266683Y8625866D01* +G01X1265400Y8624086D01* +G01X1261766Y8620583D01* +G01X1258132Y8617079D01* +G01X1256306Y8617079D01* +G01X1255691Y8615981D01* +G01X1255077Y8614883D01* +G01X1243766Y8613449D01* +G01X1238111Y8614166D01* +G01X1232456Y8614883D01* +G01X1231841Y8615981D01* +G01X1231227Y8617079D01* +G01X1229401Y8617079D01* +G01X1225767Y8620583D01* +G01X1222133Y8624086D01* +G01X1220850Y8625866D01* +G01X1219566Y8627644D01* +G01X1219566Y8630175D01* +G01X1217000Y8632741D01* +G01X1217035Y8640215D01* +G01X1217041Y8641449D01* +G01X1227633Y8641449D01* +G01X1227633Y8638989D01* +G01X1228842Y8635184D01* +G01X1230052Y8631379D01* +G01X1231213Y8630033D01* +G01X1232375Y8628686D01* +G01X1235541Y8626549D01* +G01X1238706Y8624413D01* +G01X1238706Y8624413D01* +G01X1248826Y8624413D01* +G01X1251992Y8626549D01* +G01X1255157Y8628686D01* +G01X1257451Y8631379D01* +G01X1258675Y8634704D01* +G01X1259900Y8638028D01* +G01X1259900Y8641449D01* +G01X1257333Y8648959D01* +G01X1255357Y8650802D01* +G01X1253380Y8652646D01* +G01X1252147Y8653678D01* +G01X1250914Y8654710D01* +G01X1244867Y8655882D01* +G01X1243400Y8655830D01* +G01X1241933Y8655777D01* +G01X1239295Y8655262D01* +G01X1236657Y8654747D01* +G01X1235405Y8653696D01* +G01X1234152Y8652646D01* +G01X1232176Y8650802D01* +G01X1230199Y8648959D01* +G01X1227633Y8641449D01* +G01X1217041Y8641449D01* +G01X1217071Y8647689D01* +G01X1218318Y8648936D01* +G01X1219566Y8650184D01* +G01X1219566Y8652414D01* +G01X1221216Y8654600D01* +G01X1222866Y8656785D01* +G01X1225799Y8659656D01* +G01X1228733Y8662528D01* +G01X1229673Y8662537D01* +G01X1230612Y8662546D01* +G01X1231422Y8664656D01* +G01X1235700Y8665479D01* +G01X1237906Y8665905D01* +G01X1240112Y8666332D01* +G01X1239696Y8667006D01* +G01X1239280Y8667679D01* +G01X1235333Y8667479D01* +G01X1233630Y8667155D01* +G01X1231927Y8666830D01* +G01X1227217Y8663633D01* +G01X1225935Y8662540D01* +G01X1224653Y8661446D01* +G01X1222476Y8659372D01* +G01X1220300Y8657300D01* +G01X1220300Y8655369D01* +G01X1219269Y8654974D01* +G01X1218238Y8654578D01* +G01X1217188Y8649795D01* +G01X1216177Y8648785D01* +G01X1215166Y8647774D01* +G01X1205007Y8647774D01* +G01X1205481Y8651913D01* +G01X1207430Y8655946D01* +G01X1209379Y8659979D01* +G01X1210439Y8661913D01* +G01X1211500Y8663847D01* +G01X1216351Y8668674D01* +G01X1221201Y8673500D01* +G01X1222767Y8673977D01* +G01X1224333Y8674452D01* +G01X1225433Y8675355D01* +G01X1226533Y8676256D01* +G01X1230199Y8677524D01* +G01X1233866Y8678791D01* +G01X1236433Y8679384D01* +G01X1239000Y8679977D01* +G01X1243400Y8680029D01* +G01X1247800Y8680082D01* +G01X1250733Y8679429D01* +G01X1253666Y8678777D01* +G01X1257333Y8677517D01* +G01X1260999Y8676256D01* +G01X1262100Y8675355D01* +G01X1263200Y8674452D01* +G01X1266306Y8673509D01* +G01X1271112Y8668795D01* +G01X1275919Y8664082D01* +G01X1278170Y8659979D01* +G01X1280976Y8654113D01* +G01X1282354Y8652884D01* +G01X1283733Y8651655D01* +G01X1315633Y8651417D01* +G01X1347533Y8651179D01* +G01X1352651Y8648612D01* +G01X1357771Y8646046D01* +G01X1362336Y8641775D01* +G01X1366902Y8637505D01* +G01X1367401Y8635909D01* +G01X1367902Y8634313D01* +G01X1369267Y8632564D01* +G01X1370633Y8630815D01* +G01X1370633Y8627672D01* +G01X1373199Y8624046D01* +G01X1373410Y8581880D01* +G01X1373621Y8539714D01* +G01X1386400Y8526782D01* +G01X1391189Y8527525D01* +G01X1395031Y8530547D01* +G01X1397109Y8530547D01* +G01X1399821Y8531945D01* +G01X1402533Y8533343D01* +G01X1409293Y8536413D01* +G01X1412107Y8536413D01* +G01X1415354Y8538688D01* +G01X1418477Y8539220D01* +G01X1421600Y8539752D01* +G01X1421966Y8553784D01* +G01X1422333Y8567816D01* +G01X1424604Y8570631D01* +G01X1426875Y8573446D01* +G01X1432600Y8575508D01* +G01X1441766Y8575944D01* +G01X1450933Y8576380D01* +G01X1451133Y8589397D01* +G01X1451334Y8602413D01* +G01X1448564Y8602413D01* +G01X1446699Y8603880D01* +G01X1444835Y8605347D01* +G01X1443135Y8605347D01* +G01X1440434Y8607335D01* +G01X1437733Y8609323D01* +G01X1434800Y8612339D01* +G01X1431866Y8615355D01* +G01X1430315Y8617521D01* +G01X1428764Y8619687D01* +G01X1426832Y8623770D01* +G01X1424900Y8627855D01* +G01X1424900Y8630421D01* +G01X1423717Y8634488D01* +G01X1422534Y8638555D01* +G01X1423338Y8643846D01* +G01X1424533Y8649340D01* +G01X1425727Y8654834D01* +G01X1426779Y8655997D01* +G01X1427833Y8657161D01* +G01X1427833Y8659436D01* +G01X1430978Y8663486D01* +G01X1434123Y8667536D01* +G01X1438131Y8670800D01* +G01X1442139Y8674066D01* +G01X1443786Y8674588D01* +G01X1445433Y8675111D01* +G01X1445433Y8676413D01* +G01X1448183Y8676894D01* +G01X1450933Y8677377D01* +G01X1454254Y8679460D01* +G01X1459926Y8679883D01* +G01X1465600Y8680307D01* +G01X1469266Y8679543D01* +G01X1472933Y8678779D01* +G01X1480266Y8676256D01* +G01X1481424Y8675268D01* +G01X1482582Y8674279D01* +G01X1483664Y8674279D01* +G01X1486365Y8672284D01* +G01X1489067Y8670288D01* +G01X1492237Y8666967D01* +G01X1495408Y8663646D01* +G01X1496783Y8661079D01* +G01X1498156Y8658513D01* +G01X1498999Y8656679D01* +G01X1499842Y8654846D01* +G01X1502266Y8649822D01* +G01X1502266Y8629846D01* +G01X1500983Y8627888D01* +G01X1499700Y8625931D01* +G01X1499700Y8623465D01* +G01X1497042Y8619461D01* +G01X1494384Y8615456D01* +G01X1492123Y8612881D01* +G01X1489862Y8610306D01* +G01X1486947Y8608376D01* +G01X1484033Y8606446D01* +G01X1479949Y8604143D01* +G01X1475866Y8601841D01* +G01X1475657Y8590577D01* +G01X1475447Y8579313D01* +G01X1475854Y8577663D01* +G01X1476261Y8576013D01* +G01X1484864Y8576005D01* +G01X1493467Y8575996D01* +G01X1497181Y8575006D01* +G01X1500895Y8574017D01* +G01X1503007Y8571906D01* +G01X1505119Y8569794D01* +G01X1505666Y8566487D01* +G01X1506212Y8563180D01* +G01X1506300Y8540108D01* +G01X1508316Y8539690D01* +G01X1510333Y8539272D01* +G01X1514000Y8537906D01* +G01X1517666Y8536540D01* +G01X1520406Y8535690D01* +G01X1523146Y8534840D01* +G01X1523515Y8534243D01* +G01X1523884Y8533647D01* +G01X1526384Y8533178D01* +G01X1528886Y8532708D01* +G01X1529782Y8531628D01* +G01X1530679Y8530547D01* +G01X1532622Y8530547D01* +G01X1539518Y8526880D01* +G01X1542196Y8526880D01* +G01X1546951Y8531519D01* +G01X1551706Y8536158D01* +G01X1552469Y8538167D01* +G01X1553233Y8540176D01* +G01X1553281Y8618913D01* +G01X1553926Y8623918D01* +G01X1554571Y8628922D01* +G01X1556900Y8631495D01* +G01X1556900Y8633961D01* +G01X1558366Y8635216D01* +G01X1559833Y8636472D01* +G01X1559852Y8637226D01* +G01X1559870Y8637979D01* +G01X1563424Y8641462D01* +G01X1566977Y8644946D01* +G01X1568307Y8644946D01* +G01X1569563Y8646413D01* +G01X1570818Y8647879D01* +G01X1573284Y8647879D01* +G01X1574549Y8649024D01* +G01X1575815Y8650169D01* +G01X1580474Y8650843D01* +G01X1585133Y8651516D01* +G01X1613367Y8651583D01* +G01X1641599Y8651649D01* +G01X1642896Y8652161D01* +G01X1644193Y8652675D01* +G01X1646208Y8656726D01* +G01X1648222Y8660779D01* +G01X1653968Y8668046D01* +G01X1661681Y8674279D01* +G01X1662751Y8674279D01* +G01X1663909Y8675268D01* +G01X1665066Y8676256D01* +G01X1672399Y8678779D01* +G01X1676066Y8679543D01* +G01X1679733Y8680307D01* +G01X1691277Y8679445D01* +G01X1692952Y8678054D01* +G01X1696404Y8677185D01* +G01X1699856Y8676316D01* +G01X1701546Y8674279D01* +G01X1702919Y8674279D01* +G01X1710657Y8668046D01* +G01X1713162Y8664811D01* +G01X1715666Y8661577D01* +G01X1717393Y8658578D01* +G01X1719120Y8655579D01* +G01X1720185Y8651913D01* +G01X1721251Y8648246D01* +G01X1722675Y8640405D01* +G01X1722002Y8635892D01* +G01X1721330Y8631379D01* +G01X1719485Y8626246D01* +G01X1717582Y8622219D01* +G01X1715679Y8618192D01* +G01X1714739Y8617086D01* +G01X1713798Y8615979D01* +G01X1706555Y8608647D01* +G01X1704878Y8607366D01* +G01X1703199Y8606086D01* +G01X1699678Y8604249D01* +G01X1696155Y8602413D01* +G01X1694544Y8602387D01* +G01X1692933Y8602361D01* +G01X1689266Y8600265D01* +G01X1675333Y8600265D01* +G01X1671667Y8602361D01* +G01X1670055Y8602387D01* +G01X1668444Y8602413D01* +G01X1664922Y8604249D01* +G01X1661400Y8606086D01* +G01X1659749Y8607366D01* +G01X1658098Y8608647D01* +G01X1650766Y8615444D01* +G01X1650766Y8617079D01* +G01X1649225Y8617079D01* +G01X1647122Y8622112D01* +G01X1646434Y8622538D01* +G01X1645746Y8622963D01* +G01X1644781Y8627359D01* +G01X1641940Y8628879D01* +G01X1614270Y8628662D01* +G01X1586599Y8628446D01* +G01X1580018Y8624761D01* +G01X1576333Y8618180D01* +G01X1576120Y8581513D01* +G01X1575907Y8544847D01* +G01X1576333Y8543134D01* +G01X1576759Y8541421D01* +G01X1595912Y8522601D01* +G01X1615064Y8503780D01* +G01X1617310Y8501350D01* +G01X1619555Y8498918D01* +G01X1620745Y8495785D01* +G01X1621935Y8492651D01* +G01X1620856Y8489271D01* +G01X1619778Y8485891D01* +G01X1610683Y8476718D01* +G01X1601589Y8467545D01* +G01X1602590Y8463448D01* +G01X1603945Y8461699D01* +G01X1605300Y8459950D01* +G01X1605300Y8457813D01* +G01X1606766Y8455948D01* +G01X1608233Y8454083D01* +G01X1608233Y8452076D01* +G01X1609699Y8449339D01* +G01X1611166Y8446603D01* +G01X1611166Y8443963D01* +G01X1612288Y8442251D01* +G01X1613410Y8440538D01* +G01X1614504Y8434115D01* +G01X1628418Y8433703D01* +G01X1642333Y8433292D01* +G01X1645343Y8431378D01* +G01X1648353Y8429465D01* +G01X1651500Y8424131D01* +G01X1651500Y8358872D01* +G01X1649891Y8356078D01* +G01X1648283Y8353282D01* +G01X1645995Y8351716D01* +G01X1643709Y8350149D01* +G01X1616404Y8350149D01* +G01X1614099Y8347844D01* +G01X1614099Y8343893D01* +G01X1612633Y8341157D01* +G01X1611166Y8338421D01* +G01X1611166Y8336049D01* +G01X1609793Y8333382D01* +G01X1608419Y8330715D01* +G01X1604566Y8322628D01* +G01X1604566Y8320816D01* +G01X1603128Y8320816D01* +G01X1602069Y8316782D01* +G01X1602464Y8314184D01* +G01X1619701Y8297303D01* +G01X1620825Y8293787D01* +G01X1621950Y8290271D01* +G01X1620610Y8286860D01* +G01X1619271Y8283450D01* +G01X1611289Y8275550D01* +G01X1603308Y8267650D01* +G01X1588991Y8253593D01* +G01X1574676Y8239536D01* +G01X1571684Y8238009D01* +G01X1568691Y8236483D01* +G01X1565087Y8236483D01* +G01X1561543Y8238302D01* +G01X1558000Y8240121D01* +G01X1549933Y8248197D01* +G01X1541866Y8256272D01* +G01X1538653Y8256283D01* +G01X1538231Y8255601D01* +G01X1537810Y8254919D01* +G01X1533305Y8252668D01* +G01X1528799Y8250417D01* +G01X1526582Y8250417D01* +G01X1524267Y8248439D01* +G01X1520599Y8247169D01* +G01X1516933Y8245898D01* +G01X1513512Y8244914D01* +G01X1510090Y8243931D01* +G01X1508275Y8242742D01* +G01X1506459Y8241552D01* +G01X1506194Y8228166D01* +G01X1505929Y8214779D01* +G01X1504629Y8212796D01* +G01X1503329Y8210811D01* +G01X1497251Y8206975D01* +G01X1475500Y8206204D01* +G01X1475531Y8176427D01* +G01X1475561Y8146650D01* +G01X1478148Y8145001D01* +G01X1480735Y8143351D01* +G01X1482605Y8143351D01* +G01X1483933Y8141884D01* +G01X1485260Y8140417D01* +G01X1486763Y8140417D01* +G01X1491370Y8135625D01* +G01X1495977Y8130834D01* +G01X1498161Y8126850D01* +G01X1498850Y8125384D01* +G01X1499540Y8123917D01* +G01X1500903Y8120638D01* +G01X1502266Y8117357D01* +G01X1502266Y8098184D01* +G01X1499700Y8094270D01* +G01X1499700Y8091482D01* +G01X1497133Y8087968D01* +G01X1495666Y8085623D01* +G01X1494200Y8083517D01* +G01X1492733Y8081409D01* +G01X1489067Y8078145D01* +G01X1486760Y8076281D01* +G01X1484455Y8074418D01* +G01X1483431Y8074418D01* +G01X1481567Y8072952D01* +G01X1479702Y8071485D01* +G01X1476915Y8071485D01* +G01X1474958Y8070201D01* +G01X1473000Y8068918D01* +G37* +G36* +G01X1469939Y8281129D02* +G01X1463278Y8280217D01* +G01X1455272Y8281414D01* +G01X1447266Y8282610D01* +G01X1442987Y8283027D01* +G01X1438707Y8283444D01* +G01X1436753Y8284428D01* +G01X1434800Y8285412D01* +G01X1431590Y8285904D01* +G01X1428380Y8286397D01* +G01X1425307Y8288549D01* +G01X1423227Y8288549D01* +G01X1420214Y8289932D01* +G01X1417200Y8291316D01* +G01X1415367Y8292147D01* +G01X1413533Y8292978D01* +G01X1412304Y8293726D01* +G01X1443906Y8293726D01* +G01X1445953Y8293186D01* +G01X1448000Y8292646D01* +G01X1463766Y8292640D01* +G01X1463766Y8292640D01* +G01X1479533Y8292633D01* +G01X1485183Y8293777D01* +G01X1484292Y8294668D01* +G01X1464425Y8294725D01* +G01X1444559Y8294782D01* +G01X1444233Y8294254D01* +G01X1443906Y8293726D01* +G01X1412304Y8293726D01* +G01X1407667Y8296546D01* +G01X1406566Y8297059D01* +G01X1405466Y8297573D01* +G01X1401983Y8299785D01* +G01X1398500Y8301996D01* +G01X1398500Y8303216D01* +G01X1396825Y8303216D01* +G01X1392712Y8306636D01* +G01X1388599Y8310057D01* +G01X1384194Y8314520D01* +G01X1379788Y8318983D01* +G01X1374661Y8325688D01* +G01X1369533Y8332394D01* +G01X1368131Y8334855D01* +G01X1366729Y8337315D01* +G01X1363548Y8343462D01* +G01X1360366Y8349609D01* +G01X1360366Y8351667D01* +G01X1359308Y8353291D01* +G01X1358248Y8354916D01* +G01X1357524Y8357849D01* +G01X1356800Y8360782D01* +G01X1355682Y8363715D01* +G01X1354564Y8366648D01* +G01X1354524Y8369582D01* +G01X1354484Y8372515D01* +G01X1352300Y8379715D01* +G01X1352307Y8391515D01* +G01X1352313Y8399648D01* +G01X1364041Y8399648D01* +G01X1364297Y8385200D01* +G01X1364553Y8370751D01* +G01X1365668Y8369049D01* +G01X1366783Y8367346D01* +G01X1367843Y8359644D01* +G01X1369859Y8357627D01* +G01X1370350Y8354559D01* +G01X1370840Y8351490D01* +G01X1371817Y8351115D01* +G01X1372793Y8350741D01* +G01X1373272Y8348186D01* +G01X1373751Y8345631D01* +G01X1374714Y8345262D01* +G01X1375677Y8344893D01* +G01X1376638Y8340516D01* +G01X1377641Y8340132D01* +G01X1378644Y8339747D01* +G01X1379631Y8336582D01* +G01X1382465Y8333180D01* +G01X1385299Y8329779D01* +G01X1385299Y8328149D01* +G01X1387500Y8328149D01* +G01X1387500Y8326794D01* +G01X1397756Y8316416D01* +G01X1398572Y8316416D01* +G01X1401069Y8313991D01* +G01X1403566Y8311566D01* +G01X1405616Y8310509D01* +G01X1407667Y8309451D01* +G01X1408117Y8308834D01* +G01X1408568Y8308216D01* +G01X1410317Y8307202D01* +G01X1412067Y8306188D01* +G01X1417200Y8303803D01* +G01X1419399Y8301946D01* +G01X1421505Y8301445D01* +G01X1423610Y8300944D01* +G01X1424572Y8299981D01* +G01X1425534Y8299019D01* +G01X1428590Y8298531D01* +G01X1431645Y8298042D01* +G01X1432650Y8297037D01* +G01X1433655Y8296032D01* +G01X1433655Y8296032D01* +G01X1438122Y8295513D01* +G01X1442590Y8294995D01* +G01X1443380Y8295785D01* +G01X1442962Y8296460D01* +G01X1442927Y8296517D01* +G01X1485033Y8296517D01* +G01X1485033Y8294979D01* +G01X1494933Y8295991D01* +G01X1495747Y8297037D01* +G01X1496562Y8298082D01* +G01X1500029Y8298558D01* +G01X1503496Y8299033D01* +G01X1504215Y8300906D01* +G01X1507033Y8301382D01* +G01X1509851Y8301859D01* +G01X1510601Y8303811D01* +G01X1512899Y8304315D01* +G01X1515199Y8304821D01* +G01X1515990Y8306882D01* +G01X1517666Y8306909D01* +G01X1523767Y8311045D01* +G01X1524915Y8312080D01* +G01X1526063Y8313116D01* +G01X1528034Y8314582D01* +G01X1530004Y8316049D01* +G01X1543096Y8329249D01* +G01X1544131Y8330411D01* +G01X1545166Y8331572D01* +G01X1545166Y8333231D01* +G01X1546633Y8334015D01* +G01X1548099Y8334800D01* +G01X1548099Y8336963D01* +G01X1549566Y8338219D01* +G01X1551033Y8339474D01* +G01X1551033Y8341151D01* +G01X1552454Y8342957D01* +G01X1553875Y8344765D01* +G01X1554367Y8346724D01* +G01X1554858Y8348682D01* +G01X1556110Y8348682D01* +G01X1556940Y8351798D01* +G01X1557769Y8354916D01* +G01X1558752Y8356019D01* +G01X1559734Y8357122D01* +G01X1560239Y8360924D01* +G01X1560744Y8364726D01* +G01X1562604Y8365440D01* +G01X1563134Y8371425D01* +G01X1563664Y8377411D01* +G01X1562135Y8378939D01* +G01X1561748Y8376460D01* +G01X1561361Y8373982D01* +G01X1560430Y8365308D01* +G01X1558544Y8363421D01* +G01X1558052Y8360145D01* +G01X1557561Y8356869D01* +G01X1556573Y8356049D01* +G01X1555587Y8355230D01* +G01X1554633Y8350149D01* +G01X1553289Y8350149D01* +G01X1552520Y8347291D01* +G01X1551751Y8344433D01* +G01X1550728Y8344040D01* +G01X1549705Y8343648D01* +G01X1548743Y8339271D01* +G01X1547688Y8338866D01* +G01X1546633Y8338462D01* +G01X1546633Y8336267D01* +G01X1543699Y8334697D01* +G01X1543699Y8332804D01* +G01X1541866Y8331082D01* +G01X1540033Y8329360D01* +G01X1540033Y8328259D01* +G01X1529837Y8318249D01* +G01X1528152Y8316959D01* +G01X1526466Y8315669D01* +G01X1521855Y8312015D01* +G01X1520233Y8312015D01* +G01X1520233Y8310561D01* +G01X1517483Y8309117D01* +G01X1514733Y8307673D01* +G01X1510067Y8305438D01* +G01X1509171Y8303989D01* +G01X1503366Y8302426D01* +G01X1503366Y8301106D01* +G01X1500090Y8300614D01* +G01X1496814Y8300123D01* +G01X1496020Y8299166D01* +G01X1495226Y8298210D01* +G01X1491413Y8297727D01* +G01X1487600Y8297243D01* +G01X1486316Y8296880D01* +G01X1485033Y8296517D01* +G01X1485033Y8296517D01* +G01X1442927Y8296517D01* +G01X1442545Y8297136D01* +G01X1438077Y8297602D01* +G01X1433608Y8298070D01* +G01X1432590Y8299088D01* +G01X1431572Y8300105D01* +G01X1428301Y8300596D01* +G01X1425029Y8301086D01* +G01X1424657Y8302058D01* +G01X1424283Y8303031D01* +G01X1421658Y8303523D01* +G01X1419033Y8304016D01* +G01X1419033Y8305302D01* +G01X1416415Y8306166D01* +G01X1413797Y8307030D01* +G01X1413009Y8309082D01* +G01X1410811Y8309082D01* +G01X1406200Y8312695D01* +G01X1404916Y8313822D01* +G01X1403633Y8314949D01* +G01X1402442Y8314949D01* +G01X1389299Y8327782D01* +G01X1384200Y8334203D01* +G01X1383068Y8335424D01* +G01X1381937Y8336645D01* +G01X1380962Y8338997D01* +G01X1379988Y8341349D01* +G01X1378798Y8341349D01* +G01X1378281Y8342999D01* +G01X1377764Y8344649D01* +G01X1375033Y8348147D01* +G01X1375033Y8350284D01* +G01X1373566Y8352148D01* +G01X1372100Y8354013D01* +G01X1372100Y8358261D01* +G01X1371045Y8358666D01* +G01X1369990Y8359071D01* +G01X1368988Y8367088D01* +G01X1367023Y8369053D01* +G01X1365378Y8391725D01* +G01X1366306Y8404224D01* +G01X1376500Y8404224D01* +G01X1376500Y8377968D01* +G01X1377550Y8375453D01* +G01X1378601Y8372938D01* +G01X1379121Y8369427D01* +G01X1379642Y8365915D01* +G01X1381004Y8363359D01* +G01X1382366Y8360804D01* +G01X1382366Y8357661D01* +G01X1383394Y8356809D01* +G01X1384422Y8355955D01* +G01X1384906Y8354027D01* +G01X1385391Y8352098D01* +G01X1388233Y8348484D01* +G01X1388233Y8347156D01* +G01X1389883Y8344802D01* +G01X1391533Y8342449D01* +G01X1394408Y8338782D01* +G01X1397282Y8335115D01* +G01X1402888Y8329616D01* +G01X1408493Y8324116D01* +G01X1413580Y8320745D01* +G01X1418666Y8317374D01* +G01X1422333Y8315474D01* +G01X1426000Y8313574D01* +G01X1428962Y8312154D01* +G01X1431925Y8310733D01* +G01X1436978Y8309623D01* +G01X1438456Y8308702D01* +G01X1439933Y8307781D01* +G01X1444333Y8307315D01* +G01X1448733Y8306850D01* +G01X1448733Y8306850D01* +G01X1452333Y8305766D01* +G01X1455933Y8304682D01* +G01X1472943Y8304682D01* +G01X1475504Y8305462D01* +G01X1478067Y8306241D01* +G01X1483566Y8307238D01* +G01X1489067Y8308235D01* +G01X1492733Y8309519D01* +G01X1496400Y8310804D01* +G01X1499333Y8312104D01* +G01X1502266Y8313405D01* +G01X1504466Y8314286D01* +G01X1507400Y8316055D01* +G01X1510333Y8317824D01* +G01X1512533Y8319045D01* +G01X1514733Y8320265D01* +G01X1521333Y8325451D01* +G01X1527820Y8332117D01* +G01X1534308Y8338782D01* +G01X1536366Y8341105D01* +G01X1536366Y8342588D01* +G01X1537833Y8343916D01* +G01X1539300Y8345243D01* +G01X1539300Y8346988D01* +G01X1542233Y8349643D01* +G01X1542233Y8352151D01* +G01X1543699Y8354015D01* +G01X1545166Y8355880D01* +G01X1545166Y8357870D01* +G01X1546525Y8360426D01* +G01X1547885Y8362982D01* +G01X1548422Y8365890D01* +G01X1548959Y8368798D01* +G01X1550166Y8371023D01* +G01X1551373Y8373249D01* +G01X1551373Y8401362D01* +G01X1563499Y8401362D01* +G01X1563522Y8381315D01* +G01X1563522Y8381315D01* +G01X1564763Y8379358D01* +G01X1565222Y8381070D01* +G01X1565679Y8382782D01* +G01X1565617Y8391581D01* +G01X1565554Y8400382D01* +G01X1565043Y8402215D01* +G01X1564532Y8404048D01* +G01X1564016Y8402705D01* +G01X1563499Y8401362D01* +G01X1551373Y8401362D01* +G01X1551373Y8409182D01* +G01X1548875Y8413794D01* +G01X1548390Y8416988D01* +G01X1547904Y8420182D01* +G01X1546960Y8421281D01* +G01X1546014Y8422381D01* +G01X1545022Y8426356D01* +G01X1542895Y8430235D01* +G01X1540768Y8434115D01* +G01X1538933Y8437847D01* +G01X1538028Y8438914D01* +G01X1537122Y8439981D01* +G01X1535277Y8442287D01* +G01X1533433Y8444593D01* +G01X1533433Y8445552D01* +G01X1528483Y8450497D01* +G01X1523533Y8455443D01* +G01X1519866Y8458379D01* +G01X1516200Y8461315D01* +G01X1514000Y8462739D01* +G01X1511800Y8464163D01* +G01X1510333Y8465039D01* +G01X1508867Y8465914D01* +G01X1503366Y8468580D01* +G01X1497866Y8471246D01* +G01X1496033Y8472198D01* +G01X1494200Y8473150D01* +G01X1490936Y8473647D01* +G01X1487672Y8474145D01* +G01X1485677Y8475801D01* +G01X1476005Y8476735D01* +G01X1466333Y8477669D01* +G01X1463766Y8477605D01* +G01X1461200Y8477540D01* +G01X1453133Y8476902D01* +G01X1445066Y8476265D01* +G01X1442863Y8475271D01* +G01X1440661Y8474277D01* +G01X1438096Y8473778D01* +G01X1435533Y8473278D01* +G01X1431866Y8471753D01* +G01X1428199Y8470227D01* +G01X1420521Y8466381D01* +G01X1418260Y8465165D01* +G01X1415998Y8463950D01* +G01X1413418Y8461614D01* +G01X1412189Y8461614D01* +G01X1411028Y8460532D01* +G01X1409866Y8459451D01* +G01X1405250Y8455453D01* +G01X1400635Y8451454D01* +G01X1396543Y8446451D01* +G01X1392451Y8441448D01* +G01X1391533Y8440715D01* +G01X1390624Y8439248D01* +G01X1389715Y8437781D01* +G01X1386751Y8432648D01* +G01X1386150Y8431548D01* +G01X1385550Y8430448D01* +G01X1383958Y8427369D01* +G01X1382366Y8424291D01* +G01X1382366Y8422360D01* +G01X1380899Y8419623D01* +G01X1379433Y8416887D01* +G01X1379433Y8413406D01* +G01X1376500Y8404224D01* +G01X1366306Y8404224D01* +G01X1366994Y8413496D01* +G01X1367982Y8414639D01* +G01X1368969Y8415782D01* +G01X1369438Y8419394D01* +G01X1369907Y8423007D01* +G01X1371914Y8425315D01* +G01X1372394Y8427994D01* +G01X1372873Y8430673D01* +G01X1374848Y8431431D01* +G01X1375340Y8434056D01* +G01X1375833Y8436681D01* +G01X1377055Y8436681D01* +G01X1378980Y8441448D01* +G01X1380899Y8442621D01* +G01X1380899Y8444113D01* +G01X1382733Y8446516D01* +G01X1384567Y8448920D01* +G01X1384567Y8449930D01* +G01X1389700Y8455063D01* +G01X1389700Y8455817D01* +G01X1393331Y8459449D01* +G01X1396963Y8463081D01* +G01X1398500Y8463081D01* +G01X1398500Y8465281D01* +G01X1399891Y8465281D01* +G01X1401869Y8467114D01* +G01X1403847Y8468948D01* +G01X1404995Y8468948D01* +G01X1405964Y8469864D01* +G01X1406933Y8470781D01* +G01X1409866Y8472633D01* +G01X1412800Y8474484D01* +G01X1414266Y8475357D01* +G01X1415733Y8476231D01* +G01X1424533Y8480577D01* +G01X1426183Y8481045D01* +G01X1427833Y8481513D01* +G01X1427833Y8482791D01* +G01X1434506Y8483791D01* +G01X1436393Y8485679D01* +G01X1440730Y8486144D01* +G01X1445066Y8486609D01* +G01X1447470Y8486982D01* +G01X1449874Y8487355D01* +G01X1449443Y8488051D01* +G01X1449013Y8488748D01* +G01X1446306Y8488649D01* +G01X1443599Y8488551D01* +G01X1436531Y8487568D01* +G01X1436032Y8486763D01* +G01X1435533Y8485958D01* +G01X1432013Y8485430D01* +G01X1428493Y8484903D01* +G01X1426577Y8482987D01* +G01X1423931Y8482490D01* +G01X1421285Y8481994D01* +G01X1419665Y8480042D01* +G01X1415375Y8479100D01* +G01X1414821Y8478240D01* +G01X1414266Y8477381D01* +G01X1411699Y8476102D01* +G01X1409133Y8474823D01* +G01X1406329Y8472981D01* +G01X1405164Y8472021D01* +G01X1403999Y8471061D01* +G01X1399558Y8467621D01* +G01X1395117Y8464181D01* +G01X1390864Y8459819D01* +G01X1386610Y8455457D01* +G01X1385440Y8453586D01* +G01X1384270Y8451714D01* +G01X1383352Y8450614D01* +G01X1382434Y8449515D01* +G01X1381117Y8447986D01* +G01X1379800Y8446458D01* +G01X1378533Y8444320D01* +G01X1377266Y8442181D01* +G01X1376444Y8440164D01* +G01X1375623Y8438148D01* +G01X1374414Y8438148D01* +G01X1373530Y8435398D01* +G01X1372648Y8432648D01* +G01X1370819Y8430448D01* +G01X1370340Y8427772D01* +G01X1369861Y8425095D01* +G01X1368862Y8424267D01* +G01X1367863Y8423437D01* +G01X1367347Y8419306D01* +G01X1366831Y8415175D01* +G01X1364946Y8413290D01* +G01X1364494Y8406469D01* +G01X1364041Y8399648D01* +G01X1352313Y8399648D01* +G01X1352316Y8403315D01* +G01X1354500Y8410514D01* +G01X1354532Y8413148D01* +G01X1354564Y8415782D01* +G01X1355687Y8418715D01* +G01X1356811Y8421648D01* +G01X1357464Y8424754D01* +G01X1358118Y8427859D01* +G01X1359170Y8429520D01* +G01X1360223Y8431181D01* +G01X1360708Y8433514D01* +G01X1361194Y8435846D01* +G01X1362247Y8436721D01* +G01X1363300Y8437594D01* +G01X1363300Y8440150D01* +G01X1365925Y8443648D01* +G01X1367689Y8447314D01* +G01X1368611Y8448759D01* +G01X1369533Y8450204D01* +G01X1377511Y8461248D01* +G01X1384155Y8467883D01* +G01X1390800Y8474518D01* +G01X1398133Y8480314D01* +G01X1400487Y8481964D01* +G01X1402840Y8483614D01* +G01X1404040Y8483614D01* +G01X1405296Y8485081D01* +G01X1406552Y8486547D01* +G01X1408542Y8486547D01* +G01X1410233Y8488014D01* +G01X1411924Y8489481D01* +G01X1414453Y8489481D01* +G01X1414975Y8490109D01* +G01X1449811Y8490109D01* +G01X1450653Y8488748D01* +G01X1450653Y8488748D01* +G01X1477613Y8488748D01* +G01X1479166Y8488748D01* +G01X1479166Y8487397D01* +G01X1483200Y8486639D01* +G01X1487536Y8486159D01* +G01X1491873Y8485679D01* +G01X1493761Y8483791D01* +G01X1497037Y8483300D01* +G01X1500313Y8482809D01* +G01X1501132Y8481822D01* +G01X1501952Y8480834D01* +G01X1504419Y8480371D01* +G01X1506885Y8479908D01* +G01X1507743Y8478875D01* +G01X1508601Y8477842D01* +G01X1510700Y8477381D01* +G01X1512798Y8476920D01* +G01X1513672Y8475867D01* +G01X1514546Y8474814D01* +G01X1515988Y8474814D01* +G01X1520345Y8471147D01* +G01X1522276Y8471147D01* +G01X1523120Y8468948D01* +G01X1524652Y8468948D01* +G01X1530734Y8463448D01* +G01X1534467Y8459715D01* +G01X1538200Y8455983D01* +G01X1540950Y8452941D01* +G01X1543699Y8449900D01* +G01X1543699Y8448487D01* +G01X1544700Y8447901D01* +G01X1545701Y8447314D01* +G01X1547083Y8444839D01* +G01X1548466Y8442363D01* +G01X1549423Y8440622D01* +G01X1550380Y8438881D01* +G01X1551700Y8438881D01* +G01X1552193Y8436256D01* +G01X1552685Y8433631D01* +G01X1553672Y8433252D01* +G01X1554660Y8432873D01* +G01X1555139Y8430194D01* +G01X1555619Y8427514D01* +G01X1556657Y8426322D01* +G01X1557696Y8425130D01* +G01X1558130Y8422289D01* +G01X1558565Y8419448D01* +G01X1560564Y8417136D01* +G01X1561034Y8411569D01* +G01X1561505Y8406003D01* +G01X1561505Y8406003D01* +G01X1562095Y8405047D01* +G01X1562687Y8404091D01* +G01X1563173Y8404577D01* +G01X1563660Y8405064D01* +G01X1563134Y8410999D01* +G01X1562609Y8416934D01* +G01X1561625Y8417918D01* +G01X1560641Y8418902D01* +G01X1559627Y8426540D01* +G01X1558702Y8426895D01* +G01X1557777Y8427250D01* +G01X1556779Y8432570D01* +G01X1553966Y8436146D01* +G01X1553966Y8437550D01* +G01X1552500Y8439414D01* +G01X1551033Y8441279D01* +G01X1551033Y8444014D01* +G01X1549711Y8444014D01* +G01X1547989Y8446719D01* +G01X1546266Y8449424D01* +G01X1545404Y8450877D01* +G01X1544541Y8452329D01* +G01X1543387Y8452975D01* +G01X1542233Y8453620D01* +G01X1542233Y8455748D01* +G01X1540033Y8455748D01* +G01X1540033Y8457055D01* +G01X1531807Y8465281D01* +G01X1530500Y8465281D01* +G01X1530500Y8467481D01* +G01X1528372Y8467481D01* +G01X1527786Y8468482D01* +G01X1527200Y8469482D01* +G01X1524816Y8470700D01* +G01X1522433Y8471918D01* +G01X1522433Y8473320D01* +G01X1520653Y8473766D01* +G01X1518872Y8474213D01* +G01X1518132Y8476142D01* +G01X1513755Y8477104D01* +G01X1512998Y8479076D01* +G01X1510800Y8479559D01* +G01X1508601Y8480042D01* +G01X1507775Y8481038D01* +G01X1506949Y8482033D01* +G01X1504115Y8482511D01* +G01X1501281Y8482990D01* +G01X1500920Y8483932D01* +G01X1500558Y8484875D01* +G01X1496659Y8485392D01* +G01X1492760Y8485910D01* +G01X1492261Y8486718D01* +G01X1491761Y8487527D01* +G01X1487847Y8488084D01* +G01X1483933Y8488640D01* +G01X1481549Y8488694D01* +G01X1479166Y8488748D01* +G01X1477613Y8488748D01* +G01X1478015Y8489397D01* +G01X1478416Y8490047D01* +G01X1476775Y8490488D01* +G01X1475133Y8490928D01* +G01X1464133Y8490837D01* +G01X1453133Y8490748D01* +G01X1449811Y8490109D01* +G01X1414975Y8490109D01* +G01X1415306Y8490508D01* +G01X1416160Y8491537D01* +G01X1418147Y8492006D01* +G01X1420133Y8492476D01* +G01X1423067Y8493829D01* +G01X1426000Y8495184D01* +G01X1428566Y8496077D01* +G01X1431133Y8496969D01* +G01X1434433Y8497667D01* +G01X1437733Y8498364D01* +G01X1441400Y8499410D01* +G01X1445066Y8500456D01* +G01X1446899Y8500767D01* +G01X1448733Y8501079D01* +G01X1483933Y8500797D01* +G01X1486772Y8499539D01* +G01X1489612Y8498281D01* +G01X1491906Y8498264D01* +G01X1494200Y8498248D01* +G01X1497397Y8496798D01* +G01X1500593Y8495347D01* +G01X1502839Y8495347D01* +G01X1508867Y8492567D01* +G01X1518892Y8487647D01* +G01X1520846Y8486618D01* +G01X1522800Y8485588D01* +G01X1523166Y8485077D01* +G01X1523533Y8484567D01* +G01X1525366Y8483609D01* +G01X1527200Y8482651D01* +G01X1538933Y8473464D01* +G01X1541902Y8470656D01* +G01X1544870Y8467847D01* +G01X1548501Y8463676D01* +G01X1552133Y8459504D01* +G01X1553385Y8457809D01* +G01X1554637Y8456115D01* +G01X1556384Y8453914D01* +G01X1558129Y8451714D01* +G01X1564233Y8441362D01* +G01X1564233Y8439794D01* +G01X1566338Y8438047D01* +G01X1566838Y8435775D01* +G01X1567337Y8433503D01* +G01X1568715Y8431243D01* +G01X1570094Y8428981D01* +G01X1570120Y8427148D01* +G01X1570147Y8425315D01* +G01X1572240Y8422550D01* +G01X1572695Y8419166D01* +G01X1573150Y8415782D01* +G01X1574375Y8412115D01* +G01X1575599Y8408448D01* +G01X1575599Y8373982D01* +G01X1574316Y8370850D01* +G01X1573033Y8367719D01* +G01X1573001Y8362982D01* +G01X1571550Y8359785D01* +G01X1570100Y8356588D01* +G01X1570100Y8354343D01* +G01X1568717Y8351329D01* +G01X1567333Y8348315D01* +G01X1566522Y8346482D01* +G01X1565710Y8344649D01* +G01X1565050Y8343549D01* +G01X1564390Y8342449D01* +G01X1562777Y8338782D01* +G01X1560970Y8335849D01* +G01X1559118Y8332916D01* +G01X1557266Y8329982D01* +G01X1556533Y8329109D01* +G01X1555799Y8328236D01* +G01X1552133Y8322822D01* +G01X1535826Y8306516D01* +G01X1530412Y8302849D01* +G01X1529539Y8302098D01* +G01X1528666Y8301347D01* +G01X1524999Y8299001D01* +G01X1521333Y8296654D01* +G01X1520599Y8296067D01* +G01X1519866Y8295479D01* +G01X1511066Y8291355D01* +G01X1508354Y8289952D01* +G01X1505643Y8288549D01* +G01X1503361Y8288549D01* +G01X1500624Y8287082D01* +G01X1497888Y8285616D01* +G01X1493760Y8285616D01* +G01X1491584Y8284491D01* +G01X1489408Y8283366D01* +G01X1483004Y8282703D01* +G01X1476600Y8282042D01* +G01X1469939Y8281129D01* +G37* +G36* +G01X1207694Y8288662D02* +G01X1202378Y8288163D01* +G01X1197062Y8287665D01* +G01X1172931Y8287950D01* +G01X1148799Y8288235D01* +G01X1145031Y8290259D01* +G01X1141263Y8292284D01* +G01X1138186Y8295665D01* +G01X1135109Y8299046D01* +G01X1133702Y8302116D01* +G01X1131567Y8305782D01* +G01X1129432Y8309449D01* +G01X1127126Y8313849D01* +G01X1124820Y8318249D01* +G01X1123070Y8321182D01* +G01X1121321Y8324116D01* +G01X1118415Y8329982D01* +G01X1115461Y8335115D01* +G01X1112508Y8340249D01* +G01X1111602Y8342082D01* +G01X1110695Y8343916D01* +G01X1106866Y8349314D01* +G01X1104733Y8351081D01* +G01X1102600Y8352847D01* +G01X1097682Y8354065D01* +G01X1092765Y8355282D01* +G01X1060397Y8355282D01* +G01X1059682Y8353401D01* +G01X1058967Y8351520D01* +G01X1058967Y8299648D01* +G01X1057292Y8296344D01* +G01X1055618Y8293042D01* +G01X1050103Y8288659D01* +G01X1045552Y8288176D01* +G01X1041000Y8287692D01* +G01X1018599Y8287937D01* +G01X996199Y8288183D01* +G01X994271Y8289446D01* +G01X992343Y8290711D01* +G01X990183Y8293022D01* +G01X988023Y8295333D01* +G01X987011Y8299458D01* +G01X986000Y8303583D01* +G01X986000Y8480314D01* +G01X986263Y8481134D01* +G01X997366Y8481134D01* +G01X997366Y8302578D01* +G01X998081Y8300697D01* +G01X998796Y8298816D01* +G01X1046343Y8298816D01* +G01X1046971Y8300099D01* +G01X1047599Y8301382D01* +G01X1047966Y8332792D01* +G01X1048333Y8364202D01* +G01X1051267Y8366379D01* +G01X1075100Y8366092D01* +G01X1098933Y8365805D01* +G01X1103333Y8364143D01* +G01X1107733Y8362481D01* +G01X1111033Y8359811D01* +G01X1114333Y8357141D01* +G01X1114591Y8356537D01* +G01X1114849Y8355933D01* +G01X1117317Y8353449D01* +G01X1119143Y8350515D01* +G01X1120969Y8347582D01* +G01X1121852Y8346115D01* +G01X1122734Y8344649D01* +G01X1128036Y8334382D01* +G01X1129772Y8331449D01* +G01X1131506Y8328516D01* +G01X1134309Y8323382D01* +G01X1139808Y8313116D01* +G01X1141539Y8310182D01* +G01X1143268Y8307249D01* +G01X1144451Y8305049D01* +G01X1144451Y8305049D01* +G01X1145633Y8302849D01* +G01X1151386Y8298816D01* +G01X1202699Y8298816D01* +G01X1202699Y8301267D01* +G01X1200427Y8305725D01* +G01X1198153Y8310182D01* +G01X1196398Y8313116D01* +G01X1194644Y8316049D01* +G01X1193484Y8318539D01* +G01X1192324Y8321029D01* +G01X1190233Y8323120D01* +G01X1190233Y8325862D01* +G01X1188616Y8326862D01* +G01X1187541Y8329155D01* +G01X1186466Y8331449D01* +G01X1184718Y8334382D01* +G01X1182970Y8337315D01* +G01X1180355Y8342554D01* +G01X1177739Y8347791D01* +G01X1176653Y8348693D01* +G01X1175566Y8349595D01* +G01X1175566Y8351388D01* +G01X1172633Y8354042D01* +G01X1172633Y8355689D01* +G01X1171349Y8356878D01* +G01X1170066Y8358067D01* +G01X1168338Y8360157D01* +G01X1166610Y8362249D01* +G01X1163063Y8366058D01* +G01X1159517Y8369868D01* +G01X1155400Y8372024D01* +G01X1153750Y8373581D01* +G01X1152099Y8375139D01* +G01X1152099Y8382358D01* +G01X1153724Y8383871D01* +G01X1155347Y8385384D01* +G01X1158307Y8386178D01* +G01X1161266Y8386973D01* +G01X1165300Y8388879D01* +G01X1169333Y8390785D01* +G01X1169700Y8391193D01* +G01X1170066Y8391601D01* +G01X1178659Y8397435D01* +G01X1181404Y8400742D01* +G01X1184149Y8404048D01* +G01X1185679Y8406981D01* +G01X1187210Y8409915D01* +G01X1190233Y8419552D01* +G01X1190233Y8432090D01* +G01X1187299Y8441272D01* +G01X1187299Y8443047D01* +G01X1182533Y8452185D01* +G01X1181568Y8453983D01* +G01X1180603Y8455782D01* +G01X1174816Y8461631D01* +G01X1169029Y8467481D01* +G01X1167727Y8467481D01* +G01X1166400Y8468948D01* +G01X1165072Y8470414D01* +G01X1163204Y8470414D01* +G01X1162235Y8471342D01* +G01X1161266Y8472269D01* +G01X1157348Y8474275D01* +G01X1153431Y8476281D01* +G01X1151894Y8476281D01* +G01X1145866Y8479018D01* +G01X1141100Y8480263D01* +G01X1136333Y8481510D01* +G01X1127533Y8482567D01* +G01X1118733Y8483624D01* +G01X1102600Y8484996D01* +G01X1052366Y8485016D01* +G01X1002133Y8485036D01* +G01X1000667Y8484234D01* +G01X999200Y8483432D01* +G01X998283Y8482283D01* +G01X997366Y8481134D01* +G01X986263Y8481134D01* +G01X987344Y8484508D01* +G01X988689Y8488703D01* +G01X993952Y8493325D01* +G01X996209Y8494330D01* +G01X998466Y8495337D01* +G01X1061900Y8495146D01* +G01X1125333Y8494954D01* +G01X1127533Y8493998D01* +G01X1129733Y8493042D01* +G01X1141965Y8491650D01* +G01X1146160Y8489481D01* +G01X1149555Y8489481D01* +G01X1155027Y8486547D01* +G01X1156561Y8486547D01* +G01X1161113Y8484294D01* +G01X1165666Y8482041D01* +G01X1168416Y8480622D01* +G01X1171167Y8479202D01* +G01X1171167Y8477748D01* +G01X1172712Y8477748D01* +G01X1177740Y8473684D01* +G01X1182769Y8469621D01* +G01X1186133Y8465434D01* +G01X1189497Y8461248D01* +G01X1190185Y8460412D01* +G01X1190872Y8459577D01* +G01X1197566Y8446885D01* +G01X1197566Y8443942D01* +G01X1198826Y8441595D01* +G01X1200085Y8439248D01* +G01X1200358Y8427514D01* +G01X1200631Y8415782D01* +G01X1199421Y8412482D01* +G01X1198210Y8409182D01* +G01X1196687Y8404048D01* +G01X1195660Y8402891D01* +G01X1194633Y8401732D01* +G01X1194633Y8400461D01* +G01X1190599Y8394536D01* +G01X1184472Y8388648D01* +G01X1182769Y8387359D01* +G01X1181066Y8386068D01* +G01X1178867Y8384367D01* +G01X1176666Y8382665D01* +G01X1175566Y8382138D01* +G01X1174466Y8381612D01* +G01X1168600Y8378283D01* +G01X1168600Y8375946D01* +G01X1172200Y8372143D01* +G01X1175800Y8368341D01* +G01X1180710Y8362249D01* +G01X1181800Y8360782D01* +G01X1185660Y8354916D01* +G01X1188566Y8349782D01* +G01X1191470Y8344649D01* +G01X1191987Y8343549D01* +G01X1192503Y8342449D01* +G01X1194291Y8339516D01* +G01X1196078Y8336582D01* +G01X1197531Y8333649D01* +G01X1198984Y8330715D01* +G01X1201928Y8325582D01* +G01X1204871Y8320449D01* +G01X1207757Y8315315D01* +G01X1208606Y8313482D01* +G01X1209456Y8311649D01* +G01X1210098Y8310549D01* +G01X1210739Y8309449D01* +G01X1212586Y8305712D01* +G01X1214433Y8301974D01* +G01X1214433Y8296062D01* +G01X1213333Y8295149D01* +G01X1212233Y8294236D01* +G01X1212233Y8292713D01* +G01X1209964Y8290687D01* +G01X1207694Y8288662D01* +G37* +G36* +G01X1849929Y8287957D02* +G01X1769933Y8287731D01* +G01X1765384Y8288195D01* +G01X1760834Y8288659D01* +G01X1757618Y8291114D01* +G01X1754403Y8293569D01* +G01X1752818Y8298261D01* +G01X1751233Y8302953D01* +G01X1751233Y8480370D01* +G01X1751375Y8480777D01* +G01X1762966Y8480777D01* +G01X1762966Y8302578D01* +G01X1763681Y8300697D01* +G01X1764397Y8298816D01* +G01X1764397Y8298816D01* +G01X1926393Y8298816D01* +G01X1927913Y8300748D01* +G01X1929433Y8302680D01* +G01X1929433Y8331141D01* +G01X1927828Y8333312D01* +G01X1926224Y8335482D01* +G01X1816403Y8335482D01* +G01X1814985Y8336241D01* +G01X1813566Y8337001D01* +G01X1813566Y8479261D01* +G01X1812549Y8481696D01* +G01X1811532Y8484131D01* +G01X1809157Y8484606D01* +G01X1806783Y8485081D01* +G01X1767733Y8484988D01* +G01X1766131Y8484342D01* +G01X1764529Y8483697D01* +G01X1763747Y8482237D01* +G01X1762966Y8480777D01* +G01X1751375Y8480777D01* +G01X1752636Y8484376D01* +G01X1754039Y8488381D01* +G01X1757526Y8491463D01* +G01X1761014Y8494544D01* +G01X1762540Y8494846D01* +G01X1764066Y8495148D01* +G01X1788267Y8495237D01* +G01X1812466Y8495326D01* +G01X1814300Y8494268D01* +G01X1816133Y8493210D01* +G01X1819067Y8491849D01* +G01X1820264Y8490482D01* +G01X1821462Y8489114D01* +G01X1823014Y8486027D01* +G01X1824566Y8482939D01* +G01X1824587Y8349049D01* +G01X1825029Y8347399D01* +G01X1825471Y8345749D01* +G01X1929955Y8345749D01* +G01X1936610Y8340668D01* +G01X1938155Y8337477D01* +G01X1939699Y8334286D01* +G01X1939678Y8299182D01* +G01X1938621Y8297349D01* +G01X1937563Y8295516D01* +G01X1936874Y8294018D01* +G01X1936185Y8292521D01* +G01X1929926Y8288183D01* +G01X1849929Y8287957D01* +G37* +G36* +G01X1083286Y8400155D02* +G01X1051507Y8399929D01* +G01X1049736Y8401089D01* +G01X1047966Y8402249D01* +G01X1047966Y8435327D01* +G01X1058836Y8435327D01* +G01X1059084Y8423572D01* +G01X1059333Y8411819D01* +G01X1059333Y8411819D01* +G01X1060157Y8410997D01* +G01X1060979Y8410175D01* +G01X1109933Y8410803D01* +G01X1114363Y8412193D01* +G01X1118792Y8413581D01* +G01X1120704Y8415095D01* +G01X1122617Y8416608D01* +G01X1124158Y8419484D01* +G01X1125700Y8422360D01* +G01X1125700Y8427987D01* +G01X1123877Y8431096D01* +G01X1122054Y8434207D01* +G01X1118927Y8436356D01* +G01X1115800Y8438506D01* +G01X1059755Y8438989D01* +G01X1059295Y8437158D01* +G01X1058836Y8435327D01* +G01X1047966Y8435327D01* +G01X1047966Y8446311D01* +G01X1048810Y8447912D01* +G01X1049652Y8449515D01* +G01X1050459Y8450053D01* +G01X1051267Y8450592D01* +G01X1080324Y8450603D01* +G01X1109382Y8450614D01* +G01X1115617Y8448415D01* +G01X1119126Y8448415D01* +G01X1126393Y8444615D01* +G01X1132373Y8438635D01* +G01X1134170Y8434837D01* +G01X1135967Y8431040D01* +G01X1135955Y8424877D01* +G01X1135944Y8418715D01* +G01X1133854Y8415048D01* +G01X1132801Y8412848D01* +G01X1131747Y8410648D01* +G01X1129504Y8408539D01* +G01X1127260Y8406430D01* +G01X1125563Y8405452D01* +G01X1123866Y8404473D01* +G01X1122033Y8403633D01* +G01X1120200Y8402794D01* +G01X1115066Y8400382D01* +G01X1083286Y8400155D01* +G37* +G04 Image End* + +G04 Text Start* +G54D10* +G01X1189334Y4066948D02* +G01X1189334Y4028848D01* +G01X1186794Y4021736D01* +G01X1184508Y4019450D01* +G01X1179682Y4017164D01* +G01X1175110Y4017164D01* +G01X1170284Y4019450D01* +G01X1167744Y4021736D01* +G01X1165458Y4028848D01* +G01X1165458Y4033674D01* +G01X1216004Y4057550D02* +G01X1220830Y4059836D01* +G01X1227942Y4066948D01* +G01X1227942Y4017164D01* +G54D11* +G01X-1361080Y6944260D02* +G01X-1275228Y6944260D01* +G01X-1258210Y6950102D01* +G01X-1246780Y6961532D01* +G01X-1240938Y6978550D01* +G01X-1240938Y6989980D01* +G01X-1246780Y7007252D01* +G01X-1258210Y7018682D01* +G01X-1275228Y7024270D01* +G01X-1361080Y7024270D01* +G01X-1361080Y7072022D02* +G01X-1240938Y7072022D01* +G01X-1361080Y7072022D02* +G01X-1361080Y7112154D01* +G01X-1355238Y7129172D01* +G01X-1343808Y7140602D01* +G01X-1332378Y7146444D01* +G01X-1315360Y7152032D01* +G01X-1286658Y7152032D01* +G01X-1269640Y7146444D01* +G01X-1258210Y7140602D01* +G01X-1246780Y7129172D01* +G01X-1240938Y7112154D01* +G01X-1240938Y7072022D01* +G01X-1361080Y7245504D02* +G01X-1240938Y7199784D01* +G01X-1361080Y7245504D02* +G01X-1240938Y7291224D01* +G01X-1281070Y7217056D02* +G01X-1281070Y7274206D01* +G01X-1338220Y7338976D02* +G01X-1343808Y7350406D01* +G01X-1361080Y7367678D01* +G01X-1240938Y7367678D01* +G01X-1361080Y7426860D02* +G01X-1361080Y7489852D01* +G01X-1315360Y7455562D01* +G01X-1315360Y7472580D01* +G01X-1309518Y7484010D01* +G01X-1303930Y7489852D01* +G01X-1286658Y7495440D01* +G01X-1275228Y7495440D01* +G01X-1258210Y7489852D01* +G01X-1246780Y7478422D01* +G01X-1240938Y7461150D01* +G01X-1240938Y7444132D01* +G01X-1246780Y7426860D01* +G01X-1252368Y7421272D01* +G01X-1263798Y7415430D01* +G01X-1361080Y7554622D02* +G01X-1361080Y7617614D01* +G01X-1315360Y7583324D01* +G01X-1315360Y7600342D01* +G01X-1309518Y7611772D01* +G01X-1303930Y7617614D01* +G01X-1286658Y7623202D01* +G01X-1275228Y7623202D01* +G01X-1258210Y7617614D01* +G01X-1246780Y7606184D01* +G01X-1240938Y7588912D01* +G01X-1240938Y7571894D01* +G01X-1246780Y7554622D01* +G01X-1252368Y7549034D01* +G01X-1263798Y7543192D01* +G01X-1361080Y7728104D02* +G01X-1281070Y7670954D01* +G01X-1281070Y7756806D01* +G01X-1361080Y7728104D02* +G01X-1240938Y7728104D01* +G01X-1361080Y7850278D02* +G01X-1240938Y7804558D01* +G01X-1361080Y7850278D02* +G01X-1240938Y7895998D01* +G01X-1281070Y7821830D02* +G01X-1281070Y7878980D01* +G54D12* +G01X-129688Y7373520D02* +G01X-74062Y7394602D01* +G01X-129688Y7415938D02* +G01X-74062Y7394602D01* +G01X-129688Y7443624D02* +G01X-74062Y7443624D01* +G01X-129688Y7471564D02* +G01X-74062Y7471564D01* +G01X-129688Y7471564D02* +G01X-74062Y7508648D01* +G01X-129688Y7508648D02* +G01X-74062Y7508648D01* +G01X-116480Y7895744D02* +G01X-121814Y7893204D01* +G01X-127148Y7887870D01* +G01X-129688Y7882536D01* +G01X-129688Y7871868D01* +G01X-127148Y7866534D01* +G01X-121814Y7861200D01* +G01X-116480Y7858660D01* +G01X-108606Y7856120D01* +G01X-95144Y7856120D01* +G01X-87270Y7858660D01* +G01X-81936Y7861200D01* +G01X-76602Y7866534D01* +G01X-74062Y7871868D01* +G01X-74062Y7882536D01* +G01X-76602Y7887870D01* +G01X-81936Y7893204D01* +G01X-87270Y7895744D01* +G01X-95144Y7895744D01* +G01X-95144Y7882536D02* +G01X-95144Y7895744D01* +G01X-129688Y7923430D02* +G01X-74062Y7923430D01* +G01X-129688Y7923430D02* +G01X-74062Y7960768D01* +G01X-129688Y7960768D02* +G01X-74062Y7960768D01* +G01X-129688Y7988454D02* +G01X-74062Y7988454D01* +G01X-129688Y7988454D02* +G01X-129688Y8006996D01* +G01X-127148Y8015124D01* +G01X-121814Y8020458D01* +G01X-116480Y8022998D01* +G01X-108606Y8025792D01* +G01X-95144Y8025792D01* +G01X-87270Y8022998D01* +G01X-81936Y8020458D01* +G01X-76602Y8015124D01* +G01X-74062Y8006996D01* +G01X-74062Y7988454D01* +G01X-129688Y8389520D02* +G01X-74062Y8389520D01* +G01X-129688Y8389520D02* +G01X-129688Y8408062D01* +G01X-127148Y8415936D01* +G01X-121814Y8421270D01* +G01X-116480Y8423810D01* +G01X-108606Y8426604D01* +G01X-95144Y8426604D01* +G01X-87270Y8423810D01* +G01X-81936Y8421270D01* +G01X-76602Y8415936D01* +G01X-74062Y8408062D01* +G01X-74062Y8389520D01* +G01X-129688Y8454290D02* +G01X-74062Y8454290D01* +G01X-129688Y8482230D02* +G01X-74062Y8482230D01* +G01X-129688Y8482230D02* +G01X-74062Y8519314D01* +G01X-129688Y8519314D02* +G01X-74062Y8519314D01* +G01X-129688Y8872120D02* +G01X-74062Y8872120D01* +G01X-74062Y8872120D02* +G01X-74062Y8903870D01* +G01X-111146Y8945018D02* +G01X-108606Y8939684D01* +G01X-103272Y8934350D01* +G01X-95144Y8931556D01* +G01X-89810Y8931556D01* +G01X-81936Y8934350D01* +G01X-76602Y8939684D01* +G01X-74062Y8945018D01* +G01X-74062Y8952892D01* +G01X-76602Y8958226D01* +G01X-81936Y8963560D01* +G01X-89810Y8966100D01* +G01X-95144Y8966100D01* +G01X-103272Y8963560D01* +G01X-108606Y8958226D01* +G01X-111146Y8952892D01* +G01X-111146Y8945018D01* +G01X-111146Y8993786D02* +G01X-84730Y8993786D01* +G01X-76602Y8996580D01* +G01X-74062Y9001914D01* +G01X-74062Y9009788D01* +G01X-76602Y9015122D01* +G01X-84730Y9022996D01* +G01X-111146Y9022996D02* +G01X-74062Y9022996D01* +G01X-129688Y9058810D02* +G01X-84730Y9058810D01* +G01X-76602Y9061350D01* +G01X-74062Y9066684D01* +G01X-74062Y9072018D01* +G01X-111146Y9050682D02* +G01X-111146Y9069224D01* +G01X-129688Y9354720D02* +G01X-74062Y9354720D01* +G01X-129688Y9354720D02* +G01X-129688Y9378596D01* +G01X-127148Y9386470D01* +G01X-124354Y9389010D01* +G01X-119274Y9391804D01* +G01X-113940Y9391804D01* +G01X-108606Y9389010D01* +G01X-105812Y9386470D01* +G01X-103272Y9378596D01* +G01X-103272Y9354720D01* +G01X-103272Y9373262D02* +G01X-74062Y9391804D01* +G01X-111146Y9432952D02* +G01X-108606Y9427618D01* +G01X-103272Y9422284D01* +G01X-95144Y9419490D01* +G01X-89810Y9419490D01* +G01X-81936Y9422284D01* +G01X-76602Y9427618D01* +G01X-74062Y9432952D01* +G01X-74062Y9440826D01* +G01X-76602Y9446160D01* +G01X-81936Y9451494D01* +G01X-89810Y9454034D01* +G01X-95144Y9454034D01* +G01X-103272Y9451494D01* +G01X-108606Y9446160D01* +G01X-111146Y9440826D01* +G01X-111146Y9432952D01* +G01X-111146Y9481720D02* +G01X-84730Y9481720D01* +G01X-76602Y9484514D01* +G01X-74062Y9489848D01* +G01X-74062Y9497722D01* +G01X-76602Y9503056D01* +G01X-84730Y9510930D01* +G01X-111146Y9510930D02* +G01X-74062Y9510930D01* +G01X-129688Y9546744D02* +G01X-84730Y9546744D01* +G01X-76602Y9549284D01* +G01X-74062Y9554618D01* +G01X-74062Y9559952D01* +G01X-111146Y9538616D02* +G01X-111146Y9557158D01* +G01X-510688Y7607200D02* +G01X-510688Y7636410D01* +G01X-489606Y7620662D01* +G01X-489606Y7628536D01* +G01X-486812Y7633870D01* +G01X-484272Y7636410D01* +G01X-476144Y7639204D01* +G01X-470810Y7639204D01* +G01X-462936Y7636410D01* +G01X-457602Y7631330D01* +G01X-455062Y7623202D01* +G01X-455062Y7615328D01* +G01X-457602Y7607200D01* +G01X-460396Y7604660D01* +G01X-465730Y7602120D01* +G01X-510688Y7666890D02* +G01X-455062Y7688226D01* +G01X-510688Y7709562D02* +G01X-455062Y7688226D01* +G01X-510688Y7753250D02* +G01X-508148Y7747916D01* +G01X-502814Y7742582D01* +G01X-497480Y7740042D01* +G01X-489606Y7737248D01* +G01X-476144Y7737248D01* +G01X-468270Y7740042D01* +G01X-462936Y7742582D01* +G01X-457602Y7747916D01* +G01X-455062Y7753250D01* +G01X-455062Y7763918D01* +G01X-457602Y7769252D01* +G01X-462936Y7774586D01* +G01X-468270Y7777126D01* +G01X-476144Y7779920D01* +G01X-489606Y7779920D01* +G01X-497480Y7777126D01* +G01X-502814Y7774586D01* +G01X-508148Y7769252D01* +G01X-510688Y7763918D01* +G01X-510688Y7753250D01* +G01X-510688Y8059320D02* +G01X-455062Y8072528D01* +G01X-510688Y8085736D02* +G01X-455062Y8072528D01* +G01X-510688Y8085736D02* +G01X-455062Y8098944D01* +G01X-510688Y8112406D02* +G01X-455062Y8098944D01* +G01X-502814Y8177430D02* +G01X-508148Y8172096D01* +G01X-510688Y8163968D01* +G01X-510688Y8153554D01* +G01X-508148Y8145426D01* +G01X-502814Y8140092D01* +G01X-497480Y8140092D01* +G01X-492146Y8142886D01* +G01X-489606Y8145426D01* +G01X-486812Y8150760D01* +G01X-481478Y8166762D01* +G01X-478938Y8172096D01* +G01X-476144Y8174636D01* +G01X-470810Y8177430D01* +G01X-462936Y8177430D01* +G01X-457602Y8172096D01* +G01X-455062Y8163968D01* +G01X-455062Y8153554D01* +G01X-457602Y8145426D01* +G01X-462936Y8140092D01* +G01X-510688Y8205116D02* +G01X-455062Y8205116D01* +G01X-510688Y8205116D02* +G01X-510688Y8239660D01* +G01X-484272Y8205116D02* +G01X-484272Y8226452D01* +G01X-455062Y8205116D02* +G01X-455062Y8239660D01* +G01X-510688Y8267346D02* +G01X-455062Y8267346D01* +G01X-455062Y8267346D02* +G01X-455062Y8299350D01* +G01X-510688Y8592720D02* +G01X-455062Y8592720D01* +G01X-510688Y8592720D02* +G01X-510688Y8616596D01* +G01X-508148Y8624470D01* +G01X-505354Y8627010D01* +G01X-500274Y8629804D01* +G01X-494940Y8629804D01* +G01X-489606Y8627010D01* +G01X-486812Y8624470D01* +G01X-484272Y8616596D01* +G01X-484272Y8592720D02* +G01X-484272Y8616596D01* +G01X-481478Y8624470D01* +G01X-478938Y8627010D01* +G01X-473604Y8629804D01* +G01X-465730Y8629804D01* +G01X-460396Y8627010D01* +G01X-457602Y8624470D01* +G01X-455062Y8616596D01* +G01X-455062Y8592720D01* +G01X-497480Y8697368D02* +G01X-502814Y8694828D01* +G01X-508148Y8689494D01* +G01X-510688Y8684160D01* +G01X-510688Y8673492D01* +G01X-508148Y8668158D01* +G01X-502814Y8662824D01* +G01X-497480Y8660284D01* +G01X-489606Y8657490D01* +G01X-476144Y8657490D01* +G01X-468270Y8660284D01* +G01X-462936Y8662824D01* +G01X-457602Y8668158D01* +G01X-455062Y8673492D01* +G01X-455062Y8684160D01* +G01X-457602Y8689494D01* +G01X-462936Y8694828D01* +G01X-468270Y8697368D01* +G01X-510688Y8725054D02* +G01X-455062Y8725054D01* +G01X-455062Y8725054D02* +G01X-455062Y8757058D01* +G01X-510688Y8784744D02* +G01X-455062Y8784744D01* +G01X-510688Y8822082D02* +G01X-473604Y8784744D01* +G01X-486812Y8798206D02* +G01X-455062Y8822082D01* +G01X-510688Y9121802D02* +G01X-455062Y9100720D01* +G01X-510688Y9121802D02* +G01X-455062Y9143138D01* +G01X-473604Y9108594D02* +G01X-473604Y9135010D01* +G01X-497480Y9210702D02* +G01X-502814Y9208162D01* +G01X-508148Y9202828D01* +G01X-510688Y9197494D01* +G01X-510688Y9186826D01* +G01X-508148Y9181492D01* +G01X-502814Y9176158D01* +G01X-497480Y9173618D01* +G01X-489606Y9170824D01* +G01X-476144Y9170824D01* +G01X-468270Y9173618D01* +G01X-462936Y9176158D01* +G01X-457602Y9181492D01* +G01X-455062Y9186826D01* +G01X-455062Y9197494D01* +G01X-457602Y9202828D01* +G01X-462936Y9208162D01* +G01X-468270Y9210702D01* +G01X-476144Y9210702D01* +G01X-476144Y9197494D02* +G01X-476144Y9210702D01* +G01X-510688Y9238388D02* +G01X-455062Y9238388D01* +G01X-510688Y9238388D02* +G01X-455062Y9275726D01* +G01X-510688Y9275726D02* +G01X-455062Y9275726D01* +G01X-510688Y9303412D02* +G01X-455062Y9303412D01* +G01X-510688Y9303412D02* +G01X-510688Y9321954D01* +G01X-508148Y9330082D01* +G01X-502814Y9335416D01* +G01X-497480Y9337956D01* +G01X-489606Y9340750D01* +G01X-476144Y9340750D01* +G01X-468270Y9337956D01* +G01X-462936Y9335416D01* +G01X-457602Y9330082D01* +G01X-455062Y9321954D01* +G01X-455062Y9303412D01* +G01X-2153814Y7918604D02* +G01X-2159148Y7913270D01* +G01X-2161688Y7905396D01* +G01X-2161688Y7894728D01* +G01X-2159148Y7886600D01* +G01X-2153814Y7881520D01* +G01X-2148480Y7881520D01* +G01X-2143146Y7884060D01* +G01X-2140606Y7886600D01* +G01X-2137812Y7891934D01* +G01X-2132478Y7907936D01* +G01X-2129938Y7913270D01* +G01X-2127144Y7915810D01* +G01X-2121810Y7918604D01* +G01X-2113936Y7918604D01* +G01X-2108602Y7913270D01* +G01X-2106062Y7905396D01* +G01X-2106062Y7894728D01* +G01X-2108602Y7886600D01* +G01X-2113936Y7881520D01* +G01X-2161688Y7946290D02* +G01X-2106062Y7946290D01* +G01X-2161688Y7946290D02* +G01X-2161688Y7980834D01* +G01X-2135272Y7946290D02* +G01X-2135272Y7967626D01* +G01X-2151274Y8008520D02* +G01X-2153814Y8013854D01* +G01X-2161688Y8021982D01* +G01X-2106062Y8021982D01* +G01X-2153814Y8426604D02* +G01X-2159148Y8421270D01* +G01X-2161688Y8413396D01* +G01X-2161688Y8402728D01* +G01X-2159148Y8394600D01* +G01X-2153814Y8389520D01* +G01X-2148480Y8389520D01* +G01X-2143146Y8392060D01* +G01X-2140606Y8394600D01* +G01X-2137812Y8399934D01* +G01X-2132478Y8415936D01* +G01X-2129938Y8421270D01* +G01X-2127144Y8423810D01* +G01X-2121810Y8426604D01* +G01X-2113936Y8426604D01* +G01X-2108602Y8421270D01* +G01X-2106062Y8413396D01* +G01X-2106062Y8402728D01* +G01X-2108602Y8394600D01* +G01X-2113936Y8389520D01* +G01X-2161688Y8454290D02* +G01X-2106062Y8454290D01* +G01X-2161688Y8454290D02* +G01X-2161688Y8488834D01* +G01X-2135272Y8454290D02* +G01X-2135272Y8475626D01* +G01X-2148480Y8519314D02* +G01X-2151274Y8519314D01* +G01X-2156354Y8521854D01* +G01X-2159148Y8524648D01* +G01X-2161688Y8529982D01* +G01X-2161688Y8540396D01* +G01X-2159148Y8545730D01* +G01X-2156354Y8548524D01* +G01X-2151274Y8551064D01* +G01X-2145940Y8551064D01* +G01X-2140606Y8548524D01* +G01X-2132478Y8543190D01* +G01X-2106062Y8516520D01* +G01X-2106062Y8553858D01* +G01X-2509414Y7613804D02* +G01X-2514748Y7608470D01* +G01X-2517288Y7600596D01* +G01X-2517288Y7589928D01* +G01X-2514748Y7581800D01* +G01X-2509414Y7576720D01* +G01X-2504080Y7576720D01* +G01X-2498746Y7579260D01* +G01X-2496206Y7581800D01* +G01X-2493412Y7587134D01* +G01X-2488078Y7603136D01* +G01X-2485538Y7608470D01* +G01X-2482744Y7611010D01* +G01X-2477410Y7613804D01* +G01X-2469536Y7613804D01* +G01X-2464202Y7608470D01* +G01X-2461662Y7600596D01* +G01X-2461662Y7589928D01* +G01X-2464202Y7581800D01* +G01X-2469536Y7576720D01* +G01X-2504080Y7681368D02* +G01X-2509414Y7678828D01* +G01X-2514748Y7673494D01* +G01X-2517288Y7668160D01* +G01X-2517288Y7657492D01* +G01X-2514748Y7652158D01* +G01X-2509414Y7646824D01* +G01X-2504080Y7644284D01* +G01X-2496206Y7641490D01* +G01X-2482744Y7641490D01* +G01X-2474870Y7644284D01* +G01X-2469536Y7646824D01* +G01X-2464202Y7652158D01* +G01X-2461662Y7657492D01* +G01X-2461662Y7668160D01* +G01X-2464202Y7673494D01* +G01X-2469536Y7678828D01* +G01X-2474870Y7681368D01* +G01X-2517288Y7709054D02* +G01X-2461662Y7709054D01* +G01X-2461662Y7709054D02* +G01X-2461662Y7741058D01* +G01X-2517288Y7768744D02* +G01X-2461662Y7768744D01* +G01X-2517288Y7806082D02* +G01X-2480204Y7768744D01* +G01X-2493412Y7782206D02* +G01X-2461662Y7806082D01* +G01X-2517288Y8084720D02* +G01X-2461662Y8084720D01* +G01X-2517288Y8084720D02* +G01X-2461662Y8105802D01* +G01X-2517288Y8127138D02* +G01X-2461662Y8105802D01* +G01X-2517288Y8127138D02* +G01X-2461662Y8127138D01* +G01X-2517288Y8154824D02* +G01X-2477410Y8154824D01* +G01X-2469536Y8157618D01* +G01X-2464202Y8162952D01* +G01X-2461662Y8170826D01* +G01X-2461662Y8176160D01* +G01X-2464202Y8184034D01* +G01X-2469536Y8189368D01* +G01X-2477410Y8192162D01* +G01X-2517288Y8192162D01* +G01X-2517288Y8238390D02* +G01X-2461662Y8238390D01* +G01X-2517288Y8219848D02* +G01X-2517288Y8257186D01* +G01X-2517288Y8284872D02* +G01X-2461662Y8284872D01* +G01X-2517288Y8284872D02* +G01X-2517288Y8319416D01* +G01X-2490872Y8284872D02* +G01X-2490872Y8306208D01* +G01X-2461662Y8284872D02* +G01X-2461662Y8319416D01* +G01X-2517288Y8643520D02* +G01X-2461662Y8643520D01* +G01X-2517288Y8643520D02* +G01X-2517288Y8667396D01* +G01X-2514748Y8675270D01* +G01X-2511954Y8677810D01* +G01X-2506874Y8680604D01* +G01X-2498746Y8680604D01* +G01X-2493412Y8677810D01* +G01X-2490872Y8675270D01* +G01X-2488078Y8667396D01* +G01X-2488078Y8643520D01* +G01X-2517288Y8708290D02* +G01X-2461662Y8708290D01* +G01X-2461662Y8708290D02* +G01X-2461662Y8740294D01* +G01X-2517288Y8767980D02* +G01X-2461662Y8767980D01* +G01X-2461662Y8767980D02* +G01X-2461662Y8799984D01* +G01X-2161688Y8872120D02* +G01X-2106062Y8872120D01* +G01X-2161688Y8872120D02* +G01X-2161688Y8890662D01* +G01X-2159148Y8898536D01* +G01X-2153814Y8903870D01* +G01X-2148480Y8906410D01* +G01X-2140606Y8909204D01* +G01X-2127144Y8909204D01* +G01X-2119270Y8906410D01* +G01X-2113936Y8903870D01* +G01X-2108602Y8898536D01* +G01X-2106062Y8890662D01* +G01X-2106062Y8872120D01* +G01X-2161688Y8936890D02* +G01X-2106062Y8936890D01* +G01X-2161688Y8936890D02* +G01X-2161688Y8971434D01* +G01X-2135272Y8936890D02* +G01X-2135272Y8958226D01* +G01X-2106062Y8936890D02* +G01X-2106062Y8971434D01* +G01X-2161688Y8999120D02* +G01X-2106062Y8999120D01* +G01X-2161688Y8999120D02* +G01X-2161688Y9033664D01* +G01X-2135272Y8999120D02* +G01X-2135272Y9020456D01* +G01X-2106062Y8999120D02* +G01X-2106062Y9033664D01* +G01X-2161688Y9061350D02* +G01X-2106062Y9061350D01* +G01X-2161688Y9061350D02* +G01X-2106062Y9082686D01* +G01X-2161688Y9104022D02* +G01X-2106062Y9082686D01* +G01X-2161688Y9104022D02* +G01X-2106062Y9104022D01* +G54D10* +G01X-1339109Y10645548D02* +G01X-1339109Y10609988D01* +G01X-1336823Y10602876D01* +G01X-1331997Y10598050D01* +G01X-1324885Y10595764D01* +G01X-1320059Y10595764D01* +G01X-1312947Y10598050D01* +G01X-1308121Y10602876D01* +G01X-1305835Y10609988D01* +G01X-1305835Y10645548D01* +G01X-1274339Y10645548D02* +G01X-1248177Y10645548D01* +G01X-1262401Y10626498D01* +G01X-1255289Y10626498D01* +G01X-1250463Y10624212D01* +G01X-1248177Y10621926D01* +G01X-1245891Y10614814D01* +G01X-1245891Y10609988D01* +G01X-1248177Y10602876D01* +G01X-1253003Y10598050D01* +G01X-1260115Y10595764D01* +G01X-1267227Y10595764D01* +G01X-1274339Y10598050D01* +G01X-1276879Y10600336D01* +G01X-1279165Y10605162D01* +G01X2024359Y358548D02* +G01X2057633Y308764D01* +G01X2057633Y358548D02* +G01X2024359Y308764D01* +G01X2084303Y349150D02* +G01X2089129Y351436D01* +G01X2096241Y358548D01* +G01X2096241Y308764D01* +G01X975720Y112168D02* +G01X1008994Y62384D01* +G01X1008994Y112168D02* +G01X975720Y62384D01* +G01X1037950Y100484D02* +G01X1037950Y102770D01* +G01X1040490Y107596D01* +G01X1042776Y109882D01* +G01X1047602Y112168D01* +G01X1057000Y112168D01* +G01X1061826Y109882D01* +G01X1064366Y107596D01* +G01X1066652Y102770D01* +G01X1066652Y97944D01* +G01X1064366Y93118D01* +G01X1059540Y86006D01* +G01X1035664Y62384D01* +G01X1068938Y62384D01* +G01X3655801Y8538364D02* +G01X3689075Y8488580D01* +G01X3689075Y8538364D02* +G01X3655801Y8488580D01* +G01X3720571Y8538364D02* +G01X3746733Y8538364D01* +G01X3732509Y8519314D01* +G01X3739621Y8519314D01* +G01X3744447Y8517028D01* +G01X3746733Y8514742D01* +G01X3749019Y8507630D01* +G01X3749019Y8502804D01* +G01X3746733Y8495692D01* +G01X3741907Y8490866D01* +G01X3734795Y8488580D01* +G01X3727683Y8488580D01* +G01X3720571Y8490866D01* +G01X3718031Y8493152D01* +G01X3715745Y8497978D01* +G01X3375121Y9050548D02* +G01X3408395Y9000764D01* +G01X3408395Y9050548D02* +G01X3375121Y9000764D01* +G01X3458941Y9050548D02* +G01X3435065Y9017274D01* +G01X3470879Y9017274D01* +G01X3458941Y9050548D02* +G01X3458941Y9000764D01* +G01X1531091Y10226448D02* +G01X1564365Y10176664D01* +G01X1564365Y10226448D02* +G01X1531091Y10176664D01* +G01X1619737Y10226448D02* +G01X1595861Y10226448D01* +G01X1593321Y10205112D01* +G01X1595861Y10207398D01* +G01X1602973Y10209938D01* +G01X1610085Y10209938D01* +G01X1617197Y10207398D01* +G01X1622023Y10202826D01* +G01X1624309Y10195714D01* +G01X1624309Y10190888D01* +G01X1622023Y10183776D01* +G01X1617197Y10178950D01* +G01X1610085Y10176664D01* +G01X1602973Y10176664D01* +G01X1595861Y10178950D01* +G01X1593321Y10181236D01* +G01X1591035Y10186062D01* +G01X4383638Y9051775D02* +G01X4416912Y9001991D01* +G01X4416912Y9051775D02* +G01X4383638Y9001991D01* +G01X4472284Y9044663D02* +G01X4469744Y9049489D01* +G01X4462632Y9051775D01* +G01X4457806Y9051775D01* +G01X4450694Y9049489D01* +G01X4445868Y9042377D01* +G01X4443582Y9030439D01* +G01X4443582Y9018501D01* +G01X4445868Y9009103D01* +G01X4450694Y9004277D01* +G01X4457806Y9001991D01* +G01X4460346Y9001991D01* +G01X4467458Y9004277D01* +G01X4472284Y9009103D01* +G01X4474570Y9016215D01* +G01X4474570Y9018501D01* +G01X4472284Y9025613D01* +G01X4467458Y9030439D01* +G01X4460346Y9032725D01* +G01X4457806Y9032725D01* +G01X4450694Y9030439D01* +G01X4445868Y9025613D01* +G01X4443582Y9018501D01* +G01X-1977009Y10620248D02* +G01X-1943735Y10570464D01* +G01X-1943735Y10620248D02* +G01X-1977009Y10570464D01* +G01X-1883791Y10620248D02* +G01X-1907413Y10570464D01* +G01X-1917065Y10620248D02* +G01X-1883791Y10620248D01* +G01X1803506Y6480964D02* +G01X1800966Y6485536D01* +G01X1796394Y6490362D01* +G01X1791568Y6492648D01* +G01X1781916Y6492648D01* +G01X1777344Y6490362D01* +G01X1772518Y6485536D01* +G01X1769978Y6480964D01* +G01X1767692Y6473598D01* +G01X1767692Y6461914D01* +G01X1769978Y6454548D01* +G01X1772518Y6449976D01* +G01X1777344Y6445150D01* +G01X1781916Y6442864D01* +G01X1791568Y6442864D01* +G01X1796394Y6445150D01* +G01X1800966Y6449976D01* +G01X1803506Y6454548D01* +G01X1858878Y6485536D02* +G01X1856338Y6490362D01* +G01X1849226Y6492648D01* +G01X1844400Y6492648D01* +G01X1837288Y6490362D01* +G01X1832462Y6483250D01* +G01X1830176Y6471312D01* +G01X1830176Y6459374D01* +G01X1832462Y6449976D01* +G01X1837288Y6445150D01* +G01X1844400Y6442864D01* +G01X1846940Y6442864D01* +G01X1854052Y6445150D01* +G01X1858878Y6449976D01* +G01X1861164Y6457088D01* +G01X1861164Y6459374D01* +G01X1858878Y6466486D01* +G01X1854052Y6471312D01* +G01X1846940Y6473598D01* +G01X1844400Y6473598D01* +G01X1837288Y6471312D01* +G01X1832462Y6466486D01* +G01X1830176Y6459374D01* +G01X1916536Y6492648D02* +G01X1892660Y6492648D01* +G01X1890120Y6471312D01* +G01X1892660Y6473598D01* +G01X1899772Y6476138D01* +G01X1906884Y6476138D01* +G01X1913996Y6473598D01* +G01X1918822Y6469026D01* +G01X1921108Y6461914D01* +G01X1921108Y6457088D01* +G01X1918822Y6449976D01* +G01X1913996Y6445150D01* +G01X1906884Y6442864D01* +G01X1899772Y6442864D01* +G01X1892660Y6445150D01* +G01X1890120Y6447436D01* +G01X1887834Y6452262D01* +G01X1509374Y4387750D02* +G01X1528424Y4337966D01* +G01X1547474Y4387750D02* +G01X1528424Y4337966D01* +G01X1574144Y4387750D02* +G01X1574144Y4337966D01* +G01X1574144Y4387750D02* +G01X1590908Y4387750D01* +G01X1598020Y4385464D01* +G01X1602846Y4380638D01* +G01X1605132Y4376066D01* +G01X1607418Y4368700D01* +G01X1607418Y4357016D01* +G01X1605132Y4349650D01* +G01X1602846Y4345078D01* +G01X1598020Y4340252D01* +G01X1590908Y4337966D01* +G01X1574144Y4337966D01* +G01X1634088Y4378352D02* +G01X1638914Y4380638D01* +G01X1646026Y4387750D01* +G01X1646026Y4337966D01* +G01X1720342Y6013450D02* +G01X1725168Y6015736D01* +G01X1732280Y6022848D01* +G01X1732280Y5973064D01* +G01X1773174Y6022848D02* +G01X1766062Y6020562D01* +G01X1761236Y6013450D01* +G01X1758950Y6001512D01* +G01X1758950Y5994400D01* +G01X1761236Y5982462D01* +G01X1766062Y5975350D01* +G01X1773174Y5973064D01* +G01X1778000Y5973064D01* +G01X1785112Y5975350D01* +G01X1789938Y5982462D01* +G01X1792224Y5994400D01* +G01X1792224Y6001512D01* +G01X1789938Y6013450D01* +G01X1785112Y6020562D01* +G01X1778000Y6022848D01* +G01X1773174Y6022848D01* +G01X1833118Y6022848D02* +G01X1826006Y6020562D01* +G01X1821180Y6013450D01* +G01X1818894Y6001512D01* +G01X1818894Y5994400D01* +G01X1821180Y5982462D01* +G01X1826006Y5975350D01* +G01X1833118Y5973064D01* +G01X1837944Y5973064D01* +G01X1845056Y5975350D01* +G01X1849882Y5982462D01* +G01X1852168Y5994400D01* +G01X1852168Y6001512D01* +G01X1849882Y6013450D01* +G01X1845056Y6020562D01* +G01X1837944Y6022848D01* +G01X1833118Y6022848D01* +G01X1878838Y6006338D02* +G01X1878838Y5982462D01* +G01X1881124Y5975350D01* +G01X1885950Y5973064D01* +G01X1893062Y5973064D01* +G01X1897888Y5975350D01* +G01X1905000Y5982462D01* +G01X1905000Y6006338D02* +G01X1905000Y5973064D01* +G01X1931670Y6022848D02* +G01X1931670Y5973064D01* +G01X1931670Y6022848D02* +G01X1962658Y6022848D01* +G01X1931670Y5999226D02* +G01X1950720Y5999226D01* +G01X3311504Y8924267D02* +G01X3305154Y8930363D01* +G01X3296010Y8933411D01* +G01X3283564Y8933411D01* +G01X3274166Y8930363D01* +G01X3268070Y8924267D01* +G01X3268070Y8917917D01* +G01X3271118Y8911821D01* +G01X3274166Y8908773D01* +G01X3280516Y8905725D01* +G01X3299058Y8899375D01* +G01X3305154Y8896327D01* +G01X3308202Y8893279D01* +G01X3311504Y8886929D01* +G01X3311504Y8877785D01* +G01X3305154Y8871435D01* +G01X3296010Y8868387D01* +G01X3283564Y8868387D01* +G01X3274166Y8871435D01* +G01X3268070Y8877785D01* +G01X3341730Y8933411D02* +G01X3341730Y8868387D01* +G01X3341730Y8933411D02* +G01X3381862Y8933411D01* +G01X3341730Y8902423D02* +G01X3366368Y8902423D01* +G01X3341730Y8868387D02* +G01X3381862Y8868387D01* +G01X3458316Y8917917D02* +G01X3455268Y8924267D01* +G01X3449172Y8930363D01* +G01X3442822Y8933411D01* +G01X3430630Y8933411D01* +G01X3424280Y8930363D01* +G01X3418184Y8924267D01* +G01X3415136Y8917917D01* +G01X3412088Y8908773D01* +G01X3412088Y8893279D01* +G01X3415136Y8883881D01* +G01X3418184Y8877785D01* +G01X3424280Y8871435D01* +G01X3430630Y8868387D01* +G01X3442822Y8868387D01* +G01X3449172Y8871435D01* +G01X3455268Y8877785D01* +G01X3458316Y8883881D01* +G01X3458316Y8893279D01* +G01X3442822Y8893279D02* +G01X3458316Y8893279D01* +G01X3513180Y8933411D02* +G01X3488542Y8868387D01* +G01X3513180Y8933411D02* +G01X3538072Y8868387D01* +G01X3497686Y8890231D02* +G01X3528674Y8890231D01* +G01X3568298Y8920965D02* +G01X3574394Y8924267D01* +G01X3583538Y8933411D01* +G01X3583538Y8868387D01* +G01X4300834Y8924267D02* +G01X4294484Y8930363D01* +G01X4285340Y8933411D01* +G01X4272894Y8933411D01* +G01X4263496Y8930363D01* +G01X4257400Y8924267D01* +G01X4257400Y8917917D01* +G01X4260448Y8911821D01* +G01X4263496Y8908773D01* +G01X4269846Y8905725D01* +G01X4288388Y8899375D01* +G01X4294484Y8896327D01* +G01X4297532Y8893279D01* +G01X4300834Y8886929D01* +G01X4300834Y8877785D01* +G01X4294484Y8871435D01* +G01X4285340Y8868387D01* +G01X4272894Y8868387D01* +G01X4263496Y8871435D01* +G01X4257400Y8877785D01* +G01X4331060Y8933411D02* +G01X4331060Y8868387D01* +G01X4331060Y8933411D02* +G01X4371192Y8933411D01* +G01X4331060Y8902423D02* +G01X4355698Y8902423D01* +G01X4331060Y8868387D02* +G01X4371192Y8868387D01* +G01X4447646Y8917917D02* +G01X4444598Y8924267D01* +G01X4438502Y8930363D01* +G01X4432152Y8933411D01* +G01X4419960Y8933411D01* +G01X4413610Y8930363D01* +G01X4407514Y8924267D01* +G01X4404466Y8917917D01* +G01X4401418Y8908773D01* +G01X4401418Y8893279D01* +G01X4404466Y8883881D01* +G01X4407514Y8877785D01* +G01X4413610Y8871435D01* +G01X4419960Y8868387D01* +G01X4432152Y8868387D01* +G01X4438502Y8871435D01* +G01X4444598Y8877785D01* +G01X4447646Y8883881D01* +G01X4447646Y8893279D01* +G01X4432152Y8893279D02* +G01X4447646Y8893279D01* +G01X4502510Y8933411D02* +G01X4477872Y8868387D01* +G01X4502510Y8933411D02* +G01X4527402Y8868387D01* +G01X4487016Y8890231D02* +G01X4518004Y8890231D01* +G01X4560676Y8917917D02* +G01X4560676Y8920965D01* +G01X4563724Y8927315D01* +G01X4566772Y8930363D01* +G01X4572868Y8933411D01* +G01X4585314Y8933411D01* +G01X4591664Y8930363D01* +G01X4594712Y8927315D01* +G01X4597760Y8920965D01* +G01X4597760Y8914869D01* +G01X4594712Y8908773D01* +G01X4588362Y8899375D01* +G01X4557628Y8868387D01* +G01X4600808Y8868387D01* +G01X272267Y6012411D02* +G01X272267Y5947387D01* +G01X302493Y6012411D02* +G01X302493Y5947387D01* +G01X302493Y6012411D02* +G01X324083Y6012411D01* +G01X333227Y6009363D01* +G01X339577Y6003267D01* +G01X342625Y5996917D01* +G01X345673Y5987773D01* +G01X345673Y5972279D01* +G01X342625Y5962881D01* +G01X339577Y5956785D01* +G01X333227Y5950435D01* +G01X324083Y5947387D01* +G01X302493Y5947387D01* +G01X375899Y6012411D02* +G01X375899Y5947387D01* +G01X375899Y6012411D02* +G01X416031Y6012411D01* +G01X375899Y5981423D02* +G01X400537Y5981423D01* +G01X375899Y5947387D02* +G01X416031Y5947387D01* +G01X534141Y6012411D02* +G01X527791Y6009363D01* +G01X521695Y6003267D01* +G01X518647Y5996917D01* +G01X515599Y5987773D01* +G01X515599Y5972279D01* +G01X518647Y5962881D01* +G01X521695Y5956785D01* +G01X527791Y5950435D01* +G01X534141Y5947387D01* +G01X546333Y5947387D01* +G01X552683Y5950435D01* +G01X558779Y5956785D01* +G01X561827Y5962881D01* +G01X565129Y5972279D01* +G01X565129Y5987773D01* +G01X561827Y5996917D01* +G01X558779Y6003267D01* +G01X552683Y6009363D01* +G01X546333Y6012411D01* +G01X534141Y6012411D01* +G01X595355Y6012411D02* +G01X595355Y5965929D01* +G01X598403Y5956785D01* +G01X604499Y5950435D01* +G01X613897Y5947387D01* +G01X619993Y5947387D01* +G01X629391Y5950435D01* +G01X635487Y5956785D01* +G01X638535Y5965929D01* +G01X638535Y6012411D01* +G01X690351Y6012411D02* +G01X690351Y5947387D01* +G01X668761Y6012411D02* +G01X711941Y6012411D01* +G01X205359Y12880848D02* +G01X205359Y12845288D01* +G01X207645Y12838176D01* +G01X212471Y12833350D01* +G01X219583Y12831064D01* +G01X224409Y12831064D01* +G01X231521Y12833350D01* +G01X236347Y12838176D01* +G01X238633Y12845288D01* +G01X238633Y12880848D01* +G01X265303Y12871450D02* +G01X270129Y12873736D01* +G01X277241Y12880848D01* +G01X277241Y12831064D01* +G36* +G01X1077717Y5625618D02* +G01X1077717Y5641527D01* +G01X1077784Y5645345D01* +G01X1122899Y5645345D01* +G01X1123217Y5643754D01* +G01X1137536Y5643436D01* +G01X1152490Y5644073D01* +G01X1153763Y5646936D01* +G01X1154399Y5650118D01* +G01X1155672Y5655846D01* +G01X1156308Y5659345D01* +G01X1157263Y5664118D01* +G01X1158218Y5667936D01* +G01X1158854Y5671118D01* +G01X1159490Y5673664D01* +G01X1160763Y5680027D01* +G01X1162036Y5685755D01* +G01X1162672Y5689254D01* +G01X1163626Y5694027D01* +G01X1164581Y5697845D01* +G01X1165218Y5701027D01* +G01X1165854Y5703573D01* +G01X1166490Y5707073D01* +G01X1167445Y5711845D01* +G01X1168399Y5715664D01* +G01X1169672Y5722027D01* +G01X1170308Y5724573D01* +G01X1170945Y5728073D01* +G01X1171899Y5732845D01* +G01X1172854Y5736664D01* +G01X1173490Y5739845D01* +G01X1174127Y5742391D01* +G01X1175399Y5748754D01* +G01X1175717Y5750982D01* +G01X1171979Y5751936D01* +G01X1160763Y5752255D01* +G01X1149467Y5751936D01* +G01X1145490Y5750982D01* +G01X1144536Y5747482D01* +G01X1143581Y5743664D01* +G01X1142308Y5737300D01* +G01X1141672Y5734754D01* +G01X1140399Y5728391D01* +G01X1139127Y5722664D01* +G01X1138490Y5719164D01* +G01X1137536Y5714391D01* +G01X1136581Y5710573D01* +G01X1135945Y5707391D01* +G01X1135308Y5704845D01* +G01X1134036Y5698482D01* +G01X1132763Y5692755D01* +G01X1132126Y5689254D01* +G01X1131172Y5684482D01* +G01X1130217Y5680664D01* +G01X1129581Y5677482D01* +G01X1128945Y5674936D01* +G01X1128308Y5671436D01* +G01X1127354Y5666664D01* +G01X1126399Y5662846D01* +G01X1125126Y5656482D01* +G01X1124490Y5653936D01* +G01X1123217Y5647573D01* +G01X1122899Y5645345D01* +G01X1122899Y5645345D01* +G01X1077784Y5645345D01* +G01X1078036Y5659664D01* +G01X1078672Y5662846D01* +G01X1079308Y5666345D01* +G01X1080263Y5671118D01* +G01X1081217Y5674936D01* +G01X1082490Y5681300D01* +G01X1083126Y5683846D01* +G01X1084399Y5690209D01* +G01X1085672Y5695936D01* +G01X1086308Y5699436D01* +G01X1087263Y5704209D01* +G01X1088217Y5708027D01* +G01X1089490Y5714391D01* +G01X1090126Y5716936D01* +G01X1091399Y5723300D01* +G01X1092672Y5729027D01* +G01X1093308Y5732527D01* +G01X1094263Y5737300D01* +G01X1095217Y5741118D01* +G01X1096490Y5747482D01* +G01X1097126Y5750027D01* +G01X1097763Y5753527D01* +G01X1098718Y5758300D01* +G01X1099672Y5762118D01* +G01X1101263Y5770073D01* +G01X1155036Y5770073D01* +G01X1211036Y5769436D01* +G01X1214854Y5768164D01* +G01X1217081Y5766891D01* +G01X1218672Y5765618D01* +G01X1220899Y5763391D01* +G01X1222808Y5759891D01* +G01X1223763Y5756391D01* +G01X1223763Y5753845D01* +G01X1223126Y5748754D01* +G01X1221854Y5742391D01* +G01X1220581Y5736664D01* +G01X1219308Y5730300D01* +G01X1218036Y5724573D01* +G01X1217399Y5721073D01* +G01X1216445Y5716300D01* +G01X1215490Y5712482D01* +G01X1214217Y5706118D01* +G01X1213581Y5703573D01* +G01X1212308Y5697209D01* +G01X1211036Y5691482D01* +G01X1209763Y5685118D01* +G01X1208490Y5679391D01* +G01X1207217Y5673027D01* +G01X1205945Y5667300D01* +G01X1205308Y5663800D01* +G01X1204354Y5659027D01* +G01X1203399Y5655209D01* +G01X1202763Y5652027D01* +G01X1202127Y5649482D01* +G01X1201490Y5646618D01* +G01X1200536Y5643436D01* +G01X1199263Y5640573D01* +G01X1197990Y5638345D01* +G01X1197036Y5636754D01* +G01X1195763Y5635164D01* +G01X1191945Y5631345D01* +G01X1188763Y5629118D01* +G01X1185899Y5627527D01* +G01X1183354Y5626573D01* +G01X1181127Y5625936D01* +G01X1128945Y5625618D01* +G01X1077717Y5625618D01* +G37* +G36* +G01X1280081Y5625618D02* +G01X1230445Y5626255D01* +G01X1227581Y5627527D01* +G01X1225354Y5628800D01* +G01X1223763Y5630073D01* +G01X1221854Y5632300D01* +G01X1220263Y5635164D01* +G01X1219308Y5638664D01* +G01X1219308Y5643754D01* +G01X1219945Y5647573D01* +G01X1221217Y5653936D01* +G01X1222490Y5659664D01* +G01X1223126Y5663164D01* +G01X1224081Y5667936D01* +G01X1225036Y5671755D01* +G01X1225672Y5674936D01* +G01X1225911Y5675891D01* +G01X1270218Y5675891D01* +G01X1270218Y5673664D01* +G01X1281672Y5673345D01* +G01X1293763Y5673982D01* +G01X1294558Y5675095D01* +G01X1295036Y5677164D01* +G01X1295990Y5681936D01* +G01X1297581Y5688300D01* +G01X1298217Y5691800D01* +G01X1299172Y5696573D01* +G01X1300127Y5700391D01* +G01X1300763Y5703573D01* +G01X1301399Y5706118D01* +G01X1302036Y5709618D01* +G01X1302990Y5714391D01* +G01X1304581Y5720754D01* +G01X1304899Y5723618D01* +G01X1304899Y5725527D01* +G01X1293445Y5725527D01* +G01X1281354Y5724891D01* +G01X1280399Y5723300D01* +G01X1278490Y5713755D01* +G01X1277536Y5709300D01* +G01X1276581Y5705482D01* +G01X1275945Y5702300D01* +G01X1275308Y5699755D01* +G01X1274672Y5696254D01* +G01X1273717Y5691482D01* +G01X1272127Y5685118D01* +G01X1270854Y5678755D01* +G01X1270218Y5675891D01* +G01X1270218Y5675891D01* +G01X1225911Y5675891D01* +G01X1226308Y5677482D01* +G01X1227581Y5683846D01* +G01X1228854Y5689573D01* +G01X1229490Y5693073D01* +G01X1230445Y5697845D01* +G01X1231399Y5701664D01* +G01X1232036Y5704845D01* +G01X1232672Y5707391D01* +G01X1233945Y5713755D01* +G01X1235217Y5719482D01* +G01X1235854Y5722664D01* +G01X1236808Y5726164D01* +G01X1238081Y5729027D01* +G01X1239354Y5731255D01* +G01X1240627Y5733164D01* +G01X1242217Y5735073D01* +G01X1244763Y5736982D01* +G01X1247945Y5738891D01* +G01X1250808Y5740164D01* +G01X1253354Y5740800D01* +G01X1255581Y5741118D01* +G01X1294717Y5741436D01* +G01X1335126Y5741118D01* +G01X1338945Y5740482D01* +G01X1342126Y5739527D01* +G01X1344354Y5738255D01* +G01X1345945Y5736982D01* +G01X1347536Y5735073D01* +G01X1348808Y5732527D01* +G01X1349445Y5728709D01* +G01X1349127Y5724573D01* +G01X1347217Y5715027D01* +G01X1346581Y5712482D01* +G01X1344036Y5699755D01* +G01X1342763Y5694027D01* +G01X1341490Y5687664D01* +G01X1340217Y5681936D01* +G01X1339581Y5678436D01* +G01X1338627Y5673664D01* +G01X1337672Y5669846D01* +G01X1336399Y5663482D01* +G01X1335763Y5660936D01* +G01X1335445Y5658709D01* +G01X1326854Y5657755D01* +G01X1275229Y5657118D01* +G01X1266399Y5656164D01* +G01X1265445Y5652664D01* +G01X1263854Y5646300D01* +G01X1263218Y5643118D01* +G01X1262899Y5640891D01* +G01X1297263Y5640891D01* +G01X1322956Y5640652D01* +G01X1331308Y5639936D01* +G01X1330672Y5637391D01* +G01X1330036Y5634209D01* +G01X1329399Y5631663D01* +G01X1328763Y5628164D01* +G01X1328445Y5625618D01* +G01X1280081Y5625618D01* +G37* +G36* +G01X1402899Y5625618D02* +G01X1362172Y5625936D01* +G01X1359945Y5626891D01* +G01X1357399Y5628164D01* +G01X1355490Y5629436D01* +G01X1353899Y5631027D01* +G01X1352627Y5632618D01* +G01X1351672Y5634527D01* +G01X1350718Y5637073D01* +G01X1350081Y5640573D01* +G01X1350399Y5643754D01* +G01X1350718Y5646300D01* +G01X1351354Y5650118D01* +G01X1352308Y5653300D01* +G01X1352945Y5656800D01* +G01X1353263Y5659345D01* +G01X1397808Y5659345D01* +G01X1396854Y5654573D01* +G01X1396218Y5652027D01* +G01X1394945Y5646300D01* +G01X1394308Y5643118D01* +G01X1393990Y5640891D01* +G01X1405445Y5640891D01* +G01X1417854Y5641527D01* +G01X1419127Y5644391D01* +G01X1420399Y5650755D01* +G01X1421354Y5655209D01* +G01X1422308Y5659027D01* +G01X1422945Y5662209D01* +G01X1423581Y5664755D01* +G01X1424854Y5671118D01* +G01X1425172Y5673664D01* +G01X1425172Y5675254D01* +G01X1403218Y5675254D01* +G01X1378399Y5675573D01* +G01X1373945Y5676209D01* +G01X1370763Y5677164D01* +G01X1368218Y5678436D01* +G01X1366309Y5679709D01* +G01X1364081Y5681936D01* +G01X1362172Y5685118D01* +G01X1361218Y5687664D01* +G01X1360899Y5690209D01* +G01X1361218Y5694664D01* +G01X1361854Y5698482D01* +G01X1362490Y5701982D01* +G01X1363445Y5706755D01* +G01X1364399Y5710573D01* +G01X1365672Y5716936D01* +G01X1366309Y5719482D01* +G01X1366945Y5722664D01* +G01X1367899Y5726164D01* +G01X1369172Y5729027D01* +G01X1370445Y5731255D01* +G01X1371399Y5732845D01* +G01X1373309Y5735073D01* +G01X1375854Y5736982D01* +G01X1377445Y5738255D01* +G01X1379354Y5739209D01* +G01X1381899Y5740164D01* +G01X1384445Y5740800D01* +G01X1386672Y5741118D01* +G01X1425809Y5741436D01* +G01X1466218Y5741118D01* +G01X1470036Y5740482D01* +G01X1473218Y5739527D01* +G01X1475445Y5738255D01* +G01X1477036Y5736982D01* +G01X1478627Y5735073D01* +G01X1479899Y5732527D01* +G01X1480536Y5728391D01* +G01X1480218Y5724573D01* +G01X1479581Y5721073D01* +G01X1478627Y5716300D01* +G01X1477672Y5712482D01* +G01X1476718Y5707709D01* +G01X1432172Y5707709D01* +G01X1432809Y5709618D01* +G01X1433763Y5713118D01* +G01X1434399Y5715664D01* +G01X1435672Y5721391D01* +G01X1435990Y5723936D01* +G01X1435990Y5725527D01* +G01X1424854Y5725527D01* +G01X1412763Y5725209D01* +G01X1411490Y5723300D01* +G01X1410854Y5720754D01* +G01X1408945Y5711209D01* +G01X1407990Y5706755D01* +G01X1407036Y5702936D01* +G01X1406399Y5699755D01* +G01X1405763Y5697209D01* +G01X1405127Y5693709D01* +G01X1404808Y5691164D01* +G01X1430581Y5691164D01* +G01X1459218Y5690845D01* +G01X1463354Y5689573D01* +G01X1465581Y5687982D01* +G01X1467808Y5685755D01* +G01X1469399Y5682573D01* +G01X1470036Y5680027D01* +G01X1470036Y5677482D01* +G01X1469399Y5673027D01* +G01X1468445Y5667936D01* +G01X1467490Y5664118D01* +G01X1465581Y5654573D01* +G01X1464945Y5652027D01* +G01X1464308Y5648527D01* +G01X1463354Y5644709D01* +G01X1460808Y5638982D01* +G01X1458263Y5635164D01* +G01X1456036Y5632618D01* +G01X1453490Y5630709D01* +G01X1451899Y5629436D01* +G01X1449672Y5628164D01* +G01X1446490Y5626891D01* +G01X1443945Y5625936D01* +G01X1402899Y5625618D01* +G37* +G36* +G01X1478627Y5625618D02* +G01X1478945Y5627209D01* +G01X1480218Y5633573D01* +G01X1480854Y5636118D01* +G01X1481490Y5639618D01* +G01X1482445Y5644391D01* +G01X1483400Y5648209D01* +G01X1484672Y5654573D01* +G01X1485309Y5657118D01* +G01X1486581Y5663482D01* +G01X1487854Y5669209D01* +G01X1488490Y5672709D01* +G01X1489445Y5677482D01* +G01X1490399Y5681300D01* +G01X1491672Y5687664D01* +G01X1492309Y5690209D01* +G01X1492945Y5693709D01* +G01X1493899Y5698482D01* +G01X1494854Y5702300D01* +G01X1496127Y5708664D01* +G01X1496763Y5711209D01* +G01X1498036Y5717573D01* +G01X1499309Y5723300D01* +G01X1500581Y5729664D01* +G01X1501854Y5735391D01* +G01X1502490Y5738891D01* +G01X1502808Y5741436D01* +G01X1547354Y5741436D01* +G01X1547036Y5739209D01* +G01X1546081Y5734754D01* +G01X1545127Y5730936D01* +G01X1543854Y5724573D01* +G01X1543218Y5722027D01* +G01X1541945Y5715664D01* +G01X1540672Y5709936D01* +G01X1540036Y5706436D01* +G01X1539081Y5701664D01* +G01X1538127Y5697845D01* +G01X1536854Y5691482D01* +G01X1536218Y5688936D01* +G01X1535581Y5685436D01* +G01X1534627Y5680664D01* +G01X1533672Y5676846D01* +G01X1532399Y5670482D01* +G01X1531763Y5667936D01* +G01X1530490Y5661573D01* +G01X1529218Y5655846D01* +G01X1527945Y5649482D01* +G01X1526672Y5643754D01* +G01X1525399Y5637391D01* +G01X1524127Y5631663D01* +G01X1523490Y5628164D01* +G01X1523172Y5625618D01* +G01X1478627Y5625618D01* +G37* +G36* +G01X1593172Y5596345D02* +G01X1557217Y5596664D01* +G01X1557854Y5598891D01* +G01X1560399Y5610346D01* +G01X1560718Y5612255D01* +G01X1582990Y5612255D01* +G01X1606218Y5612573D01* +G01X1607490Y5614482D01* +G01X1608127Y5617664D01* +G01X1608763Y5620209D01* +G01X1609400Y5623391D01* +G01X1609718Y5625618D01* +G01X1585218Y5625618D01* +G01X1558490Y5625936D01* +G01X1554672Y5626891D01* +G01X1552127Y5628164D01* +G01X1550218Y5629436D01* +G01X1548627Y5631027D01* +G01X1547354Y5632618D01* +G01X1546399Y5634527D01* +G01X1545445Y5637073D01* +G01X1544809Y5640573D01* +G01X1545074Y5643754D01* +G01X1589036Y5643754D01* +G01X1589036Y5641209D01* +G01X1600808Y5640891D01* +G01X1609559Y5641209D01* +G01X1612899Y5642164D01* +G01X1613854Y5644391D01* +G01X1614490Y5647891D01* +G01X1615445Y5652664D01* +G01X1616399Y5656482D01* +G01X1617672Y5662846D01* +G01X1618309Y5665391D01* +G01X1619581Y5671755D01* +G01X1620854Y5677482D01* +G01X1621490Y5680982D01* +G01X1622445Y5685755D01* +G01X1623399Y5689573D01* +G01X1624036Y5692755D01* +G01X1624672Y5695300D01* +G01X1625945Y5701664D01* +G01X1627218Y5707391D01* +G01X1628490Y5713755D01* +G01X1629763Y5719482D01* +G01X1630399Y5722982D01* +G01X1630718Y5725527D01* +G01X1606536Y5725527D01* +G01X1606218Y5723936D01* +G01X1605581Y5721391D01* +G01X1604309Y5715664D01* +G01X1603672Y5712164D01* +G01X1602718Y5707391D01* +G01X1601763Y5703573D01* +G01X1601127Y5700391D01* +G01X1600490Y5697845D01* +G01X1599218Y5691482D01* +G01X1597945Y5685755D01* +G01X1597309Y5682254D01* +G01X1596354Y5677482D01* +G01X1595400Y5673664D01* +G01X1594763Y5670482D01* +G01X1594127Y5667936D01* +G01X1593490Y5664436D01* +G01X1592536Y5659664D01* +G01X1591581Y5655846D01* +G01X1590309Y5649482D01* +G01X1589672Y5646936D01* +G01X1589036Y5643754D01* +G01X1589036Y5643754D01* +G01X1545074Y5643754D01* +G01X1545127Y5644391D01* +G01X1545763Y5648209D01* +G01X1546399Y5651391D01* +G01X1547672Y5657118D01* +G01X1548308Y5660618D01* +G01X1549263Y5665391D01* +G01X1550218Y5669209D01* +G01X1550854Y5672391D01* +G01X1551490Y5674936D01* +G01X1552127Y5678436D01* +G01X1553081Y5683209D01* +G01X1554036Y5687027D01* +G01X1555308Y5693391D01* +G01X1555945Y5695936D01* +G01X1557217Y5702300D01* +G01X1558490Y5708027D01* +G01X1560399Y5717573D01* +G01X1561354Y5722027D01* +G01X1562308Y5725209D01* +G01X1563263Y5728073D01* +G01X1565172Y5731573D01* +G01X1567081Y5734118D01* +G01X1568672Y5735709D01* +G01X1570263Y5736982D01* +G01X1572172Y5738255D01* +G01X1574718Y5739527D01* +G01X1577899Y5740482D01* +G01X1580763Y5741118D01* +G01X1629127Y5741436D01* +G01X1677490Y5741118D01* +G01X1678127Y5740641D01* +G01X1678127Y5739845D01* +G01X1676854Y5734118D01* +G01X1676218Y5730618D01* +G01X1675263Y5725845D01* +G01X1674308Y5722027D01* +G01X1673036Y5715664D01* +G01X1672399Y5713118D01* +G01X1671127Y5706755D01* +G01X1669854Y5701027D01* +G01X1668581Y5694664D01* +G01X1667308Y5688936D01* +G01X1666036Y5682573D01* +G01X1664763Y5676846D01* +G01X1664127Y5673345D01* +G01X1663172Y5668573D01* +G01X1662218Y5664755D01* +G01X1660945Y5658391D01* +G01X1660308Y5655846D01* +G01X1659036Y5649482D01* +G01X1657763Y5643754D01* +G01X1656490Y5637391D01* +G01X1655218Y5631663D01* +G01X1653945Y5625300D01* +G01X1652672Y5619573D01* +G01X1652036Y5617027D01* +G01X1651081Y5614164D01* +G01X1649809Y5611300D01* +G01X1648536Y5609073D01* +G01X1647263Y5607164D01* +G01X1645672Y5605255D01* +G01X1644081Y5603664D01* +G01X1641854Y5601754D01* +G01X1639627Y5600164D01* +G01X1637718Y5599209D01* +G01X1635490Y5598255D01* +G01X1632945Y5597300D01* +G01X1630399Y5596664D01* +G01X1593172Y5596345D01* +G37* +G36* +G01X1680990Y5625857D02* +G01X1675581Y5626573D01* +G01X1676536Y5629754D01* +G01X1677490Y5633573D01* +G01X1678127Y5636754D01* +G01X1678763Y5639300D01* +G01X1679399Y5642800D01* +G01X1680354Y5647573D01* +G01X1681309Y5651391D01* +G01X1682581Y5657755D01* +G01X1683218Y5660300D01* +G01X1683854Y5663800D01* +G01X1684809Y5668573D01* +G01X1685763Y5672391D01* +G01X1686399Y5675573D01* +G01X1687036Y5678118D01* +G01X1687672Y5681618D01* +G01X1688627Y5686391D01* +G01X1689581Y5690209D01* +G01X1690218Y5693391D01* +G01X1690854Y5695936D01* +G01X1691490Y5699436D01* +G01X1692445Y5704209D01* +G01X1693400Y5708027D01* +G01X1694036Y5711209D01* +G01X1694672Y5713755D01* +G01X1695309Y5717255D01* +G01X1696263Y5722027D01* +G01X1697218Y5725845D01* +G01X1697854Y5729027D01* +G01X1698491Y5731573D01* +G01X1699763Y5737936D01* +G01X1700081Y5740164D01* +G01X1711933Y5741118D01* +G01X1747490Y5741436D01* +G01X1795854Y5741118D01* +G01X1798400Y5740800D01* +G01X1801263Y5740164D01* +G01X1804127Y5738891D01* +G01X1806990Y5736664D01* +G01X1808581Y5734118D01* +G01X1809536Y5731891D01* +G01X1810172Y5728709D01* +G01X1809854Y5725845D01* +G01X1809536Y5723618D01* +G01X1808899Y5720118D01* +G01X1807945Y5716300D01* +G01X1806672Y5709936D01* +G01X1806036Y5707391D01* +G01X1804763Y5701027D01* +G01X1803491Y5695300D01* +G01X1802854Y5691800D01* +G01X1801899Y5687027D01* +G01X1800945Y5683209D01* +G01X1800309Y5680027D01* +G01X1799672Y5677482D01* +G01X1799036Y5673982D01* +G01X1798081Y5669209D01* +G01X1797127Y5665391D01* +G01X1795854Y5659027D01* +G01X1795218Y5656482D01* +G01X1794581Y5652982D01* +G01X1793627Y5648209D01* +G01X1792672Y5644391D01* +G01X1791399Y5638027D01* +G01X1790763Y5635482D01* +G01X1789490Y5629118D01* +G01X1789172Y5626891D01* +G01X1783604Y5625936D01* +G01X1766900Y5625618D01* +G01X1744627Y5625618D01* +G01X1744945Y5627209D01* +G01X1745581Y5629754D01* +G01X1746218Y5633255D01* +G01X1747172Y5638027D01* +G01X1748127Y5641845D01* +G01X1748763Y5645027D01* +G01X1749399Y5647573D01* +G01X1750036Y5651073D01* +G01X1750991Y5655846D01* +G01X1751945Y5659664D01* +G01X1752581Y5662846D01* +G01X1753218Y5665391D01* +G01X1753854Y5668891D01* +G01X1754809Y5673664D01* +G01X1755763Y5677482D01* +G01X1756399Y5680664D01* +G01X1757036Y5683209D01* +G01X1757672Y5686709D01* +G01X1758627Y5691482D01* +G01X1759581Y5695300D01* +G01X1760218Y5698482D01* +G01X1760854Y5701027D01* +G01X1761490Y5704527D01* +G01X1762445Y5709300D01* +G01X1764036Y5715664D01* +G01X1765309Y5722027D01* +G01X1765627Y5724255D01* +G01X1762684Y5725209D01* +G01X1753854Y5725527D01* +G01X1741763Y5724891D01* +G01X1740809Y5722027D01* +G01X1739854Y5718209D01* +G01X1739218Y5715027D01* +G01X1738581Y5712482D01* +G01X1737945Y5708982D01* +G01X1736990Y5704209D01* +G01X1736036Y5700391D01* +G01X1735400Y5697209D01* +G01X1734763Y5694664D01* +G01X1734127Y5691164D01* +G01X1733172Y5686391D01* +G01X1732218Y5682573D01* +G01X1731581Y5679391D01* +G01X1730945Y5676846D01* +G01X1730309Y5673345D01* +G01X1729354Y5668573D01* +G01X1728400Y5664755D01* +G01X1727763Y5661573D01* +G01X1727127Y5659027D01* +G01X1726490Y5655527D01* +G01X1725536Y5650755D01* +G01X1724581Y5646936D01* +G01X1723945Y5643754D01* +G01X1723309Y5641209D01* +G01X1722036Y5634845D01* +G01X1720763Y5629118D01* +G01X1720445Y5626891D01* +G01X1714797Y5625936D01* +G01X1697854Y5625618D01* +G01X1680990Y5625857D01* +G37* +G36* +G01X1868718Y5625618D02* +G01X1819718Y5625936D01* +G01X1817491Y5626891D01* +G01X1814945Y5628164D01* +G01X1813036Y5629436D01* +G01X1811445Y5631027D01* +G01X1810172Y5632618D01* +G01X1809218Y5634527D01* +G01X1808263Y5637073D01* +G01X1807627Y5639618D01* +G01X1807945Y5643754D01* +G01X1808581Y5647573D01* +G01X1809854Y5653936D01* +G01X1811127Y5659664D01* +G01X1811763Y5663164D01* +G01X1812718Y5667936D01* +G01X1813672Y5671755D01* +G01X1814309Y5674936D01* +G01X1814547Y5675891D01* +G01X1858854Y5675891D01* +G01X1858854Y5673664D01* +G01X1870627Y5673345D01* +G01X1879377Y5673584D01* +G01X1882718Y5674300D01* +G01X1883672Y5676846D01* +G01X1884309Y5680027D01* +G01X1884945Y5682573D01* +G01X1886854Y5692118D01* +G01X1887809Y5696573D01* +G01X1888763Y5700391D01* +G01X1889399Y5703573D01* +G01X1890036Y5706118D01* +G01X1890672Y5709618D01* +G01X1891627Y5714391D01* +G01X1893218Y5720754D01* +G01X1893536Y5723618D01* +G01X1893536Y5725527D01* +G01X1883036Y5725527D01* +G01X1870945Y5725209D01* +G01X1869672Y5724414D01* +G01X1869036Y5722664D01* +G01X1868081Y5718209D01* +G01X1867127Y5714391D01* +G01X1866490Y5711209D01* +G01X1865854Y5708664D01* +G01X1863945Y5699118D01* +G01X1862991Y5694664D01* +G01X1862036Y5690845D01* +G01X1861400Y5687664D01* +G01X1860763Y5685118D01* +G01X1859490Y5678755D01* +G01X1858854Y5675891D01* +G01X1858854Y5675891D01* +G01X1814547Y5675891D01* +G01X1814945Y5677482D01* +G01X1815581Y5680982D01* +G01X1816536Y5685755D01* +G01X1817491Y5689573D01* +G01X1818763Y5695936D01* +G01X1819400Y5698482D01* +G01X1820036Y5701982D01* +G01X1820990Y5706755D01* +G01X1821945Y5710573D01* +G01X1823218Y5716936D01* +G01X1823854Y5719482D01* +G01X1824491Y5722664D01* +G01X1825445Y5726164D01* +G01X1826718Y5729027D01* +G01X1827990Y5731255D01* +G01X1829263Y5733164D01* +G01X1830854Y5735073D01* +G01X1833400Y5736982D01* +G01X1836581Y5738891D01* +G01X1839445Y5740164D01* +G01X1841990Y5740800D01* +G01X1844218Y5741118D01* +G01X1883354Y5741436D01* +G01X1923763Y5741118D01* +G01X1927581Y5740482D01* +G01X1930763Y5739527D01* +G01X1932990Y5738255D01* +G01X1934581Y5736982D01* +G01X1936172Y5735073D01* +G01X1937445Y5732527D01* +G01X1938081Y5729027D01* +G01X1937763Y5724573D01* +G01X1935854Y5715027D01* +G01X1934581Y5709300D01* +G01X1933309Y5702936D01* +G01X1932036Y5697209D01* +G01X1930763Y5690845D01* +G01X1929491Y5685118D01* +G01X1928218Y5678755D01* +G01X1926945Y5673027D01* +G01X1925672Y5666664D01* +G01X1924400Y5660936D01* +G01X1924081Y5658709D01* +G01X1915491Y5657755D01* +G01X1863865Y5657118D01* +G01X1855036Y5656164D01* +G01X1854081Y5652664D01* +G01X1852490Y5646300D01* +G01X1851854Y5643118D01* +G01X1851536Y5640891D01* +G01X1885900Y5640891D01* +G01X1911593Y5640652D01* +G01X1919945Y5639936D01* +G01X1919309Y5637391D01* +G01X1918672Y5634209D01* +G01X1918036Y5631663D01* +G01X1917400Y5628164D01* +G01X1917081Y5625618D01* +G01X1868718Y5625618D01* +G37* +G36* +G01X2000445Y5625618D02* +G01X1951445Y5625936D01* +G01X1949218Y5626891D01* +G01X1946672Y5628164D01* +G01X1944763Y5629436D01* +G01X1943172Y5631027D01* +G01X1941899Y5632618D01* +G01X1940945Y5634527D01* +G01X1939990Y5637073D01* +G01X1939354Y5639618D01* +G01X1939623Y5643118D01* +G01X1983900Y5643118D01* +G01X1984218Y5641209D01* +G01X1995991Y5640891D01* +G01X2007445Y5640891D01* +G01X2008081Y5642800D01* +G01X2009036Y5646300D01* +G01X2010309Y5652664D01* +G01X2010945Y5655209D01* +G01X2012218Y5661573D01* +G01X2013491Y5667300D01* +G01X2014127Y5670800D01* +G01X2015081Y5675573D01* +G01X2016036Y5679391D01* +G01X2016672Y5682573D01* +G01X2017309Y5685118D01* +G01X2018581Y5691482D01* +G01X2019854Y5697209D01* +G01X2020491Y5700709D01* +G01X2021445Y5705482D01* +G01X2022400Y5709300D01* +G01X2023036Y5712482D01* +G01X2023672Y5715027D01* +G01X2024945Y5721391D01* +G01X2025263Y5723936D01* +G01X2025263Y5725527D01* +G01X2001081Y5725527D01* +G01X2000763Y5722982D01* +G01X1999809Y5718209D01* +G01X1998854Y5714391D01* +G01X1998218Y5711209D01* +G01X1997581Y5708664D01* +G01X1996945Y5705164D01* +G01X1995991Y5700391D01* +G01X1995036Y5696573D01* +G01X1993763Y5690209D01* +G01X1993127Y5687664D01* +G01X1991854Y5681300D01* +G01X1990581Y5675573D01* +G01X1989945Y5672073D01* +G01X1988991Y5667300D01* +G01X1988036Y5663482D01* +G01X1987400Y5660300D01* +G01X1986763Y5657755D01* +G01X1985490Y5651391D01* +G01X1984218Y5645664D01* +G01X1983900Y5643118D01* +G01X1983900Y5643118D01* +G01X1939623Y5643118D01* +G01X1939672Y5643754D01* +G01X1940309Y5648209D01* +G01X1940945Y5650755D01* +G01X1941581Y5654255D01* +G01X1942536Y5659027D01* +G01X1943491Y5662846D01* +G01X1944127Y5666027D01* +G01X1944763Y5668573D01* +G01X1945400Y5672073D01* +G01X1946354Y5676846D01* +G01X1947945Y5683209D01* +G01X1948581Y5686709D01* +G01X1949536Y5691482D01* +G01X1950491Y5695300D01* +G01X1951127Y5698482D01* +G01X1951763Y5701027D01* +G01X1952400Y5704527D01* +G01X1953354Y5709300D01* +G01X1954945Y5715664D01* +G01X1956218Y5722027D01* +G01X1956854Y5724573D01* +G01X1957809Y5727754D01* +G01X1959400Y5730618D01* +G01X1960672Y5732845D01* +G01X1961945Y5734118D01* +G01X1963536Y5735391D01* +G01X1965127Y5736982D01* +G01X1966718Y5738255D01* +G01X1968627Y5739209D01* +G01X1971172Y5740164D01* +G01X1973718Y5740800D01* +G01X1975945Y5741118D01* +G01X2002672Y5741436D01* +G01X2022161Y5741675D01* +G01X2029081Y5742391D01* +G01X2030036Y5745573D01* +G01X2030672Y5748754D01* +G01X2031945Y5754482D01* +G01X2033218Y5760846D01* +G01X2034491Y5766573D01* +G01X2034809Y5768800D01* +G01X2040377Y5769755D01* +G01X2057081Y5770073D01* +G01X2079354Y5770073D01* +G01X2079036Y5768164D01* +G01X2078082Y5764027D01* +G01X2077127Y5760209D01* +G01X2075854Y5753845D01* +G01X2075218Y5751300D01* +G01X2073945Y5744936D01* +G01X2072672Y5739209D01* +G01X2071400Y5732845D01* +G01X2070127Y5727118D01* +G01X2069491Y5723618D01* +G01X2068536Y5718845D01* +G01X2067581Y5715027D01* +G01X2066309Y5708664D01* +G01X2065672Y5706118D01* +G01X2064400Y5699755D01* +G01X2063127Y5694027D01* +G01X2062491Y5690527D01* +G01X2061536Y5685755D01* +G01X2060581Y5681936D01* +G01X2059309Y5675573D01* +G01X2058672Y5673027D01* +G01X2057400Y5666664D01* +G01X2056127Y5660936D01* +G01X2054854Y5654573D01* +G01X2053581Y5648845D01* +G01X2052945Y5645345D01* +G01X2051990Y5640573D01* +G01X2051036Y5636754D01* +G01X2050400Y5633573D01* +G01X2049763Y5631027D01* +G01X2049127Y5627845D01* +G01X2048809Y5625618D01* +G01X2000445Y5625618D01* +G37* +G36* +G01X2107354Y5625618D02* +G01X2107672Y5626891D01* +G01X2108309Y5629118D01* +G01X2108945Y5632618D01* +G01X2109900Y5637391D01* +G01X2110854Y5641209D01* +G01X2111172Y5642800D01* +G01X2155718Y5642800D01* +G01X2156036Y5641209D01* +G01X2167809Y5640891D01* +G01X2179263Y5640891D01* +G01X2179900Y5642482D01* +G01X2180854Y5645664D01* +G01X2181491Y5648845D01* +G01X2182127Y5651391D01* +G01X2183400Y5657755D01* +G01X2184672Y5663482D01* +G01X2185309Y5666982D01* +G01X2186263Y5671755D01* +G01X2187218Y5675573D01* +G01X2187854Y5678755D01* +G01X2188491Y5681300D01* +G01X2189127Y5684800D01* +G01X2190082Y5689573D01* +G01X2191036Y5693391D01* +G01X2192309Y5699755D01* +G01X2192945Y5702300D01* +G01X2194218Y5708664D01* +G01X2195491Y5714391D01* +G01X2196763Y5720754D01* +G01X2197400Y5723618D01* +G01X2197718Y5725527D01* +G01X2185627Y5725527D01* +G01X2176479Y5725289D01* +G01X2173218Y5724573D01* +G01X2172582Y5722664D01* +G01X2171945Y5719164D01* +G01X2170991Y5714391D01* +G01X2170036Y5710573D01* +G01X2169400Y5707391D01* +G01X2168763Y5704845D01* +G01X2167491Y5698482D01* +G01X2166218Y5692755D01* +G01X2165582Y5689254D01* +G01X2164627Y5684482D01* +G01X2163672Y5680664D01* +G01X2163036Y5677482D01* +G01X2162400Y5674936D01* +G01X2161127Y5668573D01* +G01X2159854Y5662846D01* +G01X2159218Y5659345D01* +G01X2158263Y5654573D01* +G01X2157309Y5650755D01* +G01X2156672Y5647573D01* +G01X2156036Y5645027D01* +G01X2155718Y5642800D01* +G01X2155718Y5642800D01* +G01X2111172Y5642800D01* +G01X2112127Y5647573D01* +G01X2112763Y5650118D01* +G01X2114036Y5656482D01* +G01X2115309Y5662209D01* +G01X2115945Y5665709D01* +G01X2116900Y5670482D01* +G01X2117854Y5674300D01* +G01X2119127Y5680664D01* +G01X2119763Y5683209D01* +G01X2121036Y5689573D01* +G01X2122309Y5695300D01* +G01X2122945Y5698800D01* +G01X2123900Y5703573D01* +G01X2124854Y5707391D01* +G01X2126127Y5713755D01* +G01X2126763Y5716300D01* +G01X2128036Y5722664D01* +G01X2129309Y5728391D01* +G01X2130582Y5734754D01* +G01X2131854Y5740482D01* +G01X2132491Y5743982D01* +G01X2133445Y5748754D01* +G01X2134400Y5752573D01* +G01X2135036Y5755755D01* +G01X2135672Y5758300D01* +G01X2137582Y5767846D01* +G01X2137900Y5770073D01* +G01X2159854Y5770073D01* +G01X2176400Y5769834D01* +G01X2182127Y5769118D01* +G01X2181809Y5765936D01* +G01X2180854Y5762118D01* +G01X2179581Y5755755D01* +G01X2178945Y5753209D01* +G01X2177036Y5743664D01* +G01X2176718Y5741436D01* +G01X2201854Y5741436D01* +G01X2227945Y5741118D01* +G01X2231127Y5740482D01* +G01X2234945Y5739527D01* +G01X2237172Y5737936D01* +G01X2238763Y5736346D01* +G01X2240354Y5734436D01* +G01X2241627Y5730936D01* +G01X2241945Y5727118D01* +G01X2241309Y5722664D01* +G01X2240354Y5717573D01* +G01X2239400Y5713755D01* +G01X2238763Y5710573D01* +G01X2238127Y5708027D01* +G01X2237491Y5704527D01* +G01X2236536Y5699755D01* +G01X2235582Y5695936D01* +G01X2234309Y5689573D01* +G01X2233672Y5687027D01* +G01X2233036Y5683527D01* +G01X2232082Y5678755D01* +G01X2231127Y5674936D01* +G01X2229854Y5668573D01* +G01X2229218Y5666027D01* +G01X2227945Y5659664D01* +G01X2226672Y5653936D01* +G01X2226036Y5650755D01* +G01X2225082Y5646618D01* +G01X2223809Y5642800D01* +G01X2222218Y5639300D01* +G01X2219036Y5634845D01* +G01X2217127Y5632618D01* +G01X2215536Y5631345D01* +G01X2213309Y5629754D01* +G01X2210763Y5628164D01* +G01X2207900Y5626891D01* +G01X2205036Y5625936D01* +G01X2155718Y5625618D01* +G01X2107354Y5625618D01* +G37* +G36* +G01X2264138Y5596584D02* +G01X2255309Y5597300D01* +G01X2255945Y5599209D01* +G01X2256582Y5602391D01* +G01X2257536Y5606845D01* +G01X2258491Y5610664D01* +G01X2258809Y5612255D01* +G01X2281400Y5612255D01* +G01X2304627Y5612891D01* +G01X2305581Y5614482D01* +G01X2306854Y5620845D01* +G01X2307173Y5623709D01* +G01X2307173Y5625618D01* +G01X2282991Y5625618D01* +G01X2256582Y5625936D01* +G01X2252763Y5626891D01* +G01X2250218Y5628164D01* +G01X2248309Y5629436D01* +G01X2246081Y5631663D01* +G01X2244172Y5634527D01* +G01X2243218Y5636754D01* +G01X2242900Y5641527D01* +G01X2243218Y5646300D01* +G01X2243854Y5649800D01* +G01X2244809Y5654573D01* +G01X2245763Y5658391D01* +G01X2246400Y5661573D01* +G01X2247036Y5664118D01* +G01X2247673Y5667618D01* +G01X2248627Y5672391D01* +G01X2249582Y5676209D01* +G01X2250218Y5679391D01* +G01X2250854Y5681936D01* +G01X2251491Y5685436D01* +G01X2252445Y5690209D01* +G01X2253400Y5694027D01* +G01X2254036Y5697209D01* +G01X2254673Y5699755D01* +G01X2255309Y5703255D01* +G01X2256263Y5708027D01* +G01X2257218Y5711845D01* +G01X2257854Y5715027D01* +G01X2258491Y5717573D01* +G01X2259127Y5721073D01* +G01X2260081Y5725845D01* +G01X2261036Y5729664D01* +G01X2261673Y5732845D01* +G01X2262309Y5735391D01* +G01X2262945Y5738891D01* +G01X2263263Y5741436D01* +G01X2285218Y5741436D01* +G01X2307491Y5740800D01* +G01X2307173Y5737936D01* +G01X2306218Y5734118D01* +G01X2304945Y5727754D01* +G01X2304309Y5725209D01* +G01X2303672Y5721709D01* +G01X2302718Y5716936D01* +G01X2301763Y5713118D01* +G01X2300491Y5706755D01* +G01X2299854Y5704209D01* +G01X2299218Y5700709D01* +G01X2298263Y5695936D01* +G01X2297309Y5692118D01* +G01X2296036Y5685755D01* +G01X2295400Y5683209D01* +G01X2294127Y5676846D01* +G01X2292854Y5671118D01* +G01X2292218Y5667618D01* +G01X2291263Y5662846D01* +G01X2290309Y5659027D01* +G01X2289672Y5655846D01* +G01X2289036Y5653300D01* +G01X2287763Y5646936D01* +G01X2287127Y5643436D01* +G01X2286809Y5640891D01* +G01X2310991Y5640891D01* +G01X2311309Y5642482D01* +G01X2311945Y5645027D01* +G01X2313218Y5650755D01* +G01X2313854Y5654255D01* +G01X2314809Y5659027D01* +G01X2315763Y5662846D01* +G01X2317036Y5669209D01* +G01X2317672Y5671755D01* +G01X2318309Y5675254D01* +G01X2319263Y5680027D01* +G01X2320218Y5683846D01* +G01X2321491Y5690209D01* +G01X2322127Y5692755D01* +G01X2322763Y5696254D01* +G01X2323718Y5701027D01* +G01X2324672Y5704845D01* +G01X2325945Y5711209D01* +G01X2326581Y5713755D01* +G01X2327854Y5720118D01* +G01X2329127Y5725845D01* +G01X2330400Y5732209D01* +G01X2331672Y5737936D01* +G01X2331991Y5740164D01* +G01X2337559Y5741118D01* +G01X2354263Y5741436D01* +G01X2370888Y5741198D01* +G01X2376218Y5740482D01* +G01X2374945Y5734118D01* +G01X2373673Y5728391D01* +G01X2372400Y5722027D01* +G01X2371127Y5716300D01* +G01X2369854Y5709936D01* +G01X2368582Y5704209D01* +G01X2367945Y5700709D01* +G01X2366991Y5695936D01* +G01X2366036Y5692118D01* +G01X2364763Y5685755D01* +G01X2364127Y5683209D01* +G01X2362854Y5676846D01* +G01X2361582Y5671118D01* +G01X2360309Y5664755D01* +G01X2359036Y5659027D01* +G01X2357764Y5652664D01* +G01X2356491Y5646936D01* +G01X2355218Y5640573D01* +G01X2353945Y5634845D01* +G01X2353309Y5631345D01* +G01X2352354Y5626573D01* +G01X2351400Y5622754D01* +G01X2350763Y5619573D01* +G01X2349809Y5616073D01* +G01X2348536Y5612573D01* +G01X2347263Y5610027D01* +G01X2345991Y5608118D01* +G01X2343445Y5604936D01* +G01X2341218Y5602709D01* +G01X2338036Y5600482D01* +G01X2335172Y5598891D01* +G01X2331672Y5597618D01* +G01X2328491Y5596664D01* +G01X2291263Y5596345D01* +G01X2264138Y5596584D01* +G37* +G36* +G01X2410900Y5625618D02* +G01X2411536Y5627845D01* +G01X2412491Y5631663D01* +G01X2413763Y5638027D01* +G01X2414400Y5640573D01* +G01X2415672Y5646936D01* +G01X2416945Y5652664D01* +G01X2418218Y5659027D01* +G01X2419491Y5664755D01* +G01X2420127Y5668254D01* +G01X2421082Y5673027D01* +G01X2422036Y5676846D01* +G01X2423309Y5683209D01* +G01X2423945Y5685755D01* +G01X2425091Y5691482D01* +G01X2472945Y5691482D01* +G01X2472945Y5688936D01* +G01X2487263Y5688618D01* +G01X2502218Y5688936D01* +G01X2503491Y5690845D01* +G01X2504127Y5693391D01* +G01X2505400Y5699755D01* +G01X2506673Y5705482D01* +G01X2507309Y5708982D01* +G01X2508263Y5713755D01* +G01X2509218Y5717573D01* +G01X2509854Y5720754D01* +G01X2510491Y5723300D01* +G01X2511763Y5729664D01* +G01X2513036Y5735391D01* +G01X2514309Y5741754D01* +G01X2515582Y5747482D01* +G01X2515900Y5750345D01* +G01X2515900Y5752255D01* +G01X2501263Y5752255D01* +G01X2490127Y5752016D01* +G01X2485991Y5751300D01* +G01X2485036Y5748436D01* +G01X2484400Y5745573D01* +G01X2483764Y5742073D01* +G01X2482809Y5737300D01* +G01X2481854Y5733482D01* +G01X2480582Y5727118D01* +G01X2479945Y5724573D01* +G01X2478673Y5718209D01* +G01X2477400Y5712482D01* +G01X2476764Y5708982D01* +G01X2475809Y5704209D01* +G01X2474854Y5700391D01* +G01X2474218Y5697209D01* +G01X2473582Y5694664D01* +G01X2472945Y5691482D01* +G01X2472945Y5691482D01* +G01X2425091Y5691482D01* +G01X2425218Y5692118D01* +G01X2426491Y5697845D01* +G01X2427127Y5701345D01* +G01X2428082Y5706118D01* +G01X2429036Y5709936D01* +G01X2430309Y5716300D01* +G01X2430945Y5718845D01* +G01X2431582Y5722346D01* +G01X2432536Y5727118D01* +G01X2433491Y5730936D01* +G01X2434763Y5737300D01* +G01X2435400Y5739845D01* +G01X2436672Y5746209D01* +G01X2437309Y5749073D01* +G01X2438263Y5751936D01* +G01X2440809Y5757027D01* +G01X2442082Y5758936D01* +G01X2444627Y5762118D01* +G01X2446218Y5763709D01* +G01X2448763Y5765618D01* +G01X2451945Y5767527D01* +G01X2455445Y5768800D01* +G01X2458309Y5769755D01* +G01X2504445Y5770073D01* +G01X2551536Y5769436D01* +G01X2555036Y5768164D01* +G01X2558218Y5766573D01* +G01X2560445Y5764664D01* +G01X2561718Y5762755D01* +G01X2562673Y5760846D01* +G01X2563627Y5758618D01* +G01X2564263Y5755436D01* +G01X2563945Y5751300D01* +G01X2563309Y5747482D01* +G01X2562036Y5741118D01* +G01X2561400Y5738573D01* +G01X2560127Y5732209D01* +G01X2558854Y5726482D01* +G01X2558218Y5722982D01* +G01X2557263Y5718209D01* +G01X2556309Y5714391D01* +G01X2555036Y5708027D01* +G01X2554400Y5705482D01* +G01X2553127Y5699118D01* +G01X2551854Y5693391D01* +G01X2550582Y5687027D01* +G01X2549309Y5681300D01* +G01X2548672Y5677800D01* +G01X2547718Y5673027D01* +G01X2546763Y5669209D01* +G01X2545491Y5662846D01* +G01X2544854Y5660300D01* +G01X2543582Y5653936D01* +G01X2542309Y5648209D01* +G01X2541036Y5641845D01* +G01X2539763Y5636118D01* +G01X2539127Y5632618D01* +G01X2538173Y5627845D01* +G01X2537536Y5625618D01* +G01X2513673Y5625618D01* +G01X2489809Y5625936D01* +G01X2490127Y5627209D01* +G01X2490764Y5630709D01* +G01X2491718Y5635482D01* +G01X2492673Y5639300D01* +G01X2493945Y5645664D01* +G01X2494582Y5648209D01* +G01X2495218Y5651709D01* +G01X2496172Y5656482D01* +G01X2497127Y5660300D01* +G01X2497763Y5663482D01* +G01X2498400Y5666027D01* +G01X2498718Y5668891D01* +G01X2498718Y5670800D01* +G01X2484718Y5670800D01* +G01X2469764Y5670482D01* +G01X2468889Y5669686D01* +G01X2468172Y5667936D01* +G01X2467218Y5664118D01* +G01X2466582Y5660936D01* +G01X2465945Y5658391D01* +G01X2465309Y5654891D01* +G01X2464354Y5650118D01* +G01X2463400Y5646300D01* +G01X2462127Y5639936D01* +G01X2461491Y5637391D01* +G01X2459582Y5627845D01* +G01X2459263Y5625618D01* +G01X2410900Y5625618D01* +G37* +G36* +G01X2561638Y5625857D02* +G01X2556309Y5626573D01* +G01X2556945Y5630073D01* +G01X2557900Y5634845D01* +G01X2558854Y5638664D01* +G01X2560127Y5645027D01* +G01X2560763Y5647573D01* +G01X2562036Y5653936D01* +G01X2563309Y5659664D01* +G01X2563945Y5663164D01* +G01X2564900Y5667936D01* +G01X2565854Y5671755D01* +G01X2567127Y5678118D01* +G01X2567764Y5680664D01* +G01X2569036Y5687027D01* +G01X2570309Y5692755D01* +G01X2570945Y5696254D01* +G01X2571900Y5701027D01* +G01X2572854Y5704845D01* +G01X2574127Y5711209D01* +G01X2574764Y5713755D01* +G01X2576036Y5720118D01* +G01X2577309Y5725845D01* +G01X2577945Y5729346D01* +G01X2578900Y5734118D01* +G01X2579855Y5737936D01* +G01X2581127Y5744300D01* +G01X2581764Y5746845D01* +G01X2583036Y5753209D01* +G01X2584309Y5758936D01* +G01X2585582Y5765300D01* +G01X2586218Y5768164D01* +G01X2586536Y5770073D01* +G01X2608809Y5770073D01* +G01X2625434Y5769834D01* +G01X2630763Y5769118D01* +G01X2629491Y5763391D01* +G01X2628854Y5759891D01* +G01X2627900Y5755118D01* +G01X2626945Y5751300D01* +G01X2625673Y5744936D01* +G01X2625036Y5742391D01* +G01X2623763Y5736027D01* +G01X2622491Y5730300D01* +G01X2621854Y5726800D01* +G01X2620900Y5722027D01* +G01X2619945Y5718209D01* +G01X2618673Y5711845D01* +G01X2618036Y5709300D01* +G01X2616764Y5702936D01* +G01X2615491Y5697209D01* +G01X2614854Y5693709D01* +G01X2613900Y5688936D01* +G01X2612945Y5685118D01* +G01X2611673Y5678755D01* +G01X2611036Y5676209D01* +G01X2609764Y5669846D01* +G01X2608491Y5664118D01* +G01X2607854Y5660618D01* +G01X2606900Y5655846D01* +G01X2605945Y5652027D01* +G01X2604673Y5645664D01* +G01X2604036Y5643118D01* +G01X2602764Y5636754D01* +G01X2601491Y5631027D01* +G01X2600854Y5627845D01* +G01X2600536Y5625618D01* +G01X2578263Y5625618D01* +G01X2561638Y5625857D01* +G37* +G36* +G01X2683263Y5625618D02* +G01X2634264Y5625936D01* +G01X2632036Y5626891D01* +G01X2629491Y5628164D01* +G01X2627582Y5629436D01* +G01X2625991Y5631027D01* +G01X2624718Y5632618D01* +G01X2623445Y5635164D01* +G01X2622491Y5638027D01* +G01X2622173Y5640255D01* +G01X2622491Y5643754D01* +G01X2623127Y5647573D01* +G01X2623763Y5650755D01* +G01X2624400Y5653300D01* +G01X2625036Y5656800D01* +G01X2625991Y5661573D01* +G01X2626945Y5665391D01* +G01X2628218Y5671755D01* +G01X2628854Y5674300D01* +G01X2629109Y5675573D01* +G01X2673400Y5675573D01* +G01X2673400Y5673664D01* +G01X2685173Y5673345D01* +G01X2693923Y5673584D01* +G01X2697263Y5674300D01* +G01X2698218Y5676846D01* +G01X2698855Y5679391D01* +G01X2700764Y5688936D01* +G01X2701718Y5693391D01* +G01X2702673Y5697209D01* +G01X2703309Y5700391D01* +G01X2703945Y5702936D01* +G01X2704582Y5706436D01* +G01X2705536Y5711209D01* +G01X2706491Y5715027D01* +G01X2707127Y5718209D01* +G01X2707764Y5720754D01* +G01X2708082Y5723618D01* +G01X2708082Y5725527D01* +G01X2696309Y5725527D01* +G01X2687400Y5725289D01* +G01X2684218Y5724573D01* +G01X2683582Y5722664D01* +G01X2682945Y5719482D01* +G01X2681991Y5715027D01* +G01X2681036Y5711209D01* +G01X2680400Y5708027D01* +G01X2679764Y5705482D01* +G01X2679127Y5701982D01* +G01X2678173Y5697209D01* +G01X2676582Y5690845D01* +G01X2675945Y5687345D01* +G01X2674991Y5682573D01* +G01X2674036Y5678755D01* +G01X2673400Y5675573D01* +G01X2673400Y5675573D01* +G01X2629109Y5675573D01* +G01X2630127Y5680664D01* +G01X2631400Y5686391D01* +G01X2632036Y5689891D01* +G01X2632991Y5694664D01* +G01X2633945Y5698482D01* +G01X2634582Y5701664D01* +G01X2635218Y5704209D01* +G01X2636491Y5710573D01* +G01X2637763Y5716300D01* +G01X2638400Y5719482D01* +G01X2639355Y5723936D01* +G01X2640627Y5727754D01* +G01X2641900Y5730300D01* +G01X2643173Y5732209D01* +G01X2645082Y5734436D01* +G01X2647945Y5736982D01* +G01X2650491Y5738573D01* +G01X2652400Y5739527D01* +G01X2655582Y5740482D01* +G01X2658763Y5741118D01* +G01X2698536Y5741436D01* +G01X2738309Y5741118D01* +G01X2740536Y5740800D01* +G01X2743718Y5740164D01* +G01X2746582Y5738891D01* +G01X2748491Y5737618D01* +G01X2750082Y5736027D01* +G01X2751673Y5733482D01* +G01X2752627Y5729664D01* +G01X2752309Y5724573D01* +G01X2751673Y5720754D01* +G01X2750400Y5715027D01* +G01X2749127Y5708664D01* +G01X2747854Y5702936D01* +G01X2746582Y5696573D01* +G01X2745309Y5690845D01* +G01X2744673Y5687345D01* +G01X2743718Y5682573D01* +G01X2742764Y5678755D01* +G01X2741491Y5672391D01* +G01X2740854Y5669846D01* +G01X2739582Y5663482D01* +G01X2738945Y5659982D01* +G01X2738627Y5657436D01* +G01X2704900Y5657436D01* +G01X2670218Y5656800D01* +G01X2668945Y5654255D01* +G01X2666400Y5642800D01* +G01X2666082Y5640891D01* +G01X2734809Y5640891D01* +G01X2734491Y5639618D01* +G01X2733854Y5637391D01* +G01X2731945Y5627845D01* +G01X2731627Y5625618D01* +G01X2683263Y5625618D01* +G37* +G36* +G01X2752866Y5625857D02* +G01X2751036Y5626573D01* +G01X2752945Y5628164D01* +G01X2755491Y5631345D01* +G01X2761854Y5637709D01* +G01X2764400Y5640891D01* +G01X2770763Y5647255D01* +G01X2773945Y5651073D01* +G01X2780309Y5657436D01* +G01X2783491Y5661254D01* +G01X2788900Y5666664D01* +G01X2790809Y5669209D01* +G01X2795582Y5673982D01* +G01X2796139Y5674936D01* +G01X2795900Y5676527D01* +G01X2791127Y5690845D01* +G01X2790491Y5693391D01* +G01X2781900Y5719164D01* +G01X2779991Y5725527D01* +G01X2775218Y5739845D01* +G01X2774900Y5741436D01* +G01X2796536Y5741436D01* +G01X2819127Y5740800D01* +G01X2820400Y5738573D01* +G01X2821354Y5735073D01* +G01X2830264Y5708346D01* +G01X2830900Y5706993D01* +G01X2831536Y5706755D01* +G01X2833127Y5707709D01* +G01X2837900Y5712482D01* +G01X2840445Y5715664D01* +G01X2845218Y5720436D01* +G01X2849036Y5724891D01* +G01X2853809Y5729664D01* +G01X2856355Y5732845D01* +G01X2861127Y5737618D01* +G01X2863036Y5739845D01* +G01X2863991Y5741436D01* +G01X2873854Y5741436D01* +G01X2883718Y5740800D01* +G01X2882764Y5739527D01* +G01X2880218Y5736346D01* +G01X2873854Y5729982D01* +G01X2871309Y5726800D01* +G01X2864945Y5720436D01* +G01X2862400Y5717255D01* +G01X2854446Y5709300D01* +G01X2851900Y5706118D01* +G01X2845536Y5699755D01* +G01X2842991Y5696573D01* +G01X2838218Y5691800D01* +G01X2836945Y5690209D01* +G01X2836945Y5688300D01* +G01X2837582Y5685755D01* +G01X2846173Y5659982D01* +G01X2848082Y5653618D01* +G01X2855718Y5630709D01* +G01X2856673Y5627527D01* +G01X2856991Y5625618D01* +G01X2812445Y5625618D01* +G01X2812127Y5627209D01* +G01X2810218Y5632936D01* +G01X2809263Y5636436D01* +G01X2803218Y5654573D01* +G01X2802582Y5657118D01* +G01X2802184Y5658232D01* +G01X2801627Y5658391D01* +G01X2800036Y5657436D01* +G01X2796855Y5653618D01* +G01X2790491Y5647255D01* +G01X2787945Y5644073D01* +G01X2779991Y5636118D01* +G01X2777445Y5632936D01* +G01X2771082Y5626573D01* +G01X2768059Y5625857D01* +G01X2760264Y5625618D01* +G01X2752866Y5625857D01* +G37* +G36* +G01X2936855Y5625618D02* +G01X2887854Y5625936D01* +G01X2883400Y5628164D01* +G01X2881173Y5629754D01* +G01X2879582Y5631345D01* +G01X2877991Y5633255D01* +G01X2876718Y5635800D01* +G01X2876082Y5641209D01* +G01X2876201Y5643118D01* +G01X2919673Y5643118D01* +G01X2919673Y5641209D01* +G01X2931764Y5640891D01* +G01X2943536Y5640891D01* +G01X2944173Y5643118D01* +G01X2945127Y5646936D01* +G01X2945764Y5650118D01* +G01X2946400Y5652664D01* +G01X2948309Y5662209D01* +G01X2949264Y5666664D01* +G01X2950218Y5670482D01* +G01X2950855Y5673664D01* +G01X2951491Y5676209D01* +G01X2952764Y5682573D01* +G01X2954036Y5688300D01* +G01X2954355Y5691164D01* +G01X2954355Y5693073D01* +G01X2942582Y5693073D01* +G01X2933673Y5692755D01* +G01X2930491Y5691800D01* +G01X2929536Y5688300D01* +G01X2928582Y5684482D01* +G01X2927946Y5681300D01* +G01X2927309Y5678755D01* +G01X2926673Y5675254D01* +G01X2925718Y5670482D01* +G01X2924127Y5664118D01* +G01X2922218Y5654573D01* +G01X2921264Y5650118D01* +G01X2920309Y5646300D01* +G01X2919673Y5643118D01* +G01X2919673Y5643118D01* +G01X2876201Y5643118D01* +G01X2876400Y5646300D01* +G01X2878945Y5659027D01* +G01X2880218Y5664755D01* +G01X2881491Y5671118D01* +G01X2882764Y5676846D01* +G01X2884673Y5686391D01* +G01X2885627Y5690845D01* +G01X2886582Y5694027D01* +G01X2887536Y5696573D01* +G01X2888809Y5698800D01* +G01X2890082Y5700709D01* +G01X2892309Y5703255D01* +G01X2894536Y5705164D01* +G01X2896127Y5706118D01* +G01X2898036Y5707073D01* +G01X2900264Y5708027D01* +G01X2902491Y5708664D01* +G01X2930809Y5708982D01* +G01X2958173Y5708982D01* +G01X2958491Y5710573D01* +G01X2961036Y5720754D01* +G01X2961355Y5723618D01* +G01X2961355Y5725527D01* +G01X2915536Y5725527D01* +G01X2915855Y5728073D01* +G01X2916809Y5732845D01* +G01X2917764Y5736664D01* +G01X2918718Y5741436D01* +G01X2954036Y5741436D01* +G01X2991582Y5741118D01* +G01X2995400Y5740482D01* +G01X2998582Y5739527D01* +G01X3000809Y5738255D01* +G01X3002400Y5736982D01* +G01X3003991Y5735073D01* +G01X3005264Y5732527D01* +G01X3005900Y5728709D01* +G01X3005582Y5724573D01* +G01X3003036Y5711845D01* +G01X3002400Y5709300D01* +G01X3000491Y5699755D01* +G01X2999536Y5695300D01* +G01X2998582Y5691482D01* +G01X2996673Y5681936D01* +G01X2996036Y5679391D01* +G01X2994764Y5673027D01* +G01X2993491Y5667300D01* +G01X2992854Y5663800D01* +G01X2991900Y5659027D01* +G01X2990945Y5655209D01* +G01X2990309Y5652027D01* +G01X2989673Y5649482D01* +G01X2988400Y5643118D01* +G01X2987127Y5637391D01* +G01X2985218Y5627845D01* +G01X2984900Y5625618D01* +G01X2936855Y5625618D01* +G37* +G36* +G01X3028809Y5625618D02* +G01X3006536Y5626255D01* +G01X3007173Y5629118D01* +G01X3008127Y5632936D01* +G01X3008764Y5636118D01* +G01X3009400Y5638664D01* +G01X3010036Y5642164D01* +G01X3010991Y5646936D01* +G01X3011946Y5650755D01* +G01X3013218Y5657118D01* +G01X3013855Y5659664D01* +G01X3014491Y5663164D01* +G01X3015445Y5667936D01* +G01X3016400Y5671755D01* +G01X3017037Y5674936D01* +G01X3017673Y5677482D01* +G01X3018309Y5680982D01* +G01X3019264Y5685755D01* +G01X3020218Y5689573D01* +G01X3020855Y5692755D01* +G01X3021491Y5695300D01* +G01X3022127Y5698800D01* +G01X3023082Y5703573D01* +G01X3024037Y5707391D01* +G01X3024673Y5710573D01* +G01X3025309Y5713118D01* +G01X3026582Y5719482D01* +G01X3027855Y5725209D01* +G01X3029764Y5734754D01* +G01X3030718Y5739209D01* +G01X3031354Y5741436D01* +G01X3077809Y5741436D01* +G01X3126491Y5741118D01* +G01X3130309Y5740482D01* +G01X3133491Y5739527D01* +G01X3135718Y5738255D01* +G01X3137309Y5736982D01* +G01X3138900Y5735073D01* +G01X3140173Y5732527D01* +G01X3140809Y5729027D01* +G01X3140491Y5724573D01* +G01X3139855Y5721391D01* +G01X3138582Y5715664D01* +G01X3137946Y5712164D01* +G01X3136991Y5707391D01* +G01X3136037Y5703573D01* +G01X3135400Y5700391D01* +G01X3134764Y5697845D01* +G01X3134127Y5694345D01* +G01X3133173Y5689573D01* +G01X3132218Y5685755D01* +G01X3130946Y5679391D01* +G01X3130309Y5676846D01* +G01X3129673Y5673345D01* +G01X3128718Y5668573D01* +G01X3127764Y5664755D01* +G01X3126491Y5658391D01* +G01X3125855Y5655846D01* +G01X3125218Y5652345D01* +G01X3124264Y5647573D01* +G01X3123309Y5643754D01* +G01X3122673Y5640573D01* +G01X3122037Y5638027D01* +G01X3120764Y5631663D01* +G01X3120127Y5628164D01* +G01X3119809Y5625618D01* +G01X3098491Y5625618D01* +G01X3076218Y5625936D01* +G01X3075661Y5626732D01* +G01X3075900Y5628482D01* +G01X3076855Y5632300D01* +G01X3077491Y5635482D01* +G01X3078127Y5638027D01* +G01X3078764Y5641527D01* +G01X3079718Y5646300D01* +G01X3080673Y5650118D01* +G01X3081309Y5653300D01* +G01X3081945Y5655846D01* +G01X3082582Y5659345D01* +G01X3083537Y5664118D01* +G01X3084491Y5667936D01* +G01X3085127Y5671118D01* +G01X3085764Y5673664D01* +G01X3086400Y5677164D01* +G01X3087355Y5681936D01* +G01X3088309Y5685755D01* +G01X3088945Y5688936D01* +G01X3089582Y5691482D01* +G01X3090218Y5694982D01* +G01X3091173Y5699755D01* +G01X3092127Y5703573D01* +G01X3092764Y5706755D01* +G01X3093400Y5709300D01* +G01X3094673Y5715664D01* +G01X3095945Y5721391D01* +G01X3096264Y5723936D01* +G01X3096264Y5725527D01* +G01X3085127Y5725527D01* +G01X3073036Y5725209D01* +G01X3071764Y5723300D01* +G01X3071127Y5720754D01* +G01X3070491Y5717255D01* +G01X3069537Y5712482D01* +G01X3068582Y5708664D01* +G01X3067945Y5705482D01* +G01X3067309Y5702936D01* +G01X3066673Y5699436D01* +G01X3065718Y5694664D01* +G01X3064764Y5690845D01* +G01X3064127Y5687664D01* +G01X3063491Y5685118D01* +G01X3062855Y5681618D01* +G01X3061900Y5676846D01* +G01X3060945Y5673027D01* +G01X3060309Y5669846D01* +G01X3059673Y5667300D01* +G01X3059036Y5663800D01* +G01X3058082Y5659027D01* +G01X3057127Y5655209D01* +G01X3056491Y5652027D01* +G01X3055855Y5649482D01* +G01X3055218Y5645982D01* +G01X3054264Y5641209D01* +G01X3053309Y5637391D01* +G01X3052673Y5634209D01* +G01X3052036Y5631663D01* +G01X3051400Y5628164D01* +G01X3051082Y5625618D01* +G01X3028809Y5625618D01* +G37* +G36* +G01X3199991Y5625618D02* +G01X3150991Y5625936D01* +G01X3148764Y5626891D01* +G01X3146218Y5628164D01* +G01X3144309Y5629436D01* +G01X3142082Y5631663D01* +G01X3140491Y5634209D01* +G01X3139536Y5636436D01* +G01X3138900Y5640891D01* +G01X3139091Y5643754D01* +G01X3183127Y5643754D01* +G01X3183127Y5641209D01* +G01X3194900Y5640891D01* +G01X3203650Y5641130D01* +G01X3206991Y5641845D01* +G01X3207945Y5644391D01* +G01X3209218Y5650755D01* +G01X3209855Y5653300D01* +G01X3211127Y5659664D01* +G01X3212400Y5665391D01* +G01X3213036Y5668891D01* +G01X3213991Y5673664D01* +G01X3214945Y5677482D01* +G01X3215582Y5680664D01* +G01X3216218Y5683209D01* +G01X3217491Y5689573D01* +G01X3218764Y5695300D01* +G01X3219400Y5698800D01* +G01X3220355Y5703573D01* +G01X3221309Y5707391D01* +G01X3221946Y5710573D01* +G01X3222582Y5713118D01* +G01X3223855Y5719482D01* +G01X3224491Y5722982D01* +G01X3224809Y5725527D01* +G01X3213036Y5725527D01* +G01X3204048Y5725289D01* +G01X3200627Y5724573D01* +G01X3199673Y5721073D01* +G01X3198718Y5716300D01* +G01X3197764Y5712482D01* +G01X3197127Y5709300D01* +G01X3196491Y5706755D01* +G01X3195218Y5700391D01* +G01X3193945Y5694664D01* +G01X3193309Y5691164D01* +G01X3192355Y5686391D01* +G01X3191400Y5682573D01* +G01X3190764Y5679391D01* +G01X3190127Y5676846D01* +G01X3188855Y5670482D01* +G01X3187582Y5664755D01* +G01X3186945Y5661254D01* +G01X3185991Y5656482D01* +G01X3185036Y5652664D01* +G01X3184400Y5649482D01* +G01X3183764Y5646936D01* +G01X3183127Y5643754D01* +G01X3183127Y5643754D01* +G01X3139091Y5643754D01* +G01X3139218Y5645664D01* +G01X3141127Y5655209D01* +G01X3141764Y5657755D01* +G01X3142400Y5661254D01* +G01X3143355Y5666027D01* +G01X3144309Y5669846D01* +G01X3144946Y5673027D01* +G01X3145582Y5675573D01* +G01X3146218Y5679073D01* +G01X3147173Y5683846D01* +G01X3148764Y5690209D01* +G01X3149400Y5693709D01* +G01X3150355Y5698482D01* +G01X3151309Y5702300D01* +G01X3151946Y5705482D01* +G01X3152582Y5708027D01* +G01X3153855Y5714391D01* +G01X3155127Y5720118D01* +G01X3155764Y5723300D01* +G01X3156718Y5726482D01* +G01X3157673Y5728709D01* +G01X3159264Y5731573D01* +G01X3161173Y5734118D01* +G01X3162764Y5735709D01* +G01X3164355Y5736982D01* +G01X3166264Y5738255D01* +G01X3168809Y5739527D01* +G01X3171991Y5740482D01* +G01X3174855Y5741118D01* +G01X3202218Y5741436D01* +G01X3228627Y5741436D01* +G01X3228946Y5743664D01* +G01X3229582Y5746845D01* +G01X3230855Y5752573D01* +G01X3232127Y5758936D01* +G01X3233400Y5764664D01* +G01X3234037Y5767846D01* +G01X3234355Y5770073D01* +G01X3256309Y5770073D01* +G01X3278264Y5769755D01* +G01X3277946Y5767209D01* +G01X3277309Y5764027D01* +G01X3276037Y5758300D01* +G01X3275400Y5754800D01* +G01X3274446Y5750027D01* +G01X3273491Y5746209D01* +G01X3272218Y5739845D01* +G01X3271582Y5737300D01* +G01X3270946Y5733800D01* +G01X3269991Y5729027D01* +G01X3269037Y5725209D01* +G01X3267764Y5718845D01* +G01X3267127Y5716300D01* +G01X3265855Y5709936D01* +G01X3264582Y5704209D01* +G01X3263946Y5700709D01* +G01X3262991Y5695936D01* +G01X3262037Y5692118D01* +G01X3260764Y5685755D01* +G01X3260127Y5683209D01* +G01X3258855Y5676846D01* +G01X3257582Y5671118D01* +G01X3256946Y5667618D01* +G01X3255991Y5662846D01* +G01X3255037Y5659027D01* +G01X3253764Y5652664D01* +G01X3253127Y5650118D01* +G01X3252491Y5646618D01* +G01X3251536Y5641845D01* +G01X3250582Y5638027D01* +G01X3249309Y5631663D01* +G01X3248673Y5629118D01* +G01X3248355Y5626891D01* +G01X3236264Y5625936D01* +G01X3199991Y5625618D01* +G37* +G36* +G01X3269355Y5625618D02* +G01X3269673Y5627209D01* +G01X3270309Y5629754D01* +G01X3271582Y5635482D01* +G01X3272218Y5638982D01* +G01X3273173Y5643754D01* +G01X3274127Y5647573D01* +G01X3274764Y5650755D01* +G01X3275400Y5653300D01* +G01X3276037Y5656800D01* +G01X3276991Y5661573D01* +G01X3277946Y5665391D01* +G01X3279218Y5671755D01* +G01X3279855Y5674300D01* +G01X3281127Y5680664D01* +G01X3282400Y5686391D01* +G01X3283036Y5689891D01* +G01X3283991Y5694664D01* +G01X3284946Y5698482D01* +G01X3285582Y5701664D01* +G01X3286218Y5704209D01* +G01X3287491Y5710573D01* +G01X3288764Y5716300D01* +G01X3289400Y5719482D01* +G01X3290355Y5723936D01* +G01X3291628Y5727754D01* +G01X3292900Y5730300D01* +G01X3294173Y5732209D01* +G01X3296082Y5734436D01* +G01X3298946Y5736982D01* +G01X3301491Y5738573D01* +G01X3303400Y5739527D01* +G01X3306582Y5740482D01* +G01X3309764Y5741118D01* +G01X3346355Y5741436D01* +G01X3381991Y5741436D01* +G01X3381673Y5739845D01* +G01X3381037Y5737300D01* +G01X3379127Y5727754D01* +G01X3378809Y5725527D01* +G01X3357491Y5725527D01* +G01X3335537Y5724891D01* +G01X3334582Y5722664D01* +G01X3333946Y5720118D01* +G01X3333309Y5716618D01* +G01X3332355Y5711845D01* +G01X3331400Y5708027D01* +G01X3330764Y5704845D01* +G01X3330127Y5702300D01* +G01X3329491Y5698800D01* +G01X3328537Y5694027D01* +G01X3327582Y5690209D01* +G01X3326946Y5687027D01* +G01X3326309Y5684482D01* +G01X3324400Y5674936D01* +G01X3323446Y5670482D01* +G01X3322491Y5666664D01* +G01X3321855Y5663482D01* +G01X3321218Y5660936D01* +G01X3320582Y5657436D01* +G01X3319627Y5652664D01* +G01X3318673Y5648845D01* +G01X3318036Y5645664D01* +G01X3317400Y5643118D01* +G01X3316127Y5636754D01* +G01X3314855Y5631027D01* +G01X3314218Y5627845D01* +G01X3313900Y5625618D01* +G01X3269355Y5625618D01* +G37* +G36* +G01X3409991Y5625618D02* +G01X3410309Y5626891D01* +G01X3410946Y5629118D01* +G01X3412218Y5635482D01* +G01X3413491Y5641209D01* +G01X3414764Y5647573D01* +G01X3416036Y5653300D01* +G01X3416673Y5656800D01* +G01X3417628Y5661573D01* +G01X3419218Y5667936D01* +G01X3420491Y5674300D01* +G01X3421127Y5677800D01* +G01X3422082Y5682573D01* +G01X3423036Y5686391D01* +G01X3424309Y5692755D01* +G01X3424946Y5695300D01* +G01X3426218Y5701664D01* +G01X3427491Y5707391D01* +G01X3428127Y5710891D01* +G01X3429082Y5715664D01* +G01X3430036Y5719482D01* +G01X3431309Y5725845D01* +G01X3431946Y5728391D01* +G01X3433218Y5734754D01* +G01X3434491Y5740482D01* +G01X3435764Y5746845D01* +G01X3437037Y5752573D01* +G01X3438309Y5758936D01* +G01X3439582Y5764664D01* +G01X3440218Y5767846D01* +G01X3440537Y5770073D01* +G01X3464400Y5770073D01* +G01X3488264Y5769755D01* +G01X3487946Y5767209D01* +G01X3487309Y5764027D01* +G01X3486037Y5758300D01* +G01X3484764Y5751936D01* +G01X3483491Y5746209D01* +G01X3482218Y5739845D01* +G01X3480946Y5734118D01* +G01X3479673Y5727754D01* +G01X3478400Y5722027D01* +G01X3477128Y5715664D01* +G01X3475855Y5709936D01* +G01X3475218Y5706436D01* +G01X3474264Y5701664D01* +G01X3473309Y5697845D01* +G01X3472673Y5694664D01* +G01X3472673Y5692118D01* +G01X3473071Y5691561D01* +G01X3473627Y5691800D01* +G01X3475218Y5693073D01* +G01X3477446Y5695300D01* +G01X3479355Y5697845D01* +G01X3485718Y5704209D01* +G01X3488264Y5707391D01* +G01X3493037Y5712164D01* +G01X3495582Y5715346D01* +G01X3501946Y5721709D01* +G01X3505764Y5726164D01* +G01X3511173Y5731573D01* +G01X3513082Y5734118D01* +G01X3519446Y5740482D01* +G01X3521991Y5743664D01* +G01X3526764Y5748436D01* +G01X3530582Y5752891D01* +G01X3535991Y5758300D01* +G01X3537900Y5760846D01* +G01X3544264Y5767209D01* +G01X3545855Y5769118D01* +G01X3548877Y5769834D01* +G01X3556037Y5770073D01* +G01X3566219Y5769755D01* +G01X3566696Y5769357D01* +G01X3566219Y5768800D01* +G01X3559855Y5762436D01* +G01X3556037Y5757982D01* +G01X3550628Y5752573D01* +G01X3548718Y5750027D01* +G01X3542355Y5743664D01* +G01X3539809Y5740482D01* +G01X3535036Y5735709D01* +G01X3531218Y5731255D01* +G01X3525809Y5725845D01* +G01X3523900Y5723300D01* +G01X3517537Y5716936D01* +G01X3514991Y5713755D01* +G01X3510218Y5708982D01* +G01X3509582Y5707709D01* +G01X3510218Y5705482D01* +G01X3527400Y5653936D01* +G01X3528355Y5650436D01* +G01X3536628Y5625618D01* +G01X3512446Y5625618D01* +G01X3494230Y5625936D01* +G01X3487946Y5626891D01* +G01X3486991Y5629436D01* +G01X3474582Y5666664D01* +G01X3474025Y5667698D01* +G01X3472991Y5667618D01* +G01X3470764Y5666345D01* +G01X3467582Y5663164D01* +G01X3465991Y5661254D01* +G01X3465037Y5659027D01* +G01X3463764Y5652664D01* +G01X3462491Y5646936D01* +G01X3461855Y5643436D01* +G01X3460900Y5638664D01* +G01X3459946Y5634845D01* +G01X3459309Y5631663D01* +G01X3458673Y5629118D01* +G01X3458355Y5626891D01* +G01X3452309Y5625936D01* +G01X3434173Y5625618D01* +G01X3409991Y5625618D01* +G37* +G36* +G01X3607582Y5625618D02* +G01X3567173Y5625936D01* +G01X3564946Y5626891D01* +G01X3562400Y5628164D01* +G01X3560491Y5629436D01* +G01X3558264Y5631663D01* +G01X3556673Y5634209D01* +G01X3555718Y5636436D01* +G01X3555082Y5640891D01* +G01X3555294Y5644073D01* +G01X3599309Y5644073D01* +G01X3599309Y5641209D01* +G01X3611082Y5640891D01* +G01X3622855Y5641527D01* +G01X3623809Y5644391D01* +G01X3624764Y5648209D01* +G01X3625400Y5651391D01* +G01X3626037Y5653936D01* +G01X3626673Y5657436D01* +G01X3627628Y5662209D01* +G01X3628582Y5666027D01* +G01X3629218Y5669209D01* +G01X3629855Y5671755D01* +G01X3630491Y5675254D01* +G01X3631446Y5680027D01* +G01X3633037Y5686391D01* +G01X3633673Y5689891D01* +G01X3634628Y5694664D01* +G01X3635582Y5698482D01* +G01X3636218Y5701664D01* +G01X3636855Y5704209D01* +G01X3637491Y5707709D01* +G01X3638446Y5712482D01* +G01X3639400Y5716300D01* +G01X3640037Y5719482D01* +G01X3640673Y5722027D01* +G01X3640991Y5724255D01* +G01X3638048Y5725209D01* +G01X3629218Y5725527D01* +G01X3620230Y5725209D01* +G01X3616809Y5724255D01* +G01X3615855Y5721391D01* +G01X3615218Y5718209D01* +G01X3614582Y5715664D01* +G01X3613946Y5712164D01* +G01X3612991Y5707391D01* +G01X3612037Y5703573D01* +G01X3611400Y5700391D01* +G01X3610764Y5697845D01* +G01X3610128Y5694345D01* +G01X3609173Y5689573D01* +G01X3607582Y5683209D01* +G01X3606946Y5679709D01* +G01X3605991Y5674936D01* +G01X3605037Y5671118D01* +G01X3604400Y5667936D01* +G01X3603764Y5665391D01* +G01X3603128Y5661891D01* +G01X3602173Y5657118D01* +G01X3601218Y5653300D01* +G01X3600582Y5650118D01* +G01X3599946Y5647573D01* +G01X3599309Y5644073D01* +G01X3599309Y5644073D01* +G01X3555294Y5644073D01* +G01X3555400Y5645664D01* +G01X3557309Y5655209D01* +G01X3557946Y5657755D01* +G01X3559219Y5664118D01* +G01X3560491Y5669846D01* +G01X3561128Y5673345D01* +G01X3562082Y5678118D01* +G01X3563037Y5681936D01* +G01X3563673Y5685118D01* +G01X3564309Y5687664D01* +G01X3564946Y5691164D01* +G01X3565900Y5695936D01* +G01X3566855Y5699755D01* +G01X3568128Y5706118D01* +G01X3568764Y5708664D01* +G01X3570673Y5718209D01* +G01X3571627Y5722664D01* +G01X3572900Y5726800D01* +G01X3574491Y5730300D01* +G01X3576082Y5732527D01* +G01X3577355Y5734118D01* +G01X3579582Y5736346D01* +G01X3582446Y5738255D01* +G01X3584991Y5739527D01* +G01X3588173Y5740482D01* +G01X3591037Y5741118D01* +G01X3630491Y5741436D01* +G01X3671219Y5741118D01* +G01X3675037Y5740482D01* +G01X3678219Y5739527D01* +G01X3680446Y5738255D01* +G01X3682037Y5736982D01* +G01X3683628Y5734754D01* +G01X3684900Y5731891D01* +G01X3685537Y5729346D01* +G01X3685219Y5726482D01* +G01X3684582Y5722664D01* +G01X3683946Y5719482D01* +G01X3683310Y5715982D01* +G01X3682355Y5711209D01* +G01X3681400Y5707391D01* +G01X3680128Y5701027D01* +G01X3679491Y5698482D01* +G01X3676946Y5685755D01* +G01X3675673Y5680027D01* +G01X3674400Y5673664D01* +G01X3673128Y5667936D01* +G01X3671855Y5661573D01* +G01X3670582Y5655846D01* +G01X3669309Y5649482D01* +G01X3668673Y5646618D01* +G01X3667718Y5643754D01* +G01X3665173Y5638664D01* +G01X3663900Y5636436D01* +G01X3662309Y5634527D01* +G01X3659128Y5631345D01* +G01X3656900Y5629754D01* +G01X3654673Y5628482D01* +G01X3652764Y5627527D01* +G01X3650537Y5626573D01* +G01X3648309Y5625936D01* +G01X3607582Y5625618D01* +G37* +G36* +G01X3685537Y5625618D02* +G01X3686173Y5626891D01* +G01X3687128Y5630391D01* +G01X3687764Y5633573D01* +G01X3689037Y5639300D01* +G01X3689673Y5642800D01* +G01X3690627Y5647573D01* +G01X3691582Y5651391D01* +G01X3692219Y5654573D01* +G01X3692855Y5657118D01* +G01X3693491Y5660618D01* +G01X3694446Y5665391D01* +G01X3695400Y5669209D01* +G01X3696673Y5675573D01* +G01X3697309Y5678118D01* +G01X3698582Y5684482D01* +G01X3699855Y5690209D01* +G01X3700491Y5693709D01* +G01X3701446Y5698482D01* +G01X3702400Y5702300D01* +G01X3703037Y5705482D01* +G01X3703673Y5708027D01* +G01X3704946Y5714391D01* +G01X3706855Y5722982D01* +G01X3707809Y5726800D01* +G01X3709082Y5729664D01* +G01X3710355Y5731573D01* +G01X3712900Y5734754D01* +G01X3715128Y5736664D01* +G01X3717355Y5738255D01* +G01X3719264Y5739209D01* +G01X3721809Y5740164D01* +G01X3724355Y5740800D01* +G01X3726582Y5741118D01* +G01X3763173Y5741436D01* +G01X3789821Y5741277D01* +G01X3798491Y5740800D01* +G01X3797855Y5737936D01* +G01X3797219Y5734754D01* +G01X3795946Y5729027D01* +G01X3795628Y5726800D01* +G01X3790378Y5725845D01* +G01X3774628Y5725527D01* +G01X3752673Y5725209D01* +G01X3751400Y5723936D01* +G01X3750764Y5720436D01* +G01X3749809Y5715664D01* +G01X3748855Y5711845D01* +G01X3748218Y5708664D01* +G01X3747582Y5706118D01* +G01X3746946Y5702618D01* +G01X3745991Y5697845D01* +G01X3745037Y5694027D01* +G01X3744400Y5690845D01* +G01X3743764Y5688300D01* +G01X3743128Y5684800D01* +G01X3742173Y5680027D01* +G01X3741218Y5676209D01* +G01X3740582Y5673027D01* +G01X3739946Y5670482D01* +G01X3738037Y5660936D01* +G01X3737082Y5656482D01* +G01X3736128Y5652664D01* +G01X3735491Y5649482D01* +G01X3734855Y5646936D01* +G01X3734218Y5643436D01* +G01X3733264Y5638664D01* +G01X3732309Y5634845D01* +G01X3731673Y5631663D01* +G01X3731037Y5629118D01* +G01X3730719Y5626891D01* +G01X3725071Y5625936D01* +G01X3708128Y5625618D01* +G01X3685537Y5625618D01* +G37* +G36* +G01X3842400Y5625618D02* +G01X3800718Y5626255D01* +G01X3797537Y5627845D01* +G01X3794991Y5629436D01* +G01X3792764Y5631663D01* +G01X3791173Y5634209D01* +G01X3790219Y5636754D01* +G01X3789582Y5639936D01* +G01X3789582Y5642482D01* +G01X3789673Y5643118D01* +G01X3833810Y5643118D01* +G01X3834128Y5641209D01* +G01X3845582Y5640891D01* +G01X3857355Y5641527D01* +G01X3858309Y5643754D01* +G01X3858946Y5646300D01* +G01X3860855Y5655846D01* +G01X3861810Y5660300D01* +G01X3862764Y5664118D01* +G01X3863400Y5667300D01* +G01X3864037Y5669846D01* +G01X3864673Y5673345D01* +G01X3865628Y5678118D01* +G01X3866582Y5681936D01* +G01X3867218Y5685118D01* +G01X3867855Y5687664D01* +G01X3868491Y5691164D01* +G01X3869446Y5695936D01* +G01X3870400Y5699755D01* +G01X3871037Y5702936D01* +G01X3871673Y5705482D01* +G01X3872309Y5708982D01* +G01X3873264Y5713755D01* +G01X3874855Y5720118D01* +G01X3875491Y5723300D01* +G01X3875809Y5725527D01* +G01X3864037Y5725527D01* +G01X3855048Y5725289D01* +G01X3851628Y5724573D01* +G01X3850673Y5722664D01* +G01X3850037Y5719164D01* +G01X3849082Y5714391D01* +G01X3847491Y5708027D01* +G01X3846855Y5704527D01* +G01X3845900Y5699755D01* +G01X3844946Y5695936D01* +G01X3844309Y5692755D01* +G01X3843673Y5690209D01* +G01X3843037Y5686709D01* +G01X3842082Y5681936D01* +G01X3841128Y5678118D01* +G01X3840491Y5674936D01* +G01X3839855Y5672391D01* +G01X3839219Y5668891D01* +G01X3838264Y5664118D01* +G01X3836673Y5657755D01* +G01X3835400Y5651391D01* +G01X3834128Y5645664D01* +G01X3833810Y5643118D01* +G01X3833810Y5643118D01* +G01X3789673Y5643118D01* +G01X3790219Y5646936D01* +G01X3791491Y5653300D01* +G01X3792764Y5659027D01* +G01X3793400Y5662527D01* +G01X3794355Y5667300D01* +G01X3795310Y5671118D01* +G01X3795946Y5674300D01* +G01X3796582Y5676846D01* +G01X3797219Y5680345D01* +G01X3798173Y5685118D01* +G01X3799128Y5688936D01* +G01X3800400Y5695300D01* +G01X3801037Y5697845D01* +G01X3802310Y5704209D01* +G01X3803582Y5709936D01* +G01X3804219Y5713436D01* +G01X3805173Y5718209D01* +G01X3807082Y5725845D01* +G01X3808355Y5729027D01* +G01X3809310Y5730936D01* +G01X3810582Y5732527D01* +G01X3814400Y5736346D01* +G01X3817264Y5738255D01* +G01X3819491Y5739527D01* +G01X3822673Y5740482D01* +G01X3825855Y5741118D01* +G01X3864991Y5741436D01* +G01X3906037Y5741118D01* +G01X3911128Y5740164D01* +G01X3913991Y5738891D01* +G01X3915582Y5737618D01* +G01X3917173Y5736027D01* +G01X3918764Y5733482D01* +G01X3919480Y5731414D01* +G01X3919718Y5728391D01* +G01X3919400Y5723936D01* +G01X3916855Y5711209D01* +G01X3915582Y5705482D01* +G01X3914310Y5699118D01* +G01X3913037Y5693391D01* +G01X3912400Y5689891D01* +G01X3911446Y5685118D01* +G01X3910491Y5681300D01* +G01X3909219Y5674936D01* +G01X3908582Y5672391D01* +G01X3907310Y5666027D01* +G01X3906673Y5662527D01* +G01X3905719Y5657755D01* +G01X3904764Y5653936D01* +G01X3904128Y5650755D01* +G01X3902855Y5645664D01* +G01X3901900Y5642482D01* +G01X3900310Y5639300D01* +G01X3897128Y5634845D01* +G01X3895219Y5632618D01* +G01X3893628Y5631345D01* +G01X3891400Y5629754D01* +G01X3888855Y5628164D01* +G01X3885991Y5626891D01* +G01X3883128Y5625936D01* +G01X3842400Y5625618D01* +G37* +G36* +G01X3969355Y5625618D02* +G01X3933082Y5625936D01* +G01X3930855Y5626891D01* +G01X3927673Y5628482D01* +G01X3925446Y5630391D01* +G01X3923855Y5632618D01* +G01X3922264Y5635800D01* +G01X3921310Y5638664D01* +G01X3920991Y5640891D01* +G01X3921946Y5647573D01* +G01X3923219Y5653300D01* +G01X3923855Y5656800D01* +G01X3924809Y5661573D01* +G01X3925764Y5665391D01* +G01X3926400Y5668573D01* +G01X3927037Y5671118D01* +G01X3927673Y5674618D01* +G01X3928628Y5679391D01* +G01X3929582Y5683209D01* +G01X3930855Y5689573D01* +G01X3931491Y5692118D01* +G01X3932128Y5695618D01* +G01X3933082Y5700391D01* +G01X3934037Y5704209D01* +G01X3935310Y5710573D01* +G01X3935946Y5713118D01* +G01X3937219Y5719482D01* +G01X3937855Y5722346D01* +G01X3938810Y5726164D01* +G01X3940082Y5729027D01* +G01X3941673Y5731573D01* +G01X3943264Y5733800D01* +G01X3944537Y5735073D01* +G01X3946764Y5736982D01* +G01X3949309Y5738573D01* +G01X3951219Y5739527D01* +G01X3954400Y5740482D01* +G01X3957582Y5741118D01* +G01X3994173Y5741436D01* +G01X4029809Y5741436D01* +G01X4029491Y5739527D01* +G01X4027582Y5730936D01* +G01X4026946Y5727754D01* +G01X4026628Y5725527D01* +G01X4005310Y5725527D01* +G01X3983355Y5724891D01* +G01X3982400Y5722664D01* +G01X3981764Y5720118D01* +G01X3981128Y5716618D01* +G01X3980173Y5711845D01* +G01X3979219Y5708027D01* +G01X3978582Y5704845D01* +G01X3977946Y5702300D01* +G01X3977309Y5698800D01* +G01X3976355Y5694027D01* +G01X3975400Y5690209D01* +G01X3974764Y5687027D01* +G01X3974128Y5684482D01* +G01X3973491Y5680982D01* +G01X3972537Y5676209D01* +G01X3970946Y5669846D01* +G01X3970309Y5666345D01* +G01X3969355Y5661573D01* +G01X3968400Y5657755D01* +G01X3967764Y5654573D01* +G01X3967128Y5652027D01* +G01X3965855Y5645664D01* +G01X3965219Y5642800D01* +G01X3964901Y5640891D01* +G01X3986537Y5640891D01* +G01X4008173Y5640573D01* +G01X4007855Y5638664D01* +G01X4007219Y5636118D01* +G01X4006582Y5632618D01* +G01X4005628Y5627845D01* +G01X4004991Y5625618D01* +G01X3969355Y5625618D01* +G37* +G36* +G01X4020264Y5625618D02* +G01X4020900Y5626891D01* +G01X4021855Y5630391D01* +G01X4022491Y5633573D01* +G01X4023764Y5639300D01* +G01X4024401Y5642800D01* +G01X4025355Y5647573D01* +G01X4026310Y5651391D01* +G01X4027582Y5657755D01* +G01X4028219Y5660300D01* +G01X4029491Y5666664D01* +G01X4030764Y5672391D01* +G01X4031401Y5675891D01* +G01X4032355Y5680664D01* +G01X4033310Y5684482D01* +G01X4034582Y5690845D01* +G01X4035219Y5693391D01* +G01X4036491Y5699755D01* +G01X4037764Y5705482D01* +G01X4038400Y5708982D01* +G01X4039355Y5713755D01* +G01X4040310Y5717573D01* +G01X4041582Y5723936D01* +G01X4042219Y5726482D01* +G01X4042855Y5729982D01* +G01X4043810Y5734754D01* +G01X4044764Y5738573D01* +G01X4046037Y5744936D01* +G01X4046673Y5747482D01* +G01X4047946Y5753845D01* +G01X4049219Y5759573D01* +G01X4049855Y5763073D01* +G01X4050810Y5767846D01* +G01X4051446Y5770073D01* +G01X4073400Y5770073D01* +G01X4089866Y5769834D01* +G01X4095355Y5769118D01* +G01X4095037Y5767209D01* +G01X4094400Y5763709D01* +G01X4093446Y5758936D01* +G01X4092491Y5755118D01* +G01X4091219Y5748754D01* +G01X4090582Y5746209D01* +G01X4090264Y5743346D01* +G01X4090264Y5741436D01* +G01X4115082Y5741436D01* +G01X4140855Y5741118D01* +G01X4143401Y5740800D01* +G01X4146264Y5740164D01* +G01X4149128Y5738891D01* +G01X4151991Y5736664D01* +G01X4153582Y5734118D01* +G01X4154537Y5731891D01* +G01X4155173Y5728709D01* +G01X4154855Y5725209D01* +G01X4152946Y5715664D01* +G01X4152310Y5713118D01* +G01X4151673Y5709618D01* +G01X4150719Y5704845D01* +G01X4149764Y5701027D01* +G01X4148491Y5694664D01* +G01X4147855Y5692118D01* +G01X4146582Y5685755D01* +G01X4145310Y5680027D01* +G01X4144673Y5676527D01* +G01X4143719Y5671755D01* +G01X4142764Y5667936D01* +G01X4142128Y5664755D01* +G01X4141491Y5662209D01* +G01X4140855Y5658709D01* +G01X4139900Y5653936D01* +G01X4138946Y5650118D01* +G01X4137673Y5643754D01* +G01X4137037Y5641209D01* +G01X4135764Y5634845D01* +G01X4134491Y5629118D01* +G01X4134173Y5626891D01* +G01X4128605Y5625936D01* +G01X4111900Y5625618D01* +G01X4089628Y5625618D01* +G01X4089946Y5627527D01* +G01X4090901Y5631663D01* +G01X4091855Y5635482D01* +G01X4093128Y5641845D01* +G01X4093764Y5644391D01* +G01X4094400Y5647891D01* +G01X4095355Y5652664D01* +G01X4096310Y5656482D01* +G01X4097582Y5662846D01* +G01X4098219Y5665391D01* +G01X4098855Y5668891D01* +G01X4099810Y5673664D01* +G01X4100764Y5677482D01* +G01X4102037Y5683846D01* +G01X4102673Y5686391D01* +G01X4103310Y5689891D01* +G01X4104264Y5694664D01* +G01X4105219Y5698482D01* +G01X4106491Y5704845D01* +G01X4107128Y5707391D01* +G01X4108401Y5713755D01* +G01X4109673Y5719482D01* +G01X4110310Y5722982D01* +G01X4110628Y5725527D01* +G01X4098855Y5725527D01* +G01X4089866Y5725209D01* +G01X4086446Y5724255D01* +G01X4085491Y5721391D01* +G01X4084855Y5718845D01* +G01X4083582Y5712482D01* +G01X4082309Y5706755D01* +G01X4081673Y5703255D01* +G01X4080719Y5698482D01* +G01X4079764Y5694664D01* +G01X4079128Y5691482D01* +G01X4078491Y5688936D01* +G01X4077855Y5685436D01* +G01X4076901Y5680664D01* +G01X4075946Y5676846D01* +G01X4074673Y5670482D01* +G01X4074037Y5667936D01* +G01X4072764Y5661573D01* +G01X4071491Y5655846D01* +G01X4070855Y5652345D01* +G01X4069901Y5647573D01* +G01X4068946Y5643754D01* +G01X4068309Y5640573D01* +G01X4067673Y5638027D01* +G01X4066400Y5631663D01* +G01X4065764Y5628164D01* +G01X4065446Y5625618D01* +G01X4020264Y5625618D01* +G37* +G36* +G01X4157639Y5625857D02* +G01X4152310Y5626573D01* +G01X4152946Y5628482D01* +G01X4153582Y5631982D01* +G01X4154537Y5636754D01* +G01X4155491Y5640573D01* +G01X4156764Y5646936D01* +G01X4157401Y5649482D01* +G01X4158037Y5652982D01* +G01X4158991Y5657755D01* +G01X4159946Y5661573D01* +G01X4161219Y5667936D01* +G01X4161855Y5670482D01* +G01X4162491Y5673982D01* +G01X4163446Y5678755D01* +G01X4164400Y5682573D01* +G01X4165673Y5688936D01* +G01X4166310Y5691482D01* +G01X4167582Y5697845D01* +G01X4168855Y5703573D01* +G01X4169491Y5707073D01* +G01X4170446Y5711845D01* +G01X4171400Y5715664D01* +G01X4172673Y5722027D01* +G01X4173310Y5724573D01* +G01X4173946Y5728073D01* +G01X4174901Y5732845D01* +G01X4175855Y5736664D01* +G01X4176810Y5741436D01* +G01X4221355Y5741436D01* +G01X4221037Y5739845D01* +G01X4219128Y5732209D01* +G01X4217855Y5725845D01* +G01X4217219Y5723300D01* +G01X4216582Y5719800D01* +G01X4215628Y5715027D01* +G01X4214673Y5711209D01* +G01X4213401Y5704845D01* +G01X4212764Y5702300D01* +G01X4211491Y5695936D01* +G01X4210219Y5690209D01* +G01X4209582Y5686709D01* +G01X4208628Y5681936D01* +G01X4207673Y5678118D01* +G01X4206400Y5671755D01* +G01X4205764Y5669209D01* +G01X4205128Y5665709D01* +G01X4204173Y5660936D01* +G01X4203219Y5657118D01* +G01X4201946Y5650755D01* +G01X4201310Y5648209D01* +G01X4200037Y5641845D01* +G01X4198764Y5636118D01* +G01X4198128Y5632618D01* +G01X4197173Y5627845D01* +G01X4196537Y5625618D01* +G01X4174264Y5625618D01* +G01X4157639Y5625857D01* +G37* +G36* +G01X4179355Y5754164D02* +G01X4179673Y5755436D01* +G01X4180310Y5757664D01* +G01X4181582Y5764027D01* +G01X4182219Y5767527D01* +G01X4182537Y5770073D01* +G01X4227082Y5770073D01* +G01X4226764Y5768164D01* +G01X4226128Y5765300D01* +G01X4224855Y5758936D01* +G01X4224219Y5756073D01* +G01X4223900Y5754164D01* +G01X4179355Y5754164D01* +G37* +G36* +G01X4217537Y5625618D02* +G01X4218173Y5627527D01* +G01X4219128Y5630391D01* +G01X4220401Y5636754D01* +G01X4221673Y5642482D01* +G01X4222310Y5645982D01* +G01X4223264Y5650755D01* +G01X4224219Y5654573D01* +G01X4224855Y5657755D01* +G01X4225492Y5660300D01* +G01X4226128Y5663800D01* +G01X4227082Y5668573D01* +G01X4228037Y5672391D01* +G01X4228673Y5675573D01* +G01X4229310Y5678118D01* +G01X4229946Y5681618D01* +G01X4230900Y5686391D01* +G01X4231855Y5690209D01* +G01X4232492Y5693391D01* +G01X4233128Y5695936D01* +G01X4234401Y5702300D01* +G01X4235673Y5708027D01* +G01X4236310Y5711527D01* +G01X4237264Y5716300D01* +G01X4238219Y5720118D01* +G01X4238855Y5723300D01* +G01X4239492Y5725845D01* +G01X4240764Y5732209D01* +G01X4242037Y5737936D01* +G01X4242355Y5740164D01* +G01X4254207Y5741118D01* +G01X4289764Y5741436D01* +G01X4338128Y5741118D01* +G01X4340673Y5740800D01* +G01X4343537Y5740164D01* +G01X4346401Y5738891D01* +G01X4349264Y5736664D01* +G01X4351173Y5733800D01* +G01X4352128Y5731573D01* +G01X4352446Y5729346D01* +G01X4352128Y5725845D01* +G01X4351492Y5722027D01* +G01X4350855Y5719482D01* +G01X4349582Y5713118D01* +G01X4348310Y5707391D01* +G01X4347673Y5703891D01* +G01X4346719Y5699118D01* +G01X4345764Y5695300D01* +G01X4345128Y5692118D01* +G01X4344492Y5689573D01* +G01X4343855Y5686073D01* +G01X4342901Y5681300D01* +G01X4341946Y5677482D01* +G01X4340673Y5671118D01* +G01X4340037Y5668573D01* +G01X4339401Y5665073D01* +G01X4338446Y5660300D01* +G01X4337492Y5656482D01* +G01X4336219Y5650118D01* +G01X4335583Y5647573D01* +G01X4334946Y5644073D01* +G01X4333991Y5639300D01* +G01X4333037Y5635482D01* +G01X4332401Y5632300D01* +G01X4331764Y5629754D01* +G01X4331446Y5627209D01* +G01X4331446Y5625618D01* +G01X4309491Y5625618D01* +G01X4287219Y5626255D01* +G01X4287537Y5629118D01* +G01X4288491Y5632936D01* +G01X4289128Y5636118D01* +G01X4289764Y5638664D01* +G01X4290400Y5642164D01* +G01X4291355Y5646936D01* +G01X4292310Y5650755D01* +G01X4292946Y5653936D01* +G01X4293582Y5656482D01* +G01X4294219Y5659982D01* +G01X4295173Y5664755D01* +G01X4296128Y5668573D01* +G01X4296764Y5671755D01* +G01X4297400Y5674300D01* +G01X4298037Y5677800D01* +G01X4298992Y5682573D01* +G01X4299946Y5686391D01* +G01X4300582Y5689573D01* +G01X4301219Y5692118D01* +G01X4301855Y5695618D01* +G01X4302810Y5700391D01* +G01X4303764Y5704209D01* +G01X4304400Y5707391D01* +G01X4305037Y5709936D01* +G01X4306310Y5716300D01* +G01X4307582Y5722027D01* +G01X4307901Y5724255D01* +G01X4304957Y5725209D01* +G01X4296128Y5725527D01* +G01X4287139Y5725209D01* +G01X4283719Y5724255D01* +G01X4282764Y5721391D01* +G01X4281491Y5715027D01* +G01X4280855Y5712482D01* +G01X4280219Y5708982D01* +G01X4279264Y5704209D01* +G01X4278310Y5700391D01* +G01X4277673Y5697209D01* +G01X4277037Y5694664D01* +G01X4276401Y5691164D01* +G01X4275446Y5686391D01* +G01X4274491Y5682573D01* +G01X4273855Y5679391D01* +G01X4273219Y5676846D01* +G01X4272582Y5673345D01* +G01X4271628Y5668573D01* +G01X4270673Y5664755D01* +G01X4270037Y5661573D01* +G01X4269401Y5659027D01* +G01X4268764Y5655527D01* +G01X4267810Y5650755D01* +G01X4266855Y5646936D01* +G01X4266219Y5643754D01* +G01X4265582Y5641209D01* +G01X4264310Y5634845D01* +G01X4263037Y5629118D01* +G01X4262719Y5626891D01* +G01X4257071Y5625936D01* +G01X4240128Y5625618D01* +G01X4217537Y5625618D01* +G37* +G36* +G01X4402401Y5625618D02* +G01X4361673Y5625936D01* +G01X4357219Y5628164D01* +G01X4354991Y5629754D01* +G01X4353401Y5631345D01* +G01X4351810Y5633255D01* +G01X4350537Y5635800D01* +G01X4349900Y5638664D01* +G01X4349582Y5641209D01* +G01X4349582Y5643118D01* +G01X4351492Y5652664D01* +G01X4352446Y5657118D01* +G01X4353082Y5659345D01* +G01X4375037Y5659345D01* +G01X4391503Y5659107D01* +G01X4396992Y5658391D01* +G01X4396673Y5656482D01* +G01X4394128Y5645027D01* +G01X4393810Y5642482D01* +G01X4393810Y5640891D01* +G01X4417992Y5640891D01* +G01X4418310Y5643436D01* +G01X4419264Y5648209D01* +G01X4420219Y5652027D01* +G01X4420855Y5655209D01* +G01X4421491Y5657755D01* +G01X4422764Y5664118D01* +G01X4424037Y5669846D01* +G01X4424673Y5673027D01* +G01X4424992Y5675254D01* +G01X4402719Y5675254D01* +G01X4378219Y5675573D01* +G01X4373764Y5676209D01* +G01X4369946Y5677164D01* +G01X4367401Y5678436D01* +G01X4365492Y5679709D01* +G01X4363900Y5681300D01* +G01X4362628Y5683209D01* +G01X4361355Y5685755D01* +G01X4360401Y5689573D01* +G01X4360401Y5693391D01* +G01X4361037Y5697209D01* +G01X4362946Y5706755D01* +G01X4364219Y5712482D01* +G01X4365492Y5718845D01* +G01X4366128Y5721709D01* +G01X4367082Y5725527D01* +G01X4368355Y5728709D01* +G01X4369310Y5730936D01* +G01X4370582Y5732527D01* +G01X4374401Y5736346D01* +G01X4377264Y5738255D01* +G01X4379491Y5739527D01* +G01X4382673Y5740482D01* +G01X4385855Y5741118D01* +G01X4424992Y5741436D01* +G01X4466037Y5741118D01* +G01X4469855Y5740482D01* +G01X4472401Y5739845D01* +G01X4474628Y5738573D01* +G01X4477810Y5735391D01* +G01X4479082Y5733164D01* +G01X4479719Y5728391D01* +G01X4479401Y5723300D01* +G01X4478764Y5720118D01* +G01X4478128Y5717573D01* +G01X4476855Y5711209D01* +G01X4476537Y5708982D01* +G01X4470969Y5708027D01* +G01X4454264Y5707709D01* +G01X4431992Y5707709D01* +G01X4432310Y5709618D01* +G01X4433264Y5713755D01* +G01X4434855Y5720118D01* +G01X4435492Y5723300D01* +G01X4435810Y5725527D01* +G01X4411628Y5725527D01* +G01X4411310Y5723936D01* +G01X4408764Y5713755D01* +G01X4407491Y5707391D01* +G01X4404310Y5693073D01* +G01X4403992Y5691164D01* +G01X4429764Y5691164D01* +G01X4458401Y5690845D01* +G01X4462219Y5689891D01* +G01X4464128Y5688936D01* +G01X4466355Y5687027D01* +G01X4467946Y5684482D01* +G01X4468901Y5682254D01* +G01X4469537Y5679709D01* +G01X4469219Y5675573D01* +G01X4468583Y5671755D01* +G01X4467310Y5666027D01* +G01X4464764Y5653300D01* +G01X4463492Y5647573D01* +G01X4462855Y5645027D01* +G01X4461901Y5642482D01* +G01X4460628Y5639936D01* +G01X4458719Y5636754D01* +G01X4456810Y5634209D01* +G01X4454583Y5631982D01* +G01X4452037Y5630073D01* +G01X4449492Y5628482D01* +G01X4445991Y5626891D01* +G01X4443128Y5625936D01* +G01X4402401Y5625618D01* +G37* +G36* +G01X4477173Y5625618D02* +G01X4477492Y5627209D01* +G01X4478128Y5630391D01* +G01X4478764Y5632936D01* +G01X4480037Y5639300D01* +G01X4481310Y5645027D01* +G01X4481946Y5648527D01* +G01X4482901Y5653300D01* +G01X4483855Y5657118D01* +G01X4485128Y5663482D01* +G01X4485764Y5666027D01* +G01X4487037Y5672391D01* +G01X4488310Y5678118D01* +G01X4488946Y5681618D01* +G01X4489901Y5686391D01* +G01X4490855Y5690209D01* +G01X4492128Y5696573D01* +G01X4492764Y5699118D01* +G01X4494037Y5705482D01* +G01X4495310Y5711209D01* +G01X4495946Y5714709D01* +G01X4496901Y5719482D01* +G01X4497855Y5723300D01* +G01X4499128Y5729664D01* +G01X4499764Y5732209D01* +G01X4501037Y5738573D01* +G01X4502310Y5744300D01* +G01X4503582Y5750664D01* +G01X4504855Y5756391D01* +G01X4505492Y5759891D01* +G01X4506446Y5764664D01* +G01X4507401Y5768482D01* +G01X4507719Y5770073D01* +G01X4551628Y5770073D01* +G01X4551310Y5767846D01* +G01X4550673Y5764664D01* +G01X4549401Y5758936D01* +G01X4548764Y5755436D01* +G01X4547810Y5750664D01* +G01X4546855Y5746845D01* +G01X4545583Y5740482D01* +G01X4544946Y5737936D01* +G01X4544310Y5734436D01* +G01X4543355Y5729664D01* +G01X4542401Y5725845D01* +G01X4541128Y5719482D01* +G01X4540492Y5716936D01* +G01X4539855Y5713436D01* +G01X4538901Y5708664D01* +G01X4537946Y5704845D01* +G01X4536673Y5698482D01* +G01X4536037Y5695936D01* +G01X4534764Y5689573D01* +G01X4534446Y5687345D01* +G01X4535083Y5685436D01* +G01X4535719Y5685198D01* +G01X4536355Y5685755D01* +G01X4557037Y5706436D01* +G01X4560219Y5710255D01* +G01X4590446Y5740482D01* +G01X4593071Y5741198D01* +G01X4599673Y5741436D01* +G01X4609219Y5741118D01* +G01X4609696Y5740720D01* +G01X4609219Y5740164D01* +G01X4586946Y5717891D01* +G01X4583764Y5714073D01* +G01X4567855Y5698164D01* +G01X4566901Y5696254D01* +G01X4567537Y5693709D01* +G01X4588537Y5630709D01* +G01X4589492Y5627527D01* +G01X4589810Y5625618D01* +G01X4567855Y5625618D01* +G01X4545583Y5626255D01* +G01X4544628Y5628164D01* +G01X4536992Y5651073D01* +G01X4534128Y5660618D01* +G01X4533651Y5661971D01* +G01X4532855Y5662209D01* +G01X4531264Y5660936D01* +G01X4529673Y5659345D01* +G01X4528083Y5656800D01* +G01X4527128Y5653300D01* +G01X4526491Y5650118D01* +G01X4525855Y5647573D01* +G01X4525219Y5644073D01* +G01X4524264Y5639300D01* +G01X4523310Y5635482D01* +G01X4522673Y5632300D01* +G01X4522037Y5629754D01* +G01X4521719Y5627209D01* +G01X4521719Y5625618D01* +G01X4477173Y5625618D01* +G37* +G36* +G01X4607628Y5625618D02* +G01X4607946Y5626891D01* +G01X4608901Y5630391D01* +G01X4609855Y5634209D01* +G01X4611128Y5640573D01* +G01X4611764Y5643118D01* +G01X4613037Y5649482D01* +G01X4614310Y5655209D01* +G01X4614946Y5658709D01* +G01X4615901Y5663482D01* +G01X4616855Y5667300D01* +G01X4618128Y5673664D01* +G01X4618764Y5676209D01* +G01X4619401Y5679709D01* +G01X4620355Y5684482D01* +G01X4621310Y5688300D01* +G01X4622582Y5694664D01* +G01X4623219Y5697209D01* +G01X4624492Y5703573D01* +G01X4625764Y5709300D01* +G01X4626401Y5712800D01* +G01X4627355Y5717573D01* +G01X4628310Y5721391D01* +G01X4629582Y5727754D01* +G01X4630219Y5730300D01* +G01X4631492Y5736664D01* +G01X4632128Y5739527D01* +G01X4632446Y5741436D01* +G01X4654719Y5741436D01* +G01X4671344Y5741198D01* +G01X4676674Y5740482D01* +G01X4676037Y5737936D01* +G01X4674764Y5731573D01* +G01X4674128Y5729027D01* +G01X4673492Y5725527D01* +G01X4672537Y5720754D01* +G01X4671583Y5716936D01* +G01X4670310Y5710573D01* +G01X4669674Y5708027D01* +G01X4669037Y5704527D01* +G01X4668082Y5699755D01* +G01X4667128Y5695936D01* +G01X4665855Y5689573D01* +G01X4665219Y5687027D01* +G01X4663946Y5680664D01* +G01X4662674Y5674936D01* +G01X4662037Y5671436D01* +G01X4661083Y5666664D01* +G01X4660128Y5662846D01* +G01X4658855Y5656482D01* +G01X4658219Y5653936D01* +G01X4656946Y5647573D01* +G01X4655673Y5641845D01* +G01X4654401Y5635482D01* +G01X4653128Y5629754D01* +G01X4652810Y5627209D01* +G01X4652810Y5625618D01* +G01X4607628Y5625618D01* +G37* +G36* +G01X4640639Y5754323D02* +G01X4635310Y5754800D01* +G01X4635946Y5757664D01* +G01X4636582Y5760846D01* +G01X4637855Y5766573D01* +G01X4638173Y5768800D01* +G01X4643662Y5769755D01* +G01X4660128Y5770073D01* +G01X4676674Y5769834D01* +G01X4682401Y5769118D01* +G01X4682082Y5765936D01* +G01X4681128Y5762118D01* +G01X4679537Y5754164D01* +G01X4657264Y5754164D01* +G01X4640639Y5754323D01* +G37* +G36* +G01X4695685Y5596505D02* +G01X4686855Y5596982D01* +G01X4687492Y5599209D01* +G01X4688128Y5601754D01* +G01X4690037Y5610346D01* +G01X4690355Y5612255D01* +G01X4712628Y5612255D01* +G01X4735855Y5612573D01* +G01X4737128Y5614482D01* +G01X4737764Y5617664D01* +G01X4738401Y5620209D01* +G01X4739037Y5623391D01* +G01X4739355Y5625618D01* +G01X4714855Y5625618D01* +G01X4688128Y5625936D01* +G01X4684310Y5626891D01* +G01X4681764Y5628164D01* +G01X4679855Y5629436D01* +G01X4677628Y5631663D01* +G01X4675719Y5634527D01* +G01X4674764Y5636754D01* +G01X4674446Y5640573D01* +G01X4674764Y5645664D01* +G01X4675401Y5649482D01* +G01X4676037Y5652027D01* +G01X4676674Y5655527D01* +G01X4677628Y5660300D01* +G01X4678583Y5664118D01* +G01X4679219Y5667300D01* +G01X4679855Y5669846D01* +G01X4680492Y5673345D01* +G01X4681446Y5678118D01* +G01X4682401Y5681936D01* +G01X4683037Y5685118D01* +G01X4683674Y5687664D01* +G01X4684310Y5691164D01* +G01X4685264Y5695936D01* +G01X4686219Y5699755D01* +G01X4686855Y5702936D01* +G01X4687492Y5705482D01* +G01X4688128Y5708982D01* +G01X4689082Y5713755D01* +G01X4690037Y5717573D01* +G01X4690674Y5720754D01* +G01X4691310Y5723300D01* +G01X4692583Y5729664D01* +G01X4693855Y5735391D01* +G01X4694492Y5738891D01* +G01X4694810Y5741436D01* +G01X4739355Y5741436D01* +G01X4739037Y5739209D01* +G01X4738083Y5734754D01* +G01X4737128Y5730936D01* +G01X4735855Y5724573D01* +G01X4735219Y5722027D01* +G01X4734582Y5718527D01* +G01X4733628Y5713755D01* +G01X4732673Y5709936D01* +G01X4731401Y5703573D01* +G01X4730764Y5701027D01* +G01X4730128Y5697527D01* +G01X4729174Y5692755D01* +G01X4728219Y5688936D01* +G01X4726946Y5682573D01* +G01X4726310Y5680027D01* +G01X4725673Y5676527D01* +G01X4724719Y5671755D01* +G01X4723764Y5667936D01* +G01X4722492Y5661573D01* +G01X4721855Y5659027D01* +G01X4720583Y5652664D01* +G01X4719310Y5646936D01* +G01X4718673Y5643436D01* +G01X4718355Y5640891D01* +G01X4729492Y5640891D01* +G01X4741582Y5641209D01* +G01X4742457Y5642005D01* +G01X4743174Y5643754D01* +G01X4744128Y5647573D01* +G01X4745401Y5653936D01* +G01X4746037Y5656482D01* +G01X4746673Y5659982D01* +G01X4747628Y5664755D01* +G01X4748582Y5668573D01* +G01X4749855Y5674936D01* +G01X4750492Y5677482D01* +G01X4751128Y5680982D01* +G01X4752083Y5685755D01* +G01X4753037Y5689573D01* +G01X4754310Y5695936D01* +G01X4754946Y5698482D01* +G01X4755583Y5701982D01* +G01X4756537Y5706755D01* +G01X4757492Y5710573D01* +G01X4758764Y5716936D01* +G01X4759401Y5719482D01* +G01X4760673Y5725845D01* +G01X4761946Y5731573D01* +G01X4763219Y5737936D01* +G01X4763537Y5740164D01* +G01X4769026Y5741118D01* +G01X4785492Y5741436D01* +G01X4807764Y5740800D01* +G01X4807446Y5737936D01* +G01X4806492Y5734118D01* +G01X4805219Y5727754D01* +G01X4804583Y5725209D01* +G01X4803310Y5718845D01* +G01X4802037Y5713118D01* +G01X4800764Y5706755D01* +G01X4799492Y5701027D01* +G01X4798219Y5694664D01* +G01X4796946Y5688936D01* +G01X4796310Y5685436D01* +G01X4795355Y5680664D01* +G01X4794401Y5676846D01* +G01X4793128Y5670482D01* +G01X4792492Y5667936D01* +G01X4791219Y5661573D01* +G01X4789946Y5655846D01* +G01X4788674Y5649482D01* +G01X4787401Y5643754D01* +G01X4786128Y5637391D01* +G01X4784855Y5631663D01* +G01X4783583Y5625300D01* +G01X4782310Y5619573D01* +G01X4781674Y5617027D01* +G01X4780719Y5614164D01* +G01X4779446Y5611300D01* +G01X4778173Y5609073D01* +G01X4776901Y5607164D01* +G01X4775310Y5605255D01* +G01X4773719Y5603664D01* +G01X4771492Y5601754D01* +G01X4769264Y5600164D01* +G01X4767355Y5599209D01* +G01X4765128Y5598255D01* +G01X4762583Y5597300D01* +G01X4760037Y5596664D01* +G01X4722810Y5596345D01* +G01X4695685Y5596505D01* +G37* +G36* +G01X1505354Y5754164D02* +G01X1505990Y5756391D01* +G01X1506945Y5759573D01* +G01X1507581Y5763073D01* +G01X1508536Y5767846D01* +G01X1509172Y5770073D01* +G01X1531445Y5770073D01* +G01X1548070Y5769914D01* +G01X1553399Y5769436D01* +G01X1552763Y5766891D01* +G01X1552127Y5764027D01* +G01X1550854Y5757664D01* +G01X1550536Y5755436D01* +G01X1544888Y5754482D01* +G01X1527945Y5754164D01* +G01X1505354Y5754164D01* +G37* +G36* +G01X4369866Y5930657D02* +G01X4364537Y5931373D01* +G01X4365810Y5936463D01* +G01X4367082Y5942827D01* +G01X4368355Y5948554D01* +G01X4368991Y5952055D01* +G01X4369946Y5956827D01* +G01X4370900Y5960646D01* +G01X4371537Y5963827D01* +G01X4372173Y5966373D01* +G01X4372810Y5969873D01* +G01X4373764Y5974646D01* +G01X4374719Y5978464D01* +G01X4375991Y5984827D01* +G01X4376628Y5987373D01* +G01X4377900Y5993736D01* +G01X4379173Y5999464D01* +G01X4379810Y6002964D01* +G01X4380764Y6007736D01* +G01X4381719Y6011555D01* +G01X4382355Y6014736D01* +G01X4382991Y6017282D01* +G01X4383628Y6020782D01* +G01X4384582Y6025554D01* +G01X4385537Y6028736D01* +G01X4386173Y6031282D01* +G01X4387128Y6033827D01* +G01X4388082Y6035736D01* +G01X4389355Y6037327D01* +G01X4393173Y6041146D01* +G01X4396037Y6043055D01* +G01X4398264Y6044327D01* +G01X4401446Y6045282D01* +G01X4404628Y6045918D01* +G01X4440901Y6046236D01* +G01X4467469Y6045998D01* +G01X4476537Y6045282D01* +G01X4476219Y6042100D01* +G01X4475264Y6038282D01* +G01X4473673Y6030327D01* +G01X4430400Y6030327D01* +G01X4430082Y6028736D01* +G01X4428173Y6021100D01* +G01X4427537Y6017918D01* +G01X4426901Y6015373D01* +G01X4426264Y6011873D01* +G01X4425310Y6007100D01* +G01X4424355Y6003282D01* +G01X4423719Y6000100D01* +G01X4423082Y5997555D01* +G01X4422446Y5994054D01* +G01X4421491Y5989282D01* +G01X4420537Y5985464D01* +G01X4419901Y5982282D01* +G01X4419264Y5979736D01* +G01X4418628Y5976236D01* +G01X4417673Y5971464D01* +G01X4416719Y5967646D01* +G01X4416082Y5964464D01* +G01X4415446Y5961918D01* +G01X4414810Y5958418D01* +G01X4413855Y5953645D01* +G01X4412901Y5949827D01* +G01X4412264Y5946645D01* +G01X4411628Y5944100D01* +G01X4410992Y5940600D01* +G01X4410037Y5935827D01* +G01X4409082Y5932009D01* +G01X4408764Y5930418D01* +G01X4386491Y5930418D01* +G01X4369866Y5930657D01* +G37* +G36* +G01X4718037Y5930418D02* +G01X4670628Y5930736D01* +G01X4666173Y5932964D01* +G01X4663946Y5934554D01* +G01X4662355Y5936145D01* +G01X4660764Y5938373D01* +G01X4659491Y5941236D01* +G01X4658855Y5944736D01* +G01X4659173Y5949827D01* +G01X4659280Y5950464D01* +G01X4706901Y5950464D01* +G01X4706901Y5948554D01* +G01X4721855Y5948236D01* +G01X4736810Y5948873D01* +G01X4737764Y5951736D01* +G01X4738719Y5955555D01* +G01X4739355Y5958736D01* +G01X4739992Y5961282D01* +G01X4740628Y5964782D01* +G01X4741582Y5969555D01* +G01X4742537Y5973373D01* +G01X4743810Y5979736D01* +G01X4744446Y5982282D01* +G01X4745719Y5988646D01* +G01X4746992Y5994373D01* +G01X4747628Y5997873D01* +G01X4748582Y6002645D01* +G01X4749537Y6006464D01* +G01X4750174Y6009645D01* +G01X4750810Y6012191D01* +G01X4751446Y6015691D01* +G01X4752401Y6020464D01* +G01X4753355Y6024282D01* +G01X4754628Y6030645D01* +G01X4755264Y6033191D01* +G01X4756537Y6039554D01* +G01X4757810Y6045282D01* +G01X4759719Y6054827D01* +G01X4760037Y6057055D01* +G01X4729492Y6057055D01* +G01X4729173Y6055145D01* +G01X4728537Y6052282D01* +G01X4727901Y6048782D01* +G01X4726946Y6044009D01* +G01X4725992Y6040191D01* +G01X4725355Y6037009D01* +G01X4724719Y6034464D01* +G01X4724082Y6030964D01* +G01X4723128Y6026191D01* +G01X4722173Y6022373D01* +G01X4720901Y6016009D01* +G01X4720264Y6013464D01* +G01X4718992Y6007100D01* +G01X4717719Y6001373D01* +G01X4717082Y5997873D01* +G01X4716128Y5993100D01* +G01X4715173Y5989282D01* +G01X4714537Y5986100D01* +G01X4713901Y5983555D01* +G01X4713264Y5980054D01* +G01X4712310Y5975282D01* +G01X4711355Y5971464D01* +G01X4710082Y5965100D01* +G01X4709446Y5962555D01* +G01X4708810Y5959055D01* +G01X4707855Y5954282D01* +G01X4706901Y5950464D01* +G01X4706901Y5950464D01* +G01X4659280Y5950464D01* +G01X4659810Y5953645D01* +G01X4661083Y5959373D01* +G01X4662355Y5965736D01* +G01X4663628Y5971464D01* +G01X4664901Y5977827D01* +G01X4666173Y5983555D01* +G01X4666810Y5987054D01* +G01X4667764Y5991827D01* +G01X4668719Y5995645D01* +G01X4669992Y6002009D01* +G01X4670628Y6004555D01* +G01X4671901Y6010918D01* +G01X4673173Y6016645D01* +G01X4674446Y6023009D01* +G01X4675719Y6028736D01* +G01X4676992Y6035100D01* +G01X4678264Y6040827D01* +G01X4679537Y6047191D01* +G01X4680173Y6050055D01* +G01X4681128Y6054191D01* +G01X4682401Y6058009D01* +G01X4683992Y6061191D01* +G01X4687173Y6065646D01* +G01X4689082Y6067873D01* +G01X4690674Y6069145D01* +G01X4692901Y6070736D01* +G01X4695764Y6072327D01* +G01X4698946Y6073600D01* +G01X4701810Y6074555D01* +G01X4747946Y6074873D01* +G01X4795355Y6074236D01* +G01X4798537Y6072964D01* +G01X4800764Y6072009D01* +G01X4802674Y6070736D01* +G01X4804264Y6069145D01* +G01X4805855Y6066918D01* +G01X4807128Y6064055D01* +G01X4807764Y6060236D01* +G01X4807446Y6054827D01* +G01X4806810Y6051009D01* +G01X4805537Y6045282D01* +G01X4804901Y6041782D01* +G01X4803946Y6037009D01* +G01X4802992Y6033191D01* +G01X4801719Y6026827D01* +G01X4801082Y6024282D01* +G01X4799810Y6017918D01* +G01X4798537Y6012191D01* +G01X4797264Y6005827D01* +G01X4795992Y6000100D01* +G01X4795355Y5996600D01* +G01X4794401Y5991827D01* +G01X4793446Y5988009D01* +G01X4792173Y5981646D01* +G01X4791537Y5979100D01* +G01X4790264Y5972736D01* +G01X4788992Y5967009D01* +G01X4788355Y5963509D01* +G01X4787401Y5958736D01* +G01X4785173Y5949827D01* +G01X4784219Y5947282D01* +G01X4782946Y5944736D01* +G01X4781673Y5942509D01* +G01X4780719Y5940918D01* +G01X4779446Y5939327D01* +G01X4776264Y5936145D01* +G01X4774037Y5934554D01* +G01X4771810Y5933282D01* +G01X4769901Y5932327D01* +G01X4767673Y5931373D01* +G01X4765446Y5930736D01* +G01X4718037Y5930418D01* +G37* +G36* +G01X4617651Y5930657D02* +G01X4613355Y5931373D01* +G01X4614628Y5936463D01* +G01X4617173Y5949191D01* +G01X4617810Y5952055D01* +G01X4618128Y5953964D01* +G01X4654401Y5953964D01* +G01X4653764Y5951736D01* +G01X4652810Y5947918D01* +G01X4650901Y5938373D01* +G01X4650264Y5935827D01* +G01X4649628Y5932645D01* +G01X4649310Y5930418D01* +G01X4631173Y5930418D01* +G01X4617651Y5930657D01* +G37* +G36* +G01X4476855Y5930418D02* +G01X4477492Y5931691D01* +G01X4478446Y5935191D01* +G01X4480355Y5944736D01* +G01X4481628Y5950464D01* +G01X4481946Y5952691D01* +G01X4486242Y5953645D01* +G01X4499128Y5953964D01* +G01X4517264Y5953645D01* +G01X4517901Y5953168D01* +G01X4517901Y5952373D01* +G01X4516628Y5946009D01* +G01X4515355Y5940282D01* +G01X4514082Y5933918D01* +G01X4513764Y5931691D01* +G01X4509151Y5930736D01* +G01X4495310Y5930418D01* +G01X4476855Y5930418D01* +G37* +G36* +G01X4558310Y5930418D02* +G01X4534128Y5931055D01* +G01X4534764Y5933918D01* +G01X4535719Y5937736D01* +G01X4536992Y5944100D01* +G01X4537628Y5946645D01* +G01X4538264Y5950145D01* +G01X4539219Y5954918D01* +G01X4540173Y5958736D01* +G01X4541446Y5965100D01* +G01X4542082Y5967646D01* +G01X4542719Y5971145D01* +G01X4543673Y5975918D01* +G01X4544628Y5979736D01* +G01X4545901Y5986100D01* +G01X4546537Y5988646D01* +G01X4547173Y5992145D01* +G01X4548128Y5996918D01* +G01X4549082Y6000736D01* +G01X4550355Y6007100D01* +G01X4550992Y6009645D01* +G01X4551628Y6013146D01* +G01X4552582Y6017918D01* +G01X4553537Y6021736D01* +G01X4554810Y6028100D01* +G01X4555446Y6030645D01* +G01X4556082Y6034146D01* +G01X4557037Y6038918D01* +G01X4557992Y6042736D01* +G01X4559264Y6049100D01* +G01X4559901Y6051645D01* +G01X4560537Y6054827D01* +G01X4560855Y6057055D01* +G01X4552264Y6057055D01* +G01X4543355Y6057691D01* +G01X4543355Y6059282D01* +G01X4544628Y6065009D01* +G01X4545901Y6071373D01* +G01X4546219Y6073600D01* +G01X4554491Y6074555D01* +G01X4579310Y6074873D01* +G01X4612401Y6074873D01* +G01X4612082Y6072327D01* +G01X4611128Y6067555D01* +G01X4610173Y6063736D01* +G01X4608901Y6057373D01* +G01X4608264Y6054827D01* +G01X4606991Y6048464D01* +G01X4605719Y6042736D01* +G01X4605082Y6039236D01* +G01X4604128Y6034464D01* +G01X4603173Y6030645D01* +G01X4601901Y6024282D01* +G01X4601264Y6021736D01* +G01X4600628Y6018236D01* +G01X4599673Y6013464D01* +G01X4598719Y6009645D01* +G01X4597446Y6003282D01* +G01X4596810Y6000736D01* +G01X4595537Y5994373D01* +G01X4594264Y5988646D01* +G01X4593628Y5985145D01* +G01X4592673Y5980373D01* +G01X4591719Y5976555D01* +G01X4590446Y5970191D01* +G01X4589810Y5967646D01* +G01X4588537Y5961282D01* +G01X4587264Y5955555D01* +G01X4586628Y5952055D01* +G01X4585673Y5947282D01* +G01X4584719Y5943464D01* +G01X4583446Y5937100D01* +G01X4582810Y5934554D01* +G01X4582492Y5932009D01* +G01X4582492Y5930418D01* +G01X4558310Y5930418D01* +G37* +G36* +G01X4133457Y5930657D02* +G01X4127173Y5931373D01* +G01X4125264Y5963827D01* +G01X4124628Y5974009D01* +G01X4121446Y6028100D01* +G01X4120810Y6038282D01* +G01X4118900Y6070736D01* +G01X4118582Y6073282D01* +G01X4118582Y6074873D01* +G01X4166946Y6074873D01* +G01X4166946Y6073282D01* +G01X4167264Y6070736D01* +G01X4169809Y6024918D01* +G01X4170446Y6014100D01* +G01X4172355Y5979736D01* +G01X4172673Y5973054D01* +G01X4172912Y5968918D01* +G01X4173628Y5967964D01* +G01X4175219Y5970191D01* +G01X4177764Y5975918D01* +G01X4185400Y5991191D01* +G01X4186673Y5994373D01* +G01X4194309Y6009645D01* +G01X4195582Y6012827D01* +G01X4203219Y6028100D01* +G01X4204491Y6031282D01* +G01X4212128Y6046554D01* +G01X4214673Y6052282D01* +G01X4221037Y6065009D01* +G01X4223582Y6070736D01* +G01X4224855Y6073282D01* +G01X4225491Y6074873D01* +G01X4235355Y6074873D01* +G01X4242594Y6074634D01* +G01X4244582Y6073918D01* +G01X4240764Y6066282D01* +G01X4239491Y6063100D01* +G01X4231855Y6047827D01* +G01X4230582Y6044645D01* +G01X4224219Y6031918D01* +G01X4221673Y6026191D01* +G01X4215309Y6013464D01* +G01X4212764Y6007736D01* +G01X4206400Y5995009D01* +G01X4203855Y5989282D01* +G01X4197491Y5976555D01* +G01X4194946Y5970827D01* +G01X4188582Y5958100D01* +G01X4186037Y5952373D01* +G01X4179673Y5939645D01* +G01X4178400Y5936463D01* +G01X4177128Y5933918D01* +G01X4176173Y5931691D01* +G01X4169889Y5930736D01* +G01X4151673Y5930418D01* +G01X4133457Y5930657D01* +G37* +G36* +G01X4294537Y5930418D02* +G01X4245855Y5930736D01* +G01X4243628Y5931691D01* +G01X4241082Y5932964D01* +G01X4239173Y5934236D01* +G01X4236946Y5936463D01* +G01X4235037Y5939327D01* +G01X4234082Y5941554D01* +G01X4233764Y5946009D01* +G01X4234082Y5951100D01* +G01X4235355Y5957464D01* +G01X4235991Y5960009D01* +G01X4236628Y5963509D01* +G01X4237582Y5968282D01* +G01X4238537Y5972100D01* +G01X4239810Y5978464D01* +G01X4240207Y5980054D01* +G01X4284673Y5980054D01* +G01X4284991Y5978464D01* +G01X4297082Y5978145D01* +G01X4308855Y5978145D01* +G01X4309173Y5980691D01* +G01X4310128Y5985464D01* +G01X4311719Y5991827D01* +G01X4312355Y5995327D01* +G01X4313310Y6000100D01* +G01X4314264Y6003918D01* +G01X4314901Y6007100D01* +G01X4315537Y6009645D01* +G01X4316173Y6013146D01* +G01X4317128Y6017918D01* +G01X4318719Y6024282D01* +G01X4319355Y6027782D01* +G01X4319673Y6030327D01* +G01X4307901Y6030327D01* +G01X4298912Y6030009D01* +G01X4295491Y6029055D01* +G01X4294537Y6026827D01* +G01X4292628Y6017282D01* +G01X4291673Y6012827D01* +G01X4290719Y6009009D01* +G01X4290082Y6005827D01* +G01X4289446Y6003282D01* +G01X4288810Y5999782D01* +G01X4287855Y5995009D01* +G01X4286264Y5988646D01* +G01X4284991Y5982282D01* +G01X4284673Y5980054D01* +G01X4284673Y5980054D01* +G01X4240207Y5980054D01* +G01X4240446Y5981009D01* +G01X4241082Y5984509D01* +G01X4242037Y5989282D01* +G01X4242991Y5993100D01* +G01X4244264Y5999464D01* +G01X4244900Y6002009D01* +G01X4245537Y6005509D01* +G01X4246492Y6010282D01* +G01X4247446Y6014100D01* +G01X4248082Y6017282D01* +G01X4248719Y6019827D01* +G01X4249355Y6023327D01* +G01X4250310Y6028100D01* +G01X4251582Y6031918D01* +G01X4253173Y6035100D01* +G01X4254764Y6037327D01* +G01X4256037Y6038918D01* +G01X4258264Y6041146D01* +G01X4261128Y6043055D01* +G01X4263355Y6044327D01* +G01X4266537Y6045282D01* +G01X4269719Y6045918D01* +G01X4309810Y6046236D01* +G01X4349900Y6045918D01* +G01X4352128Y6045600D01* +G01X4355310Y6044964D01* +G01X4358810Y6043373D01* +G01X4361355Y6040827D01* +G01X4362946Y6038282D01* +G01X4363900Y6035100D01* +G01X4363900Y6031918D01* +G01X4363264Y6027464D01* +G01X4361991Y6021736D01* +G01X4360719Y6015373D01* +G01X4359446Y6009645D01* +G01X4358173Y6003282D01* +G01X4356900Y5997555D01* +G01X4355628Y5991191D01* +G01X4354355Y5985464D01* +G01X4353082Y5979100D01* +G01X4351810Y5973373D01* +G01X4350537Y5967009D01* +G01X4349900Y5964145D01* +G01X4349582Y5962236D01* +G01X4280855Y5962236D01* +G01X4280537Y5960327D01* +G01X4279582Y5956191D01* +G01X4277991Y5949827D01* +G01X4277673Y5947282D01* +G01X4277673Y5945691D01* +G01X4310764Y5945691D01* +G01X4344810Y5945373D01* +G01X4345446Y5944896D01* +G01X4345446Y5944100D01* +G01X4344810Y5940600D01* +G01X4343855Y5935827D01* +G01X4342901Y5932009D01* +G01X4342582Y5930418D01* +G01X4294537Y5930418D01* +G37* +G36* +G01X-2333067Y10568136D02* +G01X-2308673Y10567985D01* +G01X-2290264Y10568136D01* +G01X-2284127Y10568591D01* +G01X-2283976Y10569652D01* +G01X-2283370Y10572379D01* +G01X-2282764Y10575409D01* +G01X-2282764Y10576167D01* +G01X-2295642Y10576470D01* +G01X-2308370Y10576470D01* +G01X-2308218Y10577530D01* +G01X-2307915Y10579046D01* +G01X-2307309Y10581773D01* +G01X-2306703Y10584803D01* +G01X-2306400Y10586015D01* +G01X-2305794Y10589046D01* +G01X-2305339Y10590864D01* +G01X-2304885Y10593136D01* +G01X-2304582Y10594803D01* +G01X-2304279Y10596015D01* +G01X-2303673Y10599045D01* +G01X-2303218Y10600864D01* +G01X-2302764Y10603136D01* +G01X-2302461Y10604803D01* +G01X-2302157Y10606015D01* +G01X-2301551Y10609045D01* +G01X-2301097Y10610864D01* +G01X-2300642Y10613136D01* +G01X-2300339Y10614803D01* +G01X-2300036Y10616015D01* +G01X-2299430Y10619045D01* +G01X-2298976Y10620864D01* +G01X-2298521Y10623136D01* +G01X-2298218Y10624803D01* +G01X-2297915Y10626015D01* +G01X-2297309Y10629045D01* +G01X-2296854Y10630864D01* +G01X-2296400Y10633136D01* +G01X-2296097Y10634803D01* +G01X-2295794Y10636015D01* +G01X-2295642Y10636773D01* +G01X-2318673Y10636773D01* +G01X-2318673Y10636015D01* +G01X-2318824Y10634803D01* +G01X-2319127Y10633591D01* +G01X-2319733Y10630561D01* +G01X-2320188Y10628742D01* +G01X-2320642Y10626470D01* +G01X-2320945Y10624803D01* +G01X-2321248Y10623591D01* +G01X-2321854Y10620561D01* +G01X-2322309Y10618742D01* +G01X-2322764Y10616470D01* +G01X-2323067Y10614803D01* +G01X-2323673Y10612076D01* +G01X-2324279Y10609045D01* +G01X-2324582Y10607833D01* +G01X-2325188Y10604803D01* +G01X-2325642Y10602985D01* +G01X-2326097Y10600712D01* +G01X-2326400Y10599045D01* +G01X-2327006Y10596318D01* +G01X-2327612Y10593288D01* +G01X-2327915Y10592076D01* +G01X-2328521Y10589046D01* +G01X-2328976Y10587227D01* +G01X-2329430Y10584955D01* +G01X-2329733Y10583288D01* +G01X-2330339Y10580561D01* +G01X-2330945Y10577530D01* +G01X-2331249Y10576318D01* +G01X-2331855Y10573288D01* +G01X-2332309Y10571470D01* +G01X-2332764Y10569349D01* +G01X-2333067Y10568136D01* +G37* +G36* +G01X-1578642Y10569046D02* +G01X-1578945Y10567985D01* +G01X-1555915Y10567985D01* +G01X-1555461Y10570258D01* +G01X-1555006Y10572076D01* +G01X-1554552Y10574349D01* +G01X-1554248Y10576015D01* +G01X-1553945Y10577227D01* +G01X-1553339Y10580258D01* +G01X-1552885Y10582076D01* +G01X-1552430Y10584349D01* +G01X-1552127Y10586015D01* +G01X-1551824Y10587227D01* +G01X-1551370Y10588742D01* +G01X-1551067Y10589500D01* +G01X-1547885Y10589500D01* +G01X-1545498Y10589349D01* +G01X-1544703Y10588894D01* +G01X-1544249Y10585712D01* +G01X-1543945Y10583894D01* +G01X-1543642Y10581773D01* +G01X-1543339Y10579955D01* +G01X-1542733Y10575712D01* +G01X-1542430Y10573894D01* +G01X-1542127Y10571773D01* +G01X-1541824Y10569955D01* +G01X-1541673Y10568894D01* +G01X-1541483Y10568401D01* +G01X-1540915Y10568136D01* +G01X-1529400Y10567985D01* +G01X-1518643Y10567985D01* +G01X-1518643Y10568894D01* +G01X-1518794Y10570258D01* +G01X-1519097Y10572379D01* +G01X-1519400Y10574197D01* +G01X-1519703Y10576318D01* +G01X-1520309Y10579955D01* +G01X-1520612Y10582076D01* +G01X-1520915Y10583894D01* +G01X-1521218Y10586015D01* +G01X-1521521Y10587833D01* +G01X-1521824Y10589500D01* +G01X-1521711Y10589765D01* +G01X-1521067Y10589955D01* +G01X-1519703Y10590409D01* +G01X-1518491Y10591015D01* +G01X-1516976Y10591924D01* +G01X-1515764Y10592833D01* +G01X-1514855Y10593894D01* +G01X-1513339Y10596015D01* +G01X-1512582Y10597530D01* +G01X-1511976Y10599349D01* +G01X-1511521Y10601470D01* +G01X-1511218Y10602985D01* +G01X-1510612Y10605712D01* +G01X-1510006Y10608742D01* +G01X-1509400Y10611470D01* +G01X-1508794Y10614500D01* +G01X-1508188Y10617227D01* +G01X-1506976Y10623288D01* +G01X-1506673Y10624500D01* +G01X-1506370Y10626015D01* +G01X-1506067Y10628136D01* +G01X-1505915Y10630106D01* +G01X-1506218Y10631318D01* +G01X-1506673Y10632530D01* +G01X-1507127Y10633439D01* +G01X-1507733Y10634197D01* +G01X-1508794Y10635106D01* +G01X-1510309Y10635864D01* +G01X-1511521Y10636318D01* +G01X-1512733Y10636621D01* +G01X-1538945Y10636773D01* +G01X-1564400Y10636773D01* +G01X-1564400Y10636015D01* +G01X-1564551Y10634803D01* +G01X-1564855Y10633591D01* +G01X-1565764Y10629045D01* +G01X-1566218Y10627227D01* +G01X-1566673Y10625106D01* +G01X-1567582Y10620561D01* +G01X-1568188Y10617833D01* +G01X-1568794Y10614803D01* +G01X-1569400Y10612076D01* +G01X-1570006Y10609045D01* +G01X-1570309Y10607833D01* +G01X-1570915Y10604803D01* +G01X-1571370Y10602985D01* +G01X-1571824Y10600712D01* +G01X-1572127Y10599045D01* +G01X-1549248Y10599045D01* +G01X-1549097Y10600258D01* +G01X-1548491Y10603288D01* +G01X-1548188Y10604500D01* +G01X-1547885Y10606015D01* +G01X-1547430Y10607833D01* +G01X-1546976Y10610106D01* +G01X-1546673Y10611773D01* +G01X-1546067Y10614500D01* +G01X-1545461Y10617530D01* +G01X-1545158Y10618742D01* +G01X-1544552Y10621773D01* +G01X-1544097Y10623591D01* +G01X-1543642Y10625864D01* +G01X-1543339Y10627530D01* +G01X-1542733Y10628136D01* +G01X-1535612Y10628288D01* +G01X-1528946Y10628288D01* +G01X-1528946Y10627379D01* +G01X-1529097Y10626015D01* +G01X-1529703Y10623288D01* +G01X-1530309Y10620258D01* +G01X-1530612Y10619045D01* +G01X-1530915Y10617530D01* +G01X-1531370Y10615712D01* +G01X-1531824Y10613439D01* +G01X-1532127Y10611773D01* +G01X-1532733Y10609045D01* +G01X-1533339Y10606015D01* +G01X-1533642Y10604803D01* +G01X-1534249Y10601773D01* +G01X-1534703Y10599955D01* +G01X-1535158Y10598439D01* +G01X-1536976Y10598099D01* +G01X-1542127Y10597985D01* +G01X-1549097Y10598136D01* +G01X-1549097Y10598136D01* +G01X-1549248Y10599045D01* +G01X-1572127Y10599045D01* +G01X-1572733Y10596318D01* +G01X-1573339Y10593288D01* +G01X-1573642Y10592076D01* +G01X-1574248Y10589046D01* +G01X-1574703Y10587227D01* +G01X-1575158Y10584955D01* +G01X-1575461Y10583288D01* +G01X-1575764Y10582076D01* +G01X-1576370Y10579046D01* +G01X-1576824Y10577227D01* +G01X-1577279Y10574955D01* +G01X-1577582Y10573288D01* +G01X-1578188Y10570561D01* +G01X-1578642Y10569046D01* +G37* +G36* +G01X222716Y6612406D02* +G01X162079Y6612845D01* +G01X155928Y6615921D01* +G01X152852Y6618118D01* +G01X150655Y6620315D01* +G01X148458Y6623391D01* +G01X146700Y6627346D01* +G01X145822Y6633058D01* +G01X146261Y6639209D01* +G01X147140Y6644482D01* +G01X148019Y6648876D01* +G01X149776Y6656785D01* +G01X150655Y6661618D01* +G01X151973Y6668209D01* +G01X153291Y6673482D01* +G01X155049Y6682270D01* +G01X155928Y6685785D01* +G01X157685Y6694573D01* +G01X159443Y6702482D01* +G01X161200Y6711270D01* +G01X162958Y6719179D01* +G01X163837Y6724012D01* +G01X165155Y6730603D01* +G01X166473Y6735876D01* +G01X168231Y6744664D01* +G01X169109Y6748179D01* +G01X170867Y6756967D01* +G01X172625Y6764876D01* +G01X174382Y6773664D01* +G01X175261Y6777618D01* +G01X176579Y6783330D01* +G01X178337Y6788603D01* +G01X180534Y6792997D01* +G01X184928Y6799148D01* +G01X187564Y6802224D01* +G01X189761Y6803982D01* +G01X192837Y6806179D01* +G01X196791Y6808376D01* +G01X201185Y6810133D01* +G01X205140Y6811451D01* +G01X264897Y6811891D01* +G01X323337Y6811451D01* +G01X322897Y6807936D01* +G01X322018Y6803542D01* +G01X320261Y6795633D01* +G01X319382Y6790800D01* +G01X318943Y6787285D01* +G01X244246Y6787285D01* +G01X243367Y6785088D01* +G01X242049Y6780694D01* +G01X241170Y6776300D01* +G01X240291Y6772785D01* +G01X238534Y6763997D01* +G01X236776Y6756088D01* +G01X235897Y6751254D01* +G01X234579Y6744664D01* +G01X233261Y6739391D01* +G01X232382Y6734997D01* +G01X231504Y6731482D01* +G01X230625Y6727088D01* +G01X230185Y6724012D01* +G01X289064Y6724012D01* +G01X288185Y6721815D01* +G01X286867Y6717421D01* +G01X285109Y6708633D01* +G01X284231Y6705118D01* +G01X283791Y6701603D01* +G01X283791Y6699406D01* +G01X254791Y6699406D01* +G01X232822Y6699076D01* +G01X224912Y6698088D01* +G01X223594Y6693255D01* +G01X222276Y6686664D01* +G01X220958Y6681391D01* +G01X220079Y6676997D01* +G01X219200Y6673482D01* +G01X218322Y6668649D01* +G01X217003Y6662057D01* +G01X215685Y6656785D01* +G01X213928Y6647997D01* +G01X213049Y6644482D01* +G01X212170Y6640088D01* +G01X211731Y6637012D01* +G01X248640Y6637012D01* +G01X285988Y6636133D01* +G01X285988Y6633936D01* +G01X284231Y6625148D01* +G01X282473Y6617239D01* +G01X282034Y6614164D01* +G01X267204Y6612845D01* +G01X222716Y6612406D01* +G37* +G36* +G01X390124Y6612406D02* +G01X324655Y6612845D01* +G01X318503Y6615921D01* +G01X315428Y6618118D01* +G01X313231Y6620315D01* +G01X311034Y6623391D01* +G01X309276Y6627346D01* +G01X308397Y6633058D01* +G01X308837Y6640088D01* +G01X309715Y6645361D01* +G01X312352Y6658542D01* +G01X313231Y6662057D01* +G01X314109Y6666891D01* +G01X314549Y6670406D01* +G01X347943Y6670406D01* +G01X372878Y6670187D01* +G01X380897Y6669527D01* +G01X380019Y6666012D01* +G01X379140Y6662057D01* +G01X377382Y6653270D01* +G01X375625Y6645361D01* +G01X374746Y6640527D01* +G01X374306Y6637012D01* +G01X394958Y6637012D01* +G01X410556Y6637342D01* +G01X416049Y6638330D01* +G01X417367Y6642724D01* +G01X418685Y6647997D01* +G01X419564Y6652391D01* +G01X420443Y6655906D01* +G01X421322Y6660739D01* +G01X422640Y6667330D01* +G01X423958Y6672603D01* +G01X425715Y6681391D01* +G01X426594Y6684906D01* +G01X428352Y6693694D01* +G01X428791Y6697209D01* +G01X428791Y6699406D01* +G01X390564Y6699406D01* +G01X351019Y6699846D01* +G01X347503Y6700285D01* +G01X342231Y6701164D01* +G01X337397Y6703361D01* +G01X334321Y6705558D01* +G01X331246Y6708633D01* +G01X328609Y6712588D01* +G01X327291Y6715664D01* +G01X326852Y6720936D01* +G01X327291Y6727088D01* +G01X328170Y6732361D01* +G01X329049Y6736755D01* +G01X330806Y6744664D01* +G01X331685Y6749497D01* +G01X333003Y6756088D01* +G01X334321Y6761361D01* +G01X336958Y6774542D01* +G01X337837Y6778058D01* +G01X338715Y6782012D01* +G01X340034Y6786406D01* +G01X341791Y6790361D01* +G01X343549Y6793876D01* +G01X345306Y6796512D01* +G01X348822Y6800906D01* +G01X351019Y6803103D01* +G01X354534Y6805739D01* +G01X358928Y6808376D01* +G01X363761Y6810133D01* +G01X367716Y6811451D01* +G01X431428Y6811891D01* +G01X496458Y6811012D01* +G01X501291Y6809255D01* +G01X505685Y6807057D01* +G01X508761Y6804421D01* +G01X510518Y6802224D01* +G01X511837Y6799588D01* +G01X513155Y6796073D01* +G01X514034Y6791239D01* +G01X513594Y6785967D01* +G01X512716Y6780694D01* +G01X508322Y6758724D01* +G01X507882Y6755648D01* +G01X499534Y6754330D01* +G01X474488Y6753891D01* +G01X449553Y6754220D01* +G01X441534Y6755209D01* +G01X443291Y6763997D01* +G01X445049Y6771906D01* +G01X446806Y6780694D01* +G01X447685Y6784649D01* +G01X448125Y6787285D01* +G01X427473Y6787285D01* +G01X411765Y6786955D01* +G01X405943Y6785967D01* +G01X404625Y6781133D01* +G01X403306Y6774542D01* +G01X401988Y6769270D01* +G01X400231Y6760482D01* +G01X399352Y6756967D01* +G01X398473Y6752133D01* +G01X397155Y6745542D01* +G01X395837Y6740270D01* +G01X394958Y6735876D01* +G01X394079Y6732361D01* +G01X393200Y6727527D01* +G01X392761Y6724012D01* +G01X434943Y6724012D01* +G01X478882Y6723133D01* +G01X482397Y6721815D01* +G01X485034Y6720497D01* +G01X487670Y6718739D01* +G01X490306Y6716543D01* +G01X492064Y6714345D01* +G01X493382Y6711709D01* +G01X494700Y6708194D01* +G01X495579Y6703361D01* +G01X495140Y6698967D01* +G01X494261Y6692815D01* +G01X492503Y6684906D01* +G01X490746Y6676118D01* +G01X488988Y6668209D01* +G01X488109Y6663376D01* +G01X486791Y6656785D01* +G01X485473Y6651512D01* +G01X484594Y6647118D01* +G01X482837Y6640088D01* +G01X481519Y6635694D01* +G01X479321Y6631300D01* +G01X474927Y6625148D01* +G01X472291Y6622073D01* +G01X470094Y6620315D01* +G01X467018Y6618118D01* +G01X463503Y6615921D01* +G01X459549Y6614164D01* +G01X455594Y6612845D01* +G01X390124Y6612406D01* +G37* +G36* +G01X536003Y6612406D02* +G01X502609Y6612845D01* +G01X504806Y6621633D01* +G01X506564Y6630421D01* +G01X507443Y6633936D01* +G01X508322Y6638770D01* +G01X509640Y6645361D01* +G01X510958Y6650633D01* +G01X512716Y6659421D01* +G01X513594Y6662936D01* +G01X515352Y6671724D01* +G01X517109Y6679633D01* +G01X517988Y6684467D01* +G01X519306Y6691058D01* +G01X520625Y6696330D01* +G01X522118Y6703800D01* +G01X588291Y6703800D01* +G01X588291Y6699846D01* +G01X608943Y6699406D01* +G01X629155Y6699406D01* +G01X630034Y6702042D01* +G01X631352Y6706876D01* +G01X633109Y6715664D01* +G01X633988Y6719179D01* +G01X634867Y6724012D01* +G01X636185Y6730603D01* +G01X637503Y6735876D01* +G01X639261Y6744664D01* +G01X640140Y6748179D01* +G01X641897Y6756967D01* +G01X643655Y6764876D01* +G01X645412Y6773664D01* +G01X647170Y6781573D01* +G01X647609Y6785088D01* +G01X647609Y6787285D01* +G01X606306Y6787285D01* +G01X605867Y6785088D01* +G01X603230Y6774542D01* +G01X601473Y6765755D01* +G01X600594Y6762239D01* +G01X599715Y6757406D01* +G01X598397Y6750815D01* +G01X597079Y6745542D01* +G01X595321Y6736755D01* +G01X594443Y6733239D01* +G01X593564Y6728406D01* +G01X592246Y6721815D01* +G01X590927Y6716543D01* +G01X590049Y6712149D01* +G01X589170Y6708633D01* +G01X588291Y6703800D01* +G01X588291Y6703800D01* +G01X522118Y6703800D01* +G01X522382Y6705118D01* +G01X523261Y6708633D01* +G01X525019Y6717421D01* +G01X526776Y6725330D01* +G01X527655Y6730164D01* +G01X528973Y6736755D01* +G01X530291Y6742027D01* +G01X532049Y6750815D01* +G01X532928Y6754330D01* +G01X534685Y6763118D01* +G01X536443Y6771027D01* +G01X538200Y6779815D01* +G01X539958Y6787724D01* +G01X541715Y6796512D01* +G01X543473Y6804421D01* +G01X544352Y6808815D01* +G01X544791Y6811891D01* +G01X619488Y6811891D01* +G01X696821Y6811012D01* +G01X701655Y6809255D01* +G01X706049Y6807057D01* +G01X709564Y6803542D01* +G01X711761Y6800027D01* +G01X713079Y6796512D01* +G01X713958Y6792997D01* +G01X713958Y6787724D01* +G01X713079Y6781573D01* +G01X711321Y6772785D01* +G01X710443Y6769270D01* +G01X708685Y6760482D01* +G01X706928Y6752573D01* +G01X706049Y6747739D01* +G01X704731Y6741149D01* +G01X703412Y6735876D01* +G01X702534Y6731482D01* +G01X701655Y6727967D01* +G01X700776Y6723133D01* +G01X699458Y6716543D01* +G01X698140Y6711270D01* +G01X697261Y6706876D01* +G01X695943Y6702042D01* +G01X694185Y6697209D01* +G01X692427Y6693694D01* +G01X690670Y6690618D01* +G01X688473Y6687982D01* +G01X683200Y6682709D01* +G01X678806Y6679633D01* +G01X674852Y6677436D01* +G01X671337Y6676118D01* +G01X668261Y6675239D01* +G01X625200Y6674800D01* +G01X593674Y6674470D01* +G01X582579Y6673482D01* +G01X581261Y6670845D01* +G01X580382Y6666012D01* +G01X579064Y6659421D01* +G01X577746Y6654148D01* +G01X575988Y6645361D01* +G01X575109Y6641845D01* +G01X574231Y6637012D01* +G01X572912Y6630421D01* +G01X571594Y6625148D01* +G01X570715Y6620755D01* +G01X569837Y6617239D01* +G01X569397Y6614164D01* +G01X561049Y6612845D01* +G01X536003Y6612406D01* +G37* +G36* +G01X1651624Y6612406D02* +G01X1591427Y6612845D01* +G01X1588351Y6614164D01* +G01X1584836Y6615921D01* +G01X1582200Y6617679D01* +G01X1579124Y6620755D01* +G01X1576927Y6624270D01* +G01X1575609Y6627346D01* +G01X1574730Y6633497D01* +G01X1575170Y6640088D01* +G01X1578685Y6657664D01* +G01X1579564Y6661179D01* +G01X1581321Y6669967D01* +G01X1583079Y6677876D01* +G01X1584836Y6686664D01* +G01X1586594Y6694573D01* +G01X1587473Y6699406D01* +G01X1588791Y6705997D01* +G01X1590109Y6711270D01* +G01X1591867Y6720058D01* +G01X1592745Y6723573D01* +G01X1594503Y6732361D01* +G01X1596261Y6740270D01* +G01X1598018Y6749058D01* +G01X1599776Y6756967D01* +G01X1601533Y6765755D01* +G01X1603291Y6773664D01* +G01X1604170Y6778058D01* +G01X1605488Y6783770D01* +G01X1607245Y6788603D01* +G01X1609442Y6792997D01* +G01X1612079Y6796952D01* +G01X1614276Y6800027D01* +G01X1617352Y6803103D01* +G01X1621746Y6806179D01* +G01X1625700Y6808376D01* +G01X1630094Y6810133D01* +G01X1634049Y6811451D01* +G01X1693806Y6811891D01* +G01X1752245Y6811451D01* +G01X1751806Y6808376D01* +G01X1750927Y6804421D01* +G01X1749170Y6795633D01* +G01X1748291Y6790800D01* +G01X1747852Y6787285D01* +G01X1672276Y6787285D01* +G01X1671836Y6784209D01* +G01X1670518Y6778058D01* +G01X1669200Y6772785D01* +G01X1668321Y6768391D01* +G01X1667442Y6764876D01* +G01X1665685Y6756088D01* +G01X1663927Y6748179D01* +G01X1662170Y6739391D01* +G01X1660412Y6731482D01* +G01X1659533Y6727088D01* +G01X1659094Y6724012D01* +G01X1717094Y6724012D01* +G01X1715776Y6717421D01* +G01X1714897Y6713906D01* +G01X1714018Y6709073D01* +G01X1712700Y6702482D01* +G01X1711821Y6699406D01* +G01X1653821Y6699406D01* +G01X1653382Y6696770D01* +G01X1652064Y6691058D01* +G01X1650746Y6685785D01* +G01X1649867Y6681391D01* +G01X1648988Y6677876D01* +G01X1648109Y6673042D01* +G01X1646791Y6666451D01* +G01X1645473Y6661179D01* +G01X1644594Y6656785D01* +G01X1643715Y6653270D01* +G01X1641079Y6640088D01* +G01X1640639Y6637012D01* +G01X1677548Y6637012D01* +G01X1714897Y6636133D01* +G01X1714897Y6633936D01* +G01X1713139Y6626027D01* +G01X1711382Y6617239D01* +G01X1710943Y6614164D01* +G01X1696113Y6612845D01* +G01X1651624Y6612406D01* +G37* +G36* +G01X1154670Y6612406D02* +G01X1155109Y6614603D01* +G01X1157746Y6625148D01* +G01X1159503Y6633936D01* +G01X1160821Y6637891D01* +G01X1162579Y6640527D01* +G01X1177958Y6662057D01* +G01X1184109Y6670845D01* +G01X1210473Y6707755D01* +G01X1216624Y6716543D01* +G01X1238594Y6747300D01* +G01X1244746Y6756088D01* +G01X1264518Y6783770D01* +G01X1265836Y6785967D01* +G01X1256939Y6786955D01* +G01X1229367Y6787285D01* +G01X1192458Y6788164D01* +G01X1192897Y6791239D01* +G01X1193776Y6794754D01* +G01X1195533Y6803542D01* +G01X1196412Y6808376D01* +G01X1196852Y6811891D01* +G01X1338336Y6811891D01* +G01X1337897Y6809255D01* +G01X1336579Y6803542D01* +G01X1335261Y6798270D01* +G01X1333503Y6789482D01* +G01X1331746Y6785088D01* +G01X1318564Y6766633D01* +G01X1312412Y6757845D01* +G01X1272867Y6702482D01* +G01X1266715Y6693694D01* +G01X1229367Y6641406D01* +G01X1228049Y6638770D01* +G01X1227609Y6637012D01* +G01X1264518Y6637012D01* +G01X1292090Y6636683D01* +G01X1300988Y6635694D01* +G01X1299230Y6628664D01* +G01X1296594Y6615482D01* +G01X1296155Y6612406D01* +G01X1154670Y6612406D01* +G37* +G36* +G01X1314774Y6613148D02* +G01X1314609Y6613724D01* +G01X1319442Y6618558D01* +G01X1322958Y6622952D01* +G01X1331746Y6631740D01* +G01X1337018Y6637891D01* +G01X1344488Y6645361D01* +G01X1347124Y6648876D01* +G01X1356791Y6658542D01* +G01X1359427Y6662057D01* +G01X1369094Y6671724D01* +G01X1371730Y6675239D01* +G01X1380518Y6684027D01* +G01X1384033Y6688421D01* +G01X1390624Y6695012D01* +G01X1392382Y6697648D01* +G01X1391942Y6701164D01* +G01X1368215Y6772346D01* +G01X1365579Y6781133D01* +G01X1357670Y6804861D01* +G01X1356352Y6809255D01* +G01X1355912Y6811891D01* +G01X1388427Y6811891D01* +G01X1413143Y6811451D01* +G01X1422261Y6810133D01* +G01X1424018Y6806179D01* +G01X1435882Y6770588D01* +G01X1438518Y6761800D01* +G01X1441155Y6753891D01* +G01X1442473Y6749497D01* +G01X1442912Y6746861D01* +G01X1444670Y6747739D01* +G01X1447306Y6749936D01* +G01X1453897Y6756527D01* +G01X1459170Y6762679D01* +G01X1466639Y6770148D01* +G01X1469276Y6773664D01* +G01X1478942Y6783330D01* +G01X1481579Y6786845D01* +G01X1490367Y6795633D01* +G01X1493882Y6800027D01* +G01X1500473Y6806618D01* +G01X1503109Y6809694D01* +G01X1504427Y6811891D01* +G01X1519367Y6811891D01* +G01X1530352Y6811671D01* +G01X1533427Y6811012D01* +G01X1531670Y6808815D01* +G01X1522882Y6800027D01* +G01X1519367Y6795633D01* +G01X1510579Y6786845D01* +G01X1507064Y6782451D01* +G01X1500473Y6775861D01* +G01X1496958Y6771467D01* +G01X1488170Y6762679D01* +G01X1483776Y6757406D01* +G01X1474988Y6748618D01* +G01X1469715Y6742467D01* +G01X1463124Y6735876D01* +G01X1459609Y6731482D01* +G01X1453018Y6724891D01* +G01X1452139Y6723463D01* +G01X1452139Y6720936D01* +G01X1453458Y6716103D01* +G01X1478503Y6640967D01* +G01X1479821Y6636133D01* +G01X1487730Y6612406D01* +G01X1454776Y6612406D01* +G01X1429840Y6612736D01* +G01X1420943Y6613724D01* +G01X1419185Y6617679D01* +G01X1412155Y6638770D01* +G01X1408640Y6650194D01* +G01X1401609Y6671285D01* +G01X1400621Y6673152D01* +G01X1399412Y6673482D01* +G01X1397655Y6671724D01* +G01X1395897Y6669527D01* +G01X1387109Y6660739D01* +G01X1383594Y6656346D01* +G01X1374806Y6647558D01* +G01X1371291Y6643164D01* +G01X1362503Y6634376D01* +G01X1358988Y6629982D01* +G01X1350200Y6621194D01* +G01X1345806Y6615921D01* +G01X1343609Y6613724D01* +G01X1339215Y6612736D01* +G01X1327791Y6612406D01* +G01X1317026Y6612736D01* +G01X1314774Y6613148D01* +G37* +G36* +G01X789973Y6612406D02* +G01X724943Y6612845D01* +G01X721867Y6614164D01* +G01X718352Y6615921D01* +G01X715715Y6617679D01* +G01X713519Y6619876D01* +G01X711761Y6622512D01* +G01X710003Y6626027D01* +G01X708685Y6629542D01* +G01X708246Y6632618D01* +G01X708685Y6637451D01* +G01X709564Y6643603D01* +G01X710443Y6647997D01* +G01X710882Y6651512D01* +G01X710882Y6653709D01* +G01X744276Y6653709D01* +G01X769212Y6653380D01* +G01X777231Y6652391D01* +G01X775473Y6643603D01* +G01X775034Y6639649D01* +G01X775034Y6637012D01* +G01X794367Y6637012D01* +G01X815018Y6637451D01* +G01X816227Y6638550D01* +G01X817215Y6640967D01* +G01X818534Y6646239D01* +G01X820291Y6655027D01* +G01X821170Y6658542D01* +G01X822049Y6663376D01* +G01X823367Y6669967D01* +G01X824685Y6675239D01* +G01X825564Y6679633D01* +G01X826443Y6683148D01* +G01X829079Y6696330D01* +G01X829518Y6699406D01* +G01X809306Y6699406D01* +G01X788655Y6700285D01* +G01X788655Y6702482D01* +G01X790412Y6710391D01* +G01X792170Y6719179D01* +G01X792609Y6722254D01* +G01X797772Y6723573D01* +G01X813261Y6724012D01* +G01X828969Y6724452D01* +G01X834791Y6725770D01* +G01X836109Y6728846D01* +G01X836988Y6733679D01* +G01X838306Y6740270D01* +G01X839624Y6745542D01* +G01X841382Y6754330D01* +G01X842261Y6757845D01* +G01X843140Y6762679D01* +G01X844458Y6769270D01* +G01X845776Y6774542D01* +G01X846655Y6778936D01* +G01X847534Y6782451D01* +G01X847973Y6785527D01* +G01X842920Y6786845D01* +G01X827761Y6787285D01* +G01X806670Y6786406D01* +G01X805352Y6784209D01* +G01X803594Y6775421D01* +G01X801837Y6767512D01* +G01X800079Y6758724D01* +G01X799640Y6755648D01* +G01X791291Y6754330D01* +G01X766246Y6753891D01* +G01X732852Y6753891D01* +G01X733291Y6756088D01* +G01X734170Y6759603D01* +G01X737685Y6777179D01* +G01X738564Y6781133D01* +G01X739882Y6785527D01* +G01X741640Y6789482D01* +G01X743837Y6793876D01* +G01X746912Y6798270D01* +G01X752185Y6803542D01* +G01X755261Y6806179D01* +G01X759215Y6808376D01* +G01X763609Y6810133D01* +G01X767564Y6811451D01* +G01X830837Y6811891D01* +G01X894109Y6811451D01* +G01X898064Y6810573D01* +G01X902018Y6809255D01* +G01X905533Y6807057D01* +G01X909488Y6803542D01* +G01X912124Y6799588D01* +G01X913443Y6796512D01* +G01X913882Y6791239D01* +G01X913443Y6783330D01* +G01X912564Y6778058D01* +G01X910806Y6770148D01* +G01X909927Y6765315D01* +G01X908609Y6758724D01* +G01X907291Y6753452D01* +G01X904655Y6740270D01* +G01X903776Y6736755D01* +G01X902897Y6732361D01* +G01X901579Y6727527D01* +G01X899382Y6723573D01* +G01X897185Y6720497D01* +G01X895428Y6718300D01* +G01X892352Y6715664D01* +G01X888397Y6713027D01* +G01X887408Y6711819D01* +G01X887958Y6710830D01* +G01X891034Y6707755D01* +G01X893670Y6703800D01* +G01X894988Y6700724D01* +G01X894988Y6696330D01* +G01X892352Y6683148D01* +G01X891473Y6678315D01* +G01X890155Y6671724D01* +G01X888836Y6666451D01* +G01X887079Y6657664D01* +G01X886200Y6654148D01* +G01X884443Y6645361D01* +G01X883564Y6641406D01* +G01X882246Y6637451D01* +G01X880488Y6633497D01* +G01X878731Y6629982D01* +G01X876973Y6627346D01* +G01X874776Y6624709D01* +G01X870382Y6620315D01* +G01X867306Y6618118D01* +G01X864230Y6616361D01* +G01X861594Y6615042D01* +G01X858519Y6613724D01* +G01X855443Y6612845D01* +G01X789973Y6612406D01* +G37* +G36* +G01X990337Y6612406D02* +G01X902897Y6612845D01* +G01X903776Y6615921D01* +G01X904655Y6619876D01* +G01X905533Y6624709D01* +G01X906852Y6631300D01* +G01X908170Y6636573D01* +G01X909927Y6645361D01* +G01X910806Y6648876D01* +G01X911685Y6653709D01* +G01X913003Y6660300D01* +G01X916079Y6672603D01* +G01X917397Y6676118D01* +G01X919155Y6679633D01* +G01X920912Y6682709D01* +G01X922231Y6684906D01* +G01X923988Y6687103D01* +G01X926185Y6689300D01* +G01X929261Y6691936D01* +G01X932337Y6694133D01* +G01X935412Y6695891D01* +G01X940246Y6697648D01* +G01X944200Y6698967D01* +G01X987261Y6699406D01* +G01X1029003Y6699406D01* +G01X1029882Y6701603D01* +G01X1031200Y6705118D01* +G01X1032079Y6709951D01* +G01X1033397Y6716543D01* +G01X1034715Y6721815D01* +G01X1036473Y6730603D01* +G01X1037352Y6734118D01* +G01X1038230Y6738951D01* +G01X1039549Y6745542D01* +G01X1040867Y6750815D01* +G01X1042624Y6759603D01* +G01X1043503Y6763118D01* +G01X1045261Y6771906D01* +G01X1047018Y6779815D01* +G01X1047897Y6784209D01* +G01X1048337Y6787285D01* +G01X1006155Y6787285D01* +G01X1005715Y6784649D01* +G01X1003079Y6772785D01* +G01X1002200Y6767952D01* +G01X1000882Y6761361D01* +G01X999564Y6756088D01* +G01X999125Y6753891D01* +G01X933215Y6753891D01* +G01X933655Y6756967D01* +G01X936291Y6770148D01* +G01X938928Y6782012D01* +G01X940246Y6786406D01* +G01X942003Y6790361D01* +G01X943761Y6793876D01* +G01X945518Y6796512D01* +G01X949033Y6800906D01* +G01X951231Y6803103D01* +G01X954746Y6805739D01* +G01X959140Y6808376D01* +G01X963973Y6810133D01* +G01X967927Y6811451D01* +G01X1031640Y6811891D01* +G01X1096670Y6811012D01* +G01X1101503Y6809255D01* +G01X1105897Y6807057D01* +G01X1108973Y6804421D01* +G01X1110730Y6802224D01* +G01X1112488Y6799148D01* +G01X1113806Y6795633D01* +G01X1114246Y6791679D01* +G01X1113806Y6785088D01* +G01X1112927Y6779815D01* +G01X1111170Y6771027D01* +G01X1109412Y6763118D01* +G01X1108534Y6758285D01* +G01X1107215Y6751694D01* +G01X1105897Y6746421D01* +G01X1104140Y6737633D01* +G01X1103261Y6734118D01* +G01X1101503Y6725330D01* +G01X1100624Y6720497D01* +G01X1099306Y6713906D01* +G01X1096231Y6701603D01* +G01X1094912Y6698088D01* +G01X1093155Y6694573D01* +G01X1091397Y6691497D01* +G01X1090079Y6689300D01* +G01X1088321Y6687103D01* +G01X1086124Y6684906D01* +G01X1083049Y6682270D01* +G01X1079973Y6680073D01* +G01X1076897Y6678315D01* +G01X1072064Y6676558D01* +G01X1068109Y6675239D01* +G01X1025049Y6674800D01* +G01X982867Y6673921D01* +G01X981549Y6669967D01* +G01X979352Y6661179D01* +G01X977594Y6652391D01* +G01X975837Y6644482D01* +G01X974958Y6640088D01* +G01X974518Y6637012D01* +G01X1082609Y6637012D01* +G01X1079534Y6621633D01* +G01X1078655Y6618118D01* +G01X1078215Y6614603D01* +G01X1078215Y6612406D01* +G01X990337Y6612406D01* +G37* +G36* +G01X2133639Y6612406D02* +G01X2134079Y6614603D01* +G01X2134957Y6618118D01* +G01X2136715Y6626027D01* +G01X2137594Y6630861D01* +G01X2138912Y6637451D01* +G01X2140230Y6642724D01* +G01X2141988Y6651512D01* +G01X2142866Y6655027D01* +G01X2144624Y6663815D01* +G01X2146382Y6671724D01* +G01X2147260Y6676558D01* +G01X2148579Y6683148D01* +G01X2149897Y6688421D01* +G01X2151654Y6697209D01* +G01X2152533Y6700724D01* +G01X2153148Y6703800D01* +G01X2219321Y6703800D01* +G01X2219321Y6699846D01* +G01X2238654Y6699406D01* +G01X2258866Y6699846D01* +G01X2260075Y6700944D01* +G01X2261064Y6703361D01* +G01X2262382Y6708633D01* +G01X2264139Y6717421D01* +G01X2265018Y6720936D01* +G01X2266776Y6729724D01* +G01X2268533Y6737633D01* +G01X2269412Y6742467D01* +G01X2270730Y6749058D01* +G01X2272048Y6754330D01* +G01X2272927Y6758724D01* +G01X2273806Y6762239D01* +G01X2275563Y6771027D01* +G01X2277321Y6778936D01* +G01X2278200Y6783770D01* +G01X2278639Y6787285D01* +G01X2258866Y6787285D01* +G01X2237776Y6786406D01* +G01X2236018Y6782451D01* +G01X2234700Y6776300D01* +G01X2233382Y6771027D01* +G01X2230745Y6757845D01* +G01X2229867Y6754330D01* +G01X2228988Y6749497D01* +G01X2227669Y6742906D01* +G01X2226351Y6737633D01* +G01X2224594Y6728846D01* +G01X2223715Y6725330D01* +G01X2221957Y6716543D01* +G01X2220200Y6708633D01* +G01X2219321Y6703800D01* +G01X2219321Y6703800D01* +G01X2153148Y6703800D01* +G01X2154291Y6709512D01* +G01X2156048Y6717421D01* +G01X2157806Y6726209D01* +G01X2159563Y6734118D01* +G01X2160442Y6738951D01* +G01X2161761Y6745542D01* +G01X2163079Y6750815D01* +G01X2163957Y6755209D01* +G01X2164836Y6758724D01* +G01X2165715Y6763558D01* +G01X2167033Y6770148D01* +G01X2168351Y6775421D01* +G01X2170109Y6784209D01* +G01X2170988Y6787724D01* +G01X2172745Y6796512D01* +G01X2174503Y6804421D01* +G01X2175382Y6808815D01* +G01X2175821Y6811891D01* +G01X2248321Y6811891D01* +G01X2324776Y6811451D01* +G01X2330488Y6810133D01* +G01X2334003Y6808815D01* +G01X2336639Y6807057D01* +G01X2338836Y6804861D01* +G01X2341473Y6801785D01* +G01X2343669Y6797830D01* +G01X2344548Y6791239D01* +G01X2344109Y6783330D01* +G01X2343230Y6778936D01* +G01X2341473Y6771027D01* +G01X2339715Y6762239D01* +G01X2338836Y6757406D01* +G01X2337518Y6750815D01* +G01X2336200Y6745542D01* +G01X2334442Y6736755D01* +G01X2333564Y6733239D01* +G01X2329170Y6711270D01* +G01X2327851Y6705118D01* +G01X2326094Y6699406D01* +G01X2323897Y6694573D01* +G01X2321261Y6690179D01* +G01X2318624Y6687103D01* +G01X2314230Y6682709D01* +G01X2312033Y6680952D01* +G01X2308957Y6679194D01* +G01X2305442Y6677436D01* +G01X2301488Y6676118D01* +G01X2298851Y6675679D01* +G01X2299291Y6672164D01* +G01X2300169Y6666451D01* +G01X2301927Y6655906D01* +G01X2302806Y6649754D01* +G01X2303685Y6644482D01* +G01X2304563Y6638330D01* +G01X2305442Y6633058D01* +G01X2306321Y6626906D01* +G01X2307200Y6621633D01* +G01X2308518Y6612406D01* +G01X2241730Y6612406D01* +G01X2241291Y6615482D01* +G01X2239533Y6626027D01* +G01X2238654Y6632179D01* +G01X2237776Y6637451D01* +G01X2236897Y6643603D01* +G01X2236018Y6648876D01* +G01X2235139Y6655027D01* +G01X2234260Y6660300D01* +G01X2233382Y6666451D01* +G01X2232503Y6671724D01* +G01X2232063Y6674800D01* +G01X2223276Y6674800D01* +G01X2213609Y6673921D01* +G01X2212291Y6670845D01* +G01X2211412Y6666451D01* +G01X2210533Y6662936D01* +G01X2209655Y6658103D01* +G01X2208336Y6651512D01* +G01X2207018Y6646239D01* +G01X2205261Y6637451D01* +G01X2204382Y6633936D01* +G01X2202624Y6625148D01* +G01X2200867Y6617239D01* +G01X2200427Y6614164D01* +G01X2192079Y6612845D01* +G01X2167033Y6612406D01* +G01X2133639Y6612406D01* +G37* +G36* +G01X1782014Y6612736D02* +G01X1774215Y6613724D01* +G01X1773776Y6616361D01* +G01X1772018Y6647997D01* +G01X1771140Y6662936D01* +G01X1766746Y6742027D01* +G01X1765867Y6756967D01* +G01X1765427Y6765315D01* +G01X1765427Y6772346D01* +G01X1826942Y6772346D01* +G01X1826942Y6768391D01* +G01X1827382Y6763118D01* +G01X1829139Y6731482D01* +G01X1830018Y6714785D01* +G01X1831776Y6683148D01* +G01X1832215Y6676118D01* +G01X1832654Y6667330D01* +G01X1833204Y6665133D01* +G01X1833973Y6664694D01* +G01X1835730Y6666451D01* +G01X1842761Y6680512D01* +G01X1846276Y6688421D01* +G01X1858579Y6713027D01* +G01X1862094Y6720936D01* +G01X1874397Y6745542D01* +G01X1877912Y6753452D01* +G01X1884942Y6767512D01* +G01X1886261Y6770588D01* +G01X1889886Y6771906D01* +G01X1899882Y6772346D01* +G01X1909658Y6772126D01* +G01X1912624Y6771467D01* +G01X1911306Y6768391D01* +G01X1909548Y6763997D01* +G01X1897245Y6739391D01* +G01X1893730Y6731482D01* +G01X1883185Y6710391D01* +G01X1880548Y6704240D01* +G01X1868245Y6679633D01* +G01X1864730Y6671724D01* +G01X1854185Y6650633D01* +G01X1850670Y6642724D01* +G01X1838367Y6618118D01* +G01X1837048Y6614603D01* +G01X1836609Y6612406D01* +G01X1805412Y6612406D01* +G01X1782014Y6612736D01* +G37* +G36* +G01X1973261Y6612406D02* +G01X1917457Y6612845D01* +G01X1914382Y6614164D01* +G01X1910867Y6615921D01* +G01X1908230Y6617679D01* +G01X1906033Y6619876D01* +G01X1904276Y6622073D01* +G01X1902518Y6625148D01* +G01X1901200Y6628664D01* +G01X1900761Y6632179D01* +G01X1901137Y6637451D01* +G01X1961836Y6637451D01* +G01X1961836Y6633936D01* +G01X1977215Y6633497D01* +G01X1993473Y6633936D01* +G01X1994681Y6635035D01* +G01X1995670Y6637451D01* +G01X1996988Y6642724D01* +G01X1997867Y6647118D01* +G01X1998745Y6650633D01* +G01X1999624Y6655467D01* +G01X2000942Y6662057D01* +G01X2002260Y6667330D01* +G01X2003139Y6671724D01* +G01X2004018Y6675239D01* +G01X2004897Y6680073D01* +G01X2006215Y6686664D01* +G01X2008412Y6695452D01* +G01X2009291Y6700285D01* +G01X2010609Y6706876D01* +G01X2011927Y6712149D01* +G01X2012806Y6716543D01* +G01X2013685Y6720058D01* +G01X2014563Y6724891D01* +G01X2015882Y6731482D01* +G01X2017200Y6736755D01* +G01X2018079Y6741149D01* +G01X2018957Y6744664D01* +G01X2019397Y6748179D01* +G01X2019397Y6750376D01* +G01X1986882Y6750376D01* +G01X1986003Y6748179D01* +G01X1984685Y6743785D01* +G01X1983806Y6739391D01* +G01X1982927Y6735876D01* +G01X1982048Y6731042D01* +G01X1980730Y6724452D01* +G01X1979412Y6719179D01* +G01X1978533Y6714785D01* +G01X1977654Y6711270D01* +G01X1976776Y6706436D01* +G01X1975458Y6699846D01* +G01X1973261Y6691058D01* +G01X1972382Y6686224D01* +G01X1971064Y6679633D01* +G01X1969745Y6674361D01* +G01X1968867Y6669967D01* +G01X1967988Y6666451D01* +G01X1967109Y6661618D01* +G01X1965791Y6655027D01* +G01X1964473Y6649754D01* +G01X1963594Y6645361D01* +G01X1962715Y6641845D01* +G01X1961836Y6637451D01* +G01X1961836Y6637451D01* +G01X1901137Y6637451D01* +G01X1901200Y6638330D01* +G01X1902079Y6643603D01* +G01X1902958Y6648436D01* +G01X1904276Y6655027D01* +G01X1905594Y6660300D01* +G01X1906473Y6664694D01* +G01X1907352Y6668209D01* +G01X1908230Y6673042D01* +G01X1909548Y6679633D01* +G01X1910867Y6684906D01* +G01X1912624Y6693694D01* +G01X1913503Y6697209D01* +G01X1914382Y6702042D01* +G01X1915700Y6708633D01* +G01X1917018Y6713906D01* +G01X1918776Y6722694D01* +G01X1919655Y6726209D01* +G01X1922291Y6739391D01* +G01X1923609Y6745542D01* +G01X1924927Y6749936D01* +G01X1925806Y6753012D01* +G01X1927124Y6756088D01* +G01X1928882Y6758724D01* +G01X1932397Y6763118D01* +G01X1935473Y6765755D01* +G01X1938548Y6767952D01* +G01X1941185Y6769270D01* +G01X1944700Y6770588D01* +G01X1948215Y6771467D01* +G01X1951291Y6771906D01* +G01X2006215Y6772346D01* +G01X2061139Y6771906D01* +G01X2064655Y6771467D01* +G01X2068609Y6770588D01* +G01X2072564Y6768830D01* +G01X2076518Y6765755D01* +G01X2079154Y6761800D01* +G01X2080473Y6758724D01* +G01X2080912Y6754330D01* +G01X2080473Y6749936D01* +G01X2078715Y6741149D01* +G01X2077836Y6736315D01* +G01X2076518Y6729724D01* +G01X2075200Y6724452D01* +G01X2073442Y6715664D01* +G01X2072564Y6712149D01* +G01X2069048Y6694573D01* +G01X2067291Y6686664D01* +G01X2065533Y6677876D01* +G01X2063776Y6669967D01* +G01X2062897Y6665133D01* +G01X2061579Y6658542D01* +G01X2060261Y6653270D01* +G01X2059382Y6648876D01* +G01X2058503Y6645361D01* +G01X2057624Y6641406D01* +G01X2056306Y6637012D01* +G01X2054548Y6633058D01* +G01X2052791Y6629982D01* +G01X2051473Y6627785D01* +G01X2049715Y6625588D01* +G01X2044442Y6620315D01* +G01X2040048Y6617239D01* +G01X2036094Y6615042D01* +G01X2032579Y6613724D01* +G01X2029503Y6612845D01* +G01X1973261Y6612406D01* +G37* +G36* +G01X3197851Y6612406D02* +G01X3198291Y6614164D01* +G01X3199609Y6618997D01* +G01X3200927Y6624270D01* +G01X3202685Y6633058D01* +G01X3203563Y6636573D01* +G01X3204442Y6641406D01* +G01X3205760Y6647997D01* +G01X3207078Y6653270D01* +G01X3208836Y6662057D01* +G01X3209715Y6665573D01* +G01X3210594Y6670406D01* +G01X3211912Y6676997D01* +G01X3213230Y6682270D01* +G01X3214988Y6691058D01* +G01X3215866Y6694573D01* +G01X3216745Y6699406D01* +G01X3218063Y6705997D01* +G01X3219381Y6711270D01* +G01X3221139Y6720058D01* +G01X3222018Y6723573D01* +G01X3222897Y6728406D01* +G01X3224215Y6734997D01* +G01X3225533Y6740270D01* +G01X3227291Y6749058D01* +G01X3228169Y6752573D01* +G01X3229048Y6757406D01* +G01X3230366Y6763997D01* +G01X3231684Y6769270D01* +G01X3233442Y6778058D01* +G01X3234321Y6781573D01* +G01X3234760Y6785088D01* +G01X3234760Y6787285D01* +G01X3185548Y6787285D01* +G01X3186866Y6793876D01* +G01X3187745Y6797391D01* +G01X3188624Y6802224D01* +G01X3189942Y6808815D01* +G01X3190821Y6811891D01* +G01X3273866Y6811891D01* +G01X3336041Y6811561D01* +G01X3356472Y6810573D01* +G01X3354715Y6803542D01* +G01X3352078Y6790361D01* +G01X3351639Y6787285D01* +G01X3302427Y6787285D01* +G01X3301548Y6785088D01* +G01X3300230Y6781573D01* +G01X3299351Y6776740D01* +G01X3298033Y6770148D01* +G01X3296715Y6764876D01* +G01X3294957Y6756088D01* +G01X3294078Y6752573D01* +G01X3292321Y6743785D01* +G01X3290563Y6735876D01* +G01X3289684Y6731042D01* +G01X3288366Y6724452D01* +G01X3287048Y6719179D01* +G01X3285290Y6710391D01* +G01X3284412Y6706876D01* +G01X3283533Y6702042D01* +G01X3282215Y6695452D01* +G01X3280897Y6690179D01* +G01X3279139Y6681391D01* +G01X3278260Y6677876D01* +G01X3277381Y6673042D01* +G01X3276063Y6666451D01* +G01X3274745Y6661179D01* +G01X3272987Y6652391D01* +G01X3272109Y6648876D01* +G01X3271230Y6644043D01* +G01X3269912Y6637451D01* +G01X3268593Y6632179D01* +G01X3266836Y6623391D01* +G01X3265957Y6619876D01* +G01X3265078Y6615482D01* +G01X3264639Y6612406D01* +G01X3197851Y6612406D01* +G37* +G36* +G01X2752306Y6612406D02* +G01X2752745Y6614603D01* +G01X2753624Y6618118D01* +G01X2754503Y6622952D01* +G01X2755821Y6629542D01* +G01X2757139Y6634815D01* +G01X2758897Y6643603D01* +G01X2759776Y6647118D01* +G01X2761533Y6655906D01* +G01X2763291Y6663815D01* +G01X2764170Y6668649D01* +G01X2765488Y6675239D01* +G01X2766806Y6680512D01* +G01X2768563Y6689300D01* +G01X2769442Y6692815D01* +G01X2771200Y6701603D01* +G01X2772957Y6709512D01* +G01X2773836Y6714345D01* +G01X2775154Y6720936D01* +G01X2776473Y6726209D01* +G01X2778230Y6734997D01* +G01X2779109Y6738512D01* +G01X2780866Y6747300D01* +G01X2782624Y6755209D01* +G01X2783503Y6760042D01* +G01X2784821Y6766633D01* +G01X2786139Y6771906D01* +G01X2787897Y6780694D01* +G01X2788776Y6784209D01* +G01X2789654Y6789043D01* +G01X2790972Y6795633D01* +G01X2792291Y6800906D01* +G01X2794488Y6811891D01* +G01X2860397Y6811891D01* +G01X2859957Y6808815D01* +G01X2859078Y6804421D01* +G01X2857321Y6796512D01* +G01X2855563Y6787724D01* +G01X2853806Y6779815D01* +G01X2852927Y6774982D01* +G01X2851609Y6768391D01* +G01X2850291Y6763118D01* +G01X2848533Y6754330D01* +G01X2847654Y6750815D01* +G01X2845897Y6742027D01* +G01X2844139Y6734118D01* +G01X2843260Y6729285D01* +G01X2841942Y6722694D01* +G01X2840624Y6717421D01* +G01X2838866Y6708633D01* +G01X2837988Y6705118D01* +G01X2837548Y6701603D01* +G01X2837548Y6699406D01* +G01X2857321Y6699406D01* +G01X2878412Y6700285D01* +G01X2880169Y6703800D01* +G01X2881048Y6707755D01* +G01X2881927Y6712588D01* +G01X2883245Y6719179D01* +G01X2884563Y6724452D01* +G01X2886321Y6733239D01* +G01X2887200Y6736755D01* +G01X2888957Y6745542D01* +G01X2890715Y6753452D01* +G01X2892473Y6762239D01* +G01X2894230Y6770148D01* +G01X2895109Y6774982D01* +G01X2896427Y6781573D01* +G01X2897745Y6786845D01* +G01X2898624Y6791239D01* +G01X2899503Y6794754D01* +G01X2901260Y6803542D01* +G01X2902139Y6808376D01* +G01X2902578Y6811891D01* +G01X2935972Y6811891D01* +G01X2960908Y6811671D01* +G01X2968927Y6811012D01* +G01X2968048Y6807057D01* +G01X2967169Y6802664D01* +G01X2965412Y6794754D01* +G01X2964533Y6789921D01* +G01X2963215Y6783330D01* +G01X2961897Y6778058D01* +G01X2960139Y6769270D01* +G01X2959260Y6765755D01* +G01X2957503Y6756967D01* +G01X2955745Y6749058D01* +G01X2954866Y6744224D01* +G01X2953548Y6737633D01* +G01X2952230Y6732361D01* +G01X2950472Y6723573D01* +G01X2949594Y6720058D01* +G01X2947836Y6711270D01* +G01X2946078Y6703361D01* +G01X2945200Y6698527D01* +G01X2943882Y6691936D01* +G01X2942563Y6686664D01* +G01X2940806Y6677876D01* +G01X2939927Y6674361D01* +G01X2938169Y6665573D01* +G01X2936412Y6657664D01* +G01X2935533Y6652830D01* +G01X2934215Y6646239D01* +G01X2932897Y6640967D01* +G01X2931139Y6632179D01* +G01X2930260Y6628664D01* +G01X2927624Y6615482D01* +G01X2927184Y6612406D01* +G01X2894230Y6612406D01* +G01X2861275Y6613285D01* +G01X2861715Y6616361D01* +G01X2863472Y6625148D01* +G01X2864351Y6628664D01* +G01X2865230Y6633497D01* +G01X2866548Y6640088D01* +G01X2867866Y6645361D01* +G01X2868745Y6649754D01* +G01X2869624Y6653270D01* +G01X2871382Y6662057D01* +G01X2873139Y6669967D01* +G01X2873578Y6673042D01* +G01X2868855Y6674361D01* +G01X2854684Y6674800D01* +G01X2833594Y6674361D01* +G01X2831836Y6673372D01* +G01X2830957Y6671285D01* +G01X2830078Y6667330D01* +G01X2829200Y6662497D01* +G01X2827882Y6655906D01* +G01X2826563Y6650633D01* +G01X2825685Y6646239D01* +G01X2824806Y6642724D01* +G01X2823927Y6637891D01* +G01X2822609Y6631300D01* +G01X2821291Y6626027D01* +G01X2820412Y6621633D01* +G01X2819533Y6618118D01* +G01X2819094Y6614603D01* +G01X2819094Y6612406D01* +G01X2752306Y6612406D01* +G37* +G36* +G01X2985185Y6612406D02* +G01X2952230Y6612845D01* +G01X2953109Y6616361D01* +G01X2954427Y6622512D01* +G01X2955745Y6627785D01* +G01X2957503Y6636573D01* +G01X2958381Y6640088D01* +G01X2960139Y6648876D01* +G01X2961897Y6656785D01* +G01X2963654Y6665573D01* +G01X2965412Y6673482D01* +G01X2966291Y6678315D01* +G01X2967609Y6684906D01* +G01X2968927Y6690179D01* +G01X2970684Y6698967D01* +G01X2971563Y6702482D01* +G01X3037912Y6702482D01* +G01X3038351Y6699846D01* +G01X3058563Y6699406D01* +G01X3073613Y6699736D01* +G01X3079215Y6700724D01* +G01X3080533Y6705558D01* +G01X3081851Y6712149D01* +G01X3083169Y6717421D01* +G01X3084048Y6721815D01* +G01X3084927Y6725330D01* +G01X3085806Y6730164D01* +G01X3087124Y6736755D01* +G01X3088442Y6742027D01* +G01X3090200Y6750815D01* +G01X3091078Y6754330D01* +G01X3092836Y6763118D01* +G01X3094594Y6771027D01* +G01X3097230Y6784209D01* +G01X3097669Y6787285D01* +G01X3055487Y6787285D01* +G01X3055048Y6784649D01* +G01X3054169Y6780694D01* +G01X3053291Y6775861D01* +G01X3051972Y6769270D01* +G01X3050654Y6763997D01* +G01X3049776Y6759603D01* +G01X3048897Y6756088D01* +G01X3047139Y6747300D01* +G01X3045382Y6739391D01* +G01X3044503Y6734557D01* +G01X3043184Y6727967D01* +G01X3041866Y6722694D01* +G01X3040988Y6718300D01* +G01X3040109Y6714785D01* +G01X3038351Y6705997D01* +G01X3037912Y6702482D01* +G01X3037912Y6702482D01* +G01X2971563Y6702482D01* +G01X2973321Y6711270D01* +G01X2975078Y6719179D01* +G01X2975957Y6724012D01* +G01X2977276Y6730603D01* +G01X2978594Y6735876D01* +G01X2980351Y6744664D01* +G01X2981230Y6748179D01* +G01X2982987Y6756967D01* +G01X2984745Y6764876D01* +G01X2986503Y6773664D01* +G01X2987381Y6777618D01* +G01X2988700Y6783330D01* +G01X2990457Y6788603D01* +G01X2992654Y6792997D01* +G01X2997048Y6799148D01* +G01X2999684Y6802224D01* +G01X3001882Y6803982D01* +G01X3004957Y6806179D01* +G01X3008912Y6808376D01* +G01X3013306Y6810133D01* +G01X3017260Y6811451D01* +G01X3080972Y6811891D01* +G01X3146442Y6811012D01* +G01X3150836Y6809255D01* +G01X3153912Y6807936D01* +G01X3156548Y6806179D01* +G01X3158745Y6803982D01* +G01X3160942Y6800906D01* +G01X3162700Y6796952D01* +G01X3163578Y6791239D01* +G01X3163139Y6784209D01* +G01X3162260Y6778936D01* +G01X3161382Y6775421D01* +G01X3159624Y6766633D01* +G01X3157866Y6758724D01* +G01X3156988Y6753891D01* +G01X3155669Y6747300D01* +G01X3154351Y6742027D01* +G01X3152594Y6733239D01* +G01X3151715Y6729724D01* +G01X3149957Y6720936D01* +G01X3148200Y6713027D01* +G01X3146442Y6704240D01* +G01X3144684Y6696330D01* +G01X3143806Y6691497D01* +G01X3142488Y6684906D01* +G01X3141169Y6679633D01* +G01X3139412Y6670845D01* +G01X3138533Y6667330D01* +G01X3136775Y6658542D01* +G01X3135018Y6650633D01* +G01X3133260Y6641845D01* +G01X3131503Y6633936D01* +G01X3129745Y6625148D01* +G01X3127987Y6617239D01* +G01X3127548Y6614164D01* +G01X3119200Y6612845D01* +G01X3094154Y6612406D01* +G01X3060760Y6612406D01* +G01X3061200Y6615042D01* +G01X3062518Y6620755D01* +G01X3063836Y6626027D01* +G01X3064715Y6630421D01* +G01X3065594Y6633936D01* +G01X3067351Y6642724D01* +G01X3069109Y6650633D01* +G01X3070866Y6659421D01* +G01X3072624Y6667330D01* +G01X3073503Y6671724D01* +G01X3073942Y6674800D01* +G01X3031760Y6674800D01* +G01X3031321Y6672164D01* +G01X3028685Y6660300D01* +G01X3027806Y6655467D01* +G01X3026488Y6648876D01* +G01X3025169Y6643603D01* +G01X3024291Y6639209D01* +G01X3023412Y6635694D01* +G01X3022533Y6630861D01* +G01X3021215Y6624270D01* +G01X3019897Y6618997D01* +G01X3018578Y6612406D01* +G01X2985185Y6612406D01* +G37* +G36* +G01X2416169Y6612406D02* +G01X2355972Y6612845D01* +G01X2352897Y6614164D01* +G01X2349382Y6615921D01* +G01X2346745Y6617679D01* +G01X2343669Y6620755D01* +G01X2341033Y6625148D01* +G01X2339715Y6628664D01* +G01X2339276Y6633497D01* +G01X2339715Y6639209D01* +G01X2341473Y6647997D01* +G01X2342351Y6651512D01* +G01X2345867Y6669088D01* +G01X2347624Y6676997D01* +G01X2349382Y6685785D01* +G01X2351139Y6693694D01* +G01X2352018Y6698527D01* +G01X2353336Y6705118D01* +G01X2354654Y6710391D01* +G01X2356412Y6719179D01* +G01X2357291Y6722694D01* +G01X2359048Y6731482D01* +G01X2360806Y6739391D01* +G01X2362564Y6748179D01* +G01X2364321Y6756088D01* +G01X2365200Y6760921D01* +G01X2366518Y6767512D01* +G01X2367836Y6772785D01* +G01X2368715Y6777179D01* +G01X2370473Y6784209D01* +G01X2371791Y6787724D01* +G01X2373548Y6791239D01* +G01X2375745Y6795194D01* +G01X2377503Y6798270D01* +G01X2380139Y6800906D01* +G01X2386291Y6806179D01* +G01X2390245Y6808376D01* +G01X2394639Y6810133D01* +G01X2398594Y6811451D01* +G01X2458351Y6811891D01* +G01X2516791Y6811451D01* +G01X2516351Y6807936D01* +G01X2512836Y6790361D01* +G01X2512397Y6787285D01* +G01X2436821Y6787285D01* +G01X2436382Y6783770D01* +G01X2435063Y6777179D01* +G01X2433745Y6771906D01* +G01X2432866Y6767512D01* +G01X2431988Y6763997D01* +G01X2431109Y6759164D01* +G01X2429791Y6752573D01* +G01X2428472Y6747300D01* +G01X2427594Y6742906D01* +G01X2426715Y6739391D01* +G01X2424957Y6730603D01* +G01X2424518Y6726648D01* +G01X2424518Y6724012D01* +G01X2453079Y6724012D01* +G01X2481639Y6723573D01* +G01X2481200Y6720936D01* +G01X2480321Y6716543D01* +G01X2479442Y6713027D01* +G01X2477685Y6704240D01* +G01X2477245Y6701164D01* +G01X2469885Y6699846D01* +G01X2447806Y6699406D01* +G01X2418367Y6699406D01* +G01X2417927Y6696330D01* +G01X2416609Y6690179D01* +G01X2415291Y6684906D01* +G01X2414412Y6680512D01* +G01X2413533Y6676997D01* +G01X2412654Y6672164D01* +G01X2411336Y6665573D01* +G01X2410018Y6660300D01* +G01X2409139Y6655906D01* +G01X2408260Y6652391D01* +G01X2406503Y6643603D01* +G01X2405624Y6639649D01* +G01X2405185Y6637012D01* +G01X2442533Y6637012D01* +G01X2479882Y6636133D01* +G01X2479442Y6633058D01* +G01X2478564Y6629542D01* +G01X2476806Y6620755D01* +G01X2475927Y6615921D01* +G01X2475488Y6612406D01* +G01X2416169Y6612406D01* +G37* +G36* +G01X2495700Y6612406D02* +G01X2496578Y6615042D01* +G01X2497897Y6619876D01* +G01X2499654Y6628664D01* +G01X2500533Y6632179D01* +G01X2502115Y6640088D01* +G01X2568200Y6640088D01* +G01X2568200Y6637451D01* +G01X2587973Y6637012D01* +G01X2608624Y6637451D01* +G01X2610382Y6639209D01* +G01X2611261Y6644043D01* +G01X2612579Y6650633D01* +G01X2613897Y6655906D01* +G01X2614776Y6660300D01* +G01X2615654Y6663815D01* +G01X2617412Y6672603D01* +G01X2619170Y6680512D01* +G01X2620048Y6685345D01* +G01X2621366Y6691936D01* +G01X2622685Y6697209D01* +G01X2623564Y6701603D01* +G01X2624442Y6705118D01* +G01X2625321Y6709951D01* +G01X2626639Y6716543D01* +G01X2627957Y6721815D01* +G01X2629715Y6730603D01* +G01X2630594Y6734118D01* +G01X2631473Y6738951D01* +G01X2632791Y6745542D01* +G01X2634109Y6750815D01* +G01X2635867Y6759603D01* +G01X2636745Y6763118D01* +G01X2638503Y6771906D01* +G01X2640260Y6779815D01* +G01X2641139Y6784209D01* +G01X2641578Y6787285D01* +G01X2600276Y6787285D01* +G01X2599397Y6785088D01* +G01X2598079Y6780694D01* +G01X2597200Y6777179D01* +G01X2595442Y6768391D01* +G01X2593685Y6760482D01* +G01X2592806Y6755648D01* +G01X2591488Y6749058D01* +G01X2590169Y6743785D01* +G01X2589291Y6739391D01* +G01X2588412Y6735876D01* +G01X2586654Y6727088D01* +G01X2584897Y6719179D01* +G01X2584018Y6714345D01* +G01X2582700Y6707755D01* +G01X2581382Y6702482D01* +G01X2580503Y6698088D01* +G01X2579624Y6694573D01* +G01X2578745Y6689739D01* +G01X2577427Y6683148D01* +G01X2576109Y6677876D01* +G01X2574351Y6669088D01* +G01X2573472Y6665573D01* +G01X2572594Y6660739D01* +G01X2571276Y6654148D01* +G01X2569957Y6648876D01* +G01X2568200Y6640088D01* +G01X2568200Y6640088D01* +G01X2502115Y6640088D01* +G01X2502291Y6640967D01* +G01X2504048Y6648876D01* +G01X2504927Y6653709D01* +G01X2506245Y6660300D01* +G01X2507563Y6665573D01* +G01X2509321Y6674361D01* +G01X2510200Y6677876D01* +G01X2511957Y6686664D01* +G01X2513715Y6694573D01* +G01X2514594Y6699406D01* +G01X2515912Y6705997D01* +G01X2517230Y6711270D01* +G01X2518988Y6720058D01* +G01X2519866Y6723573D01* +G01X2521624Y6732361D01* +G01X2523382Y6740270D01* +G01X2524260Y6745103D01* +G01X2525579Y6751694D01* +G01X2526897Y6756967D01* +G01X2528654Y6765755D01* +G01X2529533Y6769270D01* +G01X2530412Y6774103D01* +G01X2531730Y6780694D01* +G01X2533048Y6785967D01* +G01X2534806Y6794754D01* +G01X2535685Y6798270D01* +G01X2537442Y6807057D01* +G01X2537882Y6810133D01* +G01X2556556Y6811451D01* +G01X2612579Y6811891D01* +G01X2689912Y6811012D01* +G01X2694745Y6809255D01* +G01X2699139Y6807057D01* +G01X2702215Y6804421D01* +G01X2703973Y6802224D01* +G01X2705730Y6799148D01* +G01X2707048Y6795633D01* +G01X2707488Y6791679D01* +G01X2707048Y6785088D01* +G01X2706169Y6779815D01* +G01X2705291Y6774982D01* +G01X2703973Y6768391D01* +G01X2702654Y6763118D01* +G01X2700897Y6754330D01* +G01X2700018Y6750815D01* +G01X2698260Y6742027D01* +G01X2696503Y6734118D01* +G01X2694745Y6725330D01* +G01X2692988Y6717421D01* +G01X2692109Y6712588D01* +G01X2690791Y6705997D01* +G01X2689472Y6700724D01* +G01X2687715Y6691936D01* +G01X2686836Y6688421D01* +G01X2685957Y6683588D01* +G01X2684639Y6676997D01* +G01X2683321Y6671724D01* +G01X2681563Y6662936D01* +G01X2680685Y6659421D01* +G01X2678048Y6646239D01* +G01X2676730Y6640527D01* +G01X2674973Y6635694D01* +G01X2673215Y6632179D01* +G01X2671018Y6628664D01* +G01X2668821Y6625588D01* +G01X2667063Y6623391D01* +G01X2664866Y6621194D01* +G01X2661791Y6618997D01* +G01X2657836Y6616361D01* +G01X2653003Y6614164D01* +G01X2649048Y6612845D01* +G01X2571715Y6612406D01* +G01X2495700Y6612406D01* +G37* +G01X994664Y3410458D02* +G01X994664Y3353816D01* +G01X1022858Y3410458D02* +G01X1022858Y3353816D01* +G01X1022858Y3410458D02* +G01X1041654Y3410458D01* +G01X1049782Y3407918D01* +G01X1055370Y3402584D01* +G01X1057910Y3396996D01* +G01X1060704Y3388868D01* +G01X1060704Y3375406D01* +G01X1057910Y3367278D01* +G01X1055370Y3361944D01* +G01X1049782Y3356610D01* +G01X1041654Y3353816D01* +G01X1022858Y3353816D01* +G01X1088898Y3410458D02* +G01X1088898Y3353816D01* +G01X1088898Y3410458D02* +G01X1123950Y3410458D01* +G01X1088898Y3383534D02* +G01X1110488Y3383534D01* +G01X1088898Y3353816D02* +G01X1123950Y3353816D01* +G01X1212596Y3410458D02* +G01X1234186Y3353816D01* +G01X1255776Y3410458D02* +G01X1234186Y3353816D01* +G01X1324356Y3396996D02* +G01X1321816Y3402584D01* +G01X1316482Y3407918D01* +G01X1310894Y3410458D01* +G01X1300226Y3410458D01* +G01X1294892Y3407918D01* +G01X1289304Y3402584D01* +G01X1286764Y3396996D01* +G01X1283970Y3388868D01* +G01X1283970Y3375406D01* +G01X1286764Y3367278D01* +G01X1289304Y3361944D01* +G01X1294892Y3356610D01* +G01X1300226Y3353816D01* +G01X1310894Y3353816D01* +G01X1316482Y3356610D01* +G01X1321816Y3361944D01* +G01X1324356Y3367278D01* +G01X1392936Y3396996D02* +G01X1390396Y3402584D01* +G01X1385062Y3407918D01* +G01X1379474Y3410458D01* +G01X1368806Y3410458D01* +G01X1363472Y3407918D01* +G01X1357884Y3402584D01* +G01X1355344Y3396996D01* +G01X1352550Y3388868D01* +G01X1352550Y3375406D01* +G01X1355344Y3367278D01* +G01X1357884Y3361944D01* +G01X1363472Y3356610D01* +G01X1368806Y3353816D01* +G01X1379474Y3353816D01* +G01X1385062Y3356610D01* +G01X1390396Y3361944D01* +G01X1392936Y3367278D01* +G04 Text End* + +G04 PolygonModel Start* +G54D13* +G01X1323700Y3975000D02* +G01X1323700Y3467000D01* +G01X1069700Y3467000D01* +G01X1069700Y3975000D01* +G01X1323700Y3975000D01* +G01X447405Y13387224D02* +G01X447405Y12763400D01* +G01X2479400Y13387224D02* +G01X2479400Y12763400D01* +G01X447400Y13387300D02* +G01X2479400Y13387224D01* +G01X66400Y7048400D02* +G01X2860400Y7048400D01* +G01X2860400Y12763400D02* +G01X2860400Y7048400D01* +G01X66400Y12763400D02* +G01X66400Y7048400D01* +G01X66400Y12763400D02* +G01X2860400Y12763400D01* +G01X-22500Y10286900D02* +G01X-22500Y6984900D01* +G01X-2308500Y6730900D02* +G01X-276500Y6730900D01* +G01X-2308500Y10540900D02* +G01X-276500Y10540900D01* +G01X-2562500Y6984900D02* +G01X-2562500Y10286900D01* +G01X-2562500Y6984900D02* +G03X-2308500Y6730900I254000J0D01* +G01X-2308500Y10540900D02* +G03X-2562500Y10286900I0J-254000D01* +G01X-22500Y10286900D02* +G03X-276500Y10540900I-254000J0D01* +G01X-22500Y6984900D02* +G02X-276500Y6730900I-254000J0D01* +G01X917300Y2705000D02* +G01X739500Y2705000D01* +G01X739500Y2705000D02* +G01X739500Y3213000D01* +G01X739500Y3213000D02* +G01X917300Y3213000D01* +G01X930000Y25300D02* +G01X41000Y25300D01* +G01X41000Y25300D02* +G01X41000Y5892700D01* +G01X41000Y5892700D02* +G01X930000Y5892700D01* +G01X930000Y5892700D02* +G01X930000Y25300D01* +G01X3781104Y9911100D02* +G01X3781104Y9199900D01* +G01X3781104Y9199900D02* +G01X3067400Y9199900D01* +G01X3067400Y9199900D02* +G01X3067400Y11054100D01* +G01X3067400Y11054100D02* +G01X3778600Y11054100D01* +G01X3778600Y11054100D02* +G01X3778600Y10363555D01* +G01X3719601Y9911100D02* +G01X3719601Y10363555D01* +G01X3719601Y10363555D02* +G01X3862999Y10363555D01* +G01X3854800Y9911100D02* +G01X3719601Y9911100D01* +G01X2983001Y9112006D02* +G01X2983001Y11141999D01* +G01X2983001Y11141994D02* +G01X3862999Y11141994D01* +G01X3862999Y9112006D02* +G01X3862999Y11141999D01* +G01X2983001Y9112006D02* +G01X3862999Y9112006D01* +G36* +G01X3702400Y9619000D02* +G01X3791300Y9669800D01* +G01X3791300Y9555500D01* +G01X3702400Y9619000D01* +G37* +G01X4781104Y9911100D02* +G01X4781104Y9199900D01* +G01X4781104Y9199900D02* +G01X4067400Y9199900D01* +G01X4067400Y9199900D02* +G01X4067400Y11054100D01* +G01X4067400Y11054100D02* +G01X4778600Y11054100D01* +G01X4778600Y11054100D02* +G01X4778600Y10363555D01* +G01X4719601Y9911100D02* +G01X4719601Y10363555D01* +G01X4719601Y10363555D02* +G01X4862999Y10363555D01* +G01X4854800Y9911100D02* +G01X4719601Y9911100D01* +G01X3983001Y9112006D02* +G01X3983001Y11141999D01* +G01X3983001Y11141994D02* +G01X4862999Y11141994D01* +G01X4862999Y9112006D02* +G01X4862999Y11141999D01* +G01X3983001Y9112006D02* +G01X4862999Y9112006D01* +G36* +G01X4702400Y9619000D02* +G01X4791300Y9669800D01* +G01X4791300Y9555500D01* +G01X4702400Y9619000D01* +G37* +G01X-2179148Y10909200D02* +G01X-1419500Y10909200D01* +G01X-1419500Y10909200D02* +G01X-1419500Y10655200D01* +G01X-1419500Y10655200D02* +G01X-2435500Y10655200D01* +G01X-2435500Y10655200D02* +G01X-2435500Y10909200D01* +G01X-2435500Y10909200D02* +G01X-2179148Y10909200D01* +G01X-2179148Y10909200D02* +G01X-2179148Y10655200D01* +G54D10* +G01X1693938Y6067531D02* +G01X1693938Y6402765D01* +G01X2162017Y6067983D02* +G01X1526783Y6067983D01* +G01X2162017Y6403217D02* +G01X1526783Y6403217D01* +G01X2162017Y6067983D02* +G01X2162017Y6096477D01* +G01X2162017Y6403217D02* +G01X2162017Y6374723D01* +G54D13* +G01X1606500Y5931400D02* +G01X1606500Y6039300D01* +G01X1660450Y5985350D02* +G01X1552550Y5985350D01* +G36* +G01X1534401Y6060360D02* +G01X1488681Y6060360D01* +G01X1488681Y6101559D01* +G01X1534401Y6101559D01* +G01X1534401Y6060360D01* +G37* +G36* +G01X1534401Y6410840D02* +G01X1534401Y6369641D01* +G01X1488681Y6369641D01* +G01X1488681Y6410840D01* +G01X1534401Y6410840D01* +G37* +G01X1717700Y4035101D02* +G01X1717700Y3515102D01* +G01X1717700Y3515102D02* +G01X1437700Y3515102D01* +G01X1437700Y4035101D02* +G01X1437700Y3515102D01* +G01X1717700Y4035101D02* +G01X1437700Y4035101D01* +G01X1717700Y3939176D02* +G01X1437700Y3939176D01* + +G04 Rect Start* +G01X-1038500Y9270900D02* +G01X-1521100Y9270900D01* +G01X-1521100Y10540900D01* +G01X-1038500Y10540900D01* +G01X-1038500Y9270900D01* +G04 Rect End* + +M02* + diff --git a/hardware/gerber/Gerber_TopSolderMaskLayer.GTS b/hardware/gerber/Gerber_TopSolderMaskLayer.GTS new file mode 100644 index 0000000..ab8c9e3 --- /dev/null +++ b/hardware/gerber/Gerber_TopSolderMaskLayer.GTS @@ -0,0 +1,258 @@ +G04 Layer: TopSolderMaskLayer* +G04 EasyEDA Pro v3.2.148, 2026-08-18 14:30:59* +G04 Gerber Generator version 0.3* +G04 Scale: 100 percent, Rotated: No, Reflected: No* +G04 Dimensions in millimeters* +G04 Leading zeros omitted, absolute positions, 4 integers and 5 decimals* +G04 Generated by one-click* +G04 Object Configs: Pad,Via,Track,Text,Image,Dimension,BoardOutline,BoardCutout,CopperFilled,SolidRegion,FPCStiffener,Line,PlaneZone,ComponentProperty,ComponentSilkscreen,TearDrop* +G04 Layer Configs: 1,2,3,4,5,6,7,8,9,10,11,13,14,56* +G04 Copper Areas: 0* +%FSLAX45Y45*% +%MOMM*% +%AMRoundRect*1,1,$1,$2,$3*1,1,$1,$4,$5*1,1,$1,0-$2,0-$3*1,1,$1,0-$4,0-$5*20,1,$1,$2,$3,$4,$5,0*20,1,$1,$4,$5,0-$2,0-$3,0*20,1,$1,0-$2,0-$3,0-$4,0-$5,0*20,1,$1,0-$4,0-$5,$2,$3,0*4,1,4,$2,$3,$4,$5,0-$2,0-$3,0-$4,0-$5,$2,$3,0*% +%ADD10C,1.7526*% +%ADD11RoundRect,0.1016X-0.8255X-0.8255X-0.8255X0.8255*% +%ADD12O,2.0066X1.4986*% +%ADD13RoundRect,0.1016X-0.9525X0.6985X0.9525X0.6985*% +%ADD14C,1.8542*% +%ADD15C,1.7037*% +%ADD16C,1.7016*% +%ADD17RoundRect,0.1016X-0.8X-0.8X-0.8X0.8*% +%ADD18C,1.4986*% +%ADD19RoundRect,0.1016X-0.762X-0.762X-0.762X0.762*% +%ADD20C,1.6256*% +%ADD21RoundRect,0.1016X-0.8255X0.8255X0.8255X0.8255*% +%ADD22RoundRect,0.1016X-0.95X1.188X0.95X1.188*% +%ADD23C,1.9016*% +G75* + + +G04 Pad Start* +G54D10* +G01X1196700Y3594000D03* +G54D11* +G01X1196700Y3848000D03* +G54D12* +G01X2733400Y12572900D03* +G01X2733400Y12318900D03* +G01X2733400Y12064900D03* +G01X2733400Y11810900D03* +G01X2733400Y11556900D03* +G01X2733400Y11302900D03* +G01X2733400Y11048900D03* +G01X2733400Y10794900D03* +G01X2733400Y10540900D03* +G01X2733400Y10286900D03* +G01X2733400Y10032900D03* +G01X2733400Y9778900D03* +G01X2733400Y9524900D03* +G01X2733400Y9270900D03* +G01X2733400Y9016900D03* +G01X2733400Y8762900D03* +G01X2733400Y8508900D03* +G01X2733400Y8254900D03* +G01X2733400Y8000900D03* +G01X2733400Y7746900D03* +G01X2733400Y7492900D03* +G01X2733400Y7238900D03* +G01X193400Y7238900D03* +G01X193400Y7492900D03* +G01X193400Y7746900D03* +G01X193400Y8000900D03* +G01X193400Y8254900D03* +G01X193400Y8508900D03* +G01X193400Y8762900D03* +G01X193400Y9016900D03* +G01X193400Y9270900D03* +G01X193400Y9524900D03* +G01X193400Y9778900D03* +G01X193400Y10032900D03* +G01X193400Y10286900D03* +G01X193400Y10540900D03* +G01X193400Y10794900D03* +G01X193400Y11048900D03* +G01X193400Y11302900D03* +G01X193400Y11556900D03* +G01X193400Y11810900D03* +G01X193400Y12064900D03* +G01X193400Y12318900D03* +G54D13* +G01X193400Y12572900D03* +G54D14* +G01X-276500Y7492900D03* +G01X-276500Y7746900D03* +G01X-276500Y8000900D03* +G01X-276500Y8254900D03* +G01X-276500Y8508900D03* +G01X-276500Y8762900D03* +G01X-276500Y9016900D03* +G01X-276500Y9270900D03* +G01X-276500Y9524900D03* +G01X-2308500Y9016900D03* +G01X-2308500Y8762900D03* +G01X-2308500Y8508900D03* +G01X-2308500Y8254900D03* +G01X-2308500Y8000900D03* +G01X-2308500Y7746900D03* +G54D16* +G01X1946000Y5372000D03* +G01X2200000Y5372000D03* +G01X1946000Y5118000D03* +G01X2200000Y5118000D03* +G01X1946000Y4864000D03* +G01X2200000Y4864000D03* +G01X1946000Y4610000D03* +G01X2200000Y4610000D03* +G01X1946000Y4356000D03* +G01X2200000Y4356000D03* +G01X1946000Y4102000D03* +G01X2200000Y4102000D03* +G01X1946000Y3848000D03* +G01X2200000Y3848000D03* +G01X1946000Y3594000D03* +G01X2200000Y3594000D03* +G01X1946000Y3340000D03* +G01X2200000Y3340000D03* +G01X1946000Y3086000D03* +G01X2200000Y3086000D03* +G01X1946000Y2832000D03* +G01X2200000Y2832000D03* +G01X1946000Y2578000D03* +G01X2200000Y2578000D03* +G01X1946000Y2324000D03* +G01X2200000Y2324000D03* +G01X1946000Y2070000D03* +G01X2200000Y2070000D03* +G01X1946000Y1816000D03* +G01X2200000Y1816000D03* +G01X1946000Y1562000D03* +G01X2200000Y1562000D03* +G01X1946000Y1308000D03* +G01X2200000Y1308000D03* +G01X1946000Y1054000D03* +G01X2200000Y1054000D03* +G01X1946000Y800000D03* +G01X2200000Y800000D03* +G01X1946000Y546000D03* +G54D17* +G01X2200000Y546000D03* +G01X612500Y546000D03* +G54D16* +G01X358500Y546000D03* +G01X612500Y800000D03* +G01X358500Y800000D03* +G01X612500Y1054000D03* +G01X358500Y1054000D03* +G01X612500Y1308000D03* +G01X358500Y1308000D03* +G01X612500Y1562000D03* +G01X358500Y1562000D03* +G01X612500Y1816000D03* +G01X358500Y1816000D03* +G01X612500Y2070000D03* +G01X358500Y2070000D03* +G01X612500Y2324000D03* +G01X358500Y2324000D03* +G01X612500Y2578000D03* +G01X358500Y2578000D03* +G54D18* +G01X612500Y2832000D03* +G54D16* +G01X358500Y2832000D03* +G54D18* +G01X612500Y3086000D03* +G54D16* +G01X358500Y3086000D03* +G01X612500Y3340000D03* +G01X358500Y3340000D03* +G01X612500Y3594000D03* +G01X358500Y3594000D03* +G01X612500Y3848000D03* +G01X358500Y3848000D03* +G01X612500Y4102000D03* +G01X358500Y4102000D03* +G01X612500Y4356000D03* +G01X358500Y4356000D03* +G01X612500Y4610000D03* +G01X358500Y4610000D03* +G01X612500Y4864000D03* +G01X358500Y4864000D03* +G01X612500Y5118000D03* +G01X358500Y5118000D03* +G01X612500Y5372000D03* +G01X358500Y5372000D03* +G54D10* +G01X3829410Y6008016D03* +G01X3575410Y6008016D03* +G01X3829410Y6262016D03* +G01X3575410Y6262016D03* +G01X3829410Y6516016D03* +G01X3575410Y6516016D03* +G01X3829410Y6770016D03* +G01X3575410Y6770016D03* +G01X3829410Y7024016D03* +G01X3575410Y7024016D03* +G01X3829410Y7278016D03* +G01X3575410Y7278016D03* +G01X3829410Y7532016D03* +G01X3575410Y7532016D03* +G01X3829410Y7786016D03* +G01X3575410Y7786016D03* +G01X3829410Y8040016D03* +G01X3575410Y8040016D03* +G01X3829410Y8294016D03* +G54D11* +G01X3575410Y8294016D03* +G54D19* +G01X3550000Y9619000D03* +G54D20* +G01X3296000Y9619000D03* +G01X3550000Y9873000D03* +G01X3296000Y9873000D03* +G01X3550000Y10127000D03* +G01X3296000Y10127000D03* +G01X3550000Y10381000D03* +G01X3296000Y10381000D03* +G01X3550000Y10635000D03* +G01X3296000Y10635000D03* +G54D10* +G01X2091542Y10008008D03* +G01X2091542Y9754008D03* +G01X1837542Y10008008D03* +G01X1837542Y9754008D03* +G01X1583542Y10008008D03* +G01X1583542Y9754008D03* +G01X1329542Y10008008D03* +G01X1329542Y9754008D03* +G01X1075542Y10008008D03* +G54D21* +G01X1075542Y9754008D03* +G54D19* +G01X4550000Y9619000D03* +G54D20* +G01X4296000Y9619000D03* +G01X4550000Y9873000D03* +G01X4296000Y9873000D03* +G01X4550000Y10127000D03* +G01X4296000Y10127000D03* +G01X4550000Y10381000D03* +G01X4296000Y10381000D03* +G01X4550000Y10635000D03* +G01X4296000Y10635000D03* +G54D21* +G01X-2308500Y10782200D03* +G54D10* +G01X-2054500Y10782200D03* +G01X-1800500Y10782200D03* +G01X-1546500Y10782200D03* +G54D22* +G01X1584406Y6235600D03* +G01X2104394Y6235600D03* +G54D23* +G01X1577700Y4210102D03* +G01X1577700Y3340102D03* +G04 Pad End* + +M02* + diff --git a/hardware/gerber/How-to-order-PCB.txt b/hardware/gerber/How-to-order-PCB.txt new file mode 100644 index 0000000..1ae4417 --- /dev/null +++ b/hardware/gerber/How-to-order-PCB.txt @@ -0,0 +1,4 @@ +How to Order PCB + +Please refer to: +https://prodocs.easyeda.com/en/pcb/order-order-pcb/index.html \ No newline at end of file diff --git a/hardware/pcb_photo.jpg b/hardware/pcb_photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b1b92ff57c442595e74263b0e7c94cf24c64947 GIT binary patch literal 298279 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�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 z

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

>d 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 L$m6@de^&n=nj2Q0 literal 0 HcmV?d00001 diff --git a/spi_gpio_probe/CMakeLists.txt b/spi_gpio_probe/CMakeLists.txt new file mode 100644 index 0000000..50ff3a7 --- /dev/null +++ b/spi_gpio_probe/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.16) +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(spi_gpio_probe) diff --git a/spi_gpio_probe/main/CMakeLists.txt b/spi_gpio_probe/main/CMakeLists.txt new file mode 100644 index 0000000..52a3b94 --- /dev/null +++ b/spi_gpio_probe/main/CMakeLists.txt @@ -0,0 +1 @@ +idf_component_register(SRCS "main.c" INCLUDE_DIRS ".") diff --git a/spi_gpio_probe/main/main.c b/spi_gpio_probe/main/main.c new file mode 100644 index 0000000..4bcbded --- /dev/null +++ b/spi_gpio_probe/main/main.c @@ -0,0 +1,103 @@ +// Standalone diagnostic firmware - NOT part of the real esp-spi project. +// Purpose: bypass the SPI slave peripheral entirely and watch the raw GPIO +// pins (plain digital input, interrupt on every edge) that our real +// firmware's spi_slave.cpp configures for SPI slave use on ESP32-S3: +// CS=GPIO10, SCLK=GPIO12, MOSI=GPIO13, MISO=GPIO11 +// Logs every CS/SCLK edge with a microsecond timestamp and the +// MOSI/MISO/CS level sampled at that instant, so a real transaction +// attempt from the CH341A bridge can be visually reconstructed from the +// console log - answers directly whether the ESP32 sees anything at all +// on these pins, and if so, whether it looks like a sane SPI waveform +// (CS low, some number of SCLK edges, CS high) or not. +#include +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/queue.h" +#include "driver/gpio.h" +#include "esp_timer.h" + +#define PIN_CS 10 +#define PIN_SCLK 12 +#define PIN_MOSI 13 +#define PIN_MISO 11 + +typedef struct +{ + int64_t us; + uint8_t pin; // which pin's edge triggered this event (PIN_CS or PIN_SCLK) + uint8_t level; // level that pin transitioned TO + uint8_t cs; + uint8_t sclk; + uint8_t mosi; + uint8_t miso; +} event_t; + +#define EVQ_LEN 4096 +static QueueHandle_t evq; + +static void IRAM_ATTR gpio_isr(void *arg) +{ + uint32_t pin = (uint32_t)(uintptr_t)arg; + event_t ev; + ev.us = esp_timer_get_time(); + ev.pin = (uint8_t)pin; + ev.level = (uint8_t)gpio_get_level((gpio_num_t)pin); + ev.cs = (uint8_t)gpio_get_level(PIN_CS); + ev.sclk = (uint8_t)gpio_get_level(PIN_SCLK); + ev.mosi = (uint8_t)gpio_get_level(PIN_MOSI); + ev.miso = (uint8_t)gpio_get_level(PIN_MISO); + + BaseType_t hpw = pdFALSE; + xQueueSendFromISR(evq, &ev, &hpw); + if (hpw) portYIELD_FROM_ISR(); +} + +void app_main(void) +{ + printf("\n\n=== spi_gpio_probe starting ===\n"); + printf("Pins: CS=GPIO%d SCLK=GPIO%d MOSI=GPIO%d MISO=GPIO%d\n", PIN_CS, PIN_SCLK, PIN_MOSI, PIN_MISO); + printf("Watching CS + SCLK edges only (plain digital input, no SPI peripheral involved).\n\n"); + + evq = xQueueCreate(EVQ_LEN, sizeof(event_t)); + + gpio_config_t io = { 0 }; + io.pin_bit_mask = (1ULL << PIN_CS) | (1ULL << PIN_SCLK) | (1ULL << PIN_MOSI) | (1ULL << PIN_MISO); + io.mode = GPIO_MODE_INPUT; + io.pull_up_en = GPIO_PULLUP_DISABLE; + io.pull_down_en = GPIO_PULLDOWN_DISABLE; + io.intr_type = GPIO_INTR_ANYEDGE; + gpio_config(&io); + + gpio_install_isr_service(0); + gpio_isr_handler_add((gpio_num_t)PIN_CS, gpio_isr, (void*)(uintptr_t)PIN_CS); + gpio_isr_handler_add((gpio_num_t)PIN_SCLK, gpio_isr, (void*)(uintptr_t)PIN_SCLK); + + printf("Idle levels right now: CS=%d SCLK=%d MOSI=%d MISO=%d\n\n", + gpio_get_level(PIN_CS), gpio_get_level(PIN_SCLK), + gpio_get_level(PIN_MOSI), gpio_get_level(PIN_MISO)); + + int64_t last_us = 0; + unsigned long total_events = 0; + unsigned long cs_high_count = 0; + + for (;;) + { + event_t ev; + if (xQueueReceive(evq, &ev, pdMS_TO_TICKS(3000))) + { + const char *pin_name = (ev.pin == PIN_CS) ? "CS " : "SCLK"; + long long delta = last_us ? (long long)(ev.us - last_us) : 0; + printf("[t=%10lld us d=%6lld us] %s -> %d | CS=%d SCLK=%d MOSI=%d MISO=%d\n", + (long long)ev.us, delta, pin_name, ev.level, + ev.cs, ev.sclk, ev.mosi, ev.miso); + last_us = ev.us; + total_events++; + if (ev.pin == PIN_CS && ev.level == 1) cs_high_count++; + } + else + { + printf("--- idle (no CS/SCLK edges in last 3s) --- total_events=%lu cs_high_transitions=%lu\n", + total_events, cs_high_count); + } + } +} diff --git a/spi_gpio_probe/sdkconfig b/spi_gpio_probe/sdkconfig new file mode 100644 index 0000000..5107663 --- /dev/null +++ b/spi_gpio_probe/sdkconfig @@ -0,0 +1,4051 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 6.1.0 Project Configuration +# +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_PCNT_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_TWAI_SUPPORTED=y +# default: +CONFIG_SOC_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_UHCI_SUPPORTED=y +# default: +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_CAM_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y +# default: +CONFIG_SOC_LCD_I80_SUPPORTED=y +# default: +CONFIG_SOC_LCD_RGB_SUPPORTED=y +# default: +CONFIG_SOC_MCPWM_SUPPORTED=y +# default: +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_SUPPORT_WRAP=y +# default: +CONFIG_SOC_ULP_SUPPORTED=y +# default: +CONFIG_SOC_ULP_FSM_SUPPORTED=y +# default: +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_USB_OTG_SUPPORTED=y +# default: +CONFIG_SOC_USB_DFU_SUPPORTED=y +# default: +CONFIG_SOC_USB_OTG_CONSOLE_SUPPORTED=y +# default: +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +# default: +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +# default: +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +# default: +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +# default: +CONFIG_SOC_XT_WDT_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_RMT_SUPPORTED=y +# default: +CONFIG_SOC_SDM_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORT_COEXISTENCE=y +# default: +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_AES_SUPPORTED=y +# default: +CONFIG_SOC_MPI_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_HMAC_SUPPORTED=y +# default: +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_MEMPROT_SUPPORTED=y +# default: +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_REGI2C_SUPPORTED=y +# default: +CONFIG_SOC_MPU_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_RTC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_SIMD_INSTRUCTION_SUPPORTED=y +# default: +CONFIG_SOC_SPI_EXTERNAL_NOR_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y +# default: +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=2 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_APB_BACKUP_DMA=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_ACS_INVALID_STATE_ON_PANIC=y +# default: +CONFIG_SOC_CPU_CORES_NUM=2 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FPU=y +# default: +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 +# default: +CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16 +# default: +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +# default: +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +# default: +CONFIG_SOC_AHB_GDMA_VERSION=1 +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=49 +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +# default: +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +# default: +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP=y +# default: +CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK=0 +# default: +CONFIG_SOC_I2C_NUM=2 +# default: +CONFIG_SOC_HP_I2C_NUM=2 +# default: +CONFIG_SOC_I2C_SUPPORT_XTAL=y +# default: +CONFIG_SOC_I2C_SUPPORT_RTC=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +# default: +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +# default: +CONFIG_SOC_I2S_HW_VERSION_2=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +# default: +CONFIG_SOC_I2S_SUPPORTS_TDM=y +# default: +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +# default: +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +# default: +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +# default: +CONFIG_SOC_MMU_PERIPH_NUM=1 +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +# default: +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +# default: +CONFIG_SOC_RMT_SUPPORT_DMA=y +# default: +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +# default: +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +# default: +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +# default: +CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=22 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=3 +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +# default: +CONFIG_SOC_SPI_SUPPORT_OCT=y +# default: +CONFIG_SOC_SPIRAM_SUPPORTED=y +# default: +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_RTC_TIMER_V1=y +# default: +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +# default: +CONFIG_SOC_TOUCH_MIN_CHAN_ID=1 +# default: +CONFIG_SOC_TOUCH_MAX_CHAN_ID=14 +# default: +CONFIG_SOC_TOUCH_SUPPORT_BENCHMARK=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_DENOISE_CHAN=y +# default: +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +# default: +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +# default: +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=3 +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +# default: +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +# default: +CONFIG_SOC_USB_FSLS_PHY_NUM=1 +# default: +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +# default: +CONFIG_SOC_SHA_SUPPORT_DMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_RESUME=y +# default: +CONFIG_SOC_SHA_GDMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA384=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y +# default: +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +# default: +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +# default: +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_AES_SUPPORT_DMA=y +# default: +CONFIG_SOC_AES_GDMA=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_128=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_256=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +# default: +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +# default: +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +# default: +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +# default: +CONFIG_SOC_PM_MODEM_PD_BY_SW=y +# default: +CONFIG_SOC_PM_RTC_NOT_SUPPORT_UART2_WAKEUP=y +# default: +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y +# default: +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +# default: +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +# default: +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +# default: +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +# default: +CONFIG_SOC_EFUSE_DIS_ICACHE=y +# default: +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +# default: +CONFIG_SOC_EFUSE_XTS_AES_KEY_128=y +# default: +CONFIG_SOC_EFUSE_XTS_AES_KEY_256=y +# default: +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +# default: +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +# default: +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +# default: +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +# default: +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +# default: +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +# default: +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +# default: +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y +# default: +CONFIG_SOC_SPI_MEM_FLASH_SUPPORT_HPM=y +# default: +CONFIG_SOC_MEMSPI_SUPPORT_CONTROL_DUMMY_OUT=y +# default: +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +# default: +CONFIG_SOC_MEMSPI_ENCRYPTION_ALIGNMENT=16 +# default: +CONFIG_SOC_COEX_HW_PTI=y +# default: +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +# default: +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +# default: +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +# default: +CONFIG_SOC_SDMMC_DATA_WIDTH_MAX=8 +# default: +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +# default: +CONFIG_SOC_WIFI_HW_TSF=y +# default: +CONFIG_SOC_WIFI_FTM_SUPPORT=y +# default: +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_TXOP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +# default: +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MESH_SUPPORTED=y +# default: +CONFIG_SOC_BLE_50_SUPPORTED=y +# default: +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_ULP_HAS_ADC=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV=y +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_XTENSA=y +# default: +CONFIG_IDF_TARGET_ARCH="xtensa" +# default: +CONFIG_IDF_TARGET="esp32s3" +# default: +CONFIG_IDF_INIT_VERSION="6.1.0" +# default: +CONFIG_IDF_TARGET_ESP32S3=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y + +# +# Minimize binary changes between builds +# +# default: +# CONFIG_APP_BUILD_MINIMIZE_BINARY_CHANGES is not set +# end of Minimize binary changes between builds + +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# App Update config +# +# end of App Update config + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# default: +CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ=80 + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# default: +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# default: +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +# default: +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +CONFIG_SECURE_BOOT_IMAGE_DIGEST_LEN=32 +# default: +CONFIG_SECURE_BOOT_ROM_FAST_WAKE_RESERVE_SIZE=0 +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# default: +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +# default: +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=3 +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +# default: +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +# default: +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +# default: +CONFIG_ESP_ROM_GET_CLK_FREQ=y +# default: +CONFIG_ESP_ROM_HAS_HAL_WDT=y +# default: +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +# default: +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +# default: +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +# default: +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +# default: +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +# default: +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +# default: +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +# default: +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_HAS_VERSION=y +# default: +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y +# default: +CONFIG_ESP_ROM_CONSOLE_OUTPUT_SECONDARY=y +# default: +CONFIG_ESP_ROM_HAS_REGI2C_IMPL=y +# default: +CONFIG_ESP_ROM_BOOTLOADER_OFFSET_FLASH=0x0 + +# +# Boot ROM Behavior +# +# default: +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# default: +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +# default: +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +CONFIG_ESPTOOLPY_FLASHMODE_VAL=3 +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default-reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard-reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# default: +CONFIG_PARTITION_TABLE_SINGLE_APP=y +# default: +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_CUSTOM is not set +# default: +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +# CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE is not set +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# default: +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC15_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# default: +CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE=y +# default: +# CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR is not set +# default: +# CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD is not set +# end of Compiler options + +# +# Component config +# + +# +# Bluetooth +# +# default: +# CONFIG_BT_ENABLED is not set + +# +# Common Options +# + +# +# BT Logs +# + +# +# Log Sources +# +# end of Log Sources + +# default: +# CONFIG_BT_LOG_CRITICAL_ONLY is not set +# default: +# CONFIG_BLE_LOG_ENABLED is not set + +# +# Legacy SPI Log Output (Deprecated - use BT Log Async Output instead) +# +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# end of Legacy SPI Log Output (Deprecated - use BT Log Async Output instead) +# end of BT Logs + +# default: +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# default: +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Legacy Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM_LEGACY is not set +# default: +# CONFIG_TWAI_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy TWAI Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations + +# +# Legacy Touch Sensor Driver Configurations +# +# default: +# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Touch Sensor Driver Configurations +# end of Legacy Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_CUSTOM_STACK is not set +# default: +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# default: +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:Camera Controller Configurations +# +# default: +# CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE is not set +# end of ESP-Driver:Camera Controller Configurations + +# +# GDMA Configurations +# +# default: +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# default: +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:I3C Master Configurations +# +# default: +# CONFIG_I3C_MASTER_ISR_CACHE_SAFE is not set +# default: +# CONFIG_I3C_MASTER_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I3C_MASTER_ISR_HANDLER_IN_IRAM is not set +# end of ESP-Driver:I3C Master Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# default: +CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_MCPWM_ISR_CACHE_SAFE is not set +# default: +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# default: +CONFIG_MCPWM_OBJ_CACHE_SAFE=y +# default: +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:PCNT Configurations +# +# default: +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# default: +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# default: +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +# default: +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# default: +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# default: +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +# default: +CONFIG_RMT_OBJ_CACHE_SAFE=y +# default: +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# default: +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SD Host SDMMC Controller Configurations +# +# default: +# CONFIG_SD_HOST_SDMMC_ISR_CACHE_SAFE is not set +# end of ESP-Driver:SD Host SDMMC Controller Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# default: +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# default: +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TOUCH_SKIP_FSM_CHECK is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# default: +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM is not set +# default: +# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set +# default: +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +# default: +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR_SIZE=4 +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS is not set +# default: +CONFIG_ESP_HTTP_CLIENT_STRICT_HEADER_BUFFER=y +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_ENABLE_EVENTS=y +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD is not set +# default: +CONFIG_ESP_HTTPS_OTA_VERIFY_SPI_MODE=y +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# +# default: +CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y + +# +# Chip revision +# +# default: +CONFIG_ESP32S3_REV_MIN_0=y +# default: +# CONFIG_ESP32S3_REV_MIN_1 is not set +# default: +# CONFIG_ESP32S3_REV_MIN_2 is not set +# default: +CONFIG_ESP32S3_REV_MIN_FULL=0 +# default: +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# +# default: +CONFIG_ESP32S3_REV_MAX_FULL=99 +# default: +CONFIG_ESP_REV_MAX_FULL=99 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 + +# +# Maximum Supported ESP32-S3 eFuse Block Revision (eFuse Block Rev v1.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y +# default: +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# default: +# CONFIG_ESP_SLEEP_SET_FLASH_DPD is not set +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# default: +CONFIG_RTC_CLK_FUNC_IN_IRAM=y +# default: +CONFIG_RTC_TIME_FUNC_IN_IRAM=y +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# Main XTAL Config +# +# default: +CONFIG_XTAL_FREQ_40=y +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# default: +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# LibC +# +# default: +# CONFIG_LIBC_NEWLIB is not set +# default: +CONFIG_LIBC_PICOLIBC=y +# default: +CONFIG_LIBC_PICOLIBC_NEWLIB_COMPATIBILITY=y +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# ESP-MM: Memory Management Configurations +# +# default: +# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_LOST_IP_TIMER_ENABLE=y +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS=y +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +CONFIG_ESP_PHY_ENABLE_USB=y +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# default: +CONFIG_ESP_PHY_ENABLE_VERSION_PRINT=y +# end of PHY + +# +# Power Management +# +# default: +# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set +# default: +# CONFIG_PM_ENABLE is not set +# default: +# CONFIG_PM_SLP_IRAM_OPT is not set +# default: +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# default: +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y +# default: +CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU=y +# end of Power Management + +# +# ESP PSRAM +# +# default: +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_IN_IRAM is not set +# default: +# CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP-STDIO +# +# default: +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# default: +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# default: +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# default: +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# default: +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +# default: +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +# default: +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +# default: +CONFIG_ESP_CONSOLE_UART=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +# default: +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# default: +CONFIG_ESP_STDIO_MAX_VFS_ENTRIES=2 +# end of ESP-STDIO + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Cache config +# +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +# default: +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# default: +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# default: +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# default: +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +# default: +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# default: +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y +# default: +# CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32 +# end of Cache config + +# +# Memory +# +# default: +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# default: +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set +# end of Memory + +# +# Trace memory +# +# default: +# CONFIG_ESP32S3_TRAX is not set +# default: +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +# default: +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +# default: +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +# default: +CONFIG_ESP_SYSTEM_MEMPROT=y +# default: +CONFIG_ESP_SYSTEM_MEMPROT_PMS=y +# default: +CONFIG_ESP_SYSTEM_MEMPROT_PMS_LOCK=y +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +# default: +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_ENABLE=y +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 +# default: +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +# default: +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# ESP Trace Configuration +# +# default: +# CONFIG_ESP_TRACE_LIB_EXTERNAL is not set +# default: +CONFIG_ESP_TRACE_LIB_NONE=y +# default: +CONFIG_ESP_TRACE_LIB_NAME="none" +# default: +# CONFIG_ESP_TRACE_TRANSPORT_APPTRACE is not set +# default: +CONFIG_ESP_TRACE_TRANSPORT_NONE=y +# default: +CONFIG_ESP_TRACE_TRANSPORT_NAME="none" +# end of ESP Trace Configuration + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y +# default: +# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +CONFIG_ESP_WIFI_WPA3_COMPATIBLE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_SOFTAP=y +# default: +# CONFIG_ESP_WIFI_PASN_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# default: +# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# default: +# CONFIG_ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_PRIVACY_ENHANCEMENTS_ENABLED is not set +# end of Wi-Fi + +# +# Wi-Fi Remote +# +# default: +CONFIG_ESP_WIFI_REMOTE_IN_IDF=y +# default: +CONFIG_ESP_WIFI_REMOTE_ENABLED=y +# default: +CONFIG_SLAVE_IDF_TARGET_ESP32=y +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32S2 is not set +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32C3 is not set +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32S3 is not set +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32C2 is not set +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32C6 is not set +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32C5 is not set +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32C61 is not set +# default: +# CONFIG_SLAVE_IDF_TARGET_ESP32S31 is not set +# default: +CONFIG_SLAVE_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SLAVE_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SLAVE_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SLAVE_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SLAVE_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +# default: +CONFIG_SLAVE_SOC_WIFI_NAN_SUPPORT=y +# default: +CONFIG_SLAVE_IDF_TARGET_ARCH_XTENSA=y + +# +# Wi-Fi configuration +# +# default: +CONFIG_WIFI_RMT_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_WIFI_RMT_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_WIFI_RMT_STATIC_TX_BUFFER is not set +# default: +CONFIG_WIFI_RMT_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_WIFI_RMT_TX_BUFFER_TYPE=1 +# default: +CONFIG_WIFI_RMT_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_WIFI_RMT_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_WIFI_RMT_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_WIFI_RMT_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_WIFI_RMT_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_WIFI_RMT_CSI_ENABLED is not set +# default: +CONFIG_WIFI_RMT_AMPDU_TX_ENABLED=y +# default: +CONFIG_WIFI_RMT_TX_BA_WIN=6 +# default: +CONFIG_WIFI_RMT_AMPDU_RX_ENABLED=y +# default: +CONFIG_WIFI_RMT_RX_BA_WIN=6 +# default: +CONFIG_WIFI_RMT_NVS_ENABLED=y +# default: +CONFIG_WIFI_RMT_TASK_PINNED_TO_CORE_0=y +# default: +# CONFIG_WIFI_RMT_TASK_PINNED_TO_CORE_1 is not set +# default: +CONFIG_WIFI_RMT_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_WIFI_RMT_MGMT_SBUF_NUM=32 +# default: +CONFIG_WIFI_RMT_IRAM_OPT=y +# default: +# CONFIG_WIFI_RMT_EXTRA_IRAM_OPT is not set +# default: +CONFIG_WIFI_RMT_RX_IRAM_OPT=y +# default: +CONFIG_WIFI_RMT_ENABLE_WPA3_SAE=y +# default: +CONFIG_WIFI_RMT_ENABLE_SAE_H2E=y +# default: +CONFIG_WIFI_RMT_ENABLE_SAE_PK=y +# default: +CONFIG_WIFI_RMT_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_WIFI_RMT_ENABLE_WPA3_OWE_STA=y +# default: +CONFIG_WIFI_RMT_WPA3_COMPATIBLE_SUPPORT=y +# default: +CONFIG_WIFI_RMT_ENABLE_WPA3_OWE_SOFTAP=y +# default: +# CONFIG_WIFI_RMT_PASN_SUPPORT is not set +# default: +# CONFIG_WIFI_RMT_SLP_IRAM_OPT is not set +# default: +CONFIG_WIFI_RMT_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +# CONFIG_WIFI_RMT_BSS_MAX_IDLE_SUPPORT is not set +# default: +CONFIG_WIFI_RMT_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_WIFI_RMT_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +CONFIG_WIFI_RMT_STA_DISCONNECTED_PM_ENABLE=y +# default: +CONFIG_WIFI_RMT_GMAC_SUPPORT=y +# default: +CONFIG_WIFI_RMT_SOFTAP_SUPPORT=y +# default: +# CONFIG_WIFI_RMT_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_WIFI_RMT_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +# CONFIG_WIFI_RMT_NAN_SYNC_ENABLE is not set +# default: +CONFIG_WIFI_RMT_MBEDTLS_CRYPTO=y +# default: +CONFIG_WIFI_RMT_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_WIFI_RMT_WAPI_PSK is not set +# default: +# CONFIG_WIFI_RMT_11KV_SUPPORT is not set +# default: +# CONFIG_WIFI_RMT_MBO_SUPPORT is not set +# default: +# CONFIG_WIFI_RMT_ENABLE_ROAMING_APP is not set +# default: +# CONFIG_WIFI_RMT_DPP_SUPPORT is not set +# default: +# CONFIG_WIFI_RMT_11R_SUPPORT is not set +# default: +# CONFIG_WIFI_RMT_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# default: +# CONFIG_WIFI_RMT_WPS_STRICT is not set +# default: +# CONFIG_WIFI_RMT_WPS_PASSPHRASE is not set +# default: +# CONFIG_WIFI_RMT_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_WIFI_RMT_DEBUG_PRINT is not set +# default: +CONFIG_WIFI_RMT_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_WIFI_RMT_ENT_FREE_DYNAMIC_BUFFER is not set +# default: +# CONFIG_WIFI_RMT_PASSIVE_HIDDEN_AP_SUPPORT is not set +# default: +# CONFIG_WIFI_RMT_PRIVACY_ENHANCEMENTS_ENABLED is not set +# end of Wi-Fi configuration + +# default: +CONFIG_ESP_WIFI_REMOTE_LIBRARY_HOSTED=y +# default: +# CONFIG_ESP_WIFI_REMOTE_LIBRARY_EPPP is not set +# default: +# CONFIG_ESP_WIFI_REMOTE_LIBRARY_CUSTOM is not set +# default: +CONFIG_ESP_WIFI_REMOTE_EAP_ENABLED=y +# end of Wi-Fi Remote + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +# CONFIG_FATFS_LFN_NONE is not set +# default: +CONFIG_FATFS_LFN_HEAP=y +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_MAX_LFN=255 +# default: +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# default: +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +CONFIG_FATFS_ALLOC_PREFER_ALIGNED_WORK_BUFFERS=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +CONFIG_FATFS_USE_DYN_BUFFERS=y + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_UNICORE is not set +# default: +CONFIG_FREERTOS_HZ=100 +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +# CONFIG_FREERTOS_FPU_IN_ISR is not set +# default: +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# default: +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# default: +# CONFIG_FREERTOS_IN_IRAM is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=2 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# default: +CONFIG_HAL_WDT_USE_ROM_IMPL=y +# default: +CONFIG_HAL_GPIO_USE_ROM_IMPL=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# default: +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# default: +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_ND6_SUPPORT_STATIC_ENTRIES is not set +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# default: +# CONFIG_LWIP_SO_RCVBUF is not set +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +CONFIG_LWIP_IPV6_DUP_DETECT_ATTEMPTS=1 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_REPORT_CLIENT_HOSTNAME=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_MAX_HOSTNAME_LEN=64 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +# CONFIG_LWIP_NETIF_LINK_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SUPPORT is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# + +# +# Core Configuration +# +# default: +CONFIG_MBEDTLS_VER_4_X_SUPPORT=y +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_PERF is not set +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +# CONFIG_MBEDTLS_PSA_ITS_CUSTOM_STORAGE_BACKEND is not set +# default: +CONFIG_MBEDTLS_THREADING_C=y +# default: +# CONFIG_MBEDTLS_THREADING_ALT is not set +# default: +CONFIG_MBEDTLS_THREADING_PTHREAD=y +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_VERSION_C=y +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_VERSION_FEATURES is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set +# default: +CONFIG_MBEDTLS_SELF_TEST=y +# end of Core Configuration + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_X509_USE_C=y +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_PK_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_C=y +# default: +CONFIG_MBEDTLS_PK_WRITE_C=y +# default: +# CONFIG_MBEDTLS_X509_REMOVE_INFO is not set +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CRT_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# default: +# CONFIG_MBEDTLS_X509_CREATE_C is not set +# default: +CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT=y +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +CONFIG_MBEDTLS_ASN1_PARSE_C=y +# default: +CONFIG_MBEDTLS_ASN1_WRITE_C=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + +# +# Certificate Bundle Configuration +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle Configuration + +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY is not set +# end of Certificates + +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Protocol Configuration +# +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_CACHE_C=y +# default: +CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES=y + +# +# TLS Key Exchange Configuration +# +# default: +# CONFIG_MBEDTLS_PSK_MODES is not set +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# end of TLS Key Exchange Configuration + +# default: +CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION=y +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH=y +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# end of TLS Protocol Configuration + +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +# CONFIG_MBEDTLS_ARIA_C is not set +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CBC=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CTR=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_OFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_XTS=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# default: +CONFIG_MBEDTLS_AES_ROM_TABLES=y +# default: +# CONFIG_MBEDTLS_AES_FEWER_TABLES is not set +# default: +# CONFIG_MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# end of Symmetric Ciphers + +# +# Asymmetric Ciphers +# +# default: +CONFIG_MBEDTLS_RSA_C=y +# default: +CONFIG_MBEDTLS_ECP_C=y + +# +# Supported Curves +# +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# end of Supported Curves + +# +# Elliptic Curve Ciphers Configuration +# +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +# CONFIG_MBEDTLS_DHM_C is not set +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# end of Elliptic Curve Ciphers Configuration +# end of Asymmetric Ciphers + +# +# Hash functions +# +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set +# default: +CONFIG_MBEDTLS_MD_C=y +# default: +CONFIG_MBEDTLS_MD5_C=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +# CONFIG_MBEDTLS_SHA224_C is not set +# default: +CONFIG_MBEDTLS_SHA256_C=y +# default: +CONFIG_MBEDTLS_SHA384_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +# CONFIG_MBEDTLS_SHA3_C is not set +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# end of Hash functions + +# +# Hardware Acceleration +# +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_HARDWARE_MPI=y +# default: +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +# default: +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_HARDWARE_AES=y +# default: +# CONFIG_MBEDTLS_AES_SOFT_FALLBACK is not set +# default: +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +# default: +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM=y +# default: +# CONFIG_MBEDTLS_SECURE_ELEMENT_DRIVER_ENABLED is not set +# default: +CONFIG_MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL=y +# end of Hardware Acceleration + +# +# Entropy and Random Number Generation +# +# default: +# CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 is not set +# default: +CONFIG_MBEDTLS_CTR_DRBG_C=y +# default: +CONFIG_MBEDTLS_HMAC_DRBG_C=y +# end of Entropy and Random Number Generation + +# +# Encoding/Decoding +# +# default: +CONFIG_MBEDTLS_BASE64_C=y +# default: +CONFIG_MBEDTLS_PKCS5_C=y +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# default: +CONFIG_MBEDTLS_PKCS1_V15=y +# default: +CONFIG_MBEDTLS_PKCS1_V21=y +# end of Encoding/Decoding + +# +# Stream Cipher +# +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# end of Stream Cipher +# end of mbedTLS + +# +# NVS +# +# default: +# CONFIG_NVS_ENCRYPTION is not set +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# default: +# CONFIG_NVS_BDL_STACK is not set +# default: +# CONFIG_NVS_FLASH_VERIFY_ERASE is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# default: +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0 is not set +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1 is not set +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# SD Protocol Layer Configuration +# +# default: +CONFIG_SD_ENABLE_SDIO_SUPPORT=y +# end of SD Protocol Layer Configuration + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_64KB=y +# default: +CONFIG_MMU_PAGE_MODE="64KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +# CONFIG_SPI_FLASH_HPM_ENA is not set +# default: +CONFIG_SPI_FLASH_HPM_AUTO=y +# default: +# CONFIG_SPI_FLASH_HPM_DIS is not set +# default: +CONFIG_SPI_FLASH_HPM_ON=y +# default: +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# default: +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +# default: +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +# CONFIG_SPI_FLASH_ROM_IMPL is not set +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# default: +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +# CONFIG_VFS_SUPPORT_TERMIOS is not set +# default: +CONFIG_VFS_MAX_COUNT=8 +# default: +# CONFIG_VFS_SUPPRESS_CTX_DEPRECATION is not set + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_EXTERNAL_COEX_ENABLE is not set +# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set +# CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_VIA_TEE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32S3_DEBUG_OCDAWARE=y +CONFIG_IPC_TASK_STACK_SIZE=1280 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +# CONFIG_ESP32_APPTRACE_ENABLE is not set +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_SUPPORT_TERMIOS is not set +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..8446cd2 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.5) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +set(EXTRA_COMPONENT_DIRS + "${CMAKE_CURRENT_LIST_DIR}/main" + "${CMAKE_CURRENT_LIST_DIR}/components/libsmb2_esp" +) + +project(esp-spi) + +set(app_elf "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.elf") +set(app_disasm "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.s") + +add_custom_command( + OUTPUT "${app_disasm}" + COMMAND "${CMAKE_OBJDUMP}" -S "${app_elf}" > "${app_disasm}" + DEPENDS "${app_elf}" + VERBATIM +) + +add_custom_target(disasm ALL DEPENDS "${app_disasm}") diff --git a/src/WEATHER_GET.md b/src/WEATHER_GET.md new file mode 100644 index 0000000..94456d9 --- /dev/null +++ b/src/WEATHER_GET.md @@ -0,0 +1,58 @@ +# WEATHER_GET по SPI + +Команда `ESP_CMD_WEATHER_GET = 0x2D`. Код `0x24` исходного ZiFi занят в этом +проекте командой HTTPS_STREAM_START; UART-кадр ответа `0xA4` здесь не используется. +Сервисы: api.zippopotam.us и api.open-meteo.com, прямое HTTP-соединение. + +1. Подключить Wi-Fi обычными командами проекта. +2. Создать объект DATA или DATAF через MAKE_OBJECT и записать через WRITE_OBJECT + две строки с завершающими нулями: код страны ISO из двух латинских букв и индекс. + Например, `IT\0` + `00144\0` — 9 байт. Индекс: от 1 до 31 байта. + Допускается нулевое дополнение объекта для выравнивания DMA. +3. Записать handle входного объекта в ESP_REG_OBJ_HANDLE и выполнить `0x2D`. + Дождаться завершения BUSY; тайм-аут на стороне хоста рекомендуется 90 секунд. +4. При READY: ESP_REG_OBJ_HANDLE содержит новый объект DATA, + ESP_REG_DATA_OFFSET=0, ESP_REG_DATA_SIZE=90. Прочитать через READ_OBJECT. +5. Удалить входной и выходной объекты через DELETE_OBJECT, когда они больше не нужны. + Входной объект команда не изменяет и не удаляет; его handle следует сохранить. + +При ошибке новый объект не создаётся, входной handle сохраняется, DATA_SIZE=0. +Статусы: INV_HANDLE, INV_PARAM, INV_STR_LEN, AP_NOT_CONNECTED, +OUT_OF_MEMORY/OUT_OF_HANDLES; `ESP_ERR_WEATHER=0xB5` означает ошибку HTTP или +разбора JSON (подробность в логе `weather`). Без Wi-Fi команда даёт INV_COMMAND. + +Координаты кешируются до изменения пары страна/индекс или перезагрузки. +Прогноз запрашивается при каждом вызове. Для обрывов, 429 и 5xx — максимум три +попытки, паузы 1 и 2 секунды; новые запросы начинаются только в первые 30 секунд. +Ответы ограничены 4095 байтами, усечённые ответы не принимаются. +Параметры из zifi.ini передаёт хост: прошивка сама этот файл не читает. +Прокси из оригинального ZiFi не перенесён: в данном SPI API нет его настройки. + +## Запись версии 1 (90 байт) + +Все 16-битные числа little-endian. Температуры — знаковые байты в °C. + +| Смещение | Размер | Поле | +|---|---|---| +| 0 | 1 | 1: данные получены | +| 1 | 1 | Версия: 1 | +| 2 | 24 | Название места, CP866, с нулём | +| 26 | 1 | Текущая температура | +| 27 | 1 | Код WMO | +| 28 | 1 | 1: день | +| 29 | 2 | Ветер, км/ч ×10 | +| 31 | 2 | Осадки за час, мм ×10 | +| 33 | 2 | Давление, мм рт. ст. | +| 35 | 2 | Восход: час, минута | +| 37 | 2 | Закат: час, минута | +| 39 | 2 | Местное время данных: час, минута | +| 41 | 1 | Число дневных записей, до 6 | +| 42 | 48 | До 6 записей по 8 байт | + +Дневная запись: число, месяц, день недели (0=понедельник), код WMO, +tmin, tmax, осадки мм ×10 (u16). Первый день — сегодня. + +Парсер `main/weather_parse.cpp` и `main/zifi/weather_parse.hpp` перенесён из +локального ZiFi-ESP32-S3-Zero; формат совместим с коммитом +[616bee6](https://github.com/andrewinsidelazarev/ZiFi-ESP32-S3-Zero/commit/616bee6333d34dfd4dfd83ffb4bb8a44c2c974f9). +Проверка парсера: `python tests/test_weather_parse.py` (нужен MSVC). diff --git a/src/bump_api.sh b/src/bump_api.sh new file mode 100644 index 0000000..a7c9920 --- /dev/null +++ b/src/bump_api.sh @@ -0,0 +1,28 @@ +#!/bin/sh +set -eu + +SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" +HDR="${1:-$SCRIPT_DIR/../src/esp_spi_defs.h}" + +if [ ! -f "$HDR" ]; then + echo "bump-api: file not found: $HDR" >&2 + exit 1 +fi + +old="$(sed -nE 's/^[[:space:]]*#define[[:space:]]+API_VER[[:space:]]+([0-9]+).*/\1/p' "$HDR" | head -n1)" + +if [ -z "$old" ]; then + echo "bump-api: API_VER not found in $HDR" >&2 + exit 1 +fi + +if [ "$old" -ge 255 ]; then + echo "bump-api: API_VER is 1 byte and already at maximum 255" >&2 + exit 1 +fi + +new=$((old + 1)) + +sed -i -E "s/^([[:space:]]*#define[[:space:]]+API_VER[[:space:]]+)[0-9]+/\1${new}/" "$HDR" + +echo "bump-api: API ${old} -> ${new}" diff --git a/src/bump_feat.sh b/src/bump_feat.sh new file mode 100644 index 0000000..d0cb773 --- /dev/null +++ b/src/bump_feat.sh @@ -0,0 +1,28 @@ +#!/bin/sh +set -eu + +SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" +HDR="${1:-$SCRIPT_DIR/../src/esp_spi_defs.h}" + +if [ ! -f "$HDR" ]; then + echo "bump-feat: file not found: $HDR" >&2 + exit 1 +fi + +old="$(sed -nE 's/^[[:space:]]*#define[[:space:]]+FEAT_VER[[:space:]]+([0-9]+).*/\1/p' "$HDR" | head -n1)" + +if [ -z "$old" ]; then + echo "bump-feat: FEAT_VER not found in $HDR" >&2 + exit 1 +fi + +if [ "$old" -ge 65535 ]; then + echo "bump-feat: FEAT_VER is 2 bytes and already at maximum 65535" >&2 + exit 1 +fi + +new=$((old + 1)) + +sed -i -E "s/^([[:space:]]*#define[[:space:]]+FEAT_VER[[:space:]]+)[0-9]+/\1${new}/" "$HDR" + +echo "bump-feat: FEAT ${old} -> ${new}" diff --git a/src/bump_ver.sh b/src/bump_ver.sh new file mode 100644 index 0000000..4f43bc0 --- /dev/null +++ b/src/bump_ver.sh @@ -0,0 +1,26 @@ +#!/bin/sh +set -eu + +SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" +HDR="${1:-$SCRIPT_DIR/../src/esp_spi_defs.h}" + +if [ ! -f "$HDR" ]; then + echo "bump: file not found: $HDR" >&2 + exit 1 +fi + +set -- $(sed -nE 's/^[[:space:]]*#define[[:space:]]+PROD_VER([0-2])[[:space:]]+([0-9]+).*/\1 \2/p' "$HDR" | sort | awk '{print $2}') + +if [ "$#" -ne 3 ]; then + echo "bump: PROD_VER0..2 not found in $HDR" >&2 + exit 1 +fi + +major="$1" +minor="$2" +old="$3" +new=$((old + 1)) + +sed -i -E "s/^([[:space:]]*#define[[:space:]]+PROD_VER2[[:space:]]+)[0-9]+/\1${new}/" "$HDR" + +echo "bump: ver.${major}.${minor}.${old} -> ver.${major}.${minor}.${new}" diff --git a/src/components/libsmb2_esp/CMakeLists.txt b/src/components/libsmb2_esp/CMakeLists.txt new file mode 100644 index 0000000..478b2e8 --- /dev/null +++ b/src/components/libsmb2_esp/CMakeLists.txt @@ -0,0 +1,103 @@ +# Modern ESP-IDF (idf_component_register) wrapper around the vendored +# libsmb2 checkout at E:\esp32\src\third_party\libsmb2 (upstream +# sahlberg/libsmb2, LGPL-2.1). Vendored outside components/ deliberately: +# ESP-IDF auto-scans every immediate subdirectory of components/ as a +# candidate component, and libsmb2's own CMakeLists.txt predates +# idf_component_register (calls add_definitions() at the top level, which +# ESP-IDF 6.1's two-pass component requirement scan rejects with +# "add_definitions command is not scriptable") — so it must never be +# auto-discovered directly. Source list and compile definitions below are +# copied from the upstream lib/CMakeLists.txt ESP_PLATFORM branch, minus +# aes_apple.c/krb5-wrapper.c (excluded there too for this platform). + +set(LIBSMB2_DIR "${CMAKE_CURRENT_LIST_DIR}/../../third_party/libsmb2") +set(LIBSMB2_LIB_DIR "${LIBSMB2_DIR}/lib") + +set(LIBSMB2_SOURCES + aes.c + aes_reference.c + aes128ccm.c + alloc.c + asn1-ber.c + compat.c + libsmb2-dcerpc.c + libsmb2-dcerpc-srvsvc.c + errors.c + hmac.c + hmac-md5.c + init.c + libsmb2.c + md4c.c + md5.c + ntlmssp.c + pdu.c + sha1.c + sha224-256.c + sha384-512.c + smb2-cmd-close.c + smb2-cmd-create.c + smb2-cmd-echo.c + smb2-cmd-error.c + smb2-cmd-flush.c + smb2-cmd-ioctl.c + smb2-cmd-lock.c + smb2-cmd-logoff.c + smb2-cmd-negotiate.c + smb2-cmd-notify-change.c + smb2-cmd-oplock-break.c + smb2-cmd-query-directory.c + smb2-cmd-query-info.c + smb2-cmd-read.c + smb2-cmd-session-setup.c + smb2-cmd-set-info.c + smb2-cmd-tree-connect.c + smb2-cmd-tree-disconnect.c + smb2-cmd-write.c + smb2-data-file-info.c + smb2-data-filesystem-info.c + smb2-data-security-descriptor.c + smb2-data-reparse-point.c + smb2-share-enum.c + smb3-seal.c + smb2-signing.c + socket.c + spnego-wrapper.c + sync.c + timestamps.c + unicode.c + usha.c +) + +list(TRANSFORM LIBSMB2_SOURCES PREPEND "${LIBSMB2_LIB_DIR}/") + +idf_component_register( + SRCS ${LIBSMB2_SOURCES} + INCLUDE_DIRS + "${LIBSMB2_DIR}/include" + "${LIBSMB2_DIR}/include/smb2" + "${LIBSMB2_DIR}/include/esp" + PRIV_INCLUDE_DIRS + "${LIBSMB2_LIB_DIR}" + REQUIRES + lwip + mbedtls + sock_utils +) + +target_compile_definitions(${COMPONENT_LIB} PRIVATE + HAVE_CONFIG_H + NEED_READV + NEED_WRITEV + NEED_GETLOGIN_R + NEED_RANDOM + NEED_SRANDOM + "_U_=__attribute__((unused))" +) + +# Vendored upstream code, built as-is: relax -Werror for warning classes that +# are harmless in practice (e.g. a tautological unsigned comparison in +# libsmb2.c) rather than patching third-party sources to satisfy this +# project's stricter default warning flags. +target_compile_options(${COMPONENT_LIB} PRIVATE + -Wno-error=type-limits +) diff --git a/src/components/libsmb2_esp/idf_component.yml b/src/components/libsmb2_esp/idf_component.yml new file mode 100644 index 0000000..043062a --- /dev/null +++ b/src/components/libsmb2_esp/idf_component.yml @@ -0,0 +1,8 @@ +## IDF Component Manager Manifest File +dependencies: + idf: + version: '>=4.1.0' + # gethostname() is not provided by ESP-IDF's libc; libsmb2's server accept + # path (smb2_serve_port) calls it directly. sock_utils supplies a minimal + # implementation. + espressif/sock_utils: "*" diff --git a/src/dependencies.lock b/src/dependencies.lock new file mode 100644 index 0000000..26d4164 --- /dev/null +++ b/src/dependencies.lock @@ -0,0 +1,83 @@ +dependencies: + espressif/esp_new_jpeg: + component_hash: e1e7e6991193c41ed6c9fc386702aa7821433319e7aa9c3147cd3236310cd69c + dependencies: [] + source: + registry_url: https://components.espressif.com/ + type: service + targets: + - esp32 + - esp32s2 + - esp32s3 + - esp32s31 + - esp32p4 + - esp32c2 + - esp32c3 + - esp32c5 + - esp32c6 + - esp32c61 + - esp32h4 + version: 1.0.2 + espressif/sock_utils: + component_hash: b2e5cafc60dfefd05720ababb9fca0dfe2830fb9d71f97e5336de36a84c591c9 + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 0.2.2 + espressif/usb: + component_hash: 6c2cff118141dbbca181d0d27d71801fdddfc78f7ac03ae43f6e5a8cbd89cb99 + dependencies: + - name: idf + require: private + version: '>=5.5.3' + source: + registry_url: https://components.espressif.com + type: service + targets: + - esp32s2 + - esp32s3 + - esp32s31 + - esp32p4 + - esp32h4 + - linux + version: 1.5.0 + espressif/usb_host_hid: + component_hash: a6c5366f9b6d80b0d5f56d085d62941464512e0968b96c5877e76a80fcc23f13 + dependencies: + - name: idf + require: private + version: '>=5.0' + - name: espressif/usb + registry_url: https://components.espressif.com + require: public + rules: + - if: idf_version >=6.0 + - if: target not in ["linux"] + version: ^1.0.0 + source: + registry_url: https://components.espressif.com/ + type: service + targets: + - esp32s2 + - esp32s3 + - esp32p4 + - esp32h4 + - esp32s31 + - linux + version: 1.2.0 + idf: + source: + type: idf + version: 6.1.0 +direct_dependencies: +- espressif/esp_new_jpeg +- espressif/sock_utils +- espressif/usb_host_hid +- idf +manifest_hash: a4d460bb515c6dffc30079d44d3c29fccc46d49abbe9d3c15eabf6486c7456c0 +target: esp32s3 +version: 3.0.0 diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt new file mode 100644 index 0000000..d2f9b7b --- /dev/null +++ b/src/main/CMakeLists.txt @@ -0,0 +1,12 @@ +file(GLOB SOURCES "*.c" "*.cpp") + +idf_component_register(SRCS ${SOURCES} INCLUDE_DIRS ".") + +idf_build_set_property(COMPILE_OPTIONS "-ggdb;-g3" APPEND) +idf_build_set_property(COMPILE_OPTIONS "-Wno-missing-field-initializers" APPEND) +idf_build_set_property(COMPILE_OPTIONS "-Wno-implicit-fallthrough" APPEND) + +# target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-error=format) +# target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-error) +# target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-but-set-variable) +# target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-function) diff --git a/src/main/at_cip.cpp b/src/main/at_cip.cpp new file mode 100644 index 0000000..863db58 --- /dev/null +++ b/src/main/at_cip.cpp @@ -0,0 +1,314 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "esp_log.h" +#include "esp_tls.h" +#include "esp_crt_bundle.h" + +#include "main.h" +#include "at_uart.h" +#include "at_cip.h" +#include "wifi.h" + +static const char *TAG = "at_cip"; + +static int cip_sock = -1; +static int cip_type = CIP_TYPE_NONE; +static char cip_host[64]; +static int cip_port = 0; +static esp_tls_t *cip_tls = NULL; + +void at_cip_init() +{ + cip_sock = -1; + cip_type = CIP_TYPE_NONE; + cip_host[0] = 0; + cip_port = 0; + cip_tls = NULL; +} + +bool at_cip_is_connected() +{ + return cip_sock >= 0 || cip_tls != NULL; +} + +void at_cip_status_line(char *buf, size_t buflen) +{ + if (!at_cip_is_connected()) + { + snprintf(buf, buflen, "STATUS:0"); + return; + } + + const char *type_str = cip_type == CIP_TYPE_UDP ? "UDP" : cip_type == CIP_TYPE_SSL ? "SSL" : "TCP"; + snprintf(buf, buflen, "STATUS:3\r\n+CIPSTATUS:0,\"%s\",\"%s\",%d,0,0", type_str, cip_host, cip_port); +} + +// Resolves and connects a raw socket via the plain BSD gethostbyname()/connect() +// path. Shared by plain TCP and (as of the SSL support below) also by the TLS +// path: esp_tls's own built-in connect step goes through getaddrinfo() instead, +// which crashes (LoadProhibited, NULL FreeRTOS queue handle deep inside lwIP's +// tcpip_task message-passing - confirmed via backtrace against esp-spi.elf, +// root cause not fully understood) the first time it's exercised from this +// task. gethostbyname() uses a different, older lwIP DNS code path that has +// always worked fine here, so SSL connects through it too and only hands +// esp_tls an already-open socket, skipping esp_tls's DNS/connect step entirely. +static int at_cip_connect_raw_tcp(int sock_type, const char *host, int port, bool set_rcv_timeout) +{ + // gethostbyname() (and, for the SSL caller, esp_tls's own getaddrinfo() + // fallback below) both post through tcpip_task's mailbox - if this is the + // very first network command since boot (no AT+CWJAP/AT+CWLAP yet), that + // mailbox doesn't exist yet and the post crashes with a NULL-queue-handle + // LoadProhibited (EXCVADDR=0x54, confirmed via console backtrace: reproduced + // with a plain AT+CIPSTART="TCP" to a literal IP right after a fresh boot, + // fixed by ensuring the WiFi stack is up first, same lazy-init used by + // AT+CWLAP - safe to call again if already initialized). + if (!net_mtx) + initialize_wifi(); + + struct hostent *server = gethostbyname(host); + if (!server) + { + ESP_LOGW(TAG, "DNS lookup failed for '%s'", host); + return -1; + } + + int sock = socket(AF_INET, sock_type, 0); + if (sock < 0) + { + ESP_LOGW(TAG, "socket() failed"); + return -1; + } + + struct sockaddr_in addr; + memset(&addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + addr.sin_port = htons(port); + memcpy(&addr.sin_addr.s_addr, server->h_addr, server->h_length); + + // A short receive timeout lets at_cip_rx_task poll periodically instead of + // blocking forever, so it notices at_cip_close() promptly. Skipped here for + // the SSL caller: applying it before the TLS handshake made mbedtls's own + // blocking reads see spurious timeouts mid-handshake (a partial/timed-out + // read on a socket mbedtls expects to block on desyncs its record parser - + // confirmed by this exact change turning consistent MBEDTLS_ERR_SSL_INVALID_RECORD + // handshake failures into a clean handshake). The SSL path sets this itself + // after the handshake completes, once the socket moves to steady-state reads. + if (set_rcv_timeout) + { + struct timeval tv = { 0, 200 * 1000 }; + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); + } + + if (sock_type == SOCK_DGRAM) + return sock; // UDP: no connect() handshake to wait on + + // Bound the connect() itself with an explicit timeout via a non-blocking + // connect + select(): an unreachable-but-not-immediately-rejected address + // (e.g. a black-holed IP) can otherwise leave the OS/lwip TCP SYN retry + // logic blocking this call for a minute or more, freezing the whole AT + // command interface for that entire time. + int flags = fcntl(sock, F_GETFL, 0); + fcntl(sock, F_SETFL, flags | O_NONBLOCK); + + int rc = connect(sock, (struct sockaddr*)&addr, sizeof(addr)); + + if (rc < 0 && errno != EINPROGRESS) + { + ESP_LOGW(TAG, "connect() to %s:%d failed immediately", host, port); + close(sock); + return -1; + } + + if (rc < 0) // EINPROGRESS - wait for it to complete + { + fd_set wfds; + FD_ZERO(&wfds); + FD_SET(sock, &wfds); + struct timeval conn_tv = { 10, 0 }; // 10s connect timeout + + int sel = select(sock + 1, NULL, &wfds, NULL, &conn_tv); + + if (sel <= 0) + { + ESP_LOGW(TAG, "connect() to %s:%d timed out", host, port); + close(sock); + return -1; + } + + int so_err = 0; + socklen_t so_len = sizeof(so_err); + getsockopt(sock, SOL_SOCKET, SO_ERROR, &so_err, &so_len); + + if (so_err != 0) + { + ESP_LOGW(TAG, "connect() to %s:%d failed: errno %d", host, port, so_err); + close(sock); + return -1; + } + } + + fcntl(sock, F_SETFL, flags); // back to blocking for the (rare) case send() would need it + return sock; +} + +static int at_cip_start_ssl(const char *host, int port) +{ + int sock = at_cip_connect_raw_tcp(SOCK_STREAM, host, port, false); + if (sock < 0) + return -1; + + // Kept local until the handshake fully succeeds below, deliberately not + // written to the global cip_tls yet: at_cip_is_connected() (checked by + // at_cip_rx_task's poll loop, running concurrently in its own task) goes by + // cip_tls != NULL, and that task calling esp_tls_conn_read() on a context + // that's mid-handshake raced with esp_tls_conn_new_sync() below over the + // same mbedtls ssl_context - confirmed via mbedtls debug log showing + // interleaved flush-output calls and a corrupted ssl->out_left, manifesting + // as MBEDTLS_ERR_SSL_INTERNAL_ERROR then MBEDTLS_ERR_SSL_INVALID_RECORD. + // The plain-TCP path never had this problem because it keeps its socket in + // a local variable the same way, only publishing to cip_sock at the very end. + esp_tls_t *tls = esp_tls_init(); + if (!tls) + { + ESP_LOGW(TAG, "esp_tls_init failed"); + close(sock); + return -1; + } + + esp_tls_set_conn_sockfd(tls, sock); + esp_tls_set_conn_state(tls, ESP_TLS_CONNECTING); // skip esp_tls's own DNS/connect step - see at_cip_connect_raw_tcp() + + esp_tls_cfg_t cfg = {}; + cfg.crt_bundle_attach = esp_crt_bundle_attach; + cfg.timeout_ms = 10000; // matches the connect timeout already spent above + + int rc = esp_tls_conn_new_sync(host, strlen(host), port, &cfg, tls); + if (rc != 1) + { + ESP_LOGW(TAG, "TLS handshake with %s:%d failed", host, port); + esp_tls_conn_destroy(tls); // also closes sock, it now owns the fd + return -1; + } + + // Now that the handshake is done, throttle reads the same way the plain-TCP + // path does, so at_cip_rx_task's poll loop notices at_cip_close() promptly. + struct timeval tv = { 0, 200 * 1000 }; + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); + + cip_tls = tls; // now safe to publish: handshake is done, at_cip_rx_task may use it + cip_type = CIP_TYPE_SSL; + strlcpy(cip_host, host, sizeof(cip_host)); + cip_port = port; + + ESP_LOGI(TAG, "connected SSL %s:%d", host, port); + return 0; +} + +int at_cip_start(const char *type, const char *host, int port) +{ + if (at_cip_is_connected()) + return -2; // already connected + + if (!strcasecmp(type, "SSL")) + return at_cip_start_ssl(host, port); + + int sock_type = 0; + + if (!strcasecmp(type, "TCP")) + sock_type = SOCK_STREAM; + else if (!strcasecmp(type, "UDP")) + sock_type = SOCK_DGRAM; + else + { + ESP_LOGW(TAG, "unknown type '%s'", type); + return -1; + } + + int sock = at_cip_connect_raw_tcp(sock_type, host, port, true); + if (sock < 0) + return -1; + + cip_sock = sock; + cip_type = (sock_type == SOCK_DGRAM) ? CIP_TYPE_UDP : CIP_TYPE_TCP; + strlcpy(cip_host, host, sizeof(cip_host)); + cip_port = port; + + ESP_LOGI(TAG, "connected %s %s:%d", cip_type == CIP_TYPE_UDP ? "UDP" : "TCP", host, port); + return 0; +} + +int at_cip_send(const uint8_t *data, size_t len) +{ + if (cip_tls) return (int)esp_tls_conn_write(cip_tls, data, len); + if (cip_sock < 0) return -1; + return send(cip_sock, data, len, 0); +} + +void at_cip_close() +{ + if (!at_cip_is_connected()) return; + + if (cip_tls) + { + esp_tls_conn_destroy(cip_tls); + cip_tls = NULL; + } + else + { + close(cip_sock); + cip_sock = -1; + } + + cip_type = CIP_TYPE_NONE; + cip_host[0] = 0; + cip_port = 0; +} + +void at_cip_rx_task(void *arg) +{ + uint8_t buf[1024]; + + while (1) + { + if (!at_cip_is_connected()) + { + vTaskDelay(pdMS_TO_TICKS(100)); + continue; + } + + esp_tls_t *tls = cip_tls; // snapshot; at_cip_close() may change these concurrently + int sock = cip_sock; + int n = tls ? (int)esp_tls_conn_read(tls, buf, sizeof(buf)) : recv(sock, buf, sizeof(buf), 0); + + if (n > 0) + { + char hdr[24]; + snprintf(hdr, sizeof(hdr), "\r\n+IPD,%d:", n); + at_send_str(hdr); + at_send_raw(buf, n); + } + else if (n == 0) + { + // Peer closed (TCP/SSL only - UDP recv() doesn't return 0 on a connected socket). + at_cip_close(); + at_send_str("\r\nCLOSED\r\n"); + } + // n < 0: either the SO_RCVTIMEO timeout expired (EAGAIN/EWOULDBLOCK, expected - + // esp_tls_conn_read() surfaces the same underlying-socket timeout as a generic + // negative return too, not distinguished from a real error here, matching how + // the plain-TCP path already treats every negative read as "retry") or the + // connection was closed out from under us by at_cip_close() (also fine, + // at_cip_is_connected() will be false at the top next time). + } +} diff --git a/src/main/at_cip.h b/src/main/at_cip.h new file mode 100644 index 0000000..9b1e6d0 --- /dev/null +++ b/src/main/at_cip.h @@ -0,0 +1,22 @@ + +#pragma once + +#include +#include + +enum +{ + CIP_TYPE_NONE = 0, + CIP_TYPE_TCP, + CIP_TYPE_UDP, + CIP_TYPE_SSL, +}; + +void at_cip_init(); +int at_cip_start(const char *type, const char *host, int port); // 0 ok, <0 on error, -2 if already connected +int at_cip_send(const uint8_t *data, size_t len); // returns bytes sent, or <0 +void at_cip_close(); +bool at_cip_is_connected(); +void at_cip_status_line(char *buf, size_t buflen); + +void at_cip_rx_task(void *arg); diff --git a/src/main/at_uart.cpp b/src/main/at_uart.cpp new file mode 100644 index 0000000..c3b100c --- /dev/null +++ b/src/main/at_uart.cpp @@ -0,0 +1,572 @@ +#include +#include +#include +#include + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "driver/uart.h" +#include "esp_system.h" +#include "esp_log.h" +#include "esp_wifi.h" + +#include "main.h" +#include "esp_spi_defs.h" +#include "wifi.h" +#include "at_cip.h" +#include "at_uart.h" + +#define AT_CIPSEND_MAX_LEN 1460 + +static const char *TAG = "at_uart"; + +static bool at_echo = true; + +enum +{ + AT_MODE_LINE, + AT_MODE_CIPSEND_DATA, +}; + +static int at_mode = AT_MODE_LINE; +static uint8_t at_cipsend_buf[AT_CIPSEND_MAX_LEN]; +static size_t at_cipsend_len = 0; +static size_t at_cipsend_have = 0; + +void at_uart_init() +{ + uart_config_t cfg = {}; + cfg.baud_rate = AT_UART_BAUD; + cfg.data_bits = UART_DATA_8_BITS; + cfg.parity = UART_PARITY_DISABLE; + cfg.stop_bits = UART_STOP_BITS_1; + cfg.flow_ctrl = UART_HW_FLOWCTRL_DISABLE; + cfg.source_clk = UART_SCLK_DEFAULT; + + ESP_ERROR_CHECK(uart_driver_install(UART_NUM_1, AT_UART_RX_BUF_SIZE, AT_UART_TX_BUF_SIZE, 0, NULL, 0)); + ESP_ERROR_CHECK(uart_param_config(UART_NUM_1, &cfg)); + ESP_ERROR_CHECK(uart_set_pin(UART_NUM_1, AT_UART_TX_PIN, AT_UART_RX_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE)); + + ESP_LOGI(TAG, "AT UART ready: TX=%d RX=%d %d 8N1", AT_UART_TX_PIN, AT_UART_RX_PIN, AT_UART_BAUD); + + // Real ESP8266 AT firmware emits this on the AT UART itself after boot/AT+RST; + // AT client libraries commonly block waiting for it before sending further commands. + at_send_raw("\r\nready\r\n", 9); +} + +void at_send_raw(const void *data, size_t len) +{ + uart_write_bytes(UART_NUM_1, (const char*)data, len); +} + +void at_send_str(const char *s) +{ + at_send_raw(s, strlen(s)); +} + +static void at_reply_ok() +{ + at_send_str("\r\nOK\r\n"); +} + +static void at_reply_error() +{ + at_send_str("\r\nERROR\r\n"); +} + +static void at_cmd_gmr() +{ + // The ZX Evolution client's single-shot display capture after AT+GMR is + // timing-sensitive on real hardware (verified: even small changes in send + // timing shift what fraction of this reply the client's display happens to + // catch, sometimes none of it, without affecting correctness - GMR's actual + // reply content and the OK are always sent and processed correctly + // regardless). A short delay between the echoed command line and the reply + // gives the client's display time to get ready before the content arrives. + vTaskDelay(pdMS_TO_TICKS(500)); + + // No leading CRLF and no blank line before OK: verified byte-for-byte + // against a real ESP8266 AT module's actual AT+GMR reply on real hardware. + char buf[192]; + at_send_str(CP_STRING); + at_send_str("\r\n"); + + at_send_str(API_STRING); + at_send_str("\r\n"); + + snprintf(buf, sizeof(buf), "SDK version:%s", IDF_VER); + at_send_str(buf); + at_send_str("\r\n"); + + at_send_str("OK"); + at_send_str("\r\n"); +} + +// Splits comma-separated args in place, honoring double-quoted tokens +// (e.g. `"ssid","pass"` or `"TCP",host,port`). Returns the number of tokens +// found (up to max_args); each out[i] points into 'args' (NUL-terminated). +static int at_parse_args(char *args, char *out[], int max_args) +{ + int count = 0; + char *p = args; + + while (*p && count < max_args) + { + while (*p == ' ') p++; + if (!*p) break; + + if (*p == '"') + { + p++; + out[count++] = p; + while (*p && *p != '"') p++; + if (*p == '"') *p++ = 0; + } + else + { + out[count++] = p; + while (*p && *p != ',') p++; + } + + while (*p == ' ') p++; + if (*p == ',') { *p = 0; p++; } + else if (*p) *p = 0; + } + + return count; +} + +static void at_cmd_cwmode(char *args, bool is_query) +{ + if (is_query) + { + char buf[24]; + snprintf(buf, sizeof(buf), "\r\n+CWMODE:1\r\n"); + at_send_str(buf); + at_reply_ok(); + return; + } + + if (!args || strcmp(args, "1")) + { + at_reply_error(); // only STA mode (1) is supported - AP/APSTA out of scope + return; + } + + at_reply_ok(); +} + +static void at_cmd_cwjap(char *args) +{ + char *tok[2]; + + if (!args || at_parse_args(args, tok, 2) != 2) + { + at_reply_error(); + return; + } + + bool connected = wifi_connect_locked(tok[0], tok[1], CONNECT_TIMEOUT_MS); + + if (!connected) + { + at_reply_error(); + return; + } + + // The ZX Evolution client (zifi_orig.asm) sends every AT command via zifi_send, + // which does a throwaway read (zifi_check_receive_command) right after writing + // the command - it patiently polls (screen-frame-gated, ~5s worst case) until + // ANY byte shows up, then slurps and discards it. For AT+CWJAP specifically, + // a SEPARATE loop right after re-polls for "OK\r" with no timeout at all. Real + // ESP8266 hardware takes several seconds to actually join, so that throwaway + // read naturally times out empty before the real reply lands, leaving it for + // the real wait loop to catch. Our join is near-instant (verified: the discard + // read grabs our whole reply within milliseconds, then the real wait loop hangs + // forever with nothing left to find) - so replying quickly here deterministically + // breaks this client. Deliberately hold the reply past that ~5s throwaway window. + vTaskDelay(pdMS_TO_TICKS(6500)); + at_reply_ok(); +} + +static void at_cmd_cwqap() +{ + wifi_disconnect_now_locked(); + at_reply_ok(); +} + +static void at_cmd_cwlap() +{ + if (!net_mtx) + initialize_wifi(); // lazily creates net_mtx as its first action + + if (xSemaphoreTake(net_mtx, portMAX_DELAY) != pdTRUE) + { + at_reply_error(); + return; + } + + esp_err_t err = (esp_err_t)wf_scan(300); + + if (err != ESP_OK) + { + xSemaphoreGive(net_mtx); + at_reply_error(); + return; + } + + uint16_t num = wf_get_ap_num(); + char line[160]; + + for (uint16_t i = 0; i < num; i++) + { + uint8_t auth, chan; + int8_t rssi; + uint8_t *ssid; + wf_get_ap(i, auth, rssi, chan, ssid); + snprintf(line, sizeof(line), "\r\n+CWLAP:(%u,\"%s\",%d,%u)", auth, ssid, rssi, chan); + at_send_str(line); + } + + xSemaphoreGive(net_mtx); + at_reply_ok(); +} + +static void at_cmd_cipsntpcfg(char *args, bool is_query) +{ + bool enable; + int timezone; + char s1[64], s2[64], s3[64]; + + if (is_query) + { + sntp_get_config(enable, timezone, s1, s2, s3, sizeof(s1)); + + char buf[220]; + if (s3[0]) + snprintf(buf, sizeof(buf), "\r\n+CIPSNTPCFG:%d,%d,\"%s\",\"%s\",\"%s\"\r\n", enable ? 1 : 0, timezone, s1, s2, s3); + else if (s2[0]) + snprintf(buf, sizeof(buf), "\r\n+CIPSNTPCFG:%d,%d,\"%s\",\"%s\"\r\n", enable ? 1 : 0, timezone, s1, s2); + else + snprintf(buf, sizeof(buf), "\r\n+CIPSNTPCFG:%d,%d,\"%s\"\r\n", enable ? 1 : 0, timezone, s1); + at_send_str(buf); + at_reply_ok(); + return; + } + + char *tok[5]; + int n = args ? at_parse_args(args, tok, 5) : 0; + + if (n < 2) + { + at_reply_error(); + return; + } + + char *endp = NULL; + long en = strtol(tok[0], &endp, 10); + if (!endp || *endp || (en != 0 && en != 1)) + { + at_reply_error(); + return; + } + + endp = NULL; + long tz = strtol(tok[1], &endp, 10); + if (!endp || *endp || tz < -12 || tz > 14) + { + at_reply_error(); + return; + } + + sntp_apply_config(en != 0, (int)tz, n >= 3 ? tok[2] : NULL, n >= 4 ? tok[3] : NULL, n >= 5 ? tok[4] : NULL); + at_reply_ok(); +} + +static void at_cmd_cipsntptime() +{ + char timestr[40]; + sntp_format_time(timestr, sizeof(timestr)); + + char buf[64]; + snprintf(buf, sizeof(buf), "\r\n+CIPSNTPTIME:%s\r\n", timestr); + at_send_str(buf); + at_reply_ok(); +} + +static void at_cmd_cifsr() +{ + uint8_t ip[4], mask[4], gate[4], mac[6] = {0}; + get_ip(ip, mask, gate); + esp_wifi_get_mac(WIFI_IF_STA, mac); + + char buf[96]; + snprintf(buf, sizeof(buf), "\r\n+CIFSR:STAIP,\"%u.%u.%u.%u\"\r\n+CIFSR:STAMAC,\"%02x:%02x:%02x:%02x:%02x:%02x\"\r\n", + ip[0], ip[1], ip[2], ip[3], mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + at_send_str(buf); + at_reply_ok(); +} + +static void at_cmd_cipstatus() +{ + char buf[128]; + at_cip_status_line(buf, sizeof(buf)); + at_send_str("\r\n"); + at_send_str(buf); + at_send_str("\r\n"); + at_reply_ok(); +} + +static void at_cmd_cipstart(char *args) +{ + char *tok[3]; + + if (!args || at_parse_args(args, tok, 3) != 3) + { + at_reply_error(); + return; + } + + int port = atoi(tok[2]); + int rc = at_cip_start(tok[0], tok[1], port); + + if (rc == -2) + { + at_send_str("\r\nALREADY CONNECTED\r\n"); + at_reply_error(); + return; + } + + if (rc != 0) + { + at_reply_error(); + return; + } + + at_send_str("\r\nCONNECT\r\n"); + at_reply_ok(); +} + +static void at_cmd_cipsend(char *args) +{ + if (!args) + { + at_reply_error(); + return; + } + + int len = atoi(args); + + if (len <= 0 || len > AT_CIPSEND_MAX_LEN) + { + at_reply_error(); + return; + } + + if (!at_cip_is_connected()) + { + at_reply_error(); + return; + } + + at_cipsend_len = (size_t)len; + at_cipsend_have = 0; + at_mode = AT_MODE_CIPSEND_DATA; + + at_send_str("\r\nOK\r\n>"); +} + +static void at_cmd_cipclose() +{ + at_cip_close(); + at_send_str("\r\nCLOSED\r\n"); + at_reply_ok(); +} + +// Dispatches one complete, NUL-terminated line (trailing \r/\n already stripped by caller). +static void at_dispatch_line(char *line, size_t len) +{ + if (at_echo) + { + at_send_str(line); + at_send_str("\r\n"); + } + + if (len == 0) return; // silently ignore stray blank lines, matches real AT modules + + if (!strcasecmp(line, "AT")) + { + at_reply_ok(); + return; + } + + if (!strncasecmp(line, "ATE", 3) && len == 4 && (line[3] == '0' || line[3] == '1')) + { + at_echo = (line[3] == '1'); + at_reply_ok(); + return; + } + + if (strncasecmp(line, "AT+", 3) != 0) + { + at_reply_error(); + return; + } + + char *cmd = line + 3; + char *eq = strchr(cmd, '='); + char *args = NULL; + bool is_query = false; + + if (eq) + { + *eq = 0; + args = eq + 1; + } + else + { + size_t clen = strlen(cmd); + if (clen && cmd[clen - 1] == '?') + { + cmd[clen - 1] = 0; + is_query = true; + } + } + + if (!strcasecmp(cmd, "RST")) + { + at_reply_ok(); + ESP_LOGE(TAG, "software restart requested by AT+RST on UART1"); + vTaskDelay(pdMS_TO_TICKS(50)); + esp_restart(); + } + else if (!strcasecmp(cmd, "GMR")) + at_cmd_gmr(); + else if (!strcasecmp(cmd, "CWMODE") || !strcasecmp(cmd, "CWMODE_CUR") || !strcasecmp(cmd, "CWMODE_DEF")) + at_cmd_cwmode(args, is_query); + else if (!strcasecmp(cmd, "CWJAP") || !strcasecmp(cmd, "CWJAP_CUR") || !strcasecmp(cmd, "CWJAP_DEF")) + at_cmd_cwjap(args); + else if (!strcasecmp(cmd, "CWQAP")) + at_cmd_cwqap(); + else if (!strcasecmp(cmd, "CWLAP")) + at_cmd_cwlap(); + else if (!strcasecmp(cmd, "CWAUTOCONN")) + at_reply_ok(); // autoconnect-on-boot persistence is out of scope by design; accept and no-op + else if (!strcasecmp(cmd, "CIPMUX")) + { + // Only single-connection mode (0) is supported - CIPMUX multi-connection is out of scope. + if (args && !strcmp(args, "0")) + at_reply_ok(); + else + at_reply_error(); + } + else if (!strcasecmp(cmd, "CIFSR")) + at_cmd_cifsr(); + else if (!strcasecmp(cmd, "CIPSNTPCFG")) + at_cmd_cipsntpcfg(args, is_query); + else if (!strcasecmp(cmd, "CIPSNTPTIME")) + at_cmd_cipsntptime(); + else if (!strcasecmp(cmd, "CIPSTATUS")) + at_cmd_cipstatus(); + else if (!strcasecmp(cmd, "CIPSTART")) + at_cmd_cipstart(args); + else if (!strcasecmp(cmd, "CIPSEND")) + at_cmd_cipsend(args); + else if (!strcasecmp(cmd, "CIPCLOSE")) + at_cmd_cipclose(); + else + { + ESP_LOGW(TAG, "unknown command '%s'", cmd); + at_reply_error(); + } +} + +static void at_process_cipsend_byte(uint8_t b) +{ + at_cipsend_buf[at_cipsend_have++] = b; + + if (at_cipsend_have < at_cipsend_len) + return; + + int sent = at_cip_send(at_cipsend_buf, at_cipsend_have); + at_mode = AT_MODE_LINE; + + if (sent < 0 || (size_t)sent != at_cipsend_have) + at_send_str("\r\nSEND FAIL\r\n"); + else + at_send_str("\r\nSEND OK\r\n"); +} + +void at_task(void *arg) +{ + char linebuf[AT_LINE_MAX_LEN]; + size_t linelen = 0; + bool just_saw_cr = false; + uint8_t rxbuf[64]; + + while (1) + { + int n = uart_read_bytes(UART_NUM_1, rxbuf, sizeof(rxbuf), pdMS_TO_TICKS(20)); + + for (int i = 0; i < n; i++) + { + uint8_t b = rxbuf[i]; + + // Swallow the LF half of a CRLF pair unconditionally, *before* looking at + // at_mode - a command dispatched on '\r' (e.g. AT+CIPSEND=) can switch + // straight into AT_MODE_CIPSEND_DATA, and the following '\n' must not be + // mistaken for the first byte of that payload. + if (just_saw_cr) + { + just_saw_cr = false; + if (b == '\n') continue; + } + + if (at_mode == AT_MODE_CIPSEND_DATA) + { + at_process_cipsend_byte(b); + continue; + } + + char c = (char)b; + + if (c == '\r') + { + linebuf[linelen] = 0; + at_dispatch_line(linebuf, linelen); + linelen = 0; + just_saw_cr = true; + } + else if (c == '\n') + { + linebuf[linelen] = 0; + at_dispatch_line(linebuf, linelen); + linelen = 0; + } + else if (linelen < AT_LINE_MAX_LEN - 1) + { + linebuf[linelen++] = c; + } + else + { + linelen = 0; + at_reply_error(); + } + } + } +} + +TaskHandle_t g_at_task_handle = NULL; +TaskHandle_t g_at_cip_rx_task_handle = NULL; + +void at_uart_suspend() +{ + if (g_at_task_handle) vTaskSuspend(g_at_task_handle); + if (g_at_cip_rx_task_handle) vTaskSuspend(g_at_cip_rx_task_handle); +} + +void at_uart_resume() +{ + if (g_at_task_handle) vTaskResume(g_at_task_handle); + if (g_at_cip_rx_task_handle) vTaskResume(g_at_cip_rx_task_handle); +} diff --git a/src/main/at_uart.h b/src/main/at_uart.h new file mode 100644 index 0000000..fd830c6 --- /dev/null +++ b/src/main/at_uart.h @@ -0,0 +1,30 @@ + +#pragma once + +#include +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +#define AT_UART_TX_PIN 18 +#define AT_UART_RX_PIN 8 +#define AT_UART_BAUD 115200 +#define AT_UART_RX_BUF_SIZE 2048 +#define AT_UART_TX_BUF_SIZE 2048 +#define AT_LINE_MAX_LEN 512 + +void at_uart_init(); +void at_task(void *arg); +void at_send_raw(const void *data, size_t len); +void at_send_str(const char *s); + +// Populated by main.cpp's xTaskCreatePinnedToCoreWithCaps() calls for +// at_task/at_cip_rx_task - used by at_uart_suspend()/at_uart_resume() below. +extern TaskHandle_t g_at_task_handle; +extern TaskHandle_t g_at_cip_rx_task_handle; + +// Pause/resume the whole AT-command modem interface (both the UART command +// parser and the CIP data-mode RX relay) - used while the SMB2/3 server is +// active, since the Z80 side is single-tasking and can't be driving both +// the classic ZiFi AT interface and the smbvfs.wmf plugin at once anyway. +void at_uart_suspend(); +void at_uart_resume(); diff --git a/src/main/cmd.cpp b/src/main/cmd.cpp new file mode 100644 index 0000000..78f9e19 --- /dev/null +++ b/src/main/cmd.cpp @@ -0,0 +1,10835 @@ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "driver/uart.h" + +#include "esp_console.h" +#include "esp_err.h" +#include "esp_heap_caps.h" +#include "esp_attr.h" +#include "esp_private/esp_clk.h" +#include "esp_vfs_fat.h" +#include "sdkconfig.h" + +#include "cmd.h" +#include "ft8xx.h" +#include "tracker.h" +#include "sfx.h" +#include "mem_obj.h" +#include "esp_spi_defs.h" +#include "sdmmc.h" +#include "fatfs.h" +#include "stats.h" +#include "tsf.h" + + +#define CMD_LAYOUT_TOP_Y 0 +#define CMD_LAYOUT_PANEL_Y 0 + +#define CMD_PANEL_LEFT 0 +#define CMD_PANEL_RIGHT 1 + +#define CMD_APP_STATUS_MAX 80 +#define CMD_APP_DEVICE_ITEM_MAX 40 +#define CMD_APP_DEVICE_DIALOG_W 44 +#define CMD_APP_DEVICE_DIALOG_H 9 +#define CMD_APP_HELP_DIALOG_W 70 +#define CMD_APP_HELP_DIALOG_H 25 +#define CMD_APP_HELP_DIALOG_REFRESH_MS 100 +#define CMD_APP_FILEOP_DIALOG_W 58 +#define CMD_APP_FILEOP_DIALOG_H 8 +#define CMD_APP_ERROR_DIALOG_W 60 +#define CMD_APP_ERROR_DIALOG_H 8 +#define CMD_APP_MKDIR_DIALOG_W 54 +#define CMD_APP_MKDIR_DIALOG_H 7 +#define CMD_APP_ERROR_TITLE_MAX 40 +#define CMD_APP_VIEWER_READ_BUFFER_SIZE 512 +#define CMD_APP_VIEWER_MAX_ROWS (CMD_DISPLAY_ROWS - 2) +#define CMD_APP_VIEWER_LINE_SIZE (CMD_DISPLAY_COLS + 1) +#define CMD_APP_HEX_VIEWER_BYTES_PER_ROW 16 +#define CMD_APP_BAUD_SWITCH_DELAY_MS 100 +#define CMD_APP_BAUD_SEQ_MAX 96 +#define CMD_APP_BAUD_DEFAULT 115200 +#define CMD_APP_SFX_PREVIEW_GROUP 255 +#define CMD_APP_MODULE_INFO_INITIAL_CAP 4096 +#define CMD_APP_MODULE_INFO_MAX_TEXT_SIZE (512 * 1024) +#define CMD_APP_MODULE_INFO_READ_BUFFER_SIZE MOD_HEADER_SIZE +#define CMD_APP_XM_MAX_ROWS 256 +#define CMD_APP_S3M_FILE_TYPE_OFFSET 29 +#define CMD_APP_S3M_ORDERS_OFFSET 32 +#define CMD_APP_S3M_SAMPLES_OFFSET 34 +#define CMD_APP_S3M_PATTERNS_OFFSET 36 +#define CMD_APP_S3M_FLAGS_OFFSET 38 +#define CMD_APP_S3M_CWTV_OFFSET 40 +#define CMD_APP_S3M_FORMAT_VERSION_OFFSET 42 +#define CMD_APP_S3M_GLOBAL_VOLUME_OFFSET 48 +#define CMD_APP_S3M_SPEED_OFFSET 49 +#define CMD_APP_S3M_TEMPO_OFFSET 50 +#define CMD_APP_S3M_MASTER_VOLUME_OFFSET 51 +#define CMD_APP_S3M_PANNING_TABLE_FLAG_OFFSET 53 +#define CMD_APP_S3M_CHANNEL_SETTINGS_OFFSET 64 +#define CMD_APP_S3M_FILE_TYPE_MODULE 0x10 +#define CMD_APP_S3M_PANNING_TABLE_PRESENT 0xFC +#define CMD_APP_S3M_SAMPLE_TYPE_NONE 0 +#define CMD_APP_S3M_SAMPLE_TYPE_PCM 1 +#define CMD_APP_S3M_SAMPLE_FLAG_LOOP 0x01 +#define CMD_APP_S3M_SAMPLE_FLAG_STEREO 0x02 +#define CMD_APP_S3M_SAMPLE_FLAG_16BIT 0x04 +#define CMD_APP_S3M_SAMPLE_PACK_NONE 0 + +#ifndef CONFIG_ESP_CONSOLE_UART_NUM +#define CONFIG_ESP_CONSOLE_UART_NUM UART_NUM_0 +#endif + +typedef enum +{ + CMD_APP_FILEOP_NONE = 0, + CMD_APP_FILEOP_COPY, + CMD_APP_FILEOP_MOVE, + CMD_APP_FILEOP_DELETE +} cmd_app_fileop_t; + +typedef enum +{ + CMD_APP_NAME_DIALOG_MKDIR = 0, + CMD_APP_NAME_DIALOG_RENAME +} cmd_app_name_dialog_op_t; + +typedef struct CmdApp +{ + CmdFsManager fs; + CmdPanel left_panel; + CmdPanel right_panel; + CmdDisplayBuffer buffer; + CmdDisplayMux mux; + CmdInputBackend *input; + int active_panel; + bool device_dialog_open; + int device_dialog_panel; + int device_dialog_selected; + bool device_dialog_available[CMD_DEVICE_MAX]; + char device_dialog_items[CMD_DEVICE_MAX][CMD_APP_DEVICE_ITEM_MAX + 1]; + bool help_dialog_open; + bool mkdir_dialog_open; + cmd_app_name_dialog_op_t mkdir_dialog_op; + char mkdir_name[CMD_FILE_NAME_MAX]; + char rename_src_path[CMD_PATH_MAX]; + char rename_dst_path[CMD_PATH_MAX]; + char rename_remap_path[CMD_PATH_MAX]; + bool fileop_confirm_open; + cmd_app_fileop_t fileop_confirm_op; + char fileop_name[CMD_FILE_NAME_MAX]; + char fileop_dst_path[CMD_PATH_MAX]; + bool fileop_progress_open; + cmd_app_fileop_t fileop_progress_op; + char fileop_progress_name[CMD_FILE_NAME_MAX]; + uint64_t fileop_bytes_done; + uint64_t fileop_bytes_total; + size_t fileop_files_done; + size_t fileop_files_total; + bool fileop_progress_can_cancel; + bool fileop_group; + size_t fileop_item_count; + uint64_t fileop_item_size; + bool fileop_cancel_requested; + bool error_dialog_open; + esp_err_t error_dialog_err; + char error_dialog_title[CMD_APP_ERROR_TITLE_MAX + 1]; + char error_dialog_message[CMD_APP_STATUS_MAX + 1]; + bool viewer_open; + cmd_device_id_t viewer_device; + char viewer_path[CMD_PATH_MAX]; + char viewer_title[CMD_FILE_NAME_MAX]; + CmdFsFile viewer_file; + bool viewer_file_open; + uint8_t viewer_read_buffer[CMD_APP_VIEWER_READ_BUFFER_SIZE]; + uint8_t viewer_seek_buffer[CMD_APP_VIEWER_READ_BUFFER_SIZE]; + uint64_t viewer_prev_offsets[CMD_APP_VIEWER_MAX_ROWS + 1]; + char viewer_draw_line[CMD_DISPLAY_COLS + 1]; + char viewer_num[24]; + size_t viewer_read_pos; + size_t viewer_read_len; + uint64_t viewer_read_base; + uint64_t viewer_top_offset; + uint64_t viewer_next_offset; + uint64_t viewer_line_offsets[CMD_APP_VIEWER_MAX_ROWS + 1]; + size_t viewer_top_line; + size_t viewer_next_line; + size_t viewer_page_lines; + bool viewer_eof; + char viewer_lines[CMD_APP_VIEWER_MAX_ROWS][CMD_APP_VIEWER_LINE_SIZE]; + bool hex_viewer_open; + cmd_device_id_t hex_viewer_device; + char hex_viewer_path[CMD_PATH_MAX]; + char hex_viewer_title[CMD_FILE_NAME_MAX]; + CmdFsFile hex_viewer_file; + bool hex_viewer_file_open; + uint8_t hex_viewer_read_buffer[CMD_APP_VIEWER_READ_BUFFER_SIZE]; + uint8_t hex_viewer_row[CMD_APP_HEX_VIEWER_BYTES_PER_ROW]; + char hex_viewer_tmp[8]; + uint64_t hex_viewer_offset; + uint64_t hex_viewer_size; + bool hex_viewer_size_known; + size_t hex_viewer_page_rows; + bool hex_viewer_eof; + char hex_viewer_lines[CMD_APP_VIEWER_MAX_ROWS][CMD_APP_VIEWER_LINE_SIZE]; + bool module_info_open; + cmd_device_id_t module_info_device; + char module_info_path[CMD_PATH_MAX]; + char module_info_title[CMD_FILE_NAME_MAX]; + char *module_info_text; + size_t module_info_text_len; + size_t module_info_text_cap; + size_t module_info_top_line; + size_t module_info_line_count; + uint8_t module_info_read_buffer[CMD_APP_MODULE_INFO_READ_BUFFER_SIZE]; + char module_info_tmp[CMD_DISPLAY_COLS + 1]; + char module_info_name[64]; + char module_info_sample_name[64]; + bool jpg_viewer_open; + bool jpg_viewer_added_ft812_backend; + int jpg_viewer_panel; + size_t jpg_viewer_index; + bool jpg_viewer_stretch; + char jpg_viewer_path[CMD_PATH_MAX]; + char jpg_viewer_status[96 + 1]; + int sfx_preview_handle; + int sfx_preview_channel; + void *sfx_preview_addr; + char status[CMD_APP_STATUS_MAX + 1]; +} CmdApp; + +CmdApp *g_cmd_app; + +esp_err_t cmd_app_render(CmdApp *app); +esp_err_t cmd_app_render_console(CmdApp *app); +esp_err_t cmd_app_reload_panel(CmdApp *app, CmdPanel *panel, const char *name); + +int cmd_app_screen_w(const CmdApp *app) +{ + if (!app || app->buffer.size.w <= 0) return CMD_DISPLAY_DEFAULT_COLS; + return app->buffer.size.w; +} + +int cmd_app_screen_h(const CmdApp *app) +{ + if (!app || app->buffer.size.h <= 0) return CMD_DISPLAY_DEFAULT_ROWS; + return app->buffer.size.h; +} + +int cmd_app_bottom_y(const CmdApp *app) +{ + return cmd_app_screen_h(app) - 1; +} + +int cmd_app_panel_info_y(const CmdApp *app) +{ + int y = cmd_app_bottom_y(app) - 2 + 1; + if (y < CMD_LAYOUT_PANEL_Y + 1) y = CMD_LAYOUT_PANEL_Y + 1; + return y; +} + +void cmd_app_make_panel_rects(const CmdApp *app, cmd_rect_t *left, cmd_rect_t *right) +{ + int cols = cmd_app_screen_w(app); + int left_w = cols / 2; + int right_w = cols - left_w; + int panel_h = cmd_app_panel_info_y(app) - CMD_LAYOUT_PANEL_Y; + + if (panel_h < 3) panel_h = 3; + + if (left) + { + left->x = 0; + left->y = CMD_LAYOUT_PANEL_Y; + left->w = left_w; + left->h = panel_h; + } + + if (right) + { + right->x = left_w; + right->y = CMD_LAYOUT_PANEL_Y; + right->w = right_w; + right->h = panel_h; + } +} + +int cmd_app_center_x(const CmdApp *app, int w) +{ + int cols = cmd_app_screen_w(app); + if (w >= cols) return 0; + return (cols - w) / 2; +} + +int cmd_app_center_y(const CmdApp *app, int h) +{ + int rows = cmd_app_screen_h(app); + if (h >= rows) return 0; + return (rows - h) / 2; +} + +CmdApp *cmd_app_alloc() +{ + return (CmdApp *)heap_caps_calloc( + 1, + sizeof(CmdApp), + MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); +} + +void cmd_app_free(CmdApp *app) +{ + if (!app) return; + + heap_caps_free(app); +} + +cmd_display_attr_t cmd_app_normal_attr() +{ + return cmd_display_make_attr(CMD_DISPLAY_COLOR_WHITE, CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_ATTR_FLAG_NONE); +} + +cmd_display_attr_t cmd_app_bar_attr() +{ + return cmd_display_make_attr(CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_COLOR_CYAN, CMD_DISPLAY_ATTR_FLAG_BOLD); +} + +size_t cmd_app_text_len(const char *s) +{ + size_t len = 0; + + if (!s) return 0; + + while (s[len]) + len++; + + return len; +} + +void cmd_app_text_clear(char *out, size_t out_size) +{ + if (!out || out_size == 0) return; + out[0] = 0; +} + +void cmd_app_append_limited(char *out, size_t out_size, const char *text, size_t max_chars) +{ + size_t len; + size_t pos = 0; + + if (!out || out_size == 0 || !text) return; + + len = cmd_app_text_len(out); + + while (text[pos] && pos < max_chars && len + 1 < out_size) + { + out[len] = text[pos]; + len++; + pos++; + } + + out[len] = 0; +} + +void cmd_app_append_text(char *out, size_t out_size, const char *text) +{ + if (!text) return; + cmd_app_append_limited(out, out_size, text, cmd_app_text_len(text)); +} + +void cmd_app_format_baud(char *out, size_t out_size, uint32_t baud) +{ + unsigned long whole; + unsigned long frac; + + if (!out || out_size == 0) return; + + if (baud >= 1000000) + { + whole = (unsigned long)(baud / 1000000); + frac = (unsigned long)(((baud % 1000000) + 50000) / 100000); + if (frac >= 10) + { + whole++; + frac = 0; + } + if (frac == 0) + snprintf(out, out_size, "%luM", whole); + else + snprintf(out, out_size, "%lu.%luM", whole, frac); + return; + } + + if (baud >= 1000) + { + whole = (unsigned long)(baud / 1000); + frac = (unsigned long)(((baud % 1000) + 50) / 100); + if (frac >= 10) + { + whole++; + frac = 0; + } + if (frac == 0) + snprintf(out, out_size, "%luk", whole); + else + snprintf(out, out_size, "%lu.%luk", whole, frac); + return; + } + + snprintf(out, out_size, "%lu", (unsigned long)baud); +} + +bool cmd_app_get_uart_baud_text(char *out, size_t out_size) +{ + uint32_t baud = 0; + esp_err_t err; + + if (!out || out_size == 0) return false; + + err = uart_get_baudrate((uart_port_t)CONFIG_ESP_CONSOLE_UART_NUM, &baud); + if (err != ESP_OK || baud == 0) + { + out[0] = 0; + return false; + } + + cmd_app_format_baud(out, out_size, baud); + return true; +} + +void cmd_app_format_bytes(char *out, size_t out_size, uint64_t value) +{ + unsigned long long whole; + unsigned long long frac; + + if (!out || out_size == 0) return; + + if (value >= (1ULL << 30)) + { + whole = (unsigned long long)(value >> 30); + frac = (unsigned long long)(((value & ((1ULL << 30) - 1)) * 100ULL) >> 30); + snprintf(out, out_size, "%llu.%02llu GiB", whole, frac); + return; + } + + if (value >= (1ULL << 20)) + { + whole = (unsigned long long)(value >> 20); + frac = (unsigned long long)(((value & ((1ULL << 20) - 1)) * 100ULL) >> 20); + snprintf(out, out_size, "%llu.%02llu MiB", whole, frac); + return; + } + + if (value >= (1ULL << 10)) + { + whole = (unsigned long long)(value >> 10); + frac = (unsigned long long)(((value & ((1ULL << 10) - 1)) * 100ULL) >> 10); + snprintf(out, out_size, "%llu.%02llu KiB", whole, frac); + return; + } + + snprintf(out, out_size, "%llu bytes", (unsigned long long)value); +} + +const char *cmd_err_name(esp_err_t err) +{ + switch (err) + { + case CMD_ERR_INVALID_DEVICE: return "CMD_ERR_INVALID_DEVICE"; + case CMD_ERR_NOT_MOUNTED: return "CMD_ERR_NOT_MOUNTED"; + case CMD_ERR_PATH_TOO_LONG: return "CMD_ERR_PATH_TOO_LONG"; + case CMD_ERR_ENTRY_TOO_LONG: return "CMD_ERR_ENTRY_TOO_LONG"; + case CMD_ERR_DIR_FULL: return "CMD_ERR_DIR_FULL"; + case CMD_ERR_INPUT_UNAVAILABLE: return "CMD_ERR_INPUT_UNAVAILABLE"; + case CMD_ERR_CANCELLED: return "CMD_ERR_CANCELLED"; + default: return esp_err_to_name(err); + } +} + +void cmd_set_status(CmdApp *app, const char *fmt, ...) +{ + va_list args; + int written; + + if (!app) return; + + app->status[0] = 0; + if (!fmt) return; + + va_start(args, fmt); + written = vsnprintf(app->status, sizeof(app->status), fmt, args); + va_end(args); + + if (written < 0) + app->status[0] = 0; + else + app->status[sizeof(app->status) - 1] = 0; +} + +void cmd_show_error(CmdApp *app, const char *title, esp_err_t err) +{ + if (!app) return; + + app->error_dialog_open = true; + app->error_dialog_err = err; + cmd_app_text_clear(app->error_dialog_title, sizeof(app->error_dialog_title)); + cmd_app_append_text(app->error_dialog_title, sizeof(app->error_dialog_title), title ? title : "Error"); + cmd_app_text_clear(app->error_dialog_message, sizeof(app->error_dialog_message)); + cmd_app_append_text(app->error_dialog_message, sizeof(app->error_dialog_message), title ? title : "Error"); + cmd_app_append_text(app->error_dialog_message, sizeof(app->error_dialog_message), ": "); + cmd_app_append_text(app->error_dialog_message, sizeof(app->error_dialog_message), cmd_err_name(err)); + cmd_set_status(app, "%s", app->error_dialog_message); +} + +void cmd_app_make_top_bar_line(char *out, size_t out_size, CmdPanel *panel, const char *status) +{ + cmd_app_text_clear(out, out_size); + cmd_app_append_text(out, out_size, "Active: "); + + if (panel) + { + cmd_app_append_text(out, out_size, cmd_device_name(panel->device_id)); + cmd_app_append_text(out, out_size, " Path: "); + cmd_app_append_text(out, out_size, panel->current_path); + if (panel->selected_count > 0) + { + char sel[48]; + snprintf(sel, sizeof(sel), " Sel: %u/%llu", + (unsigned)panel->selected_count, + (unsigned long long)panel->selected_size); + cmd_app_append_text(out, out_size, sel); + } + } + else + { + cmd_app_append_text(out, out_size, "? Path: /"); + } + + cmd_app_append_text(out, out_size, " Free/Used: n/a "); + cmd_app_append_text(out, out_size, status ? status : "ready"); +} + +void cmd_app_set_status(CmdApp *app, const char *text) +{ + cmd_set_status(app, "%s", text ? text : ""); +} + +void cmd_app_set_status_err(CmdApp *app, const char *op, esp_err_t err) +{ + cmd_set_status(app, "%s failed: %s", op ? op : "operation", cmd_err_name(err)); +} + +CmdPanel *cmd_app_panel_by_index(CmdApp *app, int index) +{ + if (!app) return NULL; + if (index == CMD_PANEL_LEFT) return &app->left_panel; + if (index == CMD_PANEL_RIGHT) return &app->right_panel; + return NULL; +} + +CmdPanel *cmd_app_active_panel(CmdApp *app) +{ + if (!app) return NULL; + return cmd_app_panel_by_index(app, app->active_panel); +} + +CmdPanel *cmd_app_passive_panel(CmdApp *app) +{ + if (!app) return NULL; + if (app->active_panel == CMD_PANEL_LEFT) return &app->right_panel; + return &app->left_panel; +} + +void cmd_app_set_active_panel(CmdApp *app, int index) +{ + if (!app) return; + if (index != CMD_PANEL_LEFT && index != CMD_PANEL_RIGHT) return; + + app->active_panel = index; + cmd_panel_set_active(&app->left_panel, index == CMD_PANEL_LEFT); + cmd_panel_set_active(&app->right_panel, index == CMD_PANEL_RIGHT); +} + +void cmd_app_switch_panel(CmdApp *app) +{ + if (!app) return; + + if (app->active_panel == CMD_PANEL_LEFT) + cmd_app_set_active_panel(app, CMD_PANEL_RIGHT); + else + cmd_app_set_active_panel(app, CMD_PANEL_LEFT); +} + +const char *cmd_app_panel_name(int index) +{ + if (index == CMD_PANEL_LEFT) return "left panel"; + if (index == CMD_PANEL_RIGHT) return "right panel"; + return "panel"; +} + +cmd_display_attr_t cmd_app_dialog_attr() +{ + return cmd_display_make_attr(CMD_DISPLAY_COLOR_WHITE, CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_ATTR_FLAG_NONE); +} + +cmd_display_attr_t cmd_app_dialog_frame_attr() +{ + return cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_WHITE, CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_ATTR_FLAG_BOLD); +} + +cmd_display_attr_t cmd_app_dialog_selected_attr() +{ + return cmd_display_make_attr(CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_COLOR_BRIGHT_YELLOW, CMD_DISPLAY_ATTR_FLAG_BOLD | CMD_DISPLAY_ATTR_FLAG_SELECTED); +} + +cmd_display_attr_t cmd_app_dialog_unavailable_attr() +{ + return cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_BLACK, CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_ATTR_FLAG_NONE); +} + +void cmd_app_open_device_dialog(CmdApp *app, int panel_index) +{ + CmdPanel *panel; + + if (!app) return; + if (panel_index != CMD_PANEL_LEFT && panel_index != CMD_PANEL_RIGHT) return; + + panel = cmd_app_panel_by_index(app, panel_index); + if (!panel) return; + + app->device_dialog_open = true; + app->device_dialog_panel = panel_index; + app->device_dialog_selected = cmd_fs_is_valid_device_id(panel->device_id) ? (int)panel->device_id : 0; + + for (int i = 0; i < CMD_DEVICE_MAX; i++) + { + cmd_device_id_t device_id = (cmd_device_id_t)i; + bool available = cmd_fs_manager_mount(&app->fs, device_id) == ESP_OK; + + app->device_dialog_available[device_id] = available; + snprintf(app->device_dialog_items[device_id], + sizeof(app->device_dialog_items[device_id]), + "%d %-6s %s", + i + 1, + cmd_device_name(device_id), + available ? "" : "(unavailable)"); + } + + cmd_app_set_status(app, "select device: Enter/1..3, Esc cancel"); +} + +void cmd_app_close_device_dialog(CmdApp *app) +{ + if (!app) return; + + app->device_dialog_open = false; + app->device_dialog_panel = CMD_PANEL_LEFT; + app->device_dialog_selected = 0; +} + +esp_err_t cmd_app_select_device(CmdApp *app, int panel_index, cmd_device_id_t device_id) +{ + CmdPanel *panel; + esp_err_t err; + char line[CMD_APP_STATUS_MAX + 1]; + + if (!app) return ESP_ERR_INVALID_ARG; + if (!cmd_fs_is_valid_device_id(device_id)) return CMD_ERR_INVALID_DEVICE; + + panel = cmd_app_panel_by_index(app, panel_index); + if (!panel) return ESP_ERR_INVALID_ARG; + + err = cmd_panel_change_device(panel, device_id); + if (err != ESP_OK) + { + snprintf(line, sizeof(line), "%s %s unavailable: %s", + cmd_app_panel_name(panel_index), + cmd_device_name(device_id), + cmd_err_name(err)); + cmd_app_set_status(app, line); + return ESP_OK; + } + + snprintf(line, sizeof(line), "%s device: %s", + cmd_app_panel_name(panel_index), + cmd_device_name(device_id)); + cmd_app_set_status(app, line); + return ESP_OK; +} + +esp_err_t cmd_app_select_dialog_device(CmdApp *app, cmd_device_id_t device_id) +{ + int panel_index; + + if (!app) return ESP_ERR_INVALID_ARG; + panel_index = app->device_dialog_panel; + cmd_app_close_device_dialog(app); + return cmd_app_select_device(app, panel_index, device_id); +} + +void cmd_app_draw_device_dialog(CmdApp *app) +{ + cmd_rect_t rect; + cmd_rect_t row_rect; + cmd_display_attr_t attr; + cmd_display_attr_t frame_attr; + cmd_display_attr_t selected_attr; + cmd_display_attr_t unavailable_attr; + char title[CMD_APP_DEVICE_ITEM_MAX + 1]; + + if (!app) return; + if (!app->device_dialog_open) return; + + rect.x = cmd_app_center_x(app, CMD_APP_DEVICE_DIALOG_W); + rect.y = cmd_app_center_y(app, CMD_APP_DEVICE_DIALOG_H); + rect.w = CMD_APP_DEVICE_DIALOG_W; + rect.h = CMD_APP_DEVICE_DIALOG_H; + + attr = cmd_app_dialog_attr(); + frame_attr = cmd_app_dialog_frame_attr(); + selected_attr = cmd_app_dialog_selected_attr(); + unavailable_attr = cmd_app_dialog_unavailable_attr(); + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_draw_box(&app->buffer, &rect, frame_attr); + + snprintf(title, sizeof(title), " Select device: %s ", cmd_app_panel_name(app->device_dialog_panel)); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y, title, frame_attr); + + for (int i = 0; i < CMD_DEVICE_MAX; i++) + { + cmd_display_attr_t row_attr = attr; + + row_rect.x = rect.x + 2; + row_rect.y = rect.y + 2 + i; + row_rect.w = rect.w - 4; + row_rect.h = 1; + + if (i == app->device_dialog_selected) + row_attr = selected_attr; + else if (!app->device_dialog_available[i]) + row_attr = unavailable_attr; + + cmd_display_buffer_fill_rect(&app->buffer, &row_rect, ' ', row_attr); + cmd_display_buffer_write_text(&app->buffer, row_rect.x + 1, row_rect.y, app->device_dialog_items[i], row_attr); + } + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + rect.h - 2, + "Enter select 1..3 quick Esc cancel", attr); +} + +esp_err_t cmd_app_handle_device_dialog_key(CmdApp *app, const cmd_event_t *event) +{ + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->device_dialog_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY) return ESP_OK; + + if (event->key == CMD_KEY_ESC || event->key == CMD_KEY_F10 || + (event->key == CMD_KEY_CHAR && (event->ch == 'q' || event->ch == 'Q'))) + { + cmd_app_close_device_dialog(app); + cmd_app_set_status(app, "device selection cancelled"); + return ESP_OK; + } + + if (event->key == CMD_KEY_UP) + { + if (app->device_dialog_selected > 0) + app->device_dialog_selected--; + return ESP_OK; + } + + if (event->key == CMD_KEY_DOWN) + { + if (app->device_dialog_selected + 1 < CMD_DEVICE_MAX) + app->device_dialog_selected++; + return ESP_OK; + } + + if (event->key == CMD_KEY_HOME) + { + app->device_dialog_selected = 0; + return ESP_OK; + } + + if (event->key == CMD_KEY_END) + { + app->device_dialog_selected = CMD_DEVICE_MAX - 1; + return ESP_OK; + } + + if (event->key == CMD_KEY_ENTER) + return cmd_app_select_dialog_device(app, (cmd_device_id_t)app->device_dialog_selected); + + if (event->key == CMD_KEY_CHAR && event->ch >= '1' && event->ch <= '0' + CMD_DEVICE_MAX) + return cmd_app_select_dialog_device(app, (cmd_device_id_t)(event->ch - '1')); + + return ESP_OK; +} + +void cmd_app_open_help_dialog(CmdApp *app) +{ + if (!app) return; + + app->help_dialog_open = true; + cmd_app_set_status(app, "help: Enter/Esc close"); +} + +void cmd_app_close_help_dialog(CmdApp *app) +{ + if (!app) return; + + app->help_dialog_open = false; + cmd_app_set_status(app, "ready"); +} + +void cmd_app_draw_help_dialog(CmdApp *app) +{ + cmd_rect_t rect; + cmd_display_attr_t attr; + cmd_display_attr_t frame_attr; + char backend_line[64]; + char baud_text[16]; + char info_line[96]; + char sram_text[32]; + char spiram_text[32]; + size_t sram_free; + size_t spiram_free; + + if (!app) return; + if (!app->help_dialog_open) return; + + rect.x = cmd_app_center_x(app, CMD_APP_HELP_DIALOG_W); + rect.y = cmd_app_center_y(app, CMD_APP_HELP_DIALOG_H); + rect.w = CMD_APP_HELP_DIALOG_W; + rect.h = CMD_APP_HELP_DIALOG_H; + + attr = cmd_app_dialog_attr(); + frame_attr = cmd_app_dialog_frame_attr(); + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_draw_box(&app->buffer, &rect, frame_attr); + + cmd_app_text_clear(backend_line, sizeof(backend_line)); + for (size_t i = 0; i < app->mux.count; i++) + { + CmdDisplayBackend *backend = app->mux.backends[i]; + const char *backend_name = "?"; + + if (backend == &cmd_display_console_backend) + backend_name = "uart"; + else if (backend == &cmd_display_ft812_backend) + backend_name = "ft"; + else if (backend && backend->name) + backend_name = backend->name; + + if (i > 0) cmd_app_append_text(backend_line, sizeof(backend_line), "+"); + cmd_app_append_text(backend_line, sizeof(backend_line), backend_name); + if (backend == &cmd_display_console_backend && + cmd_app_get_uart_baud_text(baud_text, sizeof(baud_text))) + { + cmd_app_append_text(backend_line, sizeof(backend_line), " ("); + cmd_app_append_text(backend_line, sizeof(backend_line), baud_text); + cmd_app_append_text(backend_line, sizeof(backend_line), ")"); + } + } + + snprintf(info_line, sizeof(info_line), "Window: %dx%d Display: %s", + cmd_app_screen_w(app), + cmd_app_screen_h(app), + backend_line[0] ? backend_line : "?"); + + sram_free = heap_caps_get_free_size(MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT); + spiram_free = heap_caps_get_free_size(MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + cmd_app_format_bytes(sram_text, sizeof(sram_text), (uint64_t)sram_free); + cmd_app_format_bytes(spiram_text, sizeof(spiram_text), (uint64_t)spiram_free); + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y, " Commander help ", frame_attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 2, "Tab switch active panel", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 3, "Alt+F1 / Alt+F2 select left/right device", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 4, "F9 or 1 select active panel device", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 5, "Enter open directory or file", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 6, "Backspace go to parent directory", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 7, "Ins / * select item / invert selection", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 8, "F2 rename selected entry", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 9, "F3 / Alt+F3 text/module info / hex viewer", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 10, "F5 / F6 copy / move to opposite panel", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 11, "F7 / F8 / Del mkdir / delete", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 12, "Left / Right page up / page down", attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 13, "Alt+F9 stop XM playback", attr); + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 15, info_line, attr); + snprintf(info_line, sizeof(info_line), "Memory: SRAM free %s SPIRAM free %s", sram_text, spiram_text); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 16, info_line, attr); + + snprintf(info_line, sizeof(info_line), "Firmware: %s API %u Feature %u", + PROD_VER_STRING, + API_VER, + FEAT_VER); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 18, info_line, attr); + snprintf(info_line, sizeof(info_line), "Chip: %s CPU: %d MHz", + CONFIG_IDF_TARGET, + esp_clk_cpu_freq() / 1000000); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 19, info_line, attr); + snprintf(info_line, sizeof(info_line), "Audio CPU: %d.%d/%d.%d%% (last/max)", + stats::_st.audio_total_last_cpu_x10 / 10, + stats::_st.audio_total_last_cpu_x10 % 10, + stats::_st.audio_total_max_cpu_x10 / 10, + stats::_st.audio_total_max_cpu_x10 % 10); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 20, info_line, attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + rect.h - 2, "Enter/Esc/F1/F10 close", attr); +} + +esp_err_t cmd_app_handle_help_dialog_key(CmdApp *app, const cmd_event_t *event) +{ + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->help_dialog_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY && event->type != CMD_EVENT_QUIT) return ESP_OK; + + if (event->type == CMD_EVENT_QUIT || event->key == CMD_KEY_ESC || event->key == CMD_KEY_ENTER || + event->key == CMD_KEY_F1 || event->key == CMD_KEY_F10) + { + cmd_app_close_help_dialog(app); + return ESP_OK; + } + + return ESP_OK; +} + +const char *cmd_app_fileop_verb(cmd_app_fileop_t op) +{ + switch (op) + { + case CMD_APP_FILEOP_COPY: return "Copy"; + case CMD_APP_FILEOP_MOVE: return "Move"; + case CMD_APP_FILEOP_DELETE: return "Delete"; + default: return "Operation"; + } +} + +const char *cmd_app_fileop_past(cmd_app_fileop_t op) +{ + switch (op) + { + case CMD_APP_FILEOP_COPY: return "copied"; + case CMD_APP_FILEOP_MOVE: return "moved"; + case CMD_APP_FILEOP_DELETE: return "deleted"; + default: return "done"; + } +} + +const char *cmd_app_fileop_status_name(cmd_app_fileop_t op) +{ + switch (op) + { + case CMD_APP_FILEOP_COPY: return "copy"; + case CMD_APP_FILEOP_MOVE: return "move"; + case CMD_APP_FILEOP_DELETE: return "delete"; + default: return "operation"; + } +} + +bool cmd_app_has_modal(CmdApp *app) +{ + if (!app) return false; + if (app->device_dialog_open) return true; + if (app->help_dialog_open) return true; + if (app->mkdir_dialog_open) return true; + if (app->fileop_confirm_open) return true; + if (app->fileop_progress_open) return true; + if (app->viewer_open) return true; + if (app->hex_viewer_open) return true; + if (app->module_info_open) return true; + if (app->jpg_viewer_open) return true; + if (app->error_dialog_open) return true; + return false; +} + +void cmd_app_copy_string(char *out, size_t out_size, const char *text) +{ + if (!out || out_size == 0) return; + out[0] = 0; + cmd_app_append_text(out, out_size, text ? text : ""); +} + +esp_err_t cmd_app_join_selected_path(CmdPanel *panel, const cmd_file_entry_t *entry, char *out, size_t out_size) +{ + if (!panel || !entry || !out || out_size == 0) return ESP_ERR_INVALID_ARG; + if (entry->type == CMD_ENTRY_PARENT) return ESP_ERR_INVALID_ARG; + return cmd_fs_join_path(panel->current_path, entry->name, out, out_size); +} + +bool cmd_app_extension_is(const char *name, const char *ext) +{ + const char *dot; + size_t ext_len; + + if (!name || !ext) return false; + + dot = strrchr(name, '.'); + if (!dot) return false; + + ext_len = strlen(ext); + if (strlen(dot) != ext_len) return false; + + for (size_t i = 0; i < ext_len; i++) + { + char a = dot[i]; + char b = ext[i]; + + if (a >= 'A' && a <= 'Z') a = (char)(a - 'A' + 'a'); + if (b >= 'A' && b <= 'Z') b = (char)(b - 'A' + 'a'); + if (a != b) return false; + } + + return true; +} + +bool cmd_app_entry_is_xm(const cmd_file_entry_t *entry) +{ + if (!entry || entry->type != CMD_ENTRY_FILE) return false; + if (cmd_app_extension_is(entry->name, ".xm")) return true; + if (cmd_app_extension_is(entry->name, ".xmz")) return true; + if (cmd_app_extension_is(entry->name, ".mod")) return true; + if (cmd_app_extension_is(entry->name, ".s3m")) return true; + return false; +} + +bool cmd_app_entry_is_module_info(const cmd_file_entry_t *entry) +{ + if (!entry || entry->type != CMD_ENTRY_FILE) return false; + if (cmd_app_extension_is(entry->name, ".xm")) return true; + if (cmd_app_extension_is(entry->name, ".mod")) return true; + if (cmd_app_extension_is(entry->name, ".s3m")) return true; + return false; +} + +bool cmd_app_entry_is_jpg(const cmd_file_entry_t *entry) +{ + if (!entry || entry->type != CMD_ENTRY_FILE) return false; + return ft_jpg_ext_match(entry->name) != 0; +} + +bool cmd_app_entry_is_dxp(const cmd_file_entry_t *entry) +{ + if (!entry || entry->type != CMD_ENTRY_FILE) return false; + return ft_dxp_ext_match(entry->name) != 0; +} + +bool cmd_app_entry_is_ft_image(const cmd_file_entry_t *entry) +{ + return cmd_app_entry_is_jpg(entry) || cmd_app_entry_is_dxp(entry); +} + +bool cmd_app_entry_is_wav(const cmd_file_entry_t *entry) +{ + if (!entry || entry->type != CMD_ENTRY_FILE) return false; + return cmd_app_extension_is(entry->name, ".wav"); +} + +bool cmd_app_has_ft812_backend(CmdApp *app) +{ + if (!app) return false; + + for (size_t i = 0; i < app->mux.count; i++) + if (app->mux.backends[i] == &cmd_display_ft812_backend) + return true; + + return false; +} + +bool cmd_app_has_console_backend(CmdApp *app) +{ + if (!app) return false; + + for (size_t i = 0; i < app->mux.count; i++) + if (app->mux.backends[i] == &cmd_display_console_backend) + return true; + + return false; +} + +esp_err_t cmd_app_build_entry_abs_path(CmdApp *app, CmdPanel *panel, const cmd_file_entry_t *entry, char *out, size_t out_size) +{ + esp_err_t err; + + if (!app || !panel || !entry || !out || out_size == 0) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_manager_mount(&app->fs, panel->device_id); + if (err != ESP_OK) return err; + + return cmd_fs_manager_build_abs_path(&app->fs, panel->device_id, + panel->current_path, entry->name, out, out_size); +} + +esp_err_t cmd_app_play_xm_file(CmdApp *app, CmdPanel *panel, const cmd_file_entry_t *entry) +{ + char path[CMD_PATH_MAX]; + esp_err_t err; + + if (!app || !panel || !entry) return ESP_ERR_INVALID_ARG; + if (!cmd_app_entry_is_xm(entry)) return ESP_ERR_INVALID_ARG; + + err = cmd_app_build_entry_abs_path(app, panel, entry, path, sizeof(path)); + if (err != ESP_OK) + { + cmd_show_error(app, "Module path", err); + return ESP_OK; + } + + if (xm_load_play_file(path, true)) + { + cmd_show_error(app, "Module play", ESP_FAIL); + return ESP_OK; + } + + cmd_set_status(app, "Module playing: %s", entry->name); + return ESP_OK; +} + +esp_err_t cmd_app_stop_xm_playback(CmdApp *app) +{ + if (!app) return ESP_ERR_INVALID_ARG; + + if (xm_stop_cmd(true)) + { + cmd_show_error(app, "Module stop", ESP_FAIL); + return ESP_OK; + } + + cmd_set_status(app, "Module stopped"); + return ESP_OK; +} + +void cmd_app_delete_sfx_preview(CmdApp *app) +{ + if (!app) return; + + int handle = app->sfx_preview_handle; + void *addr = app->sfx_preview_addr; + + app->sfx_preview_handle = -1; + app->sfx_preview_channel = -1; + app->sfx_preview_addr = NULL; + + if (handle < 0 || handle >= OBJ_HANDLES_MAX) return; + if (!check_handle(handle)) return; + if (mem_obj[handle].type != OBJ_TYPE_WAV) return; + if (addr && mem_obj[handle].addr != addr) return; + + delete_obj(handle); +} + +esp_err_t cmd_app_play_wav_file(CmdApp *app, CmdPanel *panel, const cmd_file_entry_t *entry) +{ + char path[CMD_PATH_MAX]; + SFX_WAV_INFO info = {}; + int handle = -1; + int channel = -1; + esp_err_t err; + + if (!app || !panel || !entry) return ESP_ERR_INVALID_ARG; + if (!cmd_app_entry_is_wav(entry)) return ESP_ERR_INVALID_ARG; + + err = cmd_app_build_entry_abs_path(app, panel, entry, path, sizeof(path)); + if (err != ESP_OK) + { + cmd_show_error(app, "WAV path", err); + return ESP_OK; + } + + cmd_app_delete_sfx_preview(app); + + err = sfx_load_file(path, &handle, &info); + if (err != ESP_OK) + { + cmd_show_error(app, "WAV load", err); + return ESP_OK; + } + + app->sfx_preview_handle = handle; + app->sfx_preview_channel = -1; + app->sfx_preview_addr = mem_obj[handle].addr; + + err = sfx_play_sync(handle, CMD_APP_SFX_PREVIEW_GROUP, SFX_VOLUME_MAX, SFX_PAN_CENTER, SFX_PITCH_ONE, &channel); + if (err != ESP_OK) + { + cmd_app_delete_sfx_preview(app); + cmd_show_error(app, "WAV play", err); + return ESP_OK; + } + + app->sfx_preview_channel = channel; + cmd_set_status(app, "WAV playing: %s handle=%02X ch=%u %uHz %u-bit %s", + entry->name, + (unsigned)handle, + (unsigned)channel, + (unsigned)info.sample_rate, + (unsigned)info.bits_per_sample, + info.channels == 1 ? "mono" : "stereo"); + return ESP_OK; +} + +void cmd_app_close_jpg_viewer(CmdApp *app) +{ + bool remove_ft812_backend; + + if (!app) return; + + remove_ft812_backend = app->jpg_viewer_added_ft812_backend; + + app->jpg_viewer_open = false; + app->jpg_viewer_added_ft812_backend = false; + app->jpg_viewer_panel = CMD_PANEL_LEFT; + app->jpg_viewer_index = 0; + app->jpg_viewer_stretch = false; + app->jpg_viewer_path[0] = 0; + app->jpg_viewer_status[0] = 0; + + if (remove_ft812_backend) + { + cmd_display_backend_deinit(&cmd_display_ft812_backend); + cmd_display_mux_remove_backend(&app->mux, &cmd_display_ft812_backend); + return; + } + + if (cmd_app_has_ft812_backend(app)) + { + esp_err_t err = ft_text_attr_mode_show(); + if (err == ESP_OK) err = ft_wait_swap(1000); + if (err != ESP_OK) cmd_show_error(app, "FT restore", err); + } +} + +esp_err_t cmd_app_show_jpg_current(CmdApp *app) +{ + CmdPanel *panel; + const cmd_file_entry_t *entry; + esp_err_t err; + int status_len; + size_t used; + size_t name_len; + size_t dst_len; + + if (!app || !app->jpg_viewer_open) return ESP_ERR_INVALID_ARG; + + panel = cmd_app_panel_by_index(app, app->jpg_viewer_panel); + if (!panel) return ESP_ERR_INVALID_STATE; + if (app->jpg_viewer_index >= panel->count) return ESP_ERR_INVALID_STATE; + + entry = &panel->entries[app->jpg_viewer_index]; + if (!cmd_app_entry_is_ft_image(entry)) return ESP_ERR_INVALID_STATE; + + err = cmd_app_build_entry_abs_path(app, panel, entry, app->jpg_viewer_path, sizeof(app->jpg_viewer_path)); + if (err != ESP_OK) return err; + + status_len = snprintf(app->jpg_viewer_status, sizeof(app->jpg_viewer_status), + "%s %u/%u %s ", + cmd_app_entry_is_dxp(entry) ? "DXP" : "JPEG", + (unsigned)(app->jpg_viewer_index + 1), + (unsigned)panel->count, + cmd_app_entry_is_dxp(entry) ? "center" : (app->jpg_viewer_stretch ? "stretch" : "center")); + if (status_len < 0) return ESP_FAIL; + + if ((size_t)status_len >= sizeof(app->jpg_viewer_status)) + { + app->jpg_viewer_status[sizeof(app->jpg_viewer_status) - 1] = 0; + } + else + { + used = (size_t)status_len; + name_len = strlen(entry->name); + dst_len = sizeof(app->jpg_viewer_status) - used - 1; + if (name_len > dst_len) name_len = dst_len; + memcpy(&app->jpg_viewer_status[used], entry->name, name_len); + app->jpg_viewer_status[used + name_len] = 0; + } + + cmd_set_status(app, "%s", app->jpg_viewer_status); + + if (cmd_app_entry_is_dxp(entry)) + return ft_dxp_show_file_mode(app->jpg_viewer_path, true); + + return ft_jpg_show_file_mode(app->jpg_viewer_path, app->jpg_viewer_stretch, true); +} + +esp_err_t cmd_app_open_jpg_viewer(CmdApp *app, CmdPanel *panel, const cmd_file_entry_t *entry) +{ + esp_err_t err; + bool added_ft812_backend = false; + + if (!app || !panel || !entry) return ESP_ERR_INVALID_ARG; + if (!cmd_app_entry_is_ft_image(entry)) return ESP_ERR_INVALID_ARG; + + if (!cmd_app_has_ft812_backend(app)) + { + err = cmd_display_mux_add_backend(&app->mux, &cmd_display_ft812_backend); + if (err != ESP_OK) + { + cmd_show_error(app, "image viewer", err); + return ESP_OK; + } + + err = cmd_display_backend_init(&cmd_display_ft812_backend); + if (err != ESP_OK) + { + cmd_display_mux_remove_backend(&app->mux, &cmd_display_ft812_backend); + cmd_show_error(app, "image viewer", err); + return ESP_OK; + } + + added_ft812_backend = true; + } + + app->jpg_viewer_open = true; + app->jpg_viewer_added_ft812_backend = added_ft812_backend; + app->jpg_viewer_panel = app->active_panel; + app->jpg_viewer_index = panel->cursor; + app->jpg_viewer_stretch = true; + + err = cmd_app_show_jpg_current(app); + if (err != ESP_OK) + { + cmd_app_close_jpg_viewer(app); + cmd_show_error(app, "image viewer", err); + } + + return ESP_OK; +} + +bool cmd_app_find_next_jpg(CmdApp *app, int dir, size_t *out_index) +{ + CmdPanel *panel; + size_t count; + + if (!app || !out_index) return false; + + panel = cmd_app_panel_by_index(app, app->jpg_viewer_panel); + if (!panel || panel->count == 0) return false; + + count = panel->count; + for (size_t step = 1; step <= count; step++) + { + size_t index; + + if (dir > 0) + index = (app->jpg_viewer_index + step) % count; + else + index = (app->jpg_viewer_index + count - (step % count)) % count; + + if (cmd_app_entry_is_ft_image(&panel->entries[index])) + { + *out_index = index; + return true; + } + } + + return false; +} + +esp_err_t cmd_app_jpg_viewer_step(CmdApp *app, int dir) +{ + CmdPanel *panel; + size_t index; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + if (!cmd_app_find_next_jpg(app, dir, &index)) + { + cmd_set_status(app, "no other image file"); + return ESP_OK; + } + + panel = cmd_app_panel_by_index(app, app->jpg_viewer_panel); + if (!panel) return ESP_ERR_INVALID_STATE; + + app->jpg_viewer_index = index; + panel->cursor = index; + cmd_panel_ensure_cursor_visible(panel); + + err = cmd_app_show_jpg_current(app); + if (err != ESP_OK) + { + cmd_show_error(app, "image viewer", err); + cmd_app_close_jpg_viewer(app); + return ESP_OK; + } + + err = cmd_app_render_console(app); + if (err != ESP_OK) + { + cmd_show_error(app, "console render", err); + cmd_app_close_jpg_viewer(app); + } + + return ESP_OK; +} + +esp_err_t cmd_app_jpg_viewer_set_stretch(CmdApp *app, bool stretch) +{ + esp_err_t err; + + if (!app || !app->jpg_viewer_open) return ESP_ERR_INVALID_ARG; + + CmdPanel *panel = cmd_app_panel_by_index(app, app->jpg_viewer_panel); + if (!panel) return ESP_ERR_INVALID_STATE; + if (app->jpg_viewer_index >= panel->count) return ESP_ERR_INVALID_STATE; + + const cmd_file_entry_t *entry = &panel->entries[app->jpg_viewer_index]; + if (cmd_app_entry_is_dxp(entry)) + { + cmd_set_status(app, "DXP viewer: stretch is not supported"); + return ESP_OK; + } + + app->jpg_viewer_stretch = stretch; + err = ft_rgb888_640x480_show_current(stretch); + if (err != ESP_OK) + { + cmd_show_error(app, "JPEG display", err); + cmd_app_close_jpg_viewer(app); + return ESP_OK; + } + + cmd_set_status(app, "JPEG %s", stretch ? "stretch" : "center"); + return ESP_OK; +} + +esp_err_t cmd_app_handle_jpg_viewer_key(CmdApp *app, const cmd_event_t *event) +{ + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->jpg_viewer_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY && event->type != CMD_EVENT_QUIT) return ESP_OK; + + if (event->type == CMD_EVENT_QUIT || event->key == CMD_KEY_ESC || event->key == CMD_KEY_F10) + { + cmd_app_close_jpg_viewer(app); + cmd_set_status(app, "image viewer closed"); + return ESP_OK; + } + + if (event->key == CMD_KEY_PAGE_UP || event->key == CMD_KEY_LEFT) + return cmd_app_jpg_viewer_step(app, -1); + + if (event->key == CMD_KEY_PAGE_DOWN || event->key == CMD_KEY_RIGHT) + return cmd_app_jpg_viewer_step(app, 1); + + if (event->key == CMD_KEY_CHAR && event->ch == '*') + return cmd_app_jpg_viewer_set_stretch(app, true); + + if (event->key == CMD_KEY_CHAR && event->ch == '/') + return cmd_app_jpg_viewer_set_stretch(app, false); + + return ESP_OK; +} + +int cmd_app_viewer_visible_rows(CmdApp *app) +{ + int rows; + + rows = cmd_app_screen_h(app) - 2; + if (rows < 1) rows = 1; + if (rows > CMD_APP_VIEWER_MAX_ROWS) rows = CMD_APP_VIEWER_MAX_ROWS; + return rows; +} + +int cmd_app_viewer_visible_cols(CmdApp *app) +{ + int cols; + + cols = cmd_app_screen_w(app); + if (cols < 1) cols = 1; + if (cols > CMD_DISPLAY_COLS) cols = CMD_DISPLAY_COLS; + return cols; +} + +void cmd_app_viewer_clear_page(CmdApp *app) +{ + if (!app) return; + + app->viewer_page_lines = 0; + app->viewer_eof = true; + + for (int i = 0; i < CMD_APP_VIEWER_MAX_ROWS; i++) + app->viewer_lines[i][0] = 0; +} + +char cmd_app_viewer_char(uint8_t ch) +{ + if (ch == '\t') return ' '; + if (ch < 32) return '.'; + return (char)ch; +} + +void cmd_app_viewer_reset_stream(CmdApp *app) +{ + if (!app) return; + + app->viewer_read_pos = 0; + app->viewer_read_len = 0; + app->viewer_read_base = 0; +} + +uint64_t cmd_app_viewer_stream_offset(CmdApp *app) +{ + if (!app) return 0; + return app->viewer_read_base + app->viewer_read_pos; +} + +esp_err_t cmd_app_viewer_close_file(CmdApp *app) +{ + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + if (!app->viewer_file_open) return ESP_OK; + + err = cmd_fs_manager_close(&app->fs, &app->viewer_file); + app->viewer_file_open = false; + memset(&app->viewer_file, 0, sizeof(app->viewer_file)); + cmd_app_viewer_reset_stream(app); + return err; +} + +esp_err_t cmd_app_viewer_open_file(CmdApp *app) +{ + CmdFsDriver *driver; + esp_err_t err; + + if (!app || !app->viewer_open) return ESP_ERR_INVALID_ARG; + + err = cmd_app_viewer_close_file(app); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_mount(&app->fs, app->viewer_device); + if (err != ESP_OK) return err; + + driver = cmd_fs_manager_get_driver(&app->fs, app->viewer_device); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->open_read || !driver->read || !driver->seek || !driver->tell || !driver->close) + return ESP_ERR_NOT_SUPPORTED; + + memset(&app->viewer_file, 0, sizeof(app->viewer_file)); + err = cmd_fs_manager_open_read(&app->fs, app->viewer_device, app->viewer_path, &app->viewer_file); + if (err != ESP_OK) return err; + + app->viewer_file_open = true; + cmd_app_viewer_reset_stream(app); + return ESP_OK; +} + +esp_err_t cmd_app_viewer_seek_stream(CmdApp *app, uint64_t offset) +{ + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + if (!app->viewer_file_open) return ESP_ERR_INVALID_STATE; + if (offset > (uint64_t)INT64_MAX) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_manager_seek(&app->fs, &app->viewer_file, (int64_t)offset, SEEK_SET); + if (err != ESP_OK) return err; + + app->viewer_read_pos = 0; + app->viewer_read_len = 0; + app->viewer_read_base = offset; + return ESP_OK; +} + +esp_err_t cmd_app_viewer_read_line(CmdApp *app, char *out, size_t out_size, bool *out_have_line) +{ + size_t got = 0; + size_t pos = 0; + size_t cols; + uint64_t file_pos = 0; + bool have_line = false; + esp_err_t err; + + if (!app || !out || out_size == 0 || !out_have_line) return ESP_ERR_INVALID_ARG; + + out[0] = 0; + *out_have_line = false; + + if (!app->viewer_file_open) return ESP_ERR_INVALID_STATE; + + cols = (size_t)cmd_app_viewer_visible_cols(app); + if (cols >= out_size) cols = out_size - 1; + + while (true) + { + if (app->viewer_read_pos >= app->viewer_read_len) + { + err = cmd_fs_manager_tell(&app->fs, &app->viewer_file, &file_pos); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_read(&app->fs, &app->viewer_file, app->viewer_read_buffer, + sizeof(app->viewer_read_buffer), &got); + if (err != ESP_OK) return err; + + app->viewer_read_base = file_pos; + app->viewer_read_pos = 0; + app->viewer_read_len = got; + + if (got == 0) + { + if (!have_line) return ESP_OK; + out[pos] = 0; + *out_have_line = true; + return ESP_OK; + } + } + + uint8_t ch = app->viewer_read_buffer[app->viewer_read_pos++]; + if (ch == '\r') continue; + + if (ch == '\n') + { + out[pos] = 0; + *out_have_line = true; + return ESP_OK; + } + + have_line = true; + if (pos < cols) + { + out[pos] = cmd_app_viewer_char(ch); + pos++; + } + } +} + +esp_err_t cmd_app_viewer_read_page_from_offset(CmdApp *app, uint64_t offset) +{ + size_t rows; + bool have_line; + esp_err_t err; + + if (!app || !app->viewer_open) return ESP_ERR_INVALID_ARG; + + err = cmd_app_viewer_seek_stream(app, offset); + if (err != ESP_OK) return err; + + cmd_app_viewer_clear_page(app); + + rows = (size_t)cmd_app_viewer_visible_rows(app); + app->viewer_top_offset = offset; + app->viewer_next_offset = offset; + app->viewer_next_line = app->viewer_top_line; + app->viewer_eof = false; + + while (app->viewer_page_lines < rows) + { + app->viewer_line_offsets[app->viewer_page_lines] = cmd_app_viewer_stream_offset(app); + + err = cmd_app_viewer_read_line(app, + app->viewer_lines[app->viewer_page_lines], + sizeof(app->viewer_lines[app->viewer_page_lines]), + &have_line); + if (err != ESP_OK) return err; + + if (!have_line) + { + app->viewer_eof = true; + app->viewer_next_offset = cmd_app_viewer_stream_offset(app); + app->viewer_line_offsets[app->viewer_page_lines] = app->viewer_next_offset; + return ESP_OK; + } + + app->viewer_page_lines++; + app->viewer_next_line++; + } + + app->viewer_next_offset = cmd_app_viewer_stream_offset(app); + app->viewer_line_offsets[app->viewer_page_lines] = app->viewer_next_offset; + return ESP_OK; +} + +void cmd_app_viewer_set_status(CmdApp *app) +{ + if (!app) return; + + cmd_set_status(app, "view: %s line %llu", + app->viewer_title[0] ? app->viewer_title : cmd_fs_filename_ptr(app->viewer_path), + (unsigned long long)(app->viewer_top_line + 1)); +} + +esp_err_t cmd_app_viewer_find_prev_offset(CmdApp *app, uint64_t before_offset, size_t lines_back, + uint64_t *out_offset, size_t *out_lines) +{ + uint64_t *candidates; + uint8_t *read_buffer; + size_t candidate_count; + size_t total_count; + size_t capacity = CMD_APP_VIEWER_MAX_ROWS + 1; + size_t got = 0; + uint64_t window; + uint64_t start; + uint64_t pos; + uint64_t left; + esp_err_t err; + + if (!app || !out_offset || !out_lines) return ESP_ERR_INVALID_ARG; + if (!app->viewer_file_open) return ESP_ERR_INVALID_STATE; + + candidates = app->viewer_prev_offsets; + read_buffer = app->viewer_seek_buffer; + + *out_offset = 0; + *out_lines = 0; + if (before_offset == 0 || lines_back == 0) return ESP_OK; + + if (lines_back > CMD_APP_VIEWER_MAX_ROWS) lines_back = CMD_APP_VIEWER_MAX_ROWS; + window = (uint64_t)CMD_APP_VIEWER_READ_BUFFER_SIZE * (lines_back + 2); + + while (true) + { + start = before_offset > window ? before_offset - window : 0; + candidate_count = 0; + total_count = 0; + pos = start; + + if (start == 0) + { + candidates[candidate_count++] = 0; + total_count++; + } + + err = cmd_fs_manager_seek(&app->fs, &app->viewer_file, (int64_t)start, SEEK_SET); + if (err != ESP_OK) return err; + + while (pos < before_offset) + { + left = before_offset - pos; + size_t want = CMD_APP_VIEWER_READ_BUFFER_SIZE; + if (left < want) want = (size_t)left; + + err = cmd_fs_manager_read(&app->fs, &app->viewer_file, read_buffer, want, &got); + if (err != ESP_OK) return err; + if (got == 0) break; + + for (size_t i = 0; i < got && pos < before_offset; i++) + { + uint8_t ch = read_buffer[i]; + pos++; + if (ch != '\n' || pos >= before_offset) continue; + + if (candidate_count < capacity) + { + candidates[candidate_count++] = pos; + } + else + { + memmove(candidates, candidates + 1, (capacity - 1) * sizeof(candidates[0])); + candidates[capacity - 1] = pos; + } + total_count++; + } + } + + if (candidate_count >= lines_back) + { + *out_offset = candidates[candidate_count - lines_back]; + *out_lines = lines_back; + return ESP_OK; + } + + if (start == 0) + { + if (candidate_count > 0) + { + *out_offset = candidates[0]; + *out_lines = total_count; + } + return ESP_OK; + } + + if (window >= before_offset) window = before_offset; + else window *= 2; + } +} + +esp_err_t cmd_app_viewer_scroll_down(CmdApp *app) +{ + bool have_line; + esp_err_t err; + + if (!app || !app->viewer_open) return ESP_ERR_INVALID_ARG; + if (app->viewer_page_lines == 0) return ESP_OK; + if (app->viewer_eof && app->viewer_page_lines <= 1) return ESP_OK; + + uint64_t new_top_offset = app->viewer_page_lines > 1 ? + app->viewer_line_offsets[1] : app->viewer_next_offset; + + for (size_t i = 1; i < app->viewer_page_lines; i++) + { + memcpy(app->viewer_lines[i - 1], app->viewer_lines[i], sizeof(app->viewer_lines[i - 1])); + app->viewer_line_offsets[i - 1] = app->viewer_line_offsets[i]; + } + + app->viewer_page_lines--; + app->viewer_top_line++; + app->viewer_top_offset = new_top_offset; + app->viewer_line_offsets[0] = new_top_offset; + + if (!app->viewer_eof) + { + app->viewer_line_offsets[app->viewer_page_lines] = app->viewer_next_offset; + + err = cmd_app_viewer_read_line(app, + app->viewer_lines[app->viewer_page_lines], + sizeof(app->viewer_lines[app->viewer_page_lines]), + &have_line); + if (err != ESP_OK) return err; + + if (have_line) + { + app->viewer_page_lines++; + app->viewer_next_line++; + app->viewer_next_offset = cmd_app_viewer_stream_offset(app); + app->viewer_line_offsets[app->viewer_page_lines] = app->viewer_next_offset; + } + else + { + app->viewer_eof = true; + app->viewer_next_offset = cmd_app_viewer_stream_offset(app); + app->viewer_line_offsets[app->viewer_page_lines] = app->viewer_next_offset; + } + } + + cmd_app_viewer_set_status(app); + return ESP_OK; +} + +esp_err_t cmd_app_viewer_page_down(CmdApp *app) +{ + size_t rows; + uint64_t old_offset; + size_t old_top_line; + esp_err_t err; + + if (!app || !app->viewer_open) return ESP_ERR_INVALID_ARG; + if (app->viewer_page_lines == 0) return ESP_OK; + + rows = (size_t)cmd_app_viewer_visible_rows(app); + + if (app->viewer_eof) + { + size_t step = app->viewer_page_lines > 1 ? app->viewer_page_lines - 1 : 0; + while (step > 0) + { + err = cmd_app_viewer_scroll_down(app); + if (err != ESP_OK) return err; + step--; + } + return ESP_OK; + } + + old_offset = app->viewer_top_offset; + old_top_line = app->viewer_top_line; + app->viewer_top_line += rows; + + err = cmd_app_viewer_read_page_from_offset(app, app->viewer_next_offset); + if (err != ESP_OK) return err; + + if (app->viewer_page_lines == 0) + { + app->viewer_top_line = old_top_line; + err = cmd_app_viewer_read_page_from_offset(app, old_offset); + if (err != ESP_OK) return err; + } + + cmd_app_viewer_set_status(app); + return ESP_OK; +} + +esp_err_t cmd_app_viewer_move_up(CmdApp *app, size_t lines) +{ + uint64_t old_offset; + uint64_t new_offset = 0; + size_t old_top_line; + size_t moved = 0; + esp_err_t err; + + if (!app || !app->viewer_open) return ESP_ERR_INVALID_ARG; + if (lines == 0 || app->viewer_top_offset == 0 || app->viewer_top_line == 0) return ESP_OK; + + old_offset = app->viewer_top_offset; + old_top_line = app->viewer_top_line; + + err = cmd_app_viewer_find_prev_offset(app, app->viewer_top_offset, lines, &new_offset, &moved); + if (err != ESP_OK) return err; + + if (moved == 0 && new_offset == old_offset) return ESP_OK; + + if (old_top_line > moved) app->viewer_top_line = old_top_line - moved; + else app->viewer_top_line = 0; + + err = cmd_app_viewer_read_page_from_offset(app, new_offset); + if (err != ESP_OK) + { + app->viewer_top_line = old_top_line; + cmd_app_viewer_read_page_from_offset(app, old_offset); + return err; + } + + cmd_app_viewer_set_status(app); + return ESP_OK; +} + +esp_err_t cmd_app_viewer_home(CmdApp *app) +{ + esp_err_t err; + + if (!app || !app->viewer_open) return ESP_ERR_INVALID_ARG; + + app->viewer_top_line = 0; + err = cmd_app_viewer_read_page_from_offset(app, 0); + if (err != ESP_OK) return err; + + cmd_app_viewer_set_status(app); + return ESP_OK; +} + +void cmd_app_close_text_viewer(CmdApp *app) +{ + if (!app) return; + + cmd_app_viewer_close_file(app); + app->viewer_open = false; + app->viewer_device = CMD_DEVICE_INVALID; + app->viewer_path[0] = 0; + app->viewer_title[0] = 0; + app->viewer_top_offset = 0; + app->viewer_next_offset = 0; + app->viewer_top_line = 0; + app->viewer_next_line = 0; + cmd_app_viewer_reset_stream(app); + cmd_app_viewer_clear_page(app); + cmd_app_set_status(app, "ready"); +} + +esp_err_t cmd_app_open_text_viewer(CmdApp *app, CmdPanel *panel, const cmd_file_entry_t *entry) +{ + esp_err_t err; + + if (!app || !panel || !entry) return ESP_ERR_INVALID_ARG; + + if (entry->type != CMD_ENTRY_FILE) + { + cmd_app_set_status(app, "view supports files only"); + return ESP_OK; + } + + err = cmd_app_join_selected_path(panel, entry, app->viewer_path, sizeof(app->viewer_path)); + if (err != ESP_OK) + { + cmd_show_error(app, "view", err); + return ESP_OK; + } + + app->viewer_open = true; + app->viewer_device = panel->device_id; + app->viewer_top_offset = 0; + app->viewer_next_offset = 0; + app->viewer_top_line = 0; + app->viewer_next_line = 0; + app->viewer_eof = false; + cmd_app_viewer_reset_stream(app); + cmd_app_copy_string(app->viewer_title, sizeof(app->viewer_title), entry->name); + + err = cmd_app_viewer_open_file(app); + if (err == ESP_OK) err = cmd_app_viewer_read_page_from_offset(app, 0); + if (err != ESP_OK) + { + cmd_app_close_text_viewer(app); + cmd_show_error(app, "view", err); + return ESP_OK; + } + + cmd_app_viewer_set_status(app); + return ESP_OK; +} + +esp_err_t cmd_app_handle_text_viewer_key(CmdApp *app, const cmd_event_t *event) +{ + size_t rows; + esp_err_t err; + + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->viewer_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY && event->type != CMD_EVENT_QUIT) return ESP_OK; + + if (event->type == CMD_EVENT_QUIT || event->key == CMD_KEY_ESC) + { + cmd_app_close_text_viewer(app); + return ESP_OK; + } + + rows = (size_t)cmd_app_viewer_visible_rows(app); + + switch (event->key) + { + case CMD_KEY_UP: + if (app->viewer_top_line > 0) + { + err = cmd_app_viewer_move_up(app, 1); + if (err != ESP_OK) + { + cmd_show_error(app, "view", err); + return ESP_OK; + } + } + return ESP_OK; + + case CMD_KEY_DOWN: + err = cmd_app_viewer_scroll_down(app); + if (err != ESP_OK) + { + cmd_show_error(app, "view", err); + return ESP_OK; + } + return ESP_OK; + + case CMD_KEY_PAGE_UP: + case CMD_KEY_LEFT: + if (app->viewer_top_line > 0) + { + err = cmd_app_viewer_move_up(app, rows); + if (err != ESP_OK) + { + cmd_show_error(app, "view", err); + return ESP_OK; + } + } + return ESP_OK; + + case CMD_KEY_PAGE_DOWN: + case CMD_KEY_RIGHT: + err = cmd_app_viewer_page_down(app); + if (err != ESP_OK) + { + cmd_show_error(app, "view", err); + return ESP_OK; + } + return ESP_OK; + + case CMD_KEY_HOME: + err = cmd_app_viewer_home(app); + if (err != ESP_OK) + { + cmd_show_error(app, "view", err); + return ESP_OK; + } + return ESP_OK; + + default: + return ESP_OK; + } +} + +void cmd_app_make_viewer_title(char *out, size_t out_size, CmdApp *app) +{ + if (!out || out_size == 0) return; + + cmd_app_text_clear(out, out_size); + if (!app) return; + + cmd_app_append_text(out, out_size, "View: "); + cmd_app_append_text(out, out_size, cmd_device_name(app->viewer_device)); + cmd_app_append_text(out, out_size, ":"); + cmd_app_append_text(out, out_size, app->viewer_path); + cmd_app_append_text(out, out_size, " line "); + snprintf(app->viewer_num, sizeof(app->viewer_num), "%llu", (unsigned long long)(app->viewer_top_line + 1)); + cmd_app_append_text(out, out_size, app->viewer_num); +} + +void cmd_app_draw_text_viewer(CmdApp *app) +{ + cmd_rect_t rect; + cmd_rect_t line_rect; + cmd_display_attr_t attr; + cmd_display_attr_t bar_attr; + int rows; + int cols; + int bottom_y; + + if (!app || !app->viewer_open) return; + + rows = cmd_app_viewer_visible_rows(app); + cols = cmd_app_viewer_visible_cols(app); + bottom_y = cmd_app_bottom_y(app); + attr = cmd_app_normal_attr(); + bar_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_YELLOW, CMD_DISPLAY_COLOR_CYAN, + CMD_DISPLAY_ATTR_FLAG_BOLD); + + rect.x = 0; + rect.y = 0; + rect.w = cmd_app_screen_w(app); + rect.h = cmd_app_screen_h(app); + + line_rect.x = 0; + line_rect.y = 0; + line_rect.w = rect.w; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', bar_attr); + cmd_app_make_viewer_title(app->viewer_draw_line, sizeof(app->viewer_draw_line), app); + cmd_display_buffer_write_text(&app->buffer, 0, 0, app->viewer_draw_line, bar_attr); + + for (int row = 0; row < rows; row++) + { + line_rect.x = 0; + line_rect.y = 1 + row; + line_rect.w = cols; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', attr); + + if ((size_t)row < app->viewer_page_lines) + cmd_display_buffer_write_text(&app->buffer, 0, line_rect.y, app->viewer_lines[row], attr); + } + + line_rect.x = 0; + line_rect.y = bottom_y; + line_rect.w = rect.w; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', bar_attr); + cmd_display_buffer_write_text(&app->buffer, 0, bottom_y, + "Viewer Up/Down PgUp/PgDn Left/Right Home Esc Close", bar_attr); +} + + +uint16_t cmd_app_info_rd_le16(const uint8_t *p) +{ + return (uint16_t)p[0] | ((uint16_t)p[1] << 8); +} + +uint32_t cmd_app_info_rd_le24(const uint8_t *p) +{ + return (uint32_t)p[0] | ((uint32_t)p[1] << 8) | ((uint32_t)p[2] << 16); +} + +uint32_t cmd_app_info_rd_le32(const uint8_t *p) +{ + return (uint32_t)cmd_app_info_rd_le16(p) | ((uint32_t)cmd_app_info_rd_le16(p + 2) << 16); +} + +bool cmd_app_module_info_u64_add(uint64_t *value, uint64_t add) +{ + if (!value) return false; + if (UINT64_MAX - *value < add) return false; + *value += add; + return true; +} + +void cmd_app_module_info_copy_text(char *dst, size_t dst_size, const uint8_t *src, size_t src_size) +{ + size_t n; + + if (!dst || dst_size == 0) return; + + dst[0] = 0; + if (!src) return; + + n = src_size; + while (n > 0 && (src[n - 1] == 0 || src[n - 1] == ' ')) n--; + if (n >= dst_size) n = dst_size - 1; + + for (size_t i = 0; i < n; i++) + { + uint8_t ch = src[i]; + dst[i] = (ch >= 32 && ch <= 126) ? (char)ch : '.'; + } + dst[n] = 0; +} + +void cmd_app_module_info_free_text(CmdApp *app) +{ + if (!app) return; + + if (app->module_info_text) + heap_caps_free(app->module_info_text); + + app->module_info_text = NULL; + app->module_info_text_len = 0; + app->module_info_text_cap = 0; + app->module_info_top_line = 0; + app->module_info_line_count = 0; +} + +esp_err_t cmd_app_module_info_reserve(CmdApp *app, size_t needed) +{ + char *new_text; + size_t new_cap; + + if (!app) return ESP_ERR_INVALID_ARG; + if (needed > CMD_APP_MODULE_INFO_MAX_TEXT_SIZE) return ESP_ERR_NO_MEM; + if (needed <= app->module_info_text_cap) return ESP_OK; + + new_cap = app->module_info_text_cap ? app->module_info_text_cap : CMD_APP_MODULE_INFO_INITIAL_CAP; + while (new_cap < needed) + { + if (new_cap > CMD_APP_MODULE_INFO_MAX_TEXT_SIZE / 2) + { + new_cap = CMD_APP_MODULE_INFO_MAX_TEXT_SIZE; + break; + } + new_cap *= 2; + } + + if (new_cap < needed) return ESP_ERR_NO_MEM; + + new_text = (char*)heap_caps_realloc(app->module_info_text, new_cap, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + if (!new_text) return ESP_ERR_NO_MEM; + + app->module_info_text = new_text; + app->module_info_text_cap = new_cap; + return ESP_OK; +} + +esp_err_t cmd_app_module_info_append_line(CmdApp *app, const char *fmt, ...) +{ + va_list ap; + int written; + size_t line_len; + size_t needed; + esp_err_t err; + + if (!app || !fmt) return ESP_ERR_INVALID_ARG; + + va_start(ap, fmt); + written = vsnprintf(app->module_info_tmp, sizeof(app->module_info_tmp), fmt, ap); + va_end(ap); + + if (written < 0) return ESP_FAIL; + + app->module_info_tmp[sizeof(app->module_info_tmp) - 1] = 0; + line_len = strlen(app->module_info_tmp); + needed = app->module_info_text_len + line_len + 2; + + err = cmd_app_module_info_reserve(app, needed); + if (err != ESP_OK) return err; + + memcpy(app->module_info_text + app->module_info_text_len, app->module_info_tmp, line_len); + app->module_info_text_len += line_len; + app->module_info_text[app->module_info_text_len++] = '\n'; + app->module_info_text[app->module_info_text_len] = 0; + app->module_info_line_count++; + return ESP_OK; +} + +esp_err_t cmd_app_module_info_read_at(CmdApp *app, CmdFsFile *file, uint64_t offset, void *dst, size_t size, size_t *out_got) +{ + size_t got = 0; + esp_err_t err; + + if (!app || !file || !dst) return ESP_ERR_INVALID_ARG; + if (offset > (uint64_t)INT64_MAX) return ESP_ERR_INVALID_ARG; + + memset(dst, 0, size); + + err = cmd_fs_manager_seek(&app->fs, file, (int64_t)offset, SEEK_SET); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_read(&app->fs, file, dst, size, &got); + if (err != ESP_OK) return err; + + if (out_got) *out_got = got; + return ESP_OK; +} + +const char *cmd_app_module_info_mod_magic_text(CmdApp *app, const uint8_t *header, const mod_layout_t *layout) +{ + if (!app || !header || !layout) return "?"; + + if (layout->sample_count != MOD_SAMPLE_COUNT) return "15-sample"; + + cmd_app_module_info_copy_text(app->module_info_name, sizeof(app->module_info_name), header + MOD_MAGIC_OFFSET, 4); + return app->module_info_name[0] ? app->module_info_name : "?"; +} + +const char *cmd_app_module_info_mod_loop_text(const mod_layout_t *layout, uint16_t index) +{ + if (!layout || index >= layout->sample_count) return "no"; + if (layout->sample_length[index] == 0) return "no"; + if (layout->sample_loop_start[index] >= layout->sample_length[index]) return "no"; + if (layout->sample_loop_length[index] <= 2) return "no"; + return "yes"; +} + +esp_err_t cmd_app_module_info_build_mod(CmdApp *app, CmdFsFile *file, const cmd_file_entry_t *entry) +{ + mod_layout_t layout; + uint8_t *header; + size_t want; + size_t got = 0; + esp_err_t err; + + if (!app || !file || !entry) return ESP_ERR_INVALID_ARG; + + header = app->module_info_read_buffer; + want = entry->size < CMD_APP_MODULE_INFO_READ_BUFFER_SIZE ? (size_t)entry->size : CMD_APP_MODULE_INFO_READ_BUFFER_SIZE; + err = cmd_app_module_info_read_at(app, file, 0, header, want, &got); + if (err != ESP_OK) return err; + if (got < MOD_15_HEADER_SIZE) return ESP_FAIL; + if (!mod_read_layout_from_header(header, got, (size_t)entry->size, &layout)) return ESP_FAIL; + + cmd_app_module_info_copy_text(app->module_info_name, sizeof(app->module_info_name), header, MOD_TITLE_SIZE); + + err = cmd_app_module_info_append_line(app, "MOD module: %s", app->module_info_name[0] ? app->module_info_name : ""); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "File: %s", entry->name); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Format: %s channels=%u orders=%u patterns=%u restart=%u", + cmd_app_module_info_mod_magic_text(app, header, &layout), + (unsigned)layout.channels, + (unsigned)layout.song_length, + (unsigned)layout.patterns, + (unsigned)layout.restart_position); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Expected size=%u file size=%llu sample bytes=%u", + (unsigned)layout.expected_size, + (unsigned long long)entry->size, + (unsigned)layout.sample_bytes); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, ""); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Samples / instruments:"); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, " # Name LenB LoopSt LoopLen Loop Vol Fine"); + if (err != ESP_OK) return err; + + for (uint16_t i = 0; i < layout.sample_count; i++) + { + size_t off = MOD_TITLE_SIZE + (size_t)i * MOD_SAMPLE_HEADER_SIZE; + uint8_t volume = header[off + 25]; + int finetune = header[off + 24] & 0x0f; + + if (finetune >= 8) finetune -= 16; + if (volume > 64) volume = 64; + + cmd_app_module_info_copy_text(app->module_info_name, sizeof(app->module_info_name), header + off, 22); + err = cmd_app_module_info_append_line(app, "%02u %-22s %6u %6u %7u %-4s %3u %4d", + (unsigned)i + 1, + app->module_info_name, + (unsigned)layout.sample_length[i], + (unsigned)layout.sample_loop_start[i], + (unsigned)layout.sample_loop_length[i], + cmd_app_module_info_mod_loop_text(&layout, i), + (unsigned)volume, + finetune); + if (err != ESP_OK) return err; + } + + return ESP_OK; +} + +const char *cmd_app_module_info_xm_loop_text(uint8_t flags) +{ + switch (flags & 0x03) + { + case 1: return "fwd"; + case 2: return "ping"; + default: return "no"; + } +} + +esp_err_t cmd_app_module_info_skip_xm_patterns(CmdApp *app, CmdFsFile *file, uint64_t *offset, uint16_t num_patterns, uint64_t file_size) +{ + uint8_t *buf; + + if (!app || !file || !offset) return ESP_ERR_INVALID_ARG; + + buf = app->module_info_read_buffer; + + for (uint16_t i = 0; i < num_patterns; i++) + { + size_t got = 0; + uint32_t header_size; + uint16_t rows; + uint16_t packed_size; + uint64_t next; + esp_err_t err; + + err = cmd_app_module_info_read_at(app, file, *offset, buf, 9, &got); + if (err != ESP_OK) return err; + if (got < 9) return ESP_FAIL; + + header_size = cmd_app_info_rd_le32(buf); + rows = cmd_app_info_rd_le16(buf + 5); + packed_size = cmd_app_info_rd_le16(buf + 7); + if (header_size < 9 || rows == 0 || rows > CMD_APP_XM_MAX_ROWS) return ESP_FAIL; + + next = *offset; + if (!cmd_app_module_info_u64_add(&next, header_size)) return ESP_ERR_INVALID_SIZE; + if (!cmd_app_module_info_u64_add(&next, packed_size)) return ESP_ERR_INVALID_SIZE; + if (next > file_size) return ESP_FAIL; + *offset = next; + } + + return ESP_OK; +} + +esp_err_t cmd_app_module_info_build_xm(CmdApp *app, CmdFsFile *file, const cmd_file_entry_t *entry) +{ + uint8_t *buf; + uint32_t header_size; + uint16_t version; + uint16_t length; + uint16_t restart; + uint16_t channels; + uint16_t patterns; + uint16_t instruments; + uint16_t flags; + uint16_t tempo; + uint16_t bpm; + uint64_t offset; + uint64_t instruments_offset; + size_t got = 0; + esp_err_t err; + + if (!app || !file || !entry) return ESP_ERR_INVALID_ARG; + + buf = app->module_info_read_buffer; + err = cmd_app_module_info_read_at(app, file, 0, buf, 336, &got); + if (err != ESP_OK) return err; + if (got < 80) return ESP_FAIL; + if (memcmp(buf, "Extended Module: ", 17) != 0) return ESP_FAIL; + if (buf[37] != 0x1a) return ESP_FAIL; + + header_size = cmd_app_info_rd_le32(buf + 60); + if (header_size < 20) return ESP_FAIL; + if ((uint64_t)60 + header_size > entry->size) return ESP_FAIL; + + version = cmd_app_info_rd_le16(buf + 58); + length = cmd_app_info_rd_le16(buf + 64); + restart = cmd_app_info_rd_le16(buf + 66); + channels = cmd_app_info_rd_le16(buf + 68); + patterns = cmd_app_info_rd_le16(buf + 70); + instruments = cmd_app_info_rd_le16(buf + 72); + flags = cmd_app_info_rd_le16(buf + 74); + tempo = cmd_app_info_rd_le16(buf + 76); + bpm = cmd_app_info_rd_le16(buf + 78); + + cmd_app_module_info_copy_text(app->module_info_name, sizeof(app->module_info_name), buf + 17, 20); + cmd_app_module_info_copy_text(app->module_info_sample_name, sizeof(app->module_info_sample_name), buf + 38, 20); + + err = cmd_app_module_info_append_line(app, "XM module: %s", app->module_info_name[0] ? app->module_info_name : ""); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "File: %s", entry->name); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Tracker: %s version=%u.%02u", + app->module_info_sample_name[0] ? app->module_info_sample_name : "?", + (unsigned)(version >> 8), + (unsigned)(version & 0xff)); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Orders=%u restart=%u channels=%u patterns=%u instruments=%u", + (unsigned)length, + (unsigned)restart, + (unsigned)channels, + (unsigned)patterns, + (unsigned)instruments); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Tempo=%u BPM=%u frequency=%s file size=%llu", + (unsigned)tempo, + (unsigned)bpm, + (flags & 1) ? "linear" : "amiga", + (unsigned long long)entry->size); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, ""); + if (err != ESP_OK) return err; + + offset = (uint64_t)60 + header_size; + err = cmd_app_module_info_skip_xm_patterns(app, file, &offset, patterns, entry->size); + if (err != ESP_OK) return err; + + instruments_offset = offset; + + err = cmd_app_module_info_append_line(app, "Instruments:"); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Idx Samples Name"); + if (err != ESP_OK) return err; + + for (uint8_t pass = 0; pass < 2; pass++) + { + offset = instruments_offset; + + if (pass == 1) + { + err = cmd_app_module_info_append_line(app, ""); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Samples:"); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Ins Smp Name LenB LoopSt LoopLen Loop Bit Vol Pan Rel Fine"); + if (err != ESP_OK) return err; + } + + for (uint16_t i = 0; i < instruments; i++) + { + uint32_t instr_header_size; + uint16_t sample_count; + uint32_t sample_header_size = 0; + uint64_t sample_data_bytes = 0; + + err = cmd_app_module_info_read_at(app, file, offset, buf, 263, &got); + if (err != ESP_OK) return err; + if (got < 29) return ESP_FAIL; + + instr_header_size = cmd_app_info_rd_le32(buf); + if (instr_header_size < 29) return ESP_FAIL; + + sample_count = cmd_app_info_rd_le16(buf + 27); + if (sample_count > 0) + { + if (got < 33) return ESP_FAIL; + sample_header_size = cmd_app_info_rd_le32(buf + 29); + if (sample_header_size < 18) return ESP_FAIL; + } + + if (pass == 0) + { + cmd_app_module_info_copy_text(app->module_info_name, sizeof(app->module_info_name), buf + 4, 22); + err = cmd_app_module_info_append_line(app, "%03u %7u %s", + (unsigned)i + 1, + (unsigned)sample_count, + app->module_info_name); + if (err != ESP_OK) return err; + } + + if (!cmd_app_module_info_u64_add(&offset, instr_header_size)) return ESP_ERR_INVALID_SIZE; + if (offset > entry->size) return ESP_FAIL; + + for (uint16_t j = 0; j < sample_count; j++) + { + uint32_t sample_len; + uint32_t loop_start; + uint32_t loop_len; + uint8_t volume; + uint8_t sample_flags; + uint8_t panning; + int rel_note; + int finetune; + + err = cmd_app_module_info_read_at(app, file, offset, buf, sample_header_size < 40 ? sample_header_size : 40, &got); + if (err != ESP_OK) return err; + if (got < sample_header_size && got < 18) return ESP_FAIL; + + sample_len = cmd_app_info_rd_le32(buf); + + if (pass == 1) + { + loop_start = cmd_app_info_rd_le32(buf + 4); + loop_len = cmd_app_info_rd_le32(buf + 8); + volume = buf[12]; + finetune = (int8_t)buf[13]; + sample_flags = buf[14]; + panning = buf[15]; + rel_note = (int8_t)buf[16]; + cmd_app_module_info_copy_text(app->module_info_sample_name, sizeof(app->module_info_sample_name), buf + 18, got >= 40 ? 22 : 0); + + err = cmd_app_module_info_append_line(app, "%03u %03u %-22s %6u %6u %7u %-4s %3u %3u %3u %3d %4d", + (unsigned)i + 1, + (unsigned)j + 1, + app->module_info_sample_name, + (unsigned)sample_len, + (unsigned)loop_start, + (unsigned)loop_len, + cmd_app_module_info_xm_loop_text(sample_flags), + (sample_flags & 0x10) ? 16u : 8u, + (unsigned)volume, + (unsigned)panning, + rel_note, + finetune); + if (err != ESP_OK) return err; + } + + sample_data_bytes += sample_len; + if (!cmd_app_module_info_u64_add(&offset, sample_header_size)) return ESP_ERR_INVALID_SIZE; + if (offset > entry->size) return ESP_FAIL; + } + + if (!cmd_app_module_info_u64_add(&offset, sample_data_bytes)) return ESP_ERR_INVALID_SIZE; + if (offset > entry->size) return ESP_FAIL; + } + } + + return ESP_OK; +} + + +esp_err_t cmd_app_module_info_build_s3m(CmdApp *app, CmdFsFile *file, const cmd_file_entry_t *entry) +{ + uint8_t *buf; + uint16_t order_count; + uint16_t sample_count; + uint16_t pattern_count; + uint16_t flags; + uint16_t cwtv; + uint16_t format_version; + uint16_t playable_orders = 0; + uint16_t max_order_pattern = 0; + uint16_t channels = 0; + uint64_t tables_size; + uint64_t sample_ptr_offset; + size_t got = 0; + esp_err_t err; + + if (!app || !file || !entry) return ESP_ERR_INVALID_ARG; + + buf = app->module_info_read_buffer; + err = cmd_app_module_info_read_at(app, file, 0, buf, S3M_HEADER_SIZE, &got); + if (err != ESP_OK) return err; + if (got < S3M_HEADER_SIZE) return ESP_FAIL; + if (memcmp(buf + S3M_MAGIC_OFFSET, "SCRM", 4) != 0) return ESP_FAIL; + if (buf[CMD_APP_S3M_FILE_TYPE_OFFSET] != CMD_APP_S3M_FILE_TYPE_MODULE) return ESP_FAIL; + + order_count = cmd_app_info_rd_le16(buf + CMD_APP_S3M_ORDERS_OFFSET); + sample_count = cmd_app_info_rd_le16(buf + CMD_APP_S3M_SAMPLES_OFFSET); + pattern_count = cmd_app_info_rd_le16(buf + CMD_APP_S3M_PATTERNS_OFFSET); + flags = cmd_app_info_rd_le16(buf + CMD_APP_S3M_FLAGS_OFFSET); + cwtv = cmd_app_info_rd_le16(buf + CMD_APP_S3M_CWTV_OFFSET); + format_version = cmd_app_info_rd_le16(buf + CMD_APP_S3M_FORMAT_VERSION_OFFSET); + + if (!order_count || order_count > S3M_MAX_ORDERS) return ESP_FAIL; + if (sample_count > S3M_MAX_SAMPLES) return ESP_FAIL; + if (!pattern_count || pattern_count > S3M_MAX_PATTERNS) return ESP_FAIL; + + tables_size = (uint64_t)order_count + (uint64_t)sample_count * 2 + (uint64_t)pattern_count * 2; + if ((uint64_t)S3M_HEADER_SIZE + tables_size > entry->size) return ESP_FAIL; + if (buf[CMD_APP_S3M_PANNING_TABLE_FLAG_OFFSET] == CMD_APP_S3M_PANNING_TABLE_PRESENT && + (uint64_t)S3M_HEADER_SIZE + tables_size + S3M_MAX_CHANNELS > entry->size) return ESP_FAIL; + + for (uint16_t i = 0; i < S3M_MAX_CHANNELS; i++) + if (buf[CMD_APP_S3M_CHANNEL_SETTINGS_OFFSET + i] != 0xFF) + channels++; + + if (channels < S3M_MIN_CHANNELS || channels > S3M_MAX_CHANNELS) return ESP_FAIL; + + err = cmd_app_module_info_read_at(app, file, S3M_HEADER_SIZE, buf, order_count, &got); + if (err != ESP_OK) return err; + if (got < order_count) return ESP_FAIL; + + for (uint16_t i = 0; i < order_count; i++) + { + uint8_t order = buf[i]; + + if (order == 0xFF) break; + if (order == 0xFE) continue; + if (order >= pattern_count) return ESP_FAIL; + playable_orders++; + if (order > max_order_pattern) max_order_pattern = order; + } + + if (!playable_orders) return ESP_FAIL; + + err = cmd_app_module_info_read_at(app, file, 0, buf, S3M_HEADER_SIZE, &got); + if (err != ESP_OK) return err; + if (got < S3M_HEADER_SIZE) return ESP_FAIL; + cmd_app_module_info_copy_text(app->module_info_name, sizeof(app->module_info_name), buf, 28); + + err = cmd_app_module_info_append_line(app, "S3M module: %s", app->module_info_name[0] ? app->module_info_name : ""); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "File: %s", entry->name); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Orders=%u playable=%u channels=%u patterns=%u samples=%u", + (unsigned)order_count, + (unsigned)playable_orders, + (unsigned)channels, + (unsigned)pattern_count, + (unsigned)sample_count); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Speed=%u Tempo=%u GlobalVol=%u MasterVol=%u %s panning=%s", + (unsigned)buf[CMD_APP_S3M_SPEED_OFFSET], + (unsigned)buf[CMD_APP_S3M_TEMPO_OFFSET], + (unsigned)buf[CMD_APP_S3M_GLOBAL_VOLUME_OFFSET], + (unsigned)(buf[CMD_APP_S3M_MASTER_VOLUME_OFFSET] & 0x7F), + (buf[CMD_APP_S3M_MASTER_VOLUME_OFFSET] & 0x80) ? "stereo" : "mono", + buf[CMD_APP_S3M_PANNING_TABLE_FLAG_OFFSET] == CMD_APP_S3M_PANNING_TABLE_PRESENT ? "table" : "default"); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Flags=0x%04X CWT/V=0x%04X sample format=%s max order pattern=%u file size=%llu", + (unsigned)flags, + (unsigned)cwtv, + format_version == 1 ? "signed" : (format_version == 2 ? "unsigned" : "unknown"), + (unsigned)max_order_pattern, + (unsigned long long)entry->size); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, ""); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, "Samples / instruments:"); + if (err != ESP_OK) return err; + err = cmd_app_module_info_append_line(app, " # Name LenB DataOfs LoopSt LoopEnd Loop Bit Vol C4Spd Flags"); + if (err != ESP_OK) return err; + + sample_ptr_offset = (uint64_t)S3M_HEADER_SIZE + order_count; + for (uint16_t i = 0; i < sample_count; i++) + { + uint16_t para; + uint64_t header_offset; + uint64_t data_offset = 0; + uint64_t length_bytes = 0; + uint32_t length = 0; + uint32_t loop_start = 0; + uint32_t loop_end = 0; + uint32_t c4speed = S3M_DEFAULT_C4SPEED; + uint8_t type = CMD_APP_S3M_SAMPLE_TYPE_NONE; + uint8_t volume = 0; + uint8_t pack = CMD_APP_S3M_SAMPLE_PACK_NONE; + uint8_t sample_flags = 0; + unsigned bits = 8; + const char *loop_text = "no"; + + err = cmd_app_module_info_read_at(app, file, sample_ptr_offset + (uint64_t)i * 2, buf, 2, &got); + if (err != ESP_OK) return err; + if (got < 2) return ESP_FAIL; + + para = cmd_app_info_rd_le16(buf); + if (!para) + { + err = cmd_app_module_info_append_line(app, "%02u %-28s %8u %10u %6u %7u %-4s %3u %3u %5u 0x%02X", + (unsigned)i + 1, + "", + 0u, + 0u, + 0u, + 0u, + "no", + 8u, + 0u, + S3M_DEFAULT_C4SPEED, + 0u); + if (err != ESP_OK) return err; + continue; + } + + header_offset = (uint64_t)para << 4; + if (header_offset > entry->size || entry->size - header_offset < S3M_SAMPLE_HEADER_SIZE) return ESP_FAIL; + + err = cmd_app_module_info_read_at(app, file, header_offset, buf, S3M_SAMPLE_HEADER_SIZE, &got); + if (err != ESP_OK) return err; + if (got < S3M_SAMPLE_HEADER_SIZE) return ESP_FAIL; + + type = buf[0]; + data_offset = (((uint64_t)buf[13] << 16) | cmd_app_info_rd_le16(buf + 14)) << 4; + length = cmd_app_info_rd_le32(buf + 16); + loop_start = cmd_app_info_rd_le32(buf + 20); + loop_end = cmd_app_info_rd_le32(buf + 24); + volume = buf[28]; + pack = buf[30]; + sample_flags = buf[31]; + c4speed = cmd_app_info_rd_le32(buf + 32); + if (!c4speed) c4speed = S3M_DEFAULT_C4SPEED; + bits = (sample_flags & CMD_APP_S3M_SAMPLE_FLAG_16BIT) ? 16u : 8u; + length_bytes = (uint64_t)length * (bits == 16 ? 2u : 1u); + if ((sample_flags & CMD_APP_S3M_SAMPLE_FLAG_LOOP) && loop_end > loop_start) + { + loop_text = "yes"; + } + + cmd_app_module_info_copy_text(app->module_info_sample_name, sizeof(app->module_info_sample_name), buf + 48, 28); + if (!app->module_info_sample_name[0] && type == CMD_APP_S3M_SAMPLE_TYPE_NONE) + cmd_app_copy_string(app->module_info_sample_name, sizeof(app->module_info_sample_name), ""); + + err = cmd_app_module_info_append_line(app, "%02u %-28s %8llu %10llu %6u %7u %-4s %3u %3u %5u 0x%02X%s%s%s", + (unsigned)i + 1, + app->module_info_sample_name, + (unsigned long long)length_bytes, + (unsigned long long)data_offset, + (unsigned)loop_start, + (unsigned)loop_end, + loop_text, + bits, + (unsigned)volume, + (unsigned)c4speed, + (unsigned)sample_flags, + (type == CMD_APP_S3M_SAMPLE_TYPE_NONE || type == CMD_APP_S3M_SAMPLE_TYPE_PCM) ? "" : " type!", + pack == CMD_APP_S3M_SAMPLE_PACK_NONE ? "" : " packed!", + (sample_flags & CMD_APP_S3M_SAMPLE_FLAG_STEREO) ? " stereo!" : ""); + if (err != ESP_OK) return err; + + } + + return ESP_OK; +} + +void cmd_app_close_module_info_viewer(CmdApp *app) +{ + if (!app) return; + + cmd_app_module_info_free_text(app); + app->module_info_open = false; + app->module_info_device = CMD_DEVICE_INVALID; + app->module_info_path[0] = 0; + app->module_info_title[0] = 0; + cmd_app_set_status(app, "ready"); +} + +esp_err_t cmd_app_open_module_info_viewer(CmdApp *app, CmdPanel *panel, const cmd_file_entry_t *entry) +{ + CmdFsFile file; + CmdFsDriver *driver; + bool file_open = false; + esp_err_t err; + + if (!app || !panel || !entry) return ESP_ERR_INVALID_ARG; + + if (!cmd_app_entry_is_module_info(entry)) + { + cmd_app_set_status(app, "module info supports MOD/XM/S3M files only"); + return ESP_OK; + } + + err = cmd_app_join_selected_path(panel, entry, app->module_info_path, sizeof(app->module_info_path)); + if (err != ESP_OK) + { + cmd_show_error(app, "module info", err); + return ESP_OK; + } + + err = cmd_fs_manager_mount(&app->fs, panel->device_id); + if (err != ESP_OK) + { + cmd_show_error(app, "module info", err); + return ESP_OK; + } + + driver = cmd_fs_manager_get_driver(&app->fs, panel->device_id); + if (!driver || !driver->open_read || !driver->read || !driver->seek || !driver->close) + { + cmd_show_error(app, "module info", ESP_ERR_NOT_SUPPORTED); + return ESP_OK; + } + + memset(&file, 0, sizeof(file)); + err = cmd_fs_manager_open_read(&app->fs, panel->device_id, app->module_info_path, &file); + if (err != ESP_OK) + { + cmd_show_error(app, "module info", err); + return ESP_OK; + } + file_open = true; + + cmd_app_module_info_free_text(app); + cmd_app_copy_string(app->module_info_title, sizeof(app->module_info_title), entry->name); + + if (cmd_app_extension_is(entry->name, ".mod")) + err = cmd_app_module_info_build_mod(app, &file, entry); + else if (cmd_app_extension_is(entry->name, ".s3m")) + err = cmd_app_module_info_build_s3m(app, &file, entry); + else + err = cmd_app_module_info_build_xm(app, &file, entry); + + if (file_open) + { + esp_err_t close_err = cmd_fs_manager_close(&app->fs, &file); + file_open = false; + if (err == ESP_OK && close_err != ESP_OK) err = close_err; + } + + if (err != ESP_OK) + { + cmd_app_module_info_free_text(app); + cmd_show_error(app, "module info", err); + return ESP_OK; + } + + app->module_info_open = true; + app->module_info_device = panel->device_id; + app->module_info_top_line = 0; + cmd_set_status(app, "module info: %s lines=%u", entry->name, (unsigned)app->module_info_line_count); + return ESP_OK; +} + +size_t cmd_app_module_info_max_top_line(CmdApp *app) +{ + size_t rows; + + if (!app) return 0; + + rows = (size_t)cmd_app_viewer_visible_rows(app); + if (app->module_info_line_count <= rows) return 0; + return app->module_info_line_count - rows; +} + +void cmd_app_module_info_set_status(CmdApp *app) +{ + if (!app) return; + + cmd_set_status(app, "module info: %s line %u/%u", + app->module_info_title[0] ? app->module_info_title : cmd_fs_filename_ptr(app->module_info_path), + (unsigned)(app->module_info_top_line + 1), + (unsigned)app->module_info_line_count); +} + +void cmd_app_module_info_move_to(CmdApp *app, size_t top_line) +{ + size_t max_top; + + if (!app) return; + + max_top = cmd_app_module_info_max_top_line(app); + if (top_line > max_top) top_line = max_top; + app->module_info_top_line = top_line; + cmd_app_module_info_set_status(app); +} + +esp_err_t cmd_app_handle_module_info_viewer_key(CmdApp *app, const cmd_event_t *event) +{ + size_t rows; + + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->module_info_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY && event->type != CMD_EVENT_QUIT) return ESP_OK; + + if (event->type == CMD_EVENT_QUIT || event->key == CMD_KEY_ESC) + { + cmd_app_close_module_info_viewer(app); + return ESP_OK; + } + + rows = (size_t)cmd_app_viewer_visible_rows(app); + + switch (event->key) + { + case CMD_KEY_UP: + if (app->module_info_top_line > 0) + cmd_app_module_info_move_to(app, app->module_info_top_line - 1); + return ESP_OK; + + case CMD_KEY_DOWN: + cmd_app_module_info_move_to(app, app->module_info_top_line + 1); + return ESP_OK; + + case CMD_KEY_PAGE_UP: + case CMD_KEY_LEFT: + if (app->module_info_top_line > rows) + cmd_app_module_info_move_to(app, app->module_info_top_line - rows); + else + cmd_app_module_info_move_to(app, 0); + return ESP_OK; + + case CMD_KEY_PAGE_DOWN: + case CMD_KEY_RIGHT: + cmd_app_module_info_move_to(app, app->module_info_top_line + rows); + return ESP_OK; + + case CMD_KEY_HOME: + cmd_app_module_info_move_to(app, 0); + return ESP_OK; + + case CMD_KEY_END: + cmd_app_module_info_move_to(app, cmd_app_module_info_max_top_line(app)); + return ESP_OK; + + default: + return ESP_OK; + } +} + +void cmd_app_module_info_copy_line(CmdApp *app, size_t line_index, char *out, size_t out_size) +{ + const char *p; + size_t current = 0; + size_t len = 0; + + if (!out || out_size == 0) return; + out[0] = 0; + if (!app || !app->module_info_text) return; + + p = app->module_info_text; + while (current < line_index && *p) + { + if (*p == '\n') current++; + p++; + } + + if (current != line_index) return; + + while (p[len] && p[len] != '\n') len++; + if (len >= out_size) len = out_size - 1; + memcpy(out, p, len); + out[len] = 0; +} + +void cmd_app_make_module_info_title(char *out, size_t out_size, CmdApp *app) +{ + if (!out || out_size == 0) return; + + cmd_app_text_clear(out, out_size); + if (!app) return; + + cmd_app_append_text(out, out_size, "Module: "); + cmd_app_append_text(out, out_size, cmd_device_name(app->module_info_device)); + cmd_app_append_text(out, out_size, ":"); + cmd_app_append_text(out, out_size, app->module_info_path); + cmd_app_append_text(out, out_size, " line "); + snprintf(app->viewer_num, sizeof(app->viewer_num), "%u", (unsigned)(app->module_info_top_line + 1)); + cmd_app_append_text(out, out_size, app->viewer_num); +} + +void cmd_app_draw_module_info_viewer(CmdApp *app) +{ + cmd_rect_t rect; + cmd_rect_t line_rect; + cmd_display_attr_t attr; + cmd_display_attr_t bar_attr; + int rows; + int cols; + int bottom_y; + + if (!app || !app->module_info_open) return; + + rows = cmd_app_viewer_visible_rows(app); + cols = cmd_app_viewer_visible_cols(app); + bottom_y = cmd_app_bottom_y(app); + attr = cmd_app_normal_attr(); + bar_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_YELLOW, CMD_DISPLAY_COLOR_CYAN, + CMD_DISPLAY_ATTR_FLAG_BOLD); + + rect.x = 0; + rect.y = 0; + rect.w = cmd_app_screen_w(app); + rect.h = cmd_app_screen_h(app); + + line_rect.x = 0; + line_rect.y = 0; + line_rect.w = rect.w; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', bar_attr); + cmd_app_make_module_info_title(app->viewer_draw_line, sizeof(app->viewer_draw_line), app); + cmd_display_buffer_write_text(&app->buffer, 0, 0, app->viewer_draw_line, bar_attr); + + for (int row = 0; row < rows; row++) + { + line_rect.x = 0; + line_rect.y = 1 + row; + line_rect.w = cols; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', attr); + + cmd_app_module_info_copy_line(app, + app->module_info_top_line + (size_t)row, + app->viewer_draw_line, + sizeof(app->viewer_draw_line)); + cmd_display_buffer_write_text(&app->buffer, 0, line_rect.y, app->viewer_draw_line, attr); + } + + line_rect.x = 0; + line_rect.y = bottom_y; + line_rect.w = rect.w; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', bar_attr); + cmd_display_buffer_write_text(&app->buffer, 0, bottom_y, + "Module info Up/Down PgUp/PgDn Left/Right Home/End Esc Close", bar_attr); +} + +char cmd_app_hex_viewer_ascii(uint8_t ch) +{ + if (ch >= 32 && ch <= 126) return (char)ch; + return '.'; +} + +void cmd_app_hex_viewer_clear_page(CmdApp *app) +{ + if (!app) return; + + app->hex_viewer_page_rows = 0; + app->hex_viewer_eof = true; + + for (int i = 0; i < CMD_APP_VIEWER_MAX_ROWS; i++) + app->hex_viewer_lines[i][0] = 0; +} + +void cmd_app_hex_viewer_make_line(CmdApp *app, char *out, size_t out_size, uint64_t offset, const uint8_t *data, size_t size) +{ + char *tmp; + + if (!app || !out || out_size == 0) return; + + tmp = app->hex_viewer_tmp; + + cmd_app_text_clear(out, out_size); + snprintf(out, out_size, "%08llX ", (unsigned long long)offset); + + for (size_t i = 0; i < CMD_APP_HEX_VIEWER_BYTES_PER_ROW; i++) + { + if (i == 8) cmd_app_append_text(out, out_size, " "); + + if (i < size) + snprintf(tmp, sizeof(app->hex_viewer_tmp), "%02X ", data[i]); + else + snprintf(tmp, sizeof(app->hex_viewer_tmp), " "); + + cmd_app_append_text(out, out_size, tmp); + } + + cmd_app_append_text(out, out_size, " |"); + + for (size_t i = 0; i < CMD_APP_HEX_VIEWER_BYTES_PER_ROW; i++) + { + tmp[0] = i < size ? cmd_app_hex_viewer_ascii(data[i]) : ' '; + tmp[1] = 0; + cmd_app_append_text(out, out_size, tmp); + } + + cmd_app_append_text(out, out_size, "|"); +} + +uint64_t cmd_app_hex_viewer_page_bytes(CmdApp *app) +{ + return (uint64_t)cmd_app_viewer_visible_rows(app) * CMD_APP_HEX_VIEWER_BYTES_PER_ROW; +} + +uint64_t cmd_app_hex_viewer_align_offset(uint64_t offset) +{ + return (offset / CMD_APP_HEX_VIEWER_BYTES_PER_ROW) * CMD_APP_HEX_VIEWER_BYTES_PER_ROW; +} + +esp_err_t cmd_app_hex_viewer_close_file(CmdApp *app) +{ + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + if (!app->hex_viewer_file_open) return ESP_OK; + + err = cmd_fs_manager_close(&app->fs, &app->hex_viewer_file); + app->hex_viewer_file_open = false; + memset(&app->hex_viewer_file, 0, sizeof(app->hex_viewer_file)); + return err; +} + +esp_err_t cmd_app_hex_viewer_open_file(CmdApp *app) +{ + CmdFsDriver *driver; + esp_err_t err; + + if (!app || !app->hex_viewer_open) return ESP_ERR_INVALID_ARG; + + err = cmd_app_hex_viewer_close_file(app); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_mount(&app->fs, app->hex_viewer_device); + if (err != ESP_OK) return err; + + driver = cmd_fs_manager_get_driver(&app->fs, app->hex_viewer_device); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->open_read || !driver->read || !driver->seek || !driver->tell || !driver->close) + return ESP_ERR_NOT_SUPPORTED; + + memset(&app->hex_viewer_file, 0, sizeof(app->hex_viewer_file)); + err = cmd_fs_manager_open_read(&app->fs, app->hex_viewer_device, + app->hex_viewer_path, &app->hex_viewer_file); + if (err != ESP_OK) return err; + + app->hex_viewer_file_open = true; + return ESP_OK; +} + +esp_err_t cmd_app_hex_viewer_update_size(CmdApp *app) +{ + uint64_t size = 0; + esp_err_t err; + + if (!app || !app->hex_viewer_file_open) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_manager_seek(&app->fs, &app->hex_viewer_file, 0, SEEK_END); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_tell(&app->fs, &app->hex_viewer_file, &size); + if (err != ESP_OK) return err; + + app->hex_viewer_size = size; + app->hex_viewer_size_known = true; + return cmd_fs_manager_seek(&app->fs, &app->hex_viewer_file, 0, SEEK_SET); +} + +esp_err_t cmd_app_hex_viewer_read_page(CmdApp *app) +{ + uint8_t *row; + size_t got = 0; + size_t data_pos = 0; + size_t data_len = 0; + size_t row_len; + size_t rows; + uint64_t offset; + bool hit_eof = false; + esp_err_t err; + + if (!app || !app->hex_viewer_open) return ESP_ERR_INVALID_ARG; + if (!app->hex_viewer_file_open) return ESP_ERR_INVALID_STATE; + + row = app->hex_viewer_row; + + cmd_app_hex_viewer_clear_page(app); + + rows = (size_t)cmd_app_viewer_visible_rows(app); + offset = cmd_app_hex_viewer_align_offset(app->hex_viewer_offset); + app->hex_viewer_offset = offset; + + if (offset > (uint64_t)INT64_MAX) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_manager_seek(&app->fs, &app->hex_viewer_file, (int64_t)offset, SEEK_SET); + if (err != ESP_OK) return err; + + while (app->hex_viewer_page_rows < rows) + { + row_len = 0; + + while (row_len < CMD_APP_HEX_VIEWER_BYTES_PER_ROW) + { + if (data_pos >= data_len) + { + err = cmd_fs_manager_read(&app->fs, &app->hex_viewer_file, + app->hex_viewer_read_buffer, sizeof(app->hex_viewer_read_buffer), &got); + if (err != ESP_OK) return err; + if (got == 0) + { + hit_eof = true; + break; + } + + data_pos = 0; + data_len = got; + } + + row[row_len++] = app->hex_viewer_read_buffer[data_pos++]; + offset++; + } + + if (row_len == 0) break; + + cmd_app_hex_viewer_make_line( + app, + app->hex_viewer_lines[app->hex_viewer_page_rows], + sizeof(app->hex_viewer_lines[app->hex_viewer_page_rows]), + offset - row_len, + row, + row_len); + app->hex_viewer_page_rows++; + + if (row_len < CMD_APP_HEX_VIEWER_BYTES_PER_ROW) break; + } + + if (app->hex_viewer_size_known && offset >= app->hex_viewer_size) + hit_eof = true; + + app->hex_viewer_eof = hit_eof; + return ESP_OK; +} + +void cmd_app_hex_viewer_set_status(CmdApp *app) +{ + if (!app) return; + + cmd_set_status(app, "hex: %s offset 0x%08llX", + app->hex_viewer_title[0] ? app->hex_viewer_title : cmd_fs_filename_ptr(app->hex_viewer_path), + (unsigned long long)app->hex_viewer_offset); +} + +esp_err_t cmd_app_hex_viewer_move_to(CmdApp *app, uint64_t offset) +{ + uint64_t old_offset; + esp_err_t err; + + if (!app || !app->hex_viewer_open) return ESP_ERR_INVALID_ARG; + + old_offset = app->hex_viewer_offset; + app->hex_viewer_offset = cmd_app_hex_viewer_align_offset(offset); + + err = cmd_app_hex_viewer_read_page(app); + if (err != ESP_OK) + { + app->hex_viewer_offset = old_offset; + cmd_app_hex_viewer_read_page(app); + cmd_show_error(app, "hex view", err); + return ESP_OK; + } + + if (app->hex_viewer_offset > 0 && app->hex_viewer_page_rows == 0) + { + app->hex_viewer_offset = old_offset; + cmd_app_hex_viewer_read_page(app); + return ESP_OK; + } + + cmd_app_hex_viewer_set_status(app); + return ESP_OK; +} + +void cmd_app_close_hex_viewer(CmdApp *app) +{ + if (!app) return; + + cmd_app_hex_viewer_close_file(app); + app->hex_viewer_open = false; + app->hex_viewer_device = CMD_DEVICE_INVALID; + app->hex_viewer_path[0] = 0; + app->hex_viewer_title[0] = 0; + app->hex_viewer_offset = 0; + app->hex_viewer_size = 0; + app->hex_viewer_size_known = false; + cmd_app_hex_viewer_clear_page(app); + cmd_app_set_status(app, "ready"); +} + +esp_err_t cmd_app_open_hex_viewer(CmdApp *app, CmdPanel *panel, const cmd_file_entry_t *entry) +{ + esp_err_t err; + + if (!app || !panel || !entry) return ESP_ERR_INVALID_ARG; + + if (entry->type != CMD_ENTRY_FILE) + { + cmd_app_set_status(app, "hex view supports files only"); + return ESP_OK; + } + + err = cmd_app_join_selected_path(panel, entry, app->hex_viewer_path, sizeof(app->hex_viewer_path)); + if (err != ESP_OK) + { + cmd_show_error(app, "hex view", err); + return ESP_OK; + } + + app->hex_viewer_open = true; + app->hex_viewer_device = panel->device_id; + app->hex_viewer_offset = 0; + app->hex_viewer_size = entry->size; + app->hex_viewer_size_known = true; + cmd_app_copy_string(app->hex_viewer_title, sizeof(app->hex_viewer_title), entry->name); + + err = cmd_app_hex_viewer_open_file(app); + if (err == ESP_OK) + { + esp_err_t size_err = cmd_app_hex_viewer_update_size(app); + if (size_err != ESP_OK) + { + app->hex_viewer_size = entry->size; + app->hex_viewer_size_known = true; + } + } + if (err == ESP_OK) err = cmd_app_hex_viewer_read_page(app); + if (err != ESP_OK) + { + cmd_app_close_hex_viewer(app); + cmd_show_error(app, "hex view", err); + return ESP_OK; + } + + cmd_app_hex_viewer_set_status(app); + return ESP_OK; +} + +esp_err_t cmd_app_handle_hex_viewer_key(CmdApp *app, const cmd_event_t *event) +{ + uint64_t page_bytes; + uint64_t offset; + + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->hex_viewer_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY && event->type != CMD_EVENT_QUIT) return ESP_OK; + + if (event->type == CMD_EVENT_QUIT || event->key == CMD_KEY_ESC) + { + cmd_app_close_hex_viewer(app); + return ESP_OK; + } + + page_bytes = cmd_app_hex_viewer_page_bytes(app); + + switch (event->key) + { + case CMD_KEY_UP: + if (app->hex_viewer_offset >= CMD_APP_HEX_VIEWER_BYTES_PER_ROW) + return cmd_app_hex_viewer_move_to(app, app->hex_viewer_offset - CMD_APP_HEX_VIEWER_BYTES_PER_ROW); + return cmd_app_hex_viewer_move_to(app, 0); + + case CMD_KEY_DOWN: + if (!app->hex_viewer_eof || app->hex_viewer_page_rows > 1) + return cmd_app_hex_viewer_move_to(app, app->hex_viewer_offset + CMD_APP_HEX_VIEWER_BYTES_PER_ROW); + return ESP_OK; + + case CMD_KEY_PAGE_UP: + case CMD_KEY_LEFT: + if (app->hex_viewer_offset > page_bytes) + return cmd_app_hex_viewer_move_to(app, app->hex_viewer_offset - page_bytes); + return cmd_app_hex_viewer_move_to(app, 0); + + case CMD_KEY_PAGE_DOWN: + case CMD_KEY_RIGHT: + if (app->hex_viewer_eof) + { + if (app->hex_viewer_page_rows > 1) + return cmd_app_hex_viewer_move_to( + app, + app->hex_viewer_offset + (app->hex_viewer_page_rows - 1) * CMD_APP_HEX_VIEWER_BYTES_PER_ROW); + return ESP_OK; + } + return cmd_app_hex_viewer_move_to(app, app->hex_viewer_offset + page_bytes); + + case CMD_KEY_HOME: + return cmd_app_hex_viewer_move_to(app, 0); + + case CMD_KEY_END: + if (!app->hex_viewer_size_known) + { + cmd_app_set_status(app, "hex view: file size unknown"); + return ESP_OK; + } + + if (app->hex_viewer_size <= page_bytes) + return cmd_app_hex_viewer_move_to(app, 0); + + offset = app->hex_viewer_size - page_bytes; + offset = cmd_app_hex_viewer_align_offset(offset); + return cmd_app_hex_viewer_move_to(app, offset); + + default: + return ESP_OK; + } +} + +void cmd_app_make_hex_viewer_title(char *out, size_t out_size, CmdApp *app) +{ + if (!out || out_size == 0) return; + + cmd_app_text_clear(out, out_size); + if (!app) return; + + cmd_app_append_text(out, out_size, "Hex: "); + cmd_app_append_text(out, out_size, cmd_device_name(app->hex_viewer_device)); + cmd_app_append_text(out, out_size, ":"); + cmd_app_append_text(out, out_size, app->hex_viewer_path); + cmd_app_append_text(out, out_size, " offset 0x"); + snprintf(app->viewer_num, sizeof(app->viewer_num), "%08llX", (unsigned long long)app->hex_viewer_offset); + cmd_app_append_text(out, out_size, app->viewer_num); +} + +void cmd_app_draw_hex_viewer(CmdApp *app) +{ + cmd_rect_t rect; + cmd_rect_t line_rect; + cmd_display_attr_t attr; + cmd_display_attr_t bar_attr; + int rows; + int cols; + int bottom_y; + + if (!app || !app->hex_viewer_open) return; + + rows = cmd_app_viewer_visible_rows(app); + cols = cmd_app_viewer_visible_cols(app); + bottom_y = cmd_app_bottom_y(app); + attr = cmd_app_normal_attr(); + bar_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_YELLOW, CMD_DISPLAY_COLOR_CYAN, + CMD_DISPLAY_ATTR_FLAG_BOLD); + + rect.x = 0; + rect.y = 0; + rect.w = cmd_app_screen_w(app); + rect.h = cmd_app_screen_h(app); + + line_rect.x = 0; + line_rect.y = 0; + line_rect.w = rect.w; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', bar_attr); + cmd_app_make_hex_viewer_title(app->viewer_draw_line, sizeof(app->viewer_draw_line), app); + cmd_display_buffer_write_text(&app->buffer, 0, 0, app->viewer_draw_line, bar_attr); + + for (int row_index = 0; row_index < rows; row_index++) + { + line_rect.x = 0; + line_rect.y = 1 + row_index; + line_rect.w = cols; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', attr); + + if ((size_t)row_index < app->hex_viewer_page_rows) + cmd_display_buffer_write_text(&app->buffer, 0, line_rect.y, app->hex_viewer_lines[row_index], attr); + } + + line_rect.x = 0; + line_rect.y = bottom_y; + line_rect.w = rect.w; + line_rect.h = 1; + cmd_display_buffer_fill_rect(&app->buffer, &line_rect, ' ', bar_attr); + cmd_display_buffer_write_text(&app->buffer, 0, bottom_y, + "Hex viewer Up/Down PgUp/PgDn Left/Right Home End Esc Close", bar_attr); +} + +esp_err_t cmd_app_reload_both_panels(CmdApp *app) +{ + esp_err_t left_err; + esp_err_t right_err; + + if (!app) return ESP_ERR_INVALID_ARG; + + left_err = cmd_panel_reload(&app->left_panel); + right_err = cmd_panel_reload(&app->right_panel); + + if (left_err != ESP_OK) return left_err; + return right_err; +} + +void cmd_app_set_fileop_result_status(CmdApp *app, cmd_app_fileop_t op, const char *name, esp_err_t err) +{ + if (!app) return; + + if (err == ESP_OK) + { + cmd_set_status(app, "%s: %s", cmd_app_fileop_past(op), name ? name : ""); + return; + } + + if (err == CMD_ERR_CANCELLED) + { + cmd_set_status(app, "%s cancelled", cmd_app_fileop_status_name(op)); + return; + } + + cmd_show_error(app, cmd_app_fileop_status_name(op), err); +} + +esp_err_t cmd_app_open_fileop_confirm(CmdApp *app, cmd_app_fileop_t op) +{ + CmdPanel *active; + CmdPanel *passive; + const cmd_file_entry_t *entry; + bool group; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + active = cmd_app_active_panel(app); + passive = cmd_app_passive_panel(app); + if (!active || !passive) return ESP_ERR_INVALID_STATE; + + cmd_panel_update_selection_stats(active); + group = cmd_panel_has_selection(active); + + app->fileop_group = group; + app->fileop_item_count = group ? active->selected_count : 1; + app->fileop_item_size = group ? active->selected_size : 0; + app->fileop_dst_path[0] = 0; + + if (group) + { + snprintf(app->fileop_name, sizeof(app->fileop_name), "%u selected items", (unsigned)active->selected_count); + + if (op == CMD_APP_FILEOP_COPY || op == CMD_APP_FILEOP_MOVE) + cmd_app_copy_string(app->fileop_dst_path, sizeof(app->fileop_dst_path), passive->current_path); + + app->fileop_confirm_open = true; + app->fileop_confirm_op = op; + cmd_app_set_status(app, "Enter OK Esc cancel"); + return ESP_OK; + } + + entry = cmd_panel_get_selected_entry(active); + if (!entry) + { + cmd_app_set_status(app, "no selected entry"); + return ESP_OK; + } + + if (entry->type == CMD_ENTRY_PARENT) + { + cmd_app_set_status(app, "cannot operate on .."); + return ESP_OK; + } + + cmd_app_copy_string(app->fileop_name, sizeof(app->fileop_name), entry->name); + app->fileop_item_size = (entry->type == CMD_ENTRY_FILE) ? entry->size : 0; + + if (op == CMD_APP_FILEOP_COPY || op == CMD_APP_FILEOP_MOVE) + { + err = cmd_fs_join_path(passive->current_path, entry->name, app->fileop_dst_path, sizeof(app->fileop_dst_path)); + if (err != ESP_OK) + { + cmd_app_set_status_err(app, cmd_app_fileop_status_name(op), err); + return ESP_OK; + } + } + else + { + err = cmd_app_join_selected_path(active, entry, app->fileop_dst_path, sizeof(app->fileop_dst_path)); + if (err != ESP_OK) + { + cmd_app_set_status_err(app, cmd_app_fileop_status_name(op), err); + return ESP_OK; + } + } + + app->fileop_confirm_open = true; + app->fileop_confirm_op = op; + cmd_app_set_status(app, "Enter OK Esc cancel"); + return ESP_OK; +} + +void cmd_app_close_fileop_confirm(CmdApp *app) +{ + if (!app) return; + + app->fileop_confirm_open = false; + app->fileop_confirm_op = CMD_APP_FILEOP_NONE; + app->fileop_name[0] = 0; + app->fileop_dst_path[0] = 0; + app->fileop_group = false; + app->fileop_item_count = 0; + app->fileop_item_size = 0; +} + +void cmd_app_draw_confirm_dialog(CmdApp *app) +{ + cmd_rect_t rect; + cmd_display_attr_t attr; + cmd_display_attr_t frame_attr; + char title[CMD_DISPLAY_COLS + 1]; + char line[CMD_DISPLAY_COLS + 1]; + + if (!app || !app->fileop_confirm_open) return; + + rect.x = cmd_app_center_x(app, CMD_APP_FILEOP_DIALOG_W); + rect.y = cmd_app_center_y(app, CMD_APP_FILEOP_DIALOG_H); + rect.w = CMD_APP_FILEOP_DIALOG_W; + rect.h = CMD_APP_FILEOP_DIALOG_H; + + attr = cmd_app_dialog_attr(); + frame_attr = cmd_app_dialog_frame_attr(); + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_draw_box(&app->buffer, &rect, frame_attr); + + snprintf(title, sizeof(title), " %s ", cmd_app_fileop_verb(app->fileop_confirm_op)); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y, title, frame_attr); + + cmd_app_text_clear(line, sizeof(line)); + if (app->fileop_group) + { + cmd_app_append_text(line, sizeof(line), cmd_app_fileop_verb(app->fileop_confirm_op)); + cmd_app_append_text(line, sizeof(line), " "); + snprintf(line + cmd_app_text_len(line), sizeof(line) - cmd_app_text_len(line), + "%u selected items", (unsigned)app->fileop_item_count); + if (app->fileop_confirm_op == CMD_APP_FILEOP_DELETE) + cmd_app_append_text(line, sizeof(line), "?"); + } + else if (app->fileop_confirm_op == CMD_APP_FILEOP_DELETE) + { + cmd_app_append_text(line, sizeof(line), "Delete "); + cmd_app_append_text(line, sizeof(line), app->fileop_name); + cmd_app_append_text(line, sizeof(line), "?"); + } + else + { + cmd_app_append_text(line, sizeof(line), cmd_app_fileop_verb(app->fileop_confirm_op)); + cmd_app_append_text(line, sizeof(line), " "); + cmd_app_append_text(line, sizeof(line), app->fileop_name); + } + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 2, line, attr); + + if (app->fileop_confirm_op == CMD_APP_FILEOP_COPY || app->fileop_confirm_op == CMD_APP_FILEOP_MOVE) + { + cmd_app_text_clear(line, sizeof(line)); + cmd_app_append_text(line, sizeof(line), "to "); + cmd_app_append_text(line, sizeof(line), app->fileop_dst_path); + cmd_app_append_text(line, sizeof(line), "?"); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 3, line, attr); + } + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + rect.h - 2, + "Enter/OK start Esc/Cancel", attr); +} + +void cmd_app_draw_progress_bar(CmdApp *app, int x, int y, int w) +{ + uint64_t percent = 0; + int fill; + + if (!app || w <= 2) return; + + if (app->fileop_bytes_total > 0) + percent = (app->fileop_bytes_done * 100ull) / app->fileop_bytes_total; + else if (app->fileop_files_total > 0) + percent = ((uint64_t)app->fileop_files_done * 100ull) / (uint64_t)app->fileop_files_total; + else + percent = 100; + + if (percent > 100) percent = 100; + + cmd_display_buffer_put_char(&app->buffer, x, y, '[', cmd_app_dialog_frame_attr()); + cmd_display_buffer_put_char(&app->buffer, x + w - 1, y, ']', cmd_app_dialog_frame_attr()); + + fill = (int)((percent * (uint64_t)(w - 2)) / 100ull); + for (int i = 0; i < w - 2; i++) + { + char ch = i < fill ? '#' : ' '; + cmd_display_buffer_put_char(&app->buffer, x + 1 + i, y, ch, cmd_app_dialog_selected_attr()); + } +} + +void cmd_app_draw_progress_dialog(CmdApp *app) +{ + cmd_rect_t rect; + cmd_display_attr_t attr; + cmd_display_attr_t frame_attr; + char title[CMD_DISPLAY_COLS + 1]; + char line[CMD_DISPLAY_COLS + 1]; + uint64_t percent = 0; + + if (!app || !app->fileop_progress_open) return; + + rect.x = cmd_app_center_x(app, CMD_APP_FILEOP_DIALOG_W); + rect.y = cmd_app_center_y(app, CMD_APP_FILEOP_DIALOG_H); + rect.w = CMD_APP_FILEOP_DIALOG_W; + rect.h = CMD_APP_FILEOP_DIALOG_H; + + attr = cmd_app_dialog_attr(); + frame_attr = cmd_app_dialog_frame_attr(); + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_draw_box(&app->buffer, &rect, frame_attr); + + snprintf(title, sizeof(title), " %s progress ", cmd_app_fileop_verb(app->fileop_progress_op)); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y, title, frame_attr); + + cmd_app_text_clear(line, sizeof(line)); + cmd_app_append_text(line, sizeof(line), cmd_app_fileop_verb(app->fileop_progress_op)); + cmd_app_append_text(line, sizeof(line), ": "); + cmd_app_append_text(line, sizeof(line), app->fileop_progress_name); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 2, line, attr); + + cmd_app_draw_progress_bar(app, rect.x + 2, rect.y + 4, rect.w - 4); + + if (app->fileop_bytes_total > 0) + percent = (app->fileop_bytes_done * 100ull) / app->fileop_bytes_total; + else if (app->fileop_files_total > 0) + percent = ((uint64_t)app->fileop_files_done * 100ull) / (uint64_t)app->fileop_files_total; + else + percent = 100; + + if (percent > 100) percent = 100; + + if (app->fileop_files_total > 0) + { + snprintf(line, sizeof(line), "%u / %u items %llu / %llu bytes %llu%%", + (unsigned)app->fileop_files_done, + (unsigned)app->fileop_files_total, + (unsigned long long)app->fileop_bytes_done, + (unsigned long long)app->fileop_bytes_total, + (unsigned long long)percent); + } + else + { + snprintf(line, sizeof(line), "%llu / %llu bytes %llu%%", + (unsigned long long)app->fileop_bytes_done, + (unsigned long long)app->fileop_bytes_total, + (unsigned long long)percent); + } + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 5, line, attr); + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + rect.h - 2, + app->fileop_progress_can_cancel ? "Esc cancel" : "Finishing...", attr); +} + +void cmd_app_close_error_dialog(CmdApp *app) +{ + if (!app) return; + + app->error_dialog_open = false; + app->error_dialog_err = ESP_OK; + app->error_dialog_title[0] = 0; + app->error_dialog_message[0] = 0; +} + +void cmd_app_draw_error_dialog(CmdApp *app) +{ + cmd_rect_t rect; + cmd_display_attr_t attr; + cmd_display_attr_t frame_attr; + char title[CMD_APP_ERROR_TITLE_MAX + 4]; + char line[CMD_DISPLAY_COLS + 1]; + + if (!app || !app->error_dialog_open) return; + + rect.x = cmd_app_center_x(app, CMD_APP_ERROR_DIALOG_W); + rect.y = cmd_app_center_y(app, CMD_APP_ERROR_DIALOG_H); + rect.w = CMD_APP_ERROR_DIALOG_W; + rect.h = CMD_APP_ERROR_DIALOG_H; + + attr = cmd_app_dialog_attr(); + frame_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_RED, CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_ATTR_FLAG_BOLD); + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_draw_box(&app->buffer, &rect, frame_attr); + + cmd_app_text_clear(title, sizeof(title)); + cmd_app_append_text(title, sizeof(title), " "); + cmd_app_append_text(title, sizeof(title), app->error_dialog_title[0] ? app->error_dialog_title : "Error"); + cmd_app_append_text(title, sizeof(title), " "); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y, title, frame_attr); + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 2, app->error_dialog_message, attr); + + cmd_app_text_clear(line, sizeof(line)); + cmd_app_append_text(line, sizeof(line), "Code: 0x"); + snprintf(line + cmd_app_text_len(line), sizeof(line) - cmd_app_text_len(line), "%x", (unsigned)app->error_dialog_err); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 3, line, attr); + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + rect.h - 2, + "Enter/Esc close", attr); +} + +esp_err_t cmd_app_handle_error_dialog_key(CmdApp *app, const cmd_event_t *event) +{ + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->error_dialog_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY && event->type != CMD_EVENT_QUIT) return ESP_OK; + + if (event->type == CMD_EVENT_QUIT || event->key == CMD_KEY_ESC || event->key == CMD_KEY_ENTER || event->key == CMD_KEY_F10) + { + cmd_app_close_error_dialog(app); + return ESP_OK; + } + + return ESP_OK; +} + + +bool cmd_app_mkdir_name_is_valid(const char *name) +{ + if (!name || !name[0]) return false; + + for (size_t i = 0; name[i]; i++) + { + if (name[i] == '/' || name[i] == '\\') return false; + } + + return true; +} + +bool cmd_app_panel_is_at_path(const CmdPanel *panel, cmd_device_id_t device_id, const char *path) +{ + if (!panel || !path) return false; + if (panel->device_id != device_id) return false; + return strcmp(panel->current_path, path) == 0; +} + +esp_err_t cmd_app_reload_matching_panel(CmdApp *app, CmdPanel *panel, cmd_device_id_t device_id, const char *path, const char *name) +{ + if (!cmd_app_panel_is_at_path(panel, device_id, path)) return ESP_OK; + return cmd_app_reload_panel(app, panel, name); +} + +bool cmd_app_focus_panel_entry(CmdPanel *panel, const char *name) +{ + if (!panel || !panel->entries || !name) return false; + + for (size_t i = 0; i < panel->count; i++) + { + if (strcmp(panel->entries[i].name, name) != 0) continue; + + panel->cursor = i; + cmd_panel_ensure_cursor_visible(panel); + return true; + } + + return false; +} + +bool cmd_app_path_is_same_or_child(const char *parent, const char *path) +{ + const char *base = parent; + const char *child = path; + size_t base_len; + + if (!base || !base[0]) base = "/"; + if (!child || !child[0]) child = "/"; + + if (strcmp(base, child) == 0) return true; + if (cmd_fs_path_is_root(base)) return true; + + base_len = strlen(base); + while (base_len > 1 && base[base_len - 1] == '/') + base_len--; + + if (strncmp(base, child, base_len) != 0) return false; + return child[base_len] == '/'; +} + +esp_err_t cmd_app_recover_panel_from_removed_path(CmdPanel *panel, cmd_device_id_t device_id, const char *removed_path) +{ + char parent[CMD_PATH_MAX]; + esp_err_t err; + + if (!panel || !removed_path) return ESP_ERR_INVALID_ARG; + if (panel->device_id != device_id) return ESP_OK; + if (!cmd_app_path_is_same_or_child(removed_path, panel->current_path)) return ESP_OK; + + err = cmd_fs_parent_path(removed_path, parent, sizeof(parent)); + if (err != ESP_OK) return err; + + return cmd_panel_set_path(panel, parent); +} + +esp_err_t cmd_app_recover_panels_from_removed_path(CmdApp *app, cmd_device_id_t device_id, const char *removed_path) +{ + esp_err_t err; + + if (!app || !removed_path) return ESP_ERR_INVALID_ARG; + + err = cmd_app_recover_panel_from_removed_path(&app->left_panel, device_id, removed_path); + if (err != ESP_OK) return err; + + return cmd_app_recover_panel_from_removed_path(&app->right_panel, device_id, removed_path); +} + +esp_err_t cmd_app_recover_panels_after_source_removal(CmdApp *app, CmdPanel *active) +{ + const cmd_file_entry_t *entry; + char path[CMD_PATH_MAX]; + esp_err_t err; + + if (!app || !active) return ESP_ERR_INVALID_ARG; + + if (app->fileop_group) + { + for (size_t i = 0; i < active->count; i++) + { + entry = &active->entries[i]; + if (!(entry->flags & CMD_ENTRY_FLAG_SELECTED)) continue; + if (entry->type != CMD_ENTRY_FILE && entry->type != CMD_ENTRY_DIR) continue; + + err = cmd_fs_join_path(active->current_path, entry->name, path, sizeof(path)); + if (err != ESP_OK) return err; + + err = cmd_app_recover_panels_from_removed_path(app, active->device_id, path); + if (err != ESP_OK) return err; + } + + return ESP_OK; + } + + entry = cmd_panel_get_selected_entry(active); + if (!entry) return ESP_OK; + if (entry->type != CMD_ENTRY_FILE && entry->type != CMD_ENTRY_DIR) return ESP_OK; + + err = cmd_fs_join_path(active->current_path, entry->name, path, sizeof(path)); + if (err != ESP_OK) return err; + + return cmd_app_recover_panels_from_removed_path(app, active->device_id, path); +} + +esp_err_t cmd_app_open_mkdir_dialog(CmdApp *app) +{ + if (!app) return ESP_ERR_INVALID_ARG; + + app->mkdir_dialog_open = true; + app->mkdir_dialog_op = CMD_APP_NAME_DIALOG_MKDIR; + app->mkdir_name[0] = 0; + app->rename_src_path[0] = 0; + app->rename_dst_path[0] = 0; + app->rename_remap_path[0] = 0; + cmd_app_set_status(app, "mkdir: type name, Enter OK, Esc cancel"); + return ESP_OK; +} + +esp_err_t cmd_app_open_rename_dialog(CmdApp *app) +{ + CmdPanel *panel; + const cmd_file_entry_t *entry; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + panel = cmd_app_active_panel(app); + if (!panel) return ESP_ERR_INVALID_STATE; + + entry = cmd_panel_get_selected_entry(panel); + if (!entry) + { + cmd_app_set_status(app, "no selected entry"); + return ESP_OK; + } + + if (entry->type == CMD_ENTRY_PARENT) + { + cmd_app_set_status(app, "cannot rename .."); + return ESP_OK; + } + + if (entry->type != CMD_ENTRY_FILE && entry->type != CMD_ENTRY_DIR) + { + cmd_app_set_status(app, "cannot rename entry"); + return ESP_OK; + } + + err = cmd_fs_join_path(panel->current_path, entry->name, app->rename_src_path, sizeof(app->rename_src_path)); + if (err != ESP_OK) + { + cmd_show_error(app, "rename", err); + return ESP_OK; + } + + cmd_app_copy_string(app->mkdir_name, sizeof(app->mkdir_name), entry->name); + app->mkdir_dialog_open = true; + app->mkdir_dialog_op = CMD_APP_NAME_DIALOG_RENAME; + cmd_app_set_status(app, "rename: edit name, Enter OK, Esc cancel"); + return ESP_OK; +} + +void cmd_app_close_mkdir_dialog(CmdApp *app) +{ + if (!app) return; + + app->mkdir_dialog_open = false; + app->mkdir_dialog_op = CMD_APP_NAME_DIALOG_MKDIR; + app->mkdir_name[0] = 0; + app->rename_src_path[0] = 0; + app->rename_dst_path[0] = 0; + app->rename_remap_path[0] = 0; +} + +esp_err_t cmd_app_create_directory(CmdApp *app) +{ + CmdPanel *panel; + char path[CMD_PATH_MAX]; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + panel = cmd_app_active_panel(app); + if (!panel) return ESP_ERR_INVALID_STATE; + + if (!cmd_app_mkdir_name_is_valid(app->mkdir_name)) + { + cmd_app_set_status(app, "invalid folder name"); + return ESP_OK; + } + + err = cmd_fs_join_path(panel->current_path, app->mkdir_name, path, sizeof(path)); + if (err != ESP_OK) + { + cmd_show_error(app, "mkdir", err); + return ESP_OK; + } + + err = cmd_fs_manager_mount(panel->fs, panel->device_id); + if (err == ESP_OK) + err = cmd_fs_manager_mkdir(panel->fs, panel->device_id, path); + + if (err != ESP_OK) + { + cmd_show_error(app, "mkdir", err); + return ESP_OK; + } + + cmd_app_close_mkdir_dialog(app); + + err = cmd_app_reload_panel(app, panel, "mkdir reload"); + if (err == ESP_OK) + { + cmd_app_focus_panel_entry(panel, cmd_fs_filename_ptr(path)); + err = cmd_app_reload_matching_panel(app, cmd_app_passive_panel(app), panel->device_id, panel->current_path, "mkdir reload"); + } + + if (err != ESP_OK) + { + cmd_show_error(app, "mkdir", err); + return ESP_OK; + } + + cmd_set_status(app, "folder created: %s", cmd_fs_filename_ptr(path)); + return ESP_OK; +} + +esp_err_t cmd_app_remap_panel_after_rename(CmdPanel *panel, + cmd_device_id_t device_id, + const char *old_path, + const char *new_path, + char *work_path, + size_t work_path_size) +{ + size_t old_len; + int len; + + if (!panel || !old_path || !new_path || !work_path || work_path_size == 0) return ESP_ERR_INVALID_ARG; + if (panel->device_id != device_id) return ESP_OK; + if (!cmd_app_path_is_same_or_child(old_path, panel->current_path)) return ESP_OK; + + if (strcmp(old_path, panel->current_path) == 0) + return cmd_panel_set_path(panel, new_path); + + old_len = strlen(old_path); + len = snprintf(work_path, work_path_size, "%s%s", new_path, panel->current_path + old_len); + if (len < 0 || (size_t)len >= work_path_size) return CMD_ERR_PATH_TOO_LONG; + + return cmd_panel_set_path(panel, work_path); +} + +esp_err_t cmd_app_rename_entry(CmdApp *app) +{ + CmdPanel *panel; + cmd_file_entry_t entry; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + panel = cmd_app_active_panel(app); + if (!panel) return ESP_ERR_INVALID_STATE; + + if (!cmd_app_mkdir_name_is_valid(app->mkdir_name)) + { + cmd_app_set_status(app, "invalid file name"); + return ESP_OK; + } + + err = cmd_fs_join_path(panel->current_path, app->mkdir_name, app->rename_dst_path, sizeof(app->rename_dst_path)); + if (err != ESP_OK) + { + cmd_show_error(app, "rename", err); + return ESP_OK; + } + + if (strcmp(app->rename_src_path, app->rename_dst_path) == 0) + { + cmd_app_close_mkdir_dialog(app); + cmd_app_set_status(app, "rename unchanged"); + return ESP_OK; + } + + err = cmd_fs_manager_mount(panel->fs, panel->device_id); + if (err == ESP_OK) + { + err = cmd_fs_manager_stat(panel->fs, panel->device_id, app->rename_dst_path, &entry); + if (err == ESP_OK) + err = ESP_ERR_INVALID_STATE; + else if (err == ESP_ERR_NOT_FOUND) + err = cmd_fs_manager_rename(panel->fs, panel->device_id, app->rename_src_path, app->rename_dst_path); + } + + if (err != ESP_OK) + { + cmd_show_error(app, "rename", err); + return ESP_OK; + } + + err = cmd_app_remap_panel_after_rename(&app->left_panel, + panel->device_id, + app->rename_src_path, + app->rename_dst_path, + app->rename_remap_path, + sizeof(app->rename_remap_path)); + if (err == ESP_OK) + err = cmd_app_remap_panel_after_rename(&app->right_panel, + panel->device_id, + app->rename_src_path, + app->rename_dst_path, + app->rename_remap_path, + sizeof(app->rename_remap_path)); + + if (err == ESP_OK) + err = cmd_app_reload_both_panels(app); + if (err == ESP_OK) + cmd_app_focus_panel_entry(panel, cmd_fs_filename_ptr(app->rename_dst_path)); + + if (err != ESP_OK) + { + cmd_app_close_mkdir_dialog(app); + cmd_show_error(app, "rename", err); + return ESP_OK; + } + + cmd_set_status(app, "renamed to: %s", cmd_fs_filename_ptr(app->rename_dst_path)); + cmd_app_close_mkdir_dialog(app); + return ESP_OK; +} + +void cmd_app_draw_mkdir_dialog(CmdApp *app) +{ + cmd_rect_t rect; + cmd_display_attr_t attr; + cmd_display_attr_t frame_attr; + char line[CMD_DISPLAY_COLS + 1]; + const char *title; + const char *label; + const char *footer; + + if (!app || !app->mkdir_dialog_open) return; + + if (app->mkdir_dialog_op == CMD_APP_NAME_DIALOG_RENAME) + { + title = " Rename "; + label = "New name:"; + footer = "Enter/OK rename Esc/Cancel"; + } + else + { + title = " MkDir "; + label = "Folder name:"; + footer = "Enter/OK create Esc/Cancel"; + } + + rect.x = cmd_app_center_x(app, CMD_APP_MKDIR_DIALOG_W); + rect.y = cmd_app_center_y(app, CMD_APP_MKDIR_DIALOG_H); + rect.w = CMD_APP_MKDIR_DIALOG_W; + rect.h = CMD_APP_MKDIR_DIALOG_H; + + attr = cmd_app_dialog_attr(); + frame_attr = cmd_app_dialog_frame_attr(); + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_draw_box(&app->buffer, &rect, frame_attr); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y, title, frame_attr); + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 2, label, attr); + + cmd_app_text_clear(line, sizeof(line)); + cmd_app_append_text(line, sizeof(line), app->mkdir_name); + cmd_app_append_text(line, sizeof(line), "_"); + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + 3, line, attr); + + cmd_display_buffer_write_text(&app->buffer, rect.x + 2, rect.y + rect.h - 2, footer, attr); +} + +esp_err_t cmd_app_submit_mkdir_dialog(CmdApp *app) +{ + if (!app) return ESP_ERR_INVALID_ARG; + + if (app->mkdir_dialog_op == CMD_APP_NAME_DIALOG_RENAME) + return cmd_app_rename_entry(app); + + return cmd_app_create_directory(app); +} + +esp_err_t cmd_app_handle_mkdir_dialog_key(CmdApp *app, const cmd_event_t *event) +{ + size_t len; + + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->mkdir_dialog_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY && event->type != CMD_EVENT_QUIT) return ESP_OK; + + if (event->type == CMD_EVENT_QUIT || event->key == CMD_KEY_ESC || event->key == CMD_KEY_F10) + { + if (app->mkdir_dialog_op == CMD_APP_NAME_DIALOG_RENAME) + cmd_app_set_status(app, "rename cancelled"); + else + cmd_app_set_status(app, "mkdir cancelled"); + cmd_app_close_mkdir_dialog(app); + return ESP_OK; + } + + if (event->key == CMD_KEY_ENTER) + return cmd_app_submit_mkdir_dialog(app); + + if (event->key == CMD_KEY_BACKSPACE) + { + len = cmd_app_text_len(app->mkdir_name); + if (len > 0) app->mkdir_name[len - 1] = 0; + return ESP_OK; + } + + if (event->key == CMD_KEY_CHAR && event->ch >= 32 && event->ch < 127) + { + len = cmd_app_text_len(app->mkdir_name); + if (len + 1 >= sizeof(app->mkdir_name)) return ESP_OK; + app->mkdir_name[len] = (char)event->ch; + app->mkdir_name[len + 1] = 0; + return ESP_OK; + } + + return ESP_OK; +} + +bool cmd_app_progress_poll_cancel(CmdApp *app, bool can_cancel) +{ + cmd_event_t event; + esp_err_t err; + + if (!app || !can_cancel) return false; + + err = cmd_input_poll_event(app->input, &event, 0); + if (err != ESP_OK) return false; + if (event.type != CMD_EVENT_KEY && event.type != CMD_EVENT_QUIT) return false; + + if (event.type == CMD_EVENT_QUIT || event.key == CMD_KEY_ESC) + { + app->fileop_cancel_requested = true; + cmd_app_set_status(app, "cancel requested"); + return true; + } + + return false; +} + +bool cmd_app_fileops_progress_cb(const CmdFileopsProgress *progress, void *ctx) +{ + CmdApp *app = (CmdApp *)ctx; + + if (!app || !progress) return true; + + app->fileop_bytes_done = progress->bytes_done; + app->fileop_bytes_total = progress->bytes_total; + app->fileop_files_done = progress->files_done; + app->fileop_files_total = progress->files_total; + app->fileop_progress_can_cancel = progress->can_cancel; + cmd_app_copy_string(app->fileop_progress_name, sizeof(app->fileop_progress_name), progress->filename); + + cmd_app_render(app); + + if (cmd_app_progress_poll_cancel(app, progress->can_cancel)) return false; + if (app->fileop_cancel_requested && progress->can_cancel) return false; + return true; +} + +esp_err_t cmd_app_run_fileop(CmdApp *app, cmd_app_fileop_t op) +{ + CmdFileopsOptions options = {}; + CmdPanel *active; + CmdPanel *passive; + esp_err_t op_err; + esp_err_t reload_err; + + if (!app) return ESP_ERR_INVALID_ARG; + + active = cmd_app_active_panel(app); + passive = cmd_app_passive_panel(app); + if (!active || !passive) return ESP_ERR_INVALID_STATE; + + app->fileop_progress_open = true; + app->fileop_progress_op = op; + app->fileop_bytes_done = 0; + app->fileop_bytes_total = app->fileop_group ? app->fileop_item_size : 0; + app->fileop_files_done = 0; + app->fileop_files_total = app->fileop_group ? app->fileop_item_count : 0; + app->fileop_progress_can_cancel = true; + app->fileop_cancel_requested = false; + cmd_app_copy_string(app->fileop_progress_name, sizeof(app->fileop_progress_name), app->fileop_name); + + options.flags = CMD_FILEOPS_FLAG_RECURSIVE; + options.progress = cmd_app_fileops_progress_cb; + options.progress_ctx = app; + + cmd_app_set_status(app, "operation started"); + cmd_app_render(app); + + if (op == CMD_APP_FILEOP_DELETE) + op_err = cmd_app_recover_panels_after_source_removal(app, active); + else + op_err = ESP_OK; + + if (op_err == ESP_OK && op == CMD_APP_FILEOP_COPY) + op_err = cmd_fileops_copy_selected(active, passive, &options); + else if (op_err == ESP_OK && op == CMD_APP_FILEOP_MOVE) + op_err = cmd_fileops_move_selected(active, passive, &options); + else if (op_err == ESP_OK && op == CMD_APP_FILEOP_DELETE) + op_err = cmd_fileops_delete_selected(active, &options); + else if (op_err == ESP_OK) + op_err = ESP_ERR_INVALID_ARG; + + app->fileop_progress_open = false; + + if (op_err == ESP_OK) + cmd_panel_clear_selection(active); + + reload_err = cmd_app_reload_both_panels(app); + + if (op_err == ESP_OK && reload_err != ESP_OK) + op_err = reload_err; + + cmd_app_set_fileop_result_status(app, op, app->fileop_name, op_err); + return ESP_OK; +} + +esp_err_t cmd_app_handle_fileop_confirm_key(CmdApp *app, const cmd_event_t *event) +{ + cmd_app_fileop_t op; + + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (!app->fileop_confirm_open) return ESP_ERR_INVALID_STATE; + if (event->type != CMD_EVENT_KEY) return ESP_OK; + + if (event->key == CMD_KEY_ESC || event->key == CMD_KEY_F10 || + (event->key == CMD_KEY_CHAR && (event->ch == 'q' || event->ch == 'Q'))) + { + cmd_app_close_fileop_confirm(app); + cmd_app_set_status(app, "operation cancelled"); + return ESP_OK; + } + + if (event->key == CMD_KEY_ENTER) + { + op = app->fileop_confirm_op; + app->fileop_confirm_open = false; + app->fileop_confirm_op = CMD_APP_FILEOP_NONE; + return cmd_app_run_fileop(app, op); + } + + return ESP_OK; +} + +esp_err_t cmd_app_reload_panel(CmdApp *app, CmdPanel *panel, const char *name) +{ + esp_err_t err; + + if (!app || !panel) return ESP_ERR_INVALID_ARG; + + err = cmd_panel_reload(panel); + if (err != ESP_OK) + { + cmd_app_set_status_err(app, name, err); + return err; + } + + return ESP_OK; +} + +esp_err_t cmd_app_init_panels(CmdApp *app) +{ + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + cmd_panel_init(&app->left_panel, &app->fs, CMD_DEVICE_SD); + cmd_panel_init(&app->right_panel, &app->fs, CMD_DEVICE_SD); + + err = cmd_panel_alloc_entries(&app->left_panel, CMD_PANEL_MAX_ENTRIES); + if (err != ESP_OK) return err; + + err = cmd_panel_alloc_entries(&app->right_panel, CMD_PANEL_MAX_ENTRIES); + if (err != ESP_OK) return err; + + cmd_app_set_active_panel(app, CMD_PANEL_LEFT); + + cmd_app_reload_panel(app, &app->left_panel, "left panel reload"); + cmd_app_reload_panel(app, &app->right_panel, "right panel reload"); + + return ESP_OK; +} + +void cmd_app_draw_top_bar(CmdApp *app) +{ + char line[CMD_DISPLAY_COLS + 1]; + cmd_rect_t rect; + cmd_display_attr_t attr; + CmdPanel *panel; + const char *status; + + if (!app) return; + + rect.x = 0; + rect.y = CMD_LAYOUT_TOP_Y; + rect.w = cmd_app_screen_w(app); + rect.h = 1; + attr = cmd_app_bar_attr(); + panel = cmd_app_active_panel(app); + status = app->status[0] ? app->status : "ready"; + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + + cmd_app_make_top_bar_line(line, sizeof(line), panel, status); + cmd_display_buffer_write_text(&app->buffer, 0, CMD_LAYOUT_TOP_Y, line, attr); +} + +void cmd_app_draw_bottom_bar(CmdApp *app) +{ + cmd_rect_t rect; + cmd_display_attr_t attr; + int y; + + if (!app) return; + + y = cmd_app_bottom_y(app); + rect.x = 0; + rect.y = y; + rect.w = cmd_app_screen_w(app); + rect.h = 1; + attr = cmd_app_bar_attr(); + + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_write_text(&app->buffer, 0, y, + "F1 Help F2 Rename F3 View A+F3 Hex F5 Copy F6 Move F7 MkDir F8 Del", attr); +} + +void cmd_app_make_panel_info_line(char *out, size_t out_size, const CmdPanel *panel, int width) +{ + const cmd_file_entry_t *entry; + char size_text[32]; + size_t size_len; + size_t name_len; + size_t line_w; + size_t size_pos; + size_t name_max; + + if (!out || out_size == 0) return; + + cmd_app_text_clear(out, out_size); + + if (!panel || width <= 0) return; + + if (panel->selected_count > 0) + { + line_w = (size_t)width; + if (line_w >= out_size) line_w = out_size - 1; + if (line_w == 0) return; + + memset(out, ' ', line_w); + out[line_w] = 0; + + snprintf(size_text, sizeof(size_text), "%u selected", (unsigned)panel->selected_count); + name_len = strlen(size_text); + if (name_len > line_w) name_len = line_w; + if (name_len > 0) memcpy(out, size_text, name_len); + + snprintf(size_text, sizeof(size_text), "%llu bytes", (unsigned long long)panel->selected_size); + size_len = strlen(size_text); + if (size_len < line_w) + { + size_pos = line_w - size_len; + if (size_pos > 0) size_pos--; + memcpy(&out[size_pos], size_text, size_len); + } + return; + } + + entry = cmd_panel_get_selected_entry(panel); + if (!entry || entry->type != CMD_ENTRY_FILE) return; + + line_w = (size_t)width; + if (line_w >= out_size) line_w = out_size - 1; + if (line_w == 0) return; + + memset(out, ' ', line_w); + out[line_w] = 0; + + snprintf(size_text, sizeof(size_text), "%llu bytes", (unsigned long long)entry->size); + size_len = strlen(size_text); + + if (size_len >= line_w) + { + memcpy(out, size_text, line_w); + return; + } + + size_pos = line_w - size_len; + if (size_pos > 0) size_pos--; + memcpy(&out[size_pos], size_text, size_len); + + name_max = size_pos > 1 ? size_pos - 1 : 0; + name_len = strlen(entry->name); + if (name_len > name_max) name_len = name_max; + if (name_len > 0) memcpy(out, entry->name, name_len); +} + +void cmd_app_draw_panel_info_at(CmdApp *app, const CmdPanel *panel, int x, int y, int w) +{ + char line[CMD_DISPLAY_COLS + 1]; + cmd_rect_t rect; + cmd_display_attr_t attr; + int text_w; + + if (!app || !panel) return; + + rect.x = x; + rect.y = y; + rect.w = w; + rect.h = 1; + attr = cmd_app_normal_attr(); + text_w = w; + if (text_w < 0) text_w = 0; + + cmd_app_make_panel_info_line(line, sizeof(line), panel, text_w); + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_write_text(&app->buffer, x, y, line, attr); +} + +void cmd_app_make_panel_free_line(char *out, size_t out_size, CmdApp *app, const CmdPanel *panel, int width) +{ + char size_text[32]; + size_t line_w; + esp_err_t err; + + if (!out || out_size == 0) return; + + cmd_app_text_clear(out, out_size); + if (!app || !panel || width <= 0) return; + + line_w = (size_t)width; + if (line_w >= out_size) line_w = out_size - 1; + if (line_w == 0) return; + + memset(out, ' ', line_w); + out[line_w] = 0; + + err = panel->space_info_valid ? panel->space_info_error : ESP_ERR_INVALID_STATE; + if (err == ESP_OK) + { + cmd_app_format_bytes(size_text, sizeof(size_text), panel->space_info.free_bytes); + snprintf(out, line_w + 1, "Free: %s", size_text); + return; + } + + snprintf(out, line_w + 1, "Free: n/a (%s)", cmd_err_name(err)); +} + +void cmd_app_draw_panel_free_at(CmdApp *app, const CmdPanel *panel, int x, int y, int w) +{ + char line[CMD_DISPLAY_COLS + 1]; + cmd_rect_t rect; + cmd_display_attr_t attr; + int text_w; + + if (!app || !panel) return; + + rect.x = x; + rect.y = y; + rect.w = w; + rect.h = 1; + attr = cmd_app_normal_attr(); + text_w = w; + if (text_w < 0) text_w = 0; + + cmd_app_make_panel_free_line(line, sizeof(line), app, panel, text_w); + cmd_display_buffer_fill_rect(&app->buffer, &rect, ' ', attr); + cmd_display_buffer_write_text(&app->buffer, x, y, line, attr); +} + +void cmd_app_draw_panel_info(CmdApp *app) +{ + cmd_rect_t left_rect; + cmd_rect_t right_rect; + int info_y; + int free_y; + int bottom_y; + + if (!app) return; + + cmd_app_make_panel_rects(app, &left_rect, &right_rect); + info_y = cmd_app_panel_info_y(app); + free_y = info_y + 1; + bottom_y = cmd_app_bottom_y(app); + if (free_y > bottom_y) free_y = bottom_y; + + cmd_app_draw_panel_free_at(app, &app->left_panel, left_rect.x, info_y, left_rect.w); + cmd_app_draw_panel_free_at(app, &app->right_panel, right_rect.x, info_y, right_rect.w); + cmd_app_draw_panel_info_at(app, &app->left_panel, left_rect.x, free_y, left_rect.w); + cmd_app_draw_panel_info_at(app, &app->right_panel, right_rect.x, free_y, right_rect.w); +} + +esp_err_t cmd_app_render(CmdApp *app) +{ + cmd_rect_t left_rect; + cmd_rect_t right_rect; + uint32_t console_flags; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + cmd_app_make_panel_rects(app, &left_rect, &right_rect); + + cmd_display_buffer_clear(&app->buffer, ' ', cmd_app_normal_attr()); + + err = cmd_panel_draw(&app->left_panel, &app->buffer, &left_rect); + if (err != ESP_OK) return err; + + err = cmd_panel_draw(&app->right_panel, &app->buffer, &right_rect); + if (err != ESP_OK) return err; + + cmd_app_draw_panel_info(app); + cmd_app_draw_device_dialog(app); + cmd_app_draw_help_dialog(app); + cmd_app_draw_mkdir_dialog(app); + cmd_app_draw_confirm_dialog(app); + cmd_app_draw_progress_dialog(app); + cmd_app_draw_text_viewer(app); + cmd_app_draw_hex_viewer(app); + cmd_app_draw_module_info_viewer(app); + cmd_app_draw_error_dialog(app); + + console_flags = cmd_display_console_backend.flags; + if (app->viewer_open || app->hex_viewer_open || app->module_info_open) + cmd_display_console_backend.flags = console_flags | CMD_DISPLAY_BACKEND_FLAG_FORCE_PARTIAL; + + err = cmd_display_mux_present(&app->mux, &app->buffer); + cmd_display_console_backend.flags = console_flags; + return err; +} + +esp_err_t cmd_app_render_console(CmdApp *app) +{ + cmd_rect_t left_rect; + cmd_rect_t right_rect; + uint32_t console_flags; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + if (!cmd_app_has_console_backend(app)) return ESP_OK; + + cmd_app_make_panel_rects(app, &left_rect, &right_rect); + + cmd_display_buffer_clear(&app->buffer, ' ', cmd_app_normal_attr()); + + err = cmd_panel_draw(&app->left_panel, &app->buffer, &left_rect); + if (err != ESP_OK) return err; + + err = cmd_panel_draw(&app->right_panel, &app->buffer, &right_rect); + if (err != ESP_OK) return err; + + cmd_app_draw_panel_info(app); + cmd_app_draw_device_dialog(app); + cmd_app_draw_help_dialog(app); + cmd_app_draw_mkdir_dialog(app); + cmd_app_draw_confirm_dialog(app); + cmd_app_draw_progress_dialog(app); + cmd_app_draw_text_viewer(app); + cmd_app_draw_hex_viewer(app); + cmd_app_draw_module_info_viewer(app); + cmd_app_draw_error_dialog(app); + + console_flags = cmd_display_console_backend.flags; + if (app->viewer_open || app->hex_viewer_open || app->module_info_open) + cmd_display_console_backend.flags = console_flags | CMD_DISPLAY_BACKEND_FLAG_FORCE_PARTIAL; + + err = cmd_display_backend_present(&cmd_display_console_backend, &app->buffer); + cmd_display_console_backend.flags = console_flags; + return err; +} + +esp_err_t cmd_app_enter_selected(CmdApp *app) +{ + CmdPanel *panel; + const cmd_file_entry_t *entry; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + panel = cmd_app_active_panel(app); + if (!panel) return ESP_ERR_INVALID_STATE; + + entry = cmd_panel_get_selected_entry(panel); + if (!entry) + { + cmd_app_set_status(app, "no selected entry"); + return ESP_OK; + } + + if (entry->type == CMD_ENTRY_DIR || entry->type == CMD_ENTRY_PARENT) + { + err = cmd_panel_enter_selected_dir(panel); + if (err != ESP_OK) cmd_app_set_status_err(app, "enter", err); + else cmd_app_set_status(app, "ready"); + return ESP_OK; + } + + if (entry->type == CMD_ENTRY_FILE) + { + if (cmd_app_entry_is_xm(entry)) return cmd_app_play_xm_file(app, panel, entry); + if (cmd_app_entry_is_wav(entry)) return cmd_app_play_wav_file(app, panel, entry); + if (cmd_app_entry_is_ft_image(entry)) return cmd_app_open_jpg_viewer(app, panel, entry); + cmd_app_set_status(app, "open: unsupported file type"); + return ESP_OK; + } + + cmd_app_set_status(app, "unknown entry type"); + return ESP_OK; +} + +esp_err_t cmd_app_go_parent(CmdApp *app) +{ + CmdPanel *panel; + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + panel = cmd_app_active_panel(app); + if (!panel) return ESP_ERR_INVALID_STATE; + + err = cmd_panel_go_parent(panel); + if (err != ESP_OK) cmd_app_set_status_err(app, "parent", err); + else cmd_app_set_status(app, "ready"); + + return ESP_OK; +} + +bool cmd_app_event_is_exit(const cmd_event_t *event) +{ + if (!event) return false; + if (event->type == CMD_EVENT_QUIT) return true; + if (event->type != CMD_EVENT_KEY) return false; + if (event->key == CMD_KEY_F10) return true; + return false; +} + +esp_err_t cmd_app_handle_key(CmdApp *app, const cmd_event_t *event) +{ + CmdPanel *panel; + + if (!app || !event) return ESP_ERR_INVALID_ARG; + + if (app->error_dialog_open) + return cmd_app_handle_error_dialog_key(app, event); + + if (app->help_dialog_open) + return cmd_app_handle_help_dialog_key(app, event); + + if (app->mkdir_dialog_open) + return cmd_app_handle_mkdir_dialog_key(app, event); + + if (app->jpg_viewer_open) + return cmd_app_handle_jpg_viewer_key(app, event); + + if (app->hex_viewer_open) + return cmd_app_handle_hex_viewer_key(app, event); + + if (app->module_info_open) + return cmd_app_handle_module_info_viewer_key(app, event); + + if (app->viewer_open) + return cmd_app_handle_text_viewer_key(app, event); + + if (app->fileop_confirm_open) + return cmd_app_handle_fileop_confirm_key(app, event); + + if (app->device_dialog_open) + return cmd_app_handle_device_dialog_key(app, event); + + if ((event->mods & CMD_KEY_MOD_ALT) && event->key == CMD_KEY_F1) + { + cmd_app_open_device_dialog(app, CMD_PANEL_LEFT); + return ESP_OK; + } + + if (event->key == CMD_KEY_F1) + { + cmd_app_open_help_dialog(app); + return ESP_OK; + } + + if ((event->mods & CMD_KEY_MOD_ALT) && event->key == CMD_KEY_F2) + { + cmd_app_open_device_dialog(app, CMD_PANEL_RIGHT); + return ESP_OK; + } + + if ((event->mods & CMD_KEY_MOD_ALT) && event->key == CMD_KEY_F9) + return cmd_app_stop_xm_playback(app); + + if (event->key == CMD_KEY_F9) + { + cmd_app_open_device_dialog(app, app->active_panel); + return ESP_OK; + } + + if (event->key == CMD_KEY_CHAR && event->ch == '1') + { + cmd_app_open_device_dialog(app, app->active_panel); + return ESP_OK; + } + + panel = cmd_app_active_panel(app); + if (!panel) return ESP_ERR_INVALID_STATE; + + switch (event->key) + { + case CMD_KEY_INSERT: + cmd_panel_toggle_selection(panel); + if (cmd_panel_has_selection(panel)) + cmd_set_status(app, "%u selected, %llu bytes", + (unsigned)panel->selected_count, + (unsigned long long)panel->selected_size); + else + cmd_app_set_status(app, "selection cleared"); + return ESP_OK; + + case CMD_KEY_CHAR: + if (event->ch != '*') return ESP_OK; + cmd_panel_invert_selection(panel); + if (cmd_panel_has_selection(panel)) + cmd_set_status(app, "%u selected, %llu bytes", + (unsigned)panel->selected_count, + (unsigned long long)panel->selected_size); + else + cmd_app_set_status(app, "selection cleared"); + return ESP_OK; + + case CMD_KEY_F2: + return cmd_app_open_rename_dialog(app); + + case CMD_KEY_F3: + { + const cmd_file_entry_t *entry = cmd_panel_get_selected_entry(panel); + + if (event->mods & CMD_KEY_MOD_ALT) + return cmd_app_open_hex_viewer(app, panel, entry); + if (cmd_app_entry_is_module_info(entry)) + return cmd_app_open_module_info_viewer(app, panel, entry); + return cmd_app_open_text_viewer(app, panel, entry); + } + + case CMD_KEY_F5: + return cmd_app_open_fileop_confirm(app, CMD_APP_FILEOP_COPY); + + case CMD_KEY_F6: + return cmd_app_open_fileop_confirm(app, CMD_APP_FILEOP_MOVE); + + case CMD_KEY_F7: + return cmd_app_open_mkdir_dialog(app); + + case CMD_KEY_F8: + case CMD_KEY_DELETE: + return cmd_app_open_fileop_confirm(app, CMD_APP_FILEOP_DELETE); + + case CMD_KEY_TAB: + cmd_app_switch_panel(app); + return ESP_OK; + + case CMD_KEY_UP: + cmd_panel_cursor_up(panel); + return ESP_OK; + + case CMD_KEY_DOWN: + cmd_panel_cursor_down(panel); + return ESP_OK; + + case CMD_KEY_PAGE_UP: + case CMD_KEY_LEFT: + cmd_panel_cursor_page_up(panel); + return ESP_OK; + + case CMD_KEY_PAGE_DOWN: + case CMD_KEY_RIGHT: + cmd_panel_cursor_page_down(panel); + return ESP_OK; + + case CMD_KEY_HOME: + cmd_panel_cursor_home(panel); + return ESP_OK; + + case CMD_KEY_END: + cmd_panel_cursor_end(panel); + return ESP_OK; + + case CMD_KEY_ENTER: + return cmd_app_enter_selected(app); + + case CMD_KEY_BACKSPACE: + return cmd_app_go_parent(app); + + default: + return ESP_OK; + } +} + +esp_err_t cmd_app_handle_event(CmdApp *app, const cmd_event_t *event) +{ + if (!app || !event) return ESP_ERR_INVALID_ARG; + if (event->type != CMD_EVENT_KEY) return ESP_OK; + + return cmd_app_handle_key(app, event); +} + + +bool cmd_app_parse_baud_arg(const char *text, uint32_t *baud) +{ + char *end = NULL; + unsigned long value; + + if (!text || !text[0] || !baud) return false; + + errno = 0; + value = strtoul(text, &end, 10); + if (errno != 0 || !end || *end || value == 0 || value > 0xffffffffUL) return false; + + *baud = (uint32_t)value; + return true; +} + +bool cmd_app_parse_launch_args(int argc, char **argv, CmdDisplayMode *display_mode, uint32_t *baud) +{ + int arg = 1; + + if (!display_mode || !baud) return false; + + *display_mode = CMD_DISPLAY_MODE_CONSOLE; + *baud = 0; + + if (argc < 0 || !argv) return false; + + if (arg < argc && cmd_display_mode_parse(argv[arg], display_mode)) + arg++; + + if (arg < argc && cmd_app_parse_baud_arg(argv[arg], baud)) + arg++; + + return arg == argc; +} + +void cmd_app_print_usage() +{ + printf("usage: cmd [console|ft|ft812|mirror] [baud]\r\n"); + printf(" cmd [baud]\r\n"); +} + +esp_err_t cmd_app_uart_wait_tx_done() +{ + return uart_wait_tx_done( + (uart_port_t)CONFIG_ESP_CONSOLE_UART_NUM, + pdMS_TO_TICKS(1000)); +} + +void cmd_app_uart_send_baud_msg(const char *name, uint32_t baud, uint32_t nonce) +{ + printf("\x1b]777;ZIFI32;%s;%lu;%08lX\x1b\\", + name, + (unsigned long)baud, + (unsigned long)nonce); + fflush(stdout); +} + +size_t cmd_app_match_seq(size_t pos, const char *seq, size_t seq_len, uint8_t c) +{ + if (!seq || seq_len == 0) return 0; + + if (c == (uint8_t)seq[pos]) + { + pos++; + if (pos >= seq_len) return seq_len; + return pos; + } + + if (c == (uint8_t)seq[0]) return 1; + return 0; +} + +bool cmd_app_uart_wait_baud_msg(const char *name, uint32_t baud, uint32_t nonce, uint32_t timeout_ms) +{ + char expected_st[CMD_APP_BAUD_SEQ_MAX]; + char expected_bel[CMD_APP_BAUD_SEQ_MAX]; + size_t expected_st_len; + size_t expected_bel_len; + size_t match_st = 0; + size_t match_bel = 0; + TickType_t deadline; + + if (!name) return false; + + snprintf(expected_st, sizeof(expected_st), "\x1b]777;ZIFI32;%s;%lu;%08lX\x1b\\", + name, + (unsigned long)baud, + (unsigned long)nonce); + snprintf(expected_bel, sizeof(expected_bel), "\x1b]777;ZIFI32;%s;%lu;%08lX\a", + name, + (unsigned long)baud, + (unsigned long)nonce); + + expected_st_len = strlen(expected_st); + expected_bel_len = strlen(expected_bel); + deadline = xTaskGetTickCount() + pdMS_TO_TICKS(timeout_ms); + + while ((int32_t)(deadline - xTaskGetTickCount()) > 0) + { + uint8_t c = 0; + int got = uart_read_bytes( + (uart_port_t)CONFIG_ESP_CONSOLE_UART_NUM, + &c, + 1, + pdMS_TO_TICKS(10)); + + if (got <= 0) continue; + + match_st = cmd_app_match_seq(match_st, expected_st, expected_st_len, c); + match_bel = cmd_app_match_seq(match_bel, expected_bel, expected_bel_len, c); + + if (match_st == expected_st_len || match_bel == expected_bel_len) return true; + } + + return false; +} + +uint32_t cmd_app_uart_canonical_baud(uint32_t baud) +{ + const uint32_t known[] = + { + 115200, + 230400, + 460800, + 921600, + 1000000, + 1500000, + 2000000 + }; + + for (size_t i = 0; i < sizeof(known) / sizeof(known[0]); i++) + { + uint32_t ref = known[i]; + uint32_t diff = baud > ref ? baud - ref : ref - baud; + uint32_t limit = ref / 1000; + + if (limit < 16) limit = 16; + if (diff <= limit) return ref; + } + + return baud; +} + +bool cmd_app_uart_restore_needed(uint32_t requested_baud, esp_err_t baud_err) +{ + if (requested_baud == 0) return false; + if (baud_err != ESP_OK) return false; + return cmd_app_uart_canonical_baud(requested_baud) != CMD_APP_BAUD_DEFAULT; +} + +esp_err_t cmd_app_uart_switch_baud(uint32_t baud, uint32_t *old_baud, bool *switched) +{ + uart_port_t uart_num = (uart_port_t)CONFIG_ESP_CONSOLE_UART_NUM; + uint32_t current_baud = 0; + uint32_t nonce; + esp_err_t err; + + if (old_baud) *old_baud = 0; + if (switched) *switched = false; + if (baud == 0) return ESP_ERR_INVALID_ARG; + + err = uart_get_baudrate(uart_num, ¤t_baud); + if (err != ESP_OK) return err; + + current_baud = cmd_app_uart_canonical_baud(current_baud); + baud = cmd_app_uart_canonical_baud(baud); + + if (old_baud) *old_baud = current_baud; + if (current_baud == baud) return ESP_OK; + + uart_flush_input(uart_num); + + nonce = ((uint32_t)xTaskGetTickCount() << 16) ^ baud ^ current_baud; + cmd_app_uart_send_baud_msg("BAUD-REQ", baud, nonce); + err = cmd_app_uart_wait_tx_done(); + if (err != ESP_OK) return err; + + if (!cmd_app_uart_wait_baud_msg("BAUD-ACK", baud, nonce, 300)) + return ESP_ERR_TIMEOUT; + + cmd_app_uart_send_baud_msg("BAUD-GO", baud, nonce); + err = cmd_app_uart_wait_tx_done(); + if (err != ESP_OK) return err; + + vTaskDelay(pdMS_TO_TICKS(CMD_APP_BAUD_SWITCH_DELAY_MS)); + + err = uart_set_baudrate(uart_num, baud); + if (err != ESP_OK) return err; + + vTaskDelay(pdMS_TO_TICKS(CMD_APP_BAUD_SWITCH_DELAY_MS)); + + if (!cmd_app_uart_wait_baud_msg("BAUD-RDY", baud, nonce, 1000)) + { + uart_set_baudrate(uart_num, current_baud); + vTaskDelay(pdMS_TO_TICKS(CMD_APP_BAUD_SWITCH_DELAY_MS)); + return ESP_ERR_TIMEOUT; + } + + cmd_app_uart_send_baud_msg("BAUD-OK", baud, nonce); + err = cmd_app_uart_wait_tx_done(); + if (err != ESP_OK) return err; + + if (!cmd_app_uart_wait_baud_msg("BAUD-DONE", baud, nonce, 500)) + { + uart_set_baudrate(uart_num, current_baud); + vTaskDelay(pdMS_TO_TICKS(CMD_APP_BAUD_SWITCH_DELAY_MS)); + return ESP_ERR_TIMEOUT; + } + + if (switched) *switched = true; + return ESP_OK; +} + +void cmd_app_mount_internal_fs_early(CmdApp *app) +{ + if (!app) return; + + cmd_fs_manager_mount(&app->fs, CMD_DEVICE_FAT); + cmd_fs_manager_mount(&app->fs, CMD_DEVICE_TSF); +} + +esp_err_t cmd_app_init_runtime(CmdApp *app, CmdDisplayMode display_mode) +{ + esp_err_t err; + + if (!app) return ESP_ERR_INVALID_ARG; + + memset(app, 0, sizeof(*app)); + app->sfx_preview_handle = -1; + app->sfx_preview_channel = -1; + + cmd_display_buffer_init(&app->buffer); + cmd_display_mux_init(&app->mux); + cmd_fs_manager_init(&app->fs); + + err = cmd_fs_manager_register_default_drivers(&app->fs); + if (err != ESP_OK) return err; + + cmd_app_mount_internal_fs_early(app); + + err = cmd_panel_alloc_global_buffers(); + if (err != ESP_OK) return err; + + err = cmd_fileops_alloc_global_buffers(); + if (err != ESP_OK) return err; + + err = cmd_display_mux_add_mode(&app->mux, display_mode); + if (err != ESP_OK) return err; + + err = cmd_display_mux_init_backends(&app->mux); + if (err != ESP_OK) return err; + + cmd_size_t display_size; + err = cmd_display_mux_get_size(&app->mux, &display_size); + if (err != ESP_OK) return err; + + err = cmd_display_buffer_set_size(&app->buffer, display_size.w, display_size.h); + if (err != ESP_OK) return err; + + app->input = cmd_input_default_backend(); + err = cmd_input_begin(app->input); + if (err != ESP_OK) return err; + + cmd_set_status(app, "ready display=%s %dx%d", cmd_display_mode_name(display_mode), app->buffer.size.w, app->buffer.size.h); + return cmd_app_init_panels(app); +} + +void cmd_app_shutdown_runtime(CmdApp *app) +{ + if (!app) return; + + cmd_app_delete_sfx_preview(app); + cmd_app_close_module_info_viewer(app); + cmd_input_end(app->input); + cmd_display_mux_deinit_backends(&app->mux); + cmd_fs_manager_unmount_all(&app->fs); + cmd_panel_free_entries(&app->left_panel); + cmd_panel_free_entries(&app->right_panel); + cmd_fileops_free_global_buffers(); + cmd_panel_free_global_buffers(); + printf("\x1b[0m\x1b[?25h\x1b[2J\x1b[H"); + fflush(stdout); +} + +int cmd_cmd(int argc, char **argv) +{ + CmdApp *app; + CmdDisplayMode display_mode; + uint32_t requested_baud = 0; + uint32_t old_baud = 0; + bool baud_switched = false; + bool baud_restore_needed = false; + esp_err_t baud_err = ESP_OK; + esp_err_t err; + + if (argc < 0 || !argv) return 1; + if (g_cmd_app) return 1; + + if (!cmd_app_parse_launch_args(argc, argv, &display_mode, &requested_baud)) + { + cmd_app_print_usage(); + return 1; + } + + if (requested_baud > 0) + { + baud_err = cmd_app_uart_switch_baud(requested_baud, &old_baud, &baud_switched); + baud_restore_needed = cmd_app_uart_restore_needed(requested_baud, baud_err); + if (baud_err != ESP_OK && baud_err != ESP_ERR_TIMEOUT) + printf("W: cmd baud switch failed: %s\r\n", cmd_err_name(baud_err)); + } + + app = cmd_app_alloc(); + if (!app) + { + if (baud_restore_needed) cmd_app_uart_switch_baud(CMD_APP_BAUD_DEFAULT, NULL, NULL); + printf("E: cmd alloc failed: ESP_ERR_NO_MEM\r\n"); + return 1; + } + + g_cmd_app = app; + + err = cmd_app_init_runtime(app, display_mode); + if (err != ESP_OK) + { + if (baud_restore_needed) cmd_app_uart_switch_baud(CMD_APP_BAUD_DEFAULT, NULL, NULL); + printf("E: cmd init failed: %s\r\n", cmd_err_name(err)); + cmd_app_shutdown_runtime(app); + cmd_app_free(app); + g_cmd_app = NULL; + return 1; + } + + printf("\x1b[?25l"); + cmd_app_render(app); + + while (true) + { + cmd_event_t event; + uint32_t input_timeout_ms = app->help_dialog_open ? CMD_APP_HELP_DIALOG_REFRESH_MS : CMD_INPUT_WAIT_FOREVER; + + err = cmd_input_poll_event(app->input, &event, input_timeout_ms); + if (err == ESP_ERR_TIMEOUT) + { + if (app->help_dialog_open) + cmd_app_render(app); + continue; + } + if (err != ESP_OK) continue; + + if (!cmd_app_has_modal(app) && cmd_app_event_is_exit(&event)) break; + + err = cmd_app_handle_event(app, &event); + if (err != ESP_OK) cmd_show_error(app, "event", err); + + if (!app->jpg_viewer_open) + cmd_app_render(app); + } + + if (baud_restore_needed) cmd_app_uart_switch_baud(CMD_APP_BAUD_DEFAULT, NULL, NULL); + + cmd_app_shutdown_runtime(app); + cmd_app_free(app); + g_cmd_app = NULL; + return 0; +} + +void cmd_console_register_system_commands() +{ + const esp_console_cmd_t cmd = + { + .command = "cmd", + .help = "Two-panel file commander", + .hint = NULL, + .func = &cmd_cmd, + .argtable = NULL + }; + + ESP_ERROR_CHECK(esp_console_cmd_register(&cmd)); +} + +// --------------- cmd_display.cpp --------------- + +#ifndef CONFIG_ESP_CONSOLE_UART_NUM +#define CONFIG_ESP_CONSOLE_UART_NUM UART_NUM_0 +#endif + +#define CMD_DISPLAY_TERMINAL_QUERY_TIMEOUT_MS 250 + +CmdDisplayBackend cmd_display_console_backend = +{ + .name = "console", + .ctx = NULL, + .flags = 0, + .init = cmd_display_console_init, + .deinit = cmd_display_console_deinit, + .clear = cmd_display_console_clear, + .present = cmd_display_console_present, + .put_char = cmd_display_console_put_char, + .write_text = cmd_display_console_write_text, + .get_size = cmd_display_console_get_size +}; + +CmdDisplayBackend cmd_display_ft812_backend = +{ + .name = "ft812", + .ctx = NULL, + .flags = 0, + .init = cmd_display_ft812_begin, + .deinit = cmd_display_ft812_end, + .clear = cmd_display_ft812_clear, + .present = cmd_display_ft812_present, + .put_char = cmd_display_ft812_put_char, + .write_text = cmd_display_ft812_write_text, + .get_size = cmd_display_ft812_get_size +}; + +typedef struct +{ + CmdDisplayBuffer prev; + bool prev_valid; +} CmdDisplayConsoleContext; + +typedef struct +{ + cmd_display_attr_t attr; + int x; + int y; + int width; + bool attr_valid; + bool pos_valid; +} CmdDisplayConsoleEmitState; + +typedef struct +{ + uint8_t chars[CMD_DISPLAY_CELL_COUNT]; + uint8_t attrs[CMD_DISPLAY_CELL_COUNT]; + bool active; +} CmdDisplayFt812Context; + +EXT_RAM_BSS_ATTR CmdDisplayConsoleContext cmd_display_console_ctx; +EXT_RAM_BSS_ATTR CmdDisplayFt812Context cmd_display_ft812_ctx; + +cmd_display_attr_t cmd_display_make_attr(cmd_display_color_t fg, cmd_display_color_t bg, uint8_t flags) +{ + return (cmd_display_attr_t)(((uint16_t)fg & 0x0f) | + (((uint16_t)bg & 0x0f) << CMD_DISPLAY_ATTR_BG_SHIFT) | + ((uint16_t)flags << CMD_DISPLAY_ATTR_FLAGS_SHIFT)); +} + +cmd_display_color_t cmd_display_attr_fg(cmd_display_attr_t attr) +{ + return (cmd_display_color_t)(attr & CMD_DISPLAY_ATTR_FG_MASK); +} + +cmd_display_color_t cmd_display_attr_bg(cmd_display_attr_t attr) +{ + return (cmd_display_color_t)((attr & CMD_DISPLAY_ATTR_BG_MASK) >> CMD_DISPLAY_ATTR_BG_SHIFT); +} + +uint8_t cmd_display_attr_flags(cmd_display_attr_t attr) +{ + return (uint8_t)((attr & CMD_DISPLAY_ATTR_FLAGS_MASK) >> CMD_DISPLAY_ATTR_FLAGS_SHIFT); +} + +const char *cmd_display_mode_name(CmdDisplayMode mode) +{ + switch (mode) + { + case CMD_DISPLAY_MODE_CONSOLE: return "console"; + case CMD_DISPLAY_MODE_FT812: return "ft812"; + case CMD_DISPLAY_MODE_MIRROR: return "mirror"; + default: return "?"; + } +} + +bool cmd_display_mode_parse(const char *text, CmdDisplayMode *mode) +{ + if (!mode) return false; + + if (!text || !text[0] || !strcmp(text, "console")) + { + *mode = CMD_DISPLAY_MODE_CONSOLE; + return true; + } + + if (!strcmp(text, "ft") || !strcmp(text, "ft812")) + { + *mode = CMD_DISPLAY_MODE_FT812; + return true; + } + + if (!strcmp(text, "mirror") || !strcmp(text, "both")) + { + *mode = CMD_DISPLAY_MODE_MIRROR; + return true; + } + + return false; +} + +bool cmd_display_mode_has_console(CmdDisplayMode mode) +{ + return mode == CMD_DISPLAY_MODE_CONSOLE || mode == CMD_DISPLAY_MODE_MIRROR; +} + +bool cmd_display_mode_has_ft812(CmdDisplayMode mode) +{ + return mode == CMD_DISPLAY_MODE_FT812 || mode == CMD_DISPLAY_MODE_MIRROR; +} + +bool cmd_display_point_inside(int x, int y) +{ + if (x < 0 || y < 0) return false; + if (x >= CMD_DISPLAY_COLS || y >= CMD_DISPLAY_ROWS) return false; + return true; +} + +bool cmd_display_buffer_point_inside(const CmdDisplayBuffer *buffer, int x, int y) +{ + if (!buffer) return false; + if (x < 0 || y < 0) return false; + if (x >= buffer->size.w || y >= buffer->size.h) return false; + return true; +} + +esp_err_t cmd_display_buffer_set_size(CmdDisplayBuffer *buffer, int w, int h) +{ + if (!buffer) return ESP_ERR_INVALID_ARG; + + if (w <= 0) w = CMD_DISPLAY_DEFAULT_COLS; + if (h <= 0) h = CMD_DISPLAY_DEFAULT_ROWS; + if (w > CMD_DISPLAY_COLS) w = CMD_DISPLAY_COLS; + if (h > CMD_DISPLAY_ROWS) h = CMD_DISPLAY_ROWS; + + buffer->size.w = w; + buffer->size.h = h; + return ESP_OK; +} + +void cmd_display_buffer_init(CmdDisplayBuffer *buffer) +{ + if (!buffer) return; + + memset(buffer, 0, sizeof(*buffer)); + cmd_display_buffer_set_size(buffer, CMD_DISPLAY_DEFAULT_COLS, CMD_DISPLAY_DEFAULT_ROWS); + cmd_display_buffer_clear(buffer, ' ', CMD_DISPLAY_ATTR_DEFAULT); +} + +void cmd_display_buffer_clear(CmdDisplayBuffer *buffer, char ch, cmd_display_attr_t attr) +{ + if (!buffer) return; + + if (ch == 0) + ch = ' '; + + for (int y = 0; y < buffer->size.h; y++) + { + for (int x = 0; x < buffer->size.w; x++) + { + buffer->cells[y][x].ch = ch; + buffer->cells[y][x].attr = attr; + } + } +} + +CmdDisplayCell *cmd_display_buffer_cell(CmdDisplayBuffer *buffer, int x, int y) +{ + if (!cmd_display_buffer_point_inside(buffer, x, y)) return NULL; + return &buffer->cells[y][x]; +} + +const CmdDisplayCell *cmd_display_buffer_cell_const(const CmdDisplayBuffer *buffer, int x, int y) +{ + if (!cmd_display_buffer_point_inside(buffer, x, y)) return NULL; + return &buffer->cells[y][x]; +} + +esp_err_t cmd_display_buffer_put_char(CmdDisplayBuffer *buffer, int x, int y, char ch, cmd_display_attr_t attr) +{ + CmdDisplayCell *cell; + + if (!buffer) return ESP_ERR_INVALID_ARG; + if (!cmd_display_buffer_point_inside(buffer, x, y)) return ESP_ERR_INVALID_ARG; + + if (ch == 0) + ch = ' '; + + cell = &buffer->cells[y][x]; + cell->ch = ch; + cell->attr = attr; + return ESP_OK; +} + +esp_err_t cmd_display_buffer_write_text(CmdDisplayBuffer *buffer, int x, int y, const char *text, cmd_display_attr_t attr) +{ + int pos = x; + + if (!buffer || !text) return ESP_ERR_INVALID_ARG; + if (y < 0 || y >= buffer->size.h) return ESP_ERR_INVALID_ARG; + if (x >= buffer->size.w) return ESP_OK; + if (pos < 0) pos = 0; + + while (*text && pos < buffer->size.w) + { + esp_err_t err = cmd_display_buffer_put_char(buffer, pos, y, *text, attr); + if (err != ESP_OK) return err; + text++; + pos++; + } + + return ESP_OK; +} + +esp_err_t cmd_display_buffer_fill_rect(CmdDisplayBuffer *buffer, const cmd_rect_t *rect, char ch, cmd_display_attr_t attr) +{ + int x0; + int y0; + int x1; + int y1; + + if (!buffer || !rect) return ESP_ERR_INVALID_ARG; + if (rect->w <= 0 || rect->h <= 0) return ESP_OK; + + x0 = rect->x; + y0 = rect->y; + x1 = rect->x + rect->w; + y1 = rect->y + rect->h; + + if (x0 < 0) x0 = 0; + if (y0 < 0) y0 = 0; + if (x1 > buffer->size.w) x1 = buffer->size.w; + if (y1 > buffer->size.h) y1 = buffer->size.h; + if (x0 >= x1 || y0 >= y1) return ESP_OK; + + for (int y = y0; y < y1; y++) + { + for (int x = x0; x < x1; x++) + { + esp_err_t err = cmd_display_buffer_put_char(buffer, x, y, ch, attr); + if (err != ESP_OK) return err; + } + } + + return ESP_OK; +} + +esp_err_t cmd_display_buffer_draw_hline(CmdDisplayBuffer *buffer, int x, int y, int w, char ch, cmd_display_attr_t attr) +{ + if (!buffer) return ESP_ERR_INVALID_ARG; + if (y < 0 || y >= buffer->size.h) return ESP_ERR_INVALID_ARG; + if (w <= 0) return ESP_OK; + + for (int i = 0; i < w; i++) + { + int px = x + i; + if (px < 0) continue; + if (px >= buffer->size.w) break; + + esp_err_t err = cmd_display_buffer_put_char(buffer, px, y, ch, attr); + if (err != ESP_OK) return err; + } + + return ESP_OK; +} + +esp_err_t cmd_display_buffer_draw_vline(CmdDisplayBuffer *buffer, int x, int y, int h, char ch, cmd_display_attr_t attr) +{ + if (!buffer) return ESP_ERR_INVALID_ARG; + if (x < 0 || x >= buffer->size.w) return ESP_ERR_INVALID_ARG; + if (h <= 0) return ESP_OK; + + for (int i = 0; i < h; i++) + { + int py = y + i; + if (py < 0) continue; + if (py >= buffer->size.h) break; + + esp_err_t err = cmd_display_buffer_put_char(buffer, x, py, ch, attr); + if (err != ESP_OK) return err; + } + + return ESP_OK; +} + +esp_err_t cmd_display_buffer_draw_box(CmdDisplayBuffer *buffer, const cmd_rect_t *rect, cmd_display_attr_t attr) +{ + esp_err_t err; + + if (!buffer || !rect) return ESP_ERR_INVALID_ARG; + if (rect->w <= 0 || rect->h <= 0) return ESP_OK; + + if (rect->w == 1 && rect->h == 1) + return cmd_display_buffer_put_char(buffer, rect->x, rect->y, CMD_DISPLAY_BOX_TL, attr); + + err = cmd_display_buffer_draw_hline(buffer, rect->x, rect->y, rect->w, CMD_DISPLAY_BOX_H, attr); + if (err != ESP_OK) return err; + + err = cmd_display_buffer_draw_hline(buffer, rect->x, rect->y + rect->h - 1, rect->w, CMD_DISPLAY_BOX_H, attr); + if (err != ESP_OK) return err; + + err = cmd_display_buffer_draw_vline(buffer, rect->x, rect->y, rect->h, CMD_DISPLAY_BOX_V, attr); + if (err != ESP_OK) return err; + + err = cmd_display_buffer_draw_vline(buffer, rect->x + rect->w - 1, rect->y, rect->h, CMD_DISPLAY_BOX_V, attr); + if (err != ESP_OK) return err; + + cmd_display_buffer_put_char(buffer, rect->x, rect->y, CMD_DISPLAY_BOX_TL, attr); + cmd_display_buffer_put_char(buffer, rect->x + rect->w - 1, rect->y, CMD_DISPLAY_BOX_TR, attr); + cmd_display_buffer_put_char(buffer, rect->x, rect->y + rect->h - 1, CMD_DISPLAY_BOX_BL, attr); + cmd_display_buffer_put_char(buffer, rect->x + rect->w - 1, rect->y + rect->h - 1, CMD_DISPLAY_BOX_BR, attr); + + return ESP_OK; +} + +esp_err_t cmd_display_backend_init(CmdDisplayBackend *backend) +{ + if (!backend) return ESP_ERR_INVALID_ARG; + if (!backend->init) return ESP_OK; + return backend->init(backend); +} + +void cmd_display_backend_deinit(CmdDisplayBackend *backend) +{ + if (!backend || !backend->deinit) return; + backend->deinit(backend); +} + +esp_err_t cmd_display_backend_clear(CmdDisplayBackend *backend) +{ + if (!backend) return ESP_ERR_INVALID_ARG; + if (!backend->clear) return ESP_ERR_NOT_SUPPORTED; + return backend->clear(backend); +} + +esp_err_t cmd_display_backend_present(CmdDisplayBackend *backend, const CmdDisplayBuffer *buffer) +{ + if (!backend || !buffer) return ESP_ERR_INVALID_ARG; + if (!backend->present) return ESP_ERR_NOT_SUPPORTED; + return backend->present(backend, buffer); +} + +esp_err_t cmd_display_backend_put_char(CmdDisplayBackend *backend, int x, int y, char ch, cmd_display_attr_t attr) +{ + if (!backend) return ESP_ERR_INVALID_ARG; + if (!backend->put_char) return ESP_ERR_NOT_SUPPORTED; + return backend->put_char(backend, x, y, ch, attr); +} + +esp_err_t cmd_display_backend_write_text(CmdDisplayBackend *backend, int x, int y, const char *text, cmd_display_attr_t attr) +{ + if (!backend || !text) return ESP_ERR_INVALID_ARG; + if (!backend->write_text) return ESP_ERR_NOT_SUPPORTED; + return backend->write_text(backend, x, y, text, attr); +} + +esp_err_t cmd_display_backend_get_size(CmdDisplayBackend *backend, cmd_size_t *size) +{ + if (!backend || !size) return ESP_ERR_INVALID_ARG; + + size->w = CMD_DISPLAY_DEFAULT_COLS; + size->h = CMD_DISPLAY_DEFAULT_ROWS; + + if (!backend->get_size) return ESP_OK; + return backend->get_size(backend, size); +} + +void cmd_display_mux_init(CmdDisplayMux *mux) +{ + if (!mux) return; + memset(mux, 0, sizeof(*mux)); +} + +esp_err_t cmd_display_mux_add_backend(CmdDisplayMux *mux, CmdDisplayBackend *backend) +{ + if (!mux || !backend) return ESP_ERR_INVALID_ARG; + if (mux->count >= CMD_DISPLAY_MUX_MAX_BACKENDS) return ESP_ERR_INVALID_SIZE; + + for (size_t i = 0; i < mux->count; i++) + { + if (mux->backends[i] == backend) return ESP_OK; + } + + mux->backends[mux->count] = backend; + mux->count++; + return ESP_OK; +} + +esp_err_t cmd_display_mux_add_mode(CmdDisplayMux *mux, CmdDisplayMode mode) +{ + esp_err_t err; + + if (!mux) return ESP_ERR_INVALID_ARG; + + if (mode == CMD_DISPLAY_MODE_FT812 || mode == CMD_DISPLAY_MODE_MIRROR) + { + err = cmd_display_mux_add_backend(mux, &cmd_display_ft812_backend); + if (err != ESP_OK) return err; + } + + if (mode == CMD_DISPLAY_MODE_CONSOLE || mode == CMD_DISPLAY_MODE_MIRROR) + { + err = cmd_display_mux_add_backend(mux, &cmd_display_console_backend); + if (err != ESP_OK) return err; + } + + if (mux->count == 0) return ESP_ERR_INVALID_ARG; + return ESP_OK; +} + +esp_err_t cmd_display_mux_remove_backend(CmdDisplayMux *mux, CmdDisplayBackend *backend) +{ + if (!mux || !backend) return ESP_ERR_INVALID_ARG; + + for (size_t i = 0; i < mux->count; i++) + { + if (mux->backends[i] != backend) + continue; + + for (size_t j = i; j + 1 < mux->count; j++) + mux->backends[j] = mux->backends[j + 1]; + + mux->count--; + mux->backends[mux->count] = NULL; + return ESP_OK; + } + + return ESP_ERR_NOT_FOUND; +} + +esp_err_t cmd_display_mux_init_backends(CmdDisplayMux *mux) +{ + if (!mux) return ESP_ERR_INVALID_ARG; + + for (size_t i = 0; i < mux->count; i++) + { + esp_err_t err = cmd_display_backend_init(mux->backends[i]); + if (err != ESP_OK) return err; + } + + return ESP_OK; +} + +esp_err_t cmd_display_mux_get_size(CmdDisplayMux *mux, cmd_size_t *size) +{ + bool have = false; + + if (!mux || !size) return ESP_ERR_INVALID_ARG; + + size->w = CMD_DISPLAY_DEFAULT_COLS; + size->h = CMD_DISPLAY_DEFAULT_ROWS; + + for (size_t i = 0; i < mux->count; i++) + { + cmd_size_t backend_size; + esp_err_t err = cmd_display_backend_get_size(mux->backends[i], &backend_size); + + if (err != ESP_OK) continue; + if (backend_size.w <= 0 || backend_size.h <= 0) continue; + + if (backend_size.w > CMD_DISPLAY_COLS) backend_size.w = CMD_DISPLAY_COLS; + if (backend_size.h > CMD_DISPLAY_ROWS) backend_size.h = CMD_DISPLAY_ROWS; + + if (!have) + { + *size = backend_size; + have = true; + } + else + { + if (backend_size.w < size->w) size->w = backend_size.w; + if (backend_size.h < size->h) size->h = backend_size.h; + } + } + + return ESP_OK; +} + +void cmd_display_mux_deinit_backends(CmdDisplayMux *mux) +{ + if (!mux) return; + + for (size_t i = 0; i < mux->count; i++) + cmd_display_backend_deinit(mux->backends[i]); +} + +esp_err_t cmd_display_mux_clear(CmdDisplayMux *mux) +{ + esp_err_t first_err = ESP_OK; + + if (!mux) return ESP_ERR_INVALID_ARG; + + for (size_t i = 0; i < mux->count; i++) + { + esp_err_t err = cmd_display_backend_clear(mux->backends[i]); + if (first_err == ESP_OK && err != ESP_OK) first_err = err; + } + + return first_err; +} + +esp_err_t cmd_display_mux_present(CmdDisplayMux *mux, const CmdDisplayBuffer *buffer) +{ + esp_err_t first_err = ESP_OK; + + if (!mux || !buffer) return ESP_ERR_INVALID_ARG; + + for (size_t i = 0; i < mux->count; i++) + { + esp_err_t err = cmd_display_backend_present(mux->backends[i], buffer); + if (first_err == ESP_OK && err != ESP_OK) first_err = err; + } + + return first_err; +} + +esp_err_t cmd_display_mux_put_char(CmdDisplayMux *mux, int x, int y, char ch, cmd_display_attr_t attr) +{ + esp_err_t first_err = ESP_OK; + + if (!mux) return ESP_ERR_INVALID_ARG; + + for (size_t i = 0; i < mux->count; i++) + { + esp_err_t err = cmd_display_backend_put_char(mux->backends[i], x, y, ch, attr); + if (first_err == ESP_OK && err != ESP_OK) first_err = err; + } + + return first_err; +} + +esp_err_t cmd_display_mux_write_text(CmdDisplayMux *mux, int x, int y, const char *text, cmd_display_attr_t attr) +{ + esp_err_t first_err = ESP_OK; + + if (!mux || !text) return ESP_ERR_INVALID_ARG; + + for (size_t i = 0; i < mux->count; i++) + { + esp_err_t err = cmd_display_backend_write_text(mux->backends[i], x, y, text, attr); + if (first_err == ESP_OK && err != ESP_OK) first_err = err; + } + + return first_err; +} + +int cmd_display_console_fg_code(cmd_display_color_t color) +{ + switch (color) + { + case CMD_DISPLAY_COLOR_BLACK: return 30; + case CMD_DISPLAY_COLOR_BLUE: return 34; + case CMD_DISPLAY_COLOR_GREEN: return 32; + case CMD_DISPLAY_COLOR_CYAN: return 36; + case CMD_DISPLAY_COLOR_RED: return 31; + case CMD_DISPLAY_COLOR_MAGENTA: return 35; + case CMD_DISPLAY_COLOR_YELLOW: return 33; + case CMD_DISPLAY_COLOR_WHITE: return 37; + case CMD_DISPLAY_COLOR_BRIGHT_BLACK: return 90; + case CMD_DISPLAY_COLOR_BRIGHT_BLUE: return 94; + case CMD_DISPLAY_COLOR_BRIGHT_GREEN: return 92; + case CMD_DISPLAY_COLOR_BRIGHT_CYAN: return 96; + case CMD_DISPLAY_COLOR_BRIGHT_RED: return 91; + case CMD_DISPLAY_COLOR_BRIGHT_MAGENTA: return 95; + case CMD_DISPLAY_COLOR_BRIGHT_YELLOW: return 93; + case CMD_DISPLAY_COLOR_BRIGHT_WHITE: return 97; + default: return 37; + } +} + +int cmd_display_console_bg_code(cmd_display_color_t color) +{ + switch (color) + { + case CMD_DISPLAY_COLOR_BLACK: return 40; + case CMD_DISPLAY_COLOR_BLUE: return 44; + case CMD_DISPLAY_COLOR_GREEN: return 42; + case CMD_DISPLAY_COLOR_CYAN: return 46; + case CMD_DISPLAY_COLOR_RED: return 41; + case CMD_DISPLAY_COLOR_MAGENTA: return 45; + case CMD_DISPLAY_COLOR_YELLOW: return 43; + case CMD_DISPLAY_COLOR_WHITE: return 47; + case CMD_DISPLAY_COLOR_BRIGHT_BLACK: return 100; + case CMD_DISPLAY_COLOR_BRIGHT_BLUE: return 104; + case CMD_DISPLAY_COLOR_BRIGHT_GREEN: return 102; + case CMD_DISPLAY_COLOR_BRIGHT_CYAN: return 106; + case CMD_DISPLAY_COLOR_BRIGHT_RED: return 101; + case CMD_DISPLAY_COLOR_BRIGHT_MAGENTA: return 105; + case CMD_DISPLAY_COLOR_BRIGHT_YELLOW: return 103; + case CMD_DISPLAY_COLOR_BRIGHT_WHITE: return 107; + default: return 40; + } +} + +const char *cmd_display_console_utf8_char(char ch) +{ + switch ((uint8_t)ch) + { + case 0xC9: return "╔"; + case 0xBB: return "╗"; + case 0xC8: return "╚"; + case 0xBC: return "╝"; + case 0xCD: return "═"; + case 0xBA: return "║"; + default: return NULL; + } +} + +void cmd_display_console_emit_char(char ch) +{ + const char *utf8 = cmd_display_console_utf8_char(ch); + + if (utf8) + { + fputs(utf8, stdout); + return; + } + + fputc((unsigned char)(ch ? ch : ' '), stdout); +} + +void cmd_display_console_emit_attr(cmd_display_attr_t attr) +{ + int fg = cmd_display_console_fg_code(cmd_display_attr_fg(attr)); + int bg = cmd_display_console_bg_code(cmd_display_attr_bg(attr)); + uint8_t flags = cmd_display_attr_flags(attr); + + printf("\x1b[0"); + + if (flags & CMD_DISPLAY_ATTR_FLAG_BOLD) + printf(";1"); + + if (flags & CMD_DISPLAY_ATTR_FLAG_UNDERLINE) + printf(";4"); + + if (flags & CMD_DISPLAY_ATTR_FLAG_INVERSE) + printf(";7"); + + printf(";%d;%dm", fg, bg); +} + +bool cmd_display_cell_equal(const CmdDisplayCell *a, const CmdDisplayCell *b) +{ + if (!a || !b) return false; + return a->ch == b->ch && a->attr == b->attr; +} + +size_t cmd_display_console_decimal_len(int value) +{ + size_t len = 1; + + while (value >= 10) + { + value /= 10; + len++; + } + + return len; +} + +size_t cmd_display_console_attr_bytes(cmd_display_attr_t attr) +{ + uint8_t flags = cmd_display_attr_flags(attr); + size_t len = 6; + + len += cmd_display_console_decimal_len(cmd_display_console_fg_code(cmd_display_attr_fg(attr))); + len += cmd_display_console_decimal_len(cmd_display_console_bg_code(cmd_display_attr_bg(attr))); + + if (flags & CMD_DISPLAY_ATTR_FLAG_BOLD) len += 2; + if (flags & CMD_DISPLAY_ATTR_FLAG_UNDERLINE) len += 2; + if (flags & CMD_DISPLAY_ATTR_FLAG_INVERSE) len += 2; + + return len; +} + +void cmd_display_console_count_range(const CmdDisplayBuffer *buffer, int y, int x0, int x1, CmdDisplayConsoleEmitState *state, size_t *bytes) +{ + if (!buffer || !state || !bytes) return; + + if (!state->pos_valid || state->x != x0 || state->y != y) + { + *bytes += 4 + cmd_display_console_decimal_len(y + 1) + cmd_display_console_decimal_len(x0 + 1); + state->x = x0; + state->y = y; + state->pos_valid = true; + } + + for (int x = x0; x < x1; x++) + { + const CmdDisplayCell *cell = &buffer->cells[y][x]; + + if (!state->attr_valid || cell->attr != state->attr) + { + *bytes += cmd_display_console_attr_bytes(cell->attr); + state->attr = cell->attr; + state->attr_valid = true; + } + + *bytes += (cmd_display_console_utf8_char(cell->ch) ? 3 : 1); + state->x++; + if (state->width > 0 && state->x >= state->width) + state->pos_valid = false; + } +} + +size_t cmd_display_console_count_full_present(const CmdDisplayBuffer *buffer) +{ + CmdDisplayConsoleEmitState state; + size_t bytes = 11; + + if (!buffer) return 0; + + state.attr = 0; + state.x = 0; + state.y = 0; + state.width = buffer->size.w; + state.attr_valid = false; + state.pos_valid = true; + + for (int y = 0; y < buffer->size.h; y++) + { + cmd_display_console_count_range(buffer, y, 0, buffer->size.w, &state, &bytes); + + if (y + 1 < buffer->size.h) + { + bytes += 2; + state.x = 0; + state.y = y + 1; + state.pos_valid = true; + } + } + + bytes += 4; + return bytes; +} + +size_t cmd_display_console_count_partial_present(const CmdDisplayBuffer *buffer, const CmdDisplayBuffer *prev, bool *any_dirty) +{ + CmdDisplayConsoleEmitState state; + size_t bytes = 0; + + if (any_dirty) *any_dirty = false; + if (!buffer || !prev) return 0; + + state.attr = 0; + state.x = -1; + state.y = -1; + state.width = buffer->size.w; + state.attr_valid = false; + state.pos_valid = false; + + for (int y = 0; y < buffer->size.h; y++) + { + int x = 0; + + while (x < buffer->size.w) + { + while (x < buffer->size.w && cmd_display_cell_equal(&buffer->cells[y][x], &prev->cells[y][x])) + x++; + + if (x >= buffer->size.w) + break; + + int x0 = x; + + while (x < buffer->size.w && !cmd_display_cell_equal(&buffer->cells[y][x], &prev->cells[y][x])) + x++; + + cmd_display_console_count_range(buffer, y, x0, x, &state, &bytes); + if (any_dirty) *any_dirty = true; + } + } + + if (any_dirty && *any_dirty) + bytes += 4; + + return bytes; +} + +void cmd_display_console_store_prev(CmdDisplayConsoleContext *ctx, const CmdDisplayBuffer *buffer) +{ + if (!ctx || !buffer) return; + ctx->prev = *buffer; + ctx->prev_valid = true; +} + +void cmd_display_console_emit_range(const CmdDisplayBuffer *buffer, int y, int x0, int x1, CmdDisplayConsoleEmitState *state) +{ + if (!state || !state->pos_valid || state->x != x0 || state->y != y) + { + printf("\x1b[%d;%dH", y + 1, x0 + 1); + + if (state) + { + state->x = x0; + state->y = y; + state->pos_valid = true; + } + } + + for (int x = x0; x < x1; x++) + { + const CmdDisplayCell *cell = &buffer->cells[y][x]; + + if (!state || !state->attr_valid || cell->attr != state->attr) + { + cmd_display_console_emit_attr(cell->attr); + + if (state) + { + state->attr = cell->attr; + state->attr_valid = true; + } + } + + cmd_display_console_emit_char(cell->ch); + + if (state && state->pos_valid) + { + state->x++; + if (state->width > 0 && state->x >= state->width) + state->pos_valid = false; + } + } +} + +esp_err_t cmd_display_console_full_present(CmdDisplayConsoleContext *ctx, const CmdDisplayBuffer *buffer) +{ + CmdDisplayConsoleEmitState state = + { + .attr = 0, + .x = 0, + .y = 0, + .width = buffer->size.w, + .attr_valid = false, + .pos_valid = true + }; + + printf("\x1b[0m\x1b[2J\x1b[H"); + + for (int y = 0; y < buffer->size.h; y++) + { + cmd_display_console_emit_range(buffer, y, 0, buffer->size.w, &state); + + if (y + 1 < buffer->size.h) + { + printf("\r\n"); + state.x = 0; + state.y = y + 1; + state.pos_valid = true; + } + } + + printf("\x1b[0m"); + fflush(stdout); + cmd_display_console_store_prev(ctx, buffer); + return ESP_OK; +} + +bool cmd_display_console_parse_size_response(const char *seq, int *rows, int *cols) +{ + int first = 0; + int second = 0; + int third = 0; + size_t i = 0; + + if (!seq || !rows || !cols) return false; + + while (seq[i] && seq[i] != '[') + i++; + + if (seq[i] != '[') return false; + i++; + + while (seq[i] >= '0' && seq[i] <= '9') + { + first = first * 10 + (seq[i] - '0'); + i++; + } + + if (seq[i] != ';') return false; + i++; + + while (seq[i] >= '0' && seq[i] <= '9') + { + second = second * 10 + (seq[i] - '0'); + i++; + } + + if (seq[i] == 'R') + { + if (first <= 0 || second <= 0) return false; + *rows = first; + *cols = second; + return true; + } + + if (seq[i] != ';') return false; + i++; + + while (seq[i] >= '0' && seq[i] <= '9') + { + third = third * 10 + (seq[i] - '0'); + i++; + } + + if (seq[i] != 't') return false; + if (first != 8 || second <= 0 || third <= 0) return false; + + *rows = second; + *cols = third; + return true; +} + +bool cmd_display_console_read_ansi_response(char *out, size_t out_size, uint32_t timeout_ms) +{ + size_t len = 0; + uint8_t c; + TickType_t ticks; + + if (!out || out_size == 0) return false; + + out[0] = 0; + ticks = pdMS_TO_TICKS(timeout_ms); + + while (len + 1 < out_size) + { + int n = uart_read_bytes((uart_port_t)CONFIG_ESP_CONSOLE_UART_NUM, &c, 1, ticks); + if (n <= 0) break; + + out[len++] = (char)c; + out[len] = 0; + + if (c == 'R' || c == 't') + return true; + } + + return false; +} + +bool cmd_display_console_query_size(cmd_size_t *size) +{ + char seq[48]; + int rows; + int cols; + + if (!size) return false; + + printf("\x1b[18t"); + fflush(stdout); + if (cmd_display_console_read_ansi_response(seq, sizeof(seq), CMD_DISPLAY_TERMINAL_QUERY_TIMEOUT_MS) && + cmd_display_console_parse_size_response(seq, &rows, &cols)) + { + size->w = cols; + size->h = rows; + return true; + } + + printf("\x1b[s\x1b[999;999H\x1b[6n"); + fflush(stdout); + if (cmd_display_console_read_ansi_response(seq, sizeof(seq), CMD_DISPLAY_TERMINAL_QUERY_TIMEOUT_MS) && + cmd_display_console_parse_size_response(seq, &rows, &cols)) + { + printf("\x1b[u"); + fflush(stdout); + size->w = cols; + size->h = rows; + return true; + } + + printf("\x1b[u"); + fflush(stdout); + return false; +} + +esp_err_t cmd_display_console_get_size(CmdDisplayBackend *backend, cmd_size_t *size) +{ + if (!backend || !size) return ESP_ERR_INVALID_ARG; + + size->w = CMD_DISPLAY_DEFAULT_COLS; + size->h = CMD_DISPLAY_DEFAULT_ROWS; + + if (!cmd_display_console_query_size(size)) + return ESP_OK; + + if (size->w > CMD_DISPLAY_COLS) size->w = CMD_DISPLAY_COLS; + if (size->h > CMD_DISPLAY_ROWS) size->h = CMD_DISPLAY_ROWS; + if (size->w <= 0) size->w = CMD_DISPLAY_DEFAULT_COLS; + if (size->h <= 0) size->h = CMD_DISPLAY_DEFAULT_ROWS; + return ESP_OK; +} + +esp_err_t cmd_display_console_init(CmdDisplayBackend *backend) +{ + if (!backend) return ESP_ERR_INVALID_ARG; + + memset(&cmd_display_console_ctx, 0, sizeof(cmd_display_console_ctx)); + backend->ctx = &cmd_display_console_ctx; + + printf("\x1b[0m\x1b[2J\x1b[H"); + fflush(stdout); + return ESP_OK; +} + +void cmd_display_console_deinit(CmdDisplayBackend *backend) +{ + if (!backend) return; + backend->ctx = NULL; + memset(&cmd_display_console_ctx, 0, sizeof(cmd_display_console_ctx)); +} + +esp_err_t cmd_display_console_clear(CmdDisplayBackend *backend) +{ + CmdDisplayConsoleContext *ctx; + + if (!backend) return ESP_ERR_INVALID_ARG; + + ctx = (CmdDisplayConsoleContext *)backend->ctx; + if (ctx) + ctx->prev_valid = false; + + printf("\x1b[0m\x1b[2J\x1b[H"); + fflush(stdout); + return ESP_OK; +} + +esp_err_t cmd_display_console_present(CmdDisplayBackend *backend, const CmdDisplayBuffer *buffer) +{ + CmdDisplayConsoleContext *ctx; + CmdDisplayConsoleEmitState state = + { + .attr = 0, + .x = -1, + .y = -1, + .width = buffer ? buffer->size.w : 0, + .attr_valid = false, + .pos_valid = false + }; + size_t full_bytes; + size_t partial_bytes; + bool any_dirty = false; + + if (!backend || !buffer) return ESP_ERR_INVALID_ARG; + + ctx = (CmdDisplayConsoleContext *)backend->ctx; + if (!ctx) return ESP_ERR_INVALID_STATE; + + if (!ctx->prev_valid || ctx->prev.size.w != buffer->size.w || ctx->prev.size.h != buffer->size.h) + return cmd_display_console_full_present(ctx, buffer); + + partial_bytes = cmd_display_console_count_partial_present(buffer, &ctx->prev, &any_dirty); + + if (!any_dirty) + { + cmd_display_console_store_prev(ctx, buffer); + return ESP_OK; + } + + if (!(backend->flags & CMD_DISPLAY_BACKEND_FLAG_FORCE_PARTIAL)) + { + full_bytes = cmd_display_console_count_full_present(buffer); + if (full_bytes <= partial_bytes) + return cmd_display_console_full_present(ctx, buffer); + } + + for (int y = 0; y < buffer->size.h; y++) + { + int x = 0; + + while (x < buffer->size.w) + { + while (x < buffer->size.w && cmd_display_cell_equal(&buffer->cells[y][x], &ctx->prev.cells[y][x])) + x++; + + if (x >= buffer->size.w) + break; + + int x0 = x; + + while (x < buffer->size.w && !cmd_display_cell_equal(&buffer->cells[y][x], &ctx->prev.cells[y][x])) + x++; + + cmd_display_console_emit_range(buffer, y, x0, x, &state); + } + } + + printf("\x1b[0m"); + fflush(stdout); + + cmd_display_console_store_prev(ctx, buffer); + return ESP_OK; +} + +esp_err_t cmd_display_console_put_char(CmdDisplayBackend *backend, int x, int y, char ch, cmd_display_attr_t attr) +{ + CmdDisplayConsoleContext *ctx; + + if (!backend) return ESP_ERR_INVALID_ARG; + if (!cmd_display_point_inside(x, y)) return ESP_ERR_INVALID_ARG; + + if (ch == 0) + ch = ' '; + + printf("\x1b[%d;%dH", y + 1, x + 1); + cmd_display_console_emit_attr(attr); + cmd_display_console_emit_char(ch); + printf("\x1b[0m"); + fflush(stdout); + + ctx = (CmdDisplayConsoleContext *)backend->ctx; + if (ctx && ctx->prev_valid) + { + ctx->prev.cells[y][x].ch = ch; + ctx->prev.cells[y][x].attr = attr; + } + + return ESP_OK; +} + +esp_err_t cmd_display_console_write_text(CmdDisplayBackend *backend, int x, int y, const char *text, cmd_display_attr_t attr) +{ + CmdDisplayConsoleContext *ctx; + int pos = x; + + if (!backend || !text) return ESP_ERR_INVALID_ARG; + if (y < 0 || y >= CMD_DISPLAY_ROWS) return ESP_ERR_INVALID_ARG; + if (pos >= CMD_DISPLAY_COLS) return ESP_OK; + if (pos < 0) pos = 0; + + printf("\x1b[%d;%dH", y + 1, pos + 1); + cmd_display_console_emit_attr(attr); + + ctx = (CmdDisplayConsoleContext *)backend->ctx; + + while (*text && pos < CMD_DISPLAY_COLS) + { + cmd_display_console_emit_char(*text); + + if (ctx && ctx->prev_valid) + { + ctx->prev.cells[y][pos].ch = *text; + ctx->prev.cells[y][pos].attr = attr; + } + + text++; + pos++; + } + + printf("\x1b[0m"); + fflush(stdout); + return ESP_OK; +} + +uint8_t cmd_display_ft812_color(cmd_display_color_t color) +{ + uint8_t c = (uint8_t)color & 0x0f; + uint8_t out = 0; + + if (c & 0x01) out |= 0x01; + if (c & 0x02) out |= 0x04; + if (c & 0x04) out |= 0x02; + if (c & 0x08) out |= 0x08; + + return out; +} + +uint8_t cmd_display_ft812_attr(cmd_display_attr_t attr) +{ + uint8_t fg = cmd_display_ft812_color(cmd_display_attr_fg(attr)); + uint8_t bg = cmd_display_ft812_color(cmd_display_attr_bg(attr)); + uint8_t flags = cmd_display_attr_flags(attr); + + if (flags & CMD_DISPLAY_ATTR_FLAG_BOLD) + fg |= 0x08; + + if (flags & CMD_DISPLAY_ATTR_FLAG_INVERSE) + { + uint8_t tmp = fg; + fg = bg; + bg = tmp; + } + + return (uint8_t)((bg << 4) | fg); +} + +CmdDisplayFt812Context *cmd_display_ft812_context(CmdDisplayBackend *backend) +{ + if (!backend) return NULL; + return (CmdDisplayFt812Context *)backend->ctx; +} + +void cmd_display_ft812_fill_local(CmdDisplayFt812Context *ctx, char ch, cmd_display_attr_t attr) +{ + uint8_t glyph = ch ? (uint8_t)ch : (uint8_t)' '; + uint8_t ft_attr = cmd_display_ft812_attr(attr); + + if (!ctx) return; + + memset(ctx->chars, glyph, sizeof(ctx->chars)); + memset(ctx->attrs, ft_attr, sizeof(ctx->attrs)); +} + +void cmd_display_ft812_pack(CmdDisplayFt812Context *ctx, const CmdDisplayBuffer *buffer) +{ + uint16_t cols; + uint16_t rows; + + if (!ctx || !buffer) return; + + ft_text_attr_mode_get_size(&cols, &rows); + cmd_display_ft812_fill_local(ctx, ' ', CMD_DISPLAY_ATTR_DEFAULT); + + for (int y = 0; y < buffer->size.h && y < (int)rows; y++) + { + for (int x = 0; x < buffer->size.w && x < (int)cols; x++) + { + const CmdDisplayCell *cell = &buffer->cells[y][x]; + size_t off = (size_t)y * (size_t)cols + (size_t)x; + + ctx->chars[off] = cell->ch ? (uint8_t)cell->ch : (uint8_t)' '; + ctx->attrs[off] = cmd_display_ft812_attr(cell->attr); + } + } +} + +esp_err_t cmd_display_ft812_get_size(CmdDisplayBackend *backend, cmd_size_t *size) +{ + uint16_t cols; + uint16_t rows; + + if (!backend || !size) return ESP_ERR_INVALID_ARG; + + ft_text_attr_mode_get_size(&cols, &rows); + size->w = (int)cols; + size->h = (int)rows; + + if (size->w <= 0) size->w = CMD_DISPLAY_DEFAULT_COLS; + if (size->h <= 0) size->h = CMD_DISPLAY_DEFAULT_ROWS; + if (size->w > CMD_DISPLAY_COLS) size->w = CMD_DISPLAY_COLS; + if (size->h > CMD_DISPLAY_ROWS) size->h = CMD_DISPLAY_ROWS; + return ESP_OK; +} + +esp_err_t cmd_display_ft812_begin(CmdDisplayBackend *backend) +{ + esp_err_t err; + + if (!backend) return ESP_ERR_INVALID_ARG; + + memset(&cmd_display_ft812_ctx, 0, sizeof(cmd_display_ft812_ctx)); + cmd_display_ft812_fill_local(&cmd_display_ft812_ctx, ' ', CMD_DISPLAY_ATTR_DEFAULT); + + err = ft_text_attr_mode_begin(); + if (err != ESP_OK) return err; + + backend->ctx = &cmd_display_ft812_ctx; + cmd_display_ft812_ctx.active = true; + return ESP_OK; +} + +void cmd_display_ft812_end(CmdDisplayBackend *backend) +{ + if (!backend) return; + + ft_text_attr_mode_end(); + backend->ctx = NULL; + memset(&cmd_display_ft812_ctx, 0, sizeof(cmd_display_ft812_ctx)); +} + +esp_err_t cmd_display_ft812_clear(CmdDisplayBackend *backend) +{ + CmdDisplayFt812Context *ctx = cmd_display_ft812_context(backend); + + if (!ctx || !ctx->active) return ESP_ERR_INVALID_STATE; + + cmd_display_ft812_fill_local(ctx, ' ', CMD_DISPLAY_ATTR_DEFAULT); + return ft_text_attr_mode_clear(' ', cmd_display_ft812_attr(CMD_DISPLAY_ATTR_DEFAULT)); +} + +esp_err_t cmd_display_ft812_present(CmdDisplayBackend *backend, const CmdDisplayBuffer *buffer) +{ + CmdDisplayFt812Context *ctx = cmd_display_ft812_context(backend); + + if (!ctx || !ctx->active) return ESP_ERR_INVALID_STATE; + if (!buffer) return ESP_ERR_INVALID_ARG; + + cmd_display_ft812_pack(ctx, buffer); + return ft_text_attr_mode_present(ctx->chars, ctx->attrs); +} + +esp_err_t cmd_display_ft812_put_char(CmdDisplayBackend *backend, int x, int y, char ch, cmd_display_attr_t attr) +{ + CmdDisplayFt812Context *ctx = cmd_display_ft812_context(backend); + uint16_t cols; + uint16_t rows; + size_t off; + + if (!ctx || !ctx->active) return ESP_ERR_INVALID_STATE; + + ft_text_attr_mode_get_size(&cols, &rows); + if (x < 0 || y < 0 || x >= (int)cols || y >= (int)rows) return ESP_ERR_INVALID_ARG; + + off = (size_t)y * (size_t)cols + (size_t)x; + ctx->chars[off] = ch ? (uint8_t)ch : (uint8_t)' '; + ctx->attrs[off] = cmd_display_ft812_attr(attr); + + return ft_text_attr_mode_present(ctx->chars, ctx->attrs); +} + +esp_err_t cmd_display_ft812_write_text(CmdDisplayBackend *backend, int x, int y, const char *text, cmd_display_attr_t attr) +{ + CmdDisplayFt812Context *ctx = cmd_display_ft812_context(backend); + uint16_t cols; + uint16_t rows; + uint8_t ft_attr = cmd_display_ft812_attr(attr); + int pos = x; + + if (!ctx || !ctx->active) return ESP_ERR_INVALID_STATE; + if (!text) return ESP_ERR_INVALID_ARG; + + ft_text_attr_mode_get_size(&cols, &rows); + if (y < 0 || y >= (int)rows) return ESP_ERR_INVALID_ARG; + if (pos >= (int)cols) return ESP_OK; + if (pos < 0) pos = 0; + + while (*text && pos < (int)cols) + { + size_t off = (size_t)y * (size_t)cols + (size_t)pos; + ctx->chars[off] = (uint8_t)*text; + ctx->attrs[off] = ft_attr; + text++; + pos++; + } + + return ft_text_attr_mode_present(ctx->chars, ctx->attrs); +} + +// --------------- cmd_fileops.cpp --------------- + +typedef struct +{ + CmdFsList lists[CMD_FILEOPS_MAX_DEPTH]; + cmd_file_entry_t entries[CMD_FILEOPS_MAX_DEPTH]; + char src_paths[CMD_FILEOPS_MAX_DEPTH + 1][CMD_PATH_MAX]; + char dst_paths[CMD_FILEOPS_MAX_DEPTH + 1][CMD_PATH_MAX]; + char scratch_path[CMD_PATH_MAX]; + char scratch_src_path[CMD_PATH_MAX]; + char scratch_dst_path[CMD_PATH_MAX]; + uint8_t copy_buffer[CMD_FILEOPS_BUFFER_SIZE]; +} CmdFileopsWorkspace; + +CmdFileopsWorkspace *g_cmd_fileops_workspace; + +esp_err_t cmd_fileops_alloc_global_buffers() +{ + if (g_cmd_fileops_workspace) return ESP_OK; + + g_cmd_fileops_workspace = (CmdFileopsWorkspace *)heap_caps_calloc( + 1, + sizeof(CmdFileopsWorkspace), + MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + + if (!g_cmd_fileops_workspace) return ESP_ERR_NO_MEM; + return ESP_OK; +} + +void cmd_fileops_free_global_buffers() +{ + if (!g_cmd_fileops_workspace) return; + + heap_caps_free(g_cmd_fileops_workspace); + g_cmd_fileops_workspace = NULL; +} + +CmdFileopsWorkspace *cmd_fileops_workspace() +{ + return g_cmd_fileops_workspace; +} + +esp_err_t cmd_fileops_copy_path_to_slot(char *dst, size_t dst_size, const char *src) +{ + size_t len; + + if (!dst || dst_size == 0 || !src) return ESP_ERR_INVALID_ARG; + if (dst == src) return ESP_OK; + + len = strlen(src); + if (len >= dst_size) return CMD_ERR_PATH_TOO_LONG; + + memmove(dst, src, len + 1); + return ESP_OK; +} + +esp_err_t cmd_fileops_ensure_device(CmdFsManager *fs, cmd_device_id_t device_id) +{ + if (!fs) return ESP_ERR_INVALID_ARG; + if (!cmd_fs_is_valid_device_id(device_id)) return CMD_ERR_INVALID_DEVICE; + return cmd_fs_manager_mount(fs, device_id); +} + +bool cmd_fileops_should_overwrite(const CmdFileopsOptions *options) +{ + if (!options) return false; + return (options->flags & CMD_FILEOPS_FLAG_OVERWRITE) != 0; +} + +bool cmd_fileops_should_recurse(const CmdFileopsOptions *options) +{ + if (!options) return false; + return (options->flags & CMD_FILEOPS_FLAG_RECURSIVE) != 0; +} + +bool cmd_fileops_same_location(cmd_device_id_t a_device, + const char *a_path, + cmd_device_id_t b_device, + const char *b_path) +{ + if (a_device != b_device) return false; + if (!a_path || !b_path) return false; + return strcmp(a_path, b_path) == 0; +} + +size_t cmd_fileops_trim_path_len(const char *path) +{ + size_t len; + + if (!path || !path[0]) return 1; + + len = strlen(path); + while (len > 1 && path[len - 1] == '/') + len--; + + return len; +} + +bool cmd_fileops_path_contains(const char *parent, const char *child) +{ + size_t parent_len; + size_t child_len; + + if (!parent || !child) return false; + + parent_len = cmd_fileops_trim_path_len(parent); + child_len = cmd_fileops_trim_path_len(child); + + if (parent_len == 1 && parent[0] == '/') return child_len >= 1 && child[0] == '/'; + if (child_len < parent_len) return false; + if (strncmp(parent, child, parent_len) != 0) return false; + if (child_len == parent_len) return true; + return child[parent_len] == '/'; +} + +esp_err_t cmd_fileops_check_dst_available(CmdFsManager *fs, + cmd_device_id_t device_id, + const char *path, + const CmdFileopsOptions *options, + bool *out_existed) +{ + cmd_file_entry_t entry; + esp_err_t err; + + if (out_existed) *out_existed = false; + if (!fs || !path) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_manager_stat(fs, device_id, path, &entry); + if (err == ESP_ERR_NOT_FOUND) return ESP_OK; + if (err != ESP_OK) return err; + + if (out_existed) *out_existed = true; + if (cmd_fileops_should_overwrite(options)) return ESP_OK; + return ESP_ERR_INVALID_STATE; +} + +esp_err_t cmd_fileops_prepare_dst_dir(CmdFsManager *fs, + cmd_device_id_t device_id, + const char *path, + const CmdFileopsOptions *options) +{ + cmd_file_entry_t entry; + esp_err_t err; + + if (!fs || !path) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_manager_stat(fs, device_id, path, &entry); + if (err == ESP_ERR_NOT_FOUND) return cmd_fs_manager_mkdir(fs, device_id, path); + if (err != ESP_OK) return err; + if (entry.type != CMD_ENTRY_DIR) return ESP_ERR_INVALID_STATE; + if (!cmd_fileops_should_overwrite(options)) return ESP_ERR_INVALID_STATE; + return ESP_OK; +} + +bool cmd_fileops_progress_call_ex(const CmdFileopsOptions *options, + cmd_fileops_op_t op, + const char *filename, + uint64_t bytes_done, + uint64_t bytes_total, + size_t files_done, + size_t files_total, + bool can_cancel) +{ + CmdFileopsProgress progress; + + if (!options || !options->progress) return true; + + progress.op = op; + progress.filename = filename; + progress.bytes_done = bytes_done; + progress.bytes_total = bytes_total; + progress.files_done = files_done; + progress.files_total = files_total; + progress.can_cancel = can_cancel; + + if (options->progress(&progress, options->progress_ctx)) return true; + return !can_cancel; +} + +typedef struct +{ + const CmdFileopsOptions *options; + cmd_fileops_op_t op; + uint64_t bytes_done; + uint64_t bytes_total; + size_t files_done; + size_t files_total; +} CmdFileopsTreeCtx; + +esp_err_t cmd_fileops_prepare_tree_context(CmdFileopsTreeCtx *ctx, + const CmdFileopsOptions *options, + cmd_fileops_op_t op, + uint64_t bytes_total, + size_t files_total) +{ + if (!ctx) return ESP_ERR_INVALID_ARG; + + memset(ctx, 0, sizeof(*ctx)); + ctx->options = options; + ctx->op = op; + ctx->bytes_total = bytes_total; + ctx->files_total = files_total; + return ESP_OK; +} + +bool cmd_fileops_tree_progress(CmdFileopsTreeCtx *ctx, const char *filename, bool can_cancel) +{ + if (!ctx) return true; + + return cmd_fileops_progress_call_ex(ctx->options, + ctx->op, + filename, + ctx->bytes_done, + ctx->bytes_total, + ctx->files_done, + ctx->files_total, + can_cancel); +} + +esp_err_t cmd_fileops_close_keep_first(CmdFsManager *fs, CmdFsFile *file, bool *opened, esp_err_t first_err) +{ + esp_err_t close_err; + + if (!opened || !*opened) return first_err; + + close_err = cmd_fs_manager_close(fs, file); + *opened = false; + if (first_err != ESP_OK) return first_err; + return close_err; +} + +esp_err_t cmd_fileops_join_selected_path(const CmdPanel *panel, + const cmd_file_entry_t *entry, + char *out, + size_t out_size) +{ + if (!panel || !entry || !out || out_size == 0) return ESP_ERR_INVALID_ARG; + if (entry->type == CMD_ENTRY_PARENT) return ESP_ERR_INVALID_ARG; + return cmd_fs_join_path(panel->current_path, entry->name, out, out_size); +} + +bool cmd_fileops_entry_is_marked(const cmd_file_entry_t *entry); + +esp_err_t cmd_fileops_scan_tree(CmdFsManager *fs, + cmd_device_id_t device_id, + const char *path, + size_t depth, + uint64_t *bytes_total, + size_t *files_total) +{ + CmdFileopsWorkspace *workspace; + CmdFsList *list; + cmd_file_entry_t *entry; + char *child_path; + bool list_open = false; + esp_err_t err; + + if (!fs || !path || !bytes_total || !files_total) return ESP_ERR_INVALID_ARG; + if (depth >= CMD_FILEOPS_MAX_DEPTH) return ESP_ERR_INVALID_SIZE; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + + list = &workspace->lists[depth]; + entry = &workspace->entries[depth]; + child_path = workspace->src_paths[depth + 1]; + memset(list, 0, sizeof(*list)); + + err = cmd_fs_manager_list_begin(fs, device_id, path, list); + if (err != ESP_OK) return err; + list_open = true; + + for (;;) + { + err = cmd_fs_manager_list_next(fs, list, entry); + if (err == ESP_ERR_NOT_FOUND) + { + err = ESP_OK; + break; + } + if (err != ESP_OK) break; + if (entry->type == CMD_ENTRY_PARENT) continue; + + err = cmd_fs_join_path(path, entry->name, child_path, CMD_PATH_MAX); + if (err != ESP_OK) break; + + if (entry->type == CMD_ENTRY_FILE) + { + *bytes_total += entry->size; + (*files_total)++; + } + else if (entry->type == CMD_ENTRY_DIR) + { + err = cmd_fileops_scan_tree(fs, device_id, child_path, depth + 1, bytes_total, files_total); + if (err != ESP_OK) break; + } + else + { + err = ESP_ERR_NOT_SUPPORTED; + break; + } + } + + if (list_open) + cmd_fs_manager_list_close(fs, list); + + return err; +} + +esp_err_t cmd_fileops_delete_file_with_progress(CmdFsManager *fs, + cmd_device_id_t device_id, + const char *path, + const cmd_file_entry_t *entry, + const CmdFileopsOptions *options, + uint64_t *bytes_done, + uint64_t bytes_total, + size_t *files_done, + size_t files_total, + bool can_cancel) +{ + uint64_t size = entry ? entry->size : 0; + const char *filename; + esp_err_t err; + + if (!fs || !path || !bytes_done || !files_done) return ESP_ERR_INVALID_ARG; + + filename = cmd_fs_filename_ptr(path); + if (!cmd_fileops_progress_call_ex(options, + CMD_FILEOPS_OP_DELETE, + filename, + *bytes_done, + bytes_total, + *files_done, + files_total, + can_cancel)) return CMD_ERR_CANCELLED; + + err = cmd_fs_manager_remove(fs, device_id, path); + if (err != ESP_OK) return err; + + *bytes_done += size; + (*files_done)++; + + if (!cmd_fileops_progress_call_ex(options, + CMD_FILEOPS_OP_DELETE, + filename, + *bytes_done, + bytes_total, + *files_done, + files_total, + can_cancel)) return CMD_ERR_CANCELLED; + + return ESP_OK; +} + +esp_err_t cmd_fileops_delete_dir_recursive(CmdFsManager *fs, + cmd_device_id_t device_id, + const char *path, + const CmdFileopsOptions *options, + uint64_t *bytes_done, + uint64_t bytes_total, + size_t *files_done, + size_t files_total, + size_t depth, + bool can_cancel) +{ + CmdFileopsWorkspace *workspace; + CmdFsList *list; + cmd_file_entry_t *entry; + char *child_path; + bool list_open = false; + const char *filename; + esp_err_t err; + + if (!fs || !path || !bytes_done || !files_done) return ESP_ERR_INVALID_ARG; + if (depth >= CMD_FILEOPS_MAX_DEPTH) return ESP_ERR_INVALID_SIZE; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + + list = &workspace->lists[depth]; + entry = &workspace->entries[depth]; + child_path = workspace->src_paths[depth + 1]; + memset(list, 0, sizeof(*list)); + + filename = cmd_fs_filename_ptr(path); + if (!cmd_fileops_progress_call_ex(options, + CMD_FILEOPS_OP_DELETE, + filename, + *bytes_done, + bytes_total, + *files_done, + files_total, + can_cancel)) return CMD_ERR_CANCELLED; + + err = cmd_fs_manager_list_begin(fs, device_id, path, list); + if (err != ESP_OK) return err; + list_open = true; + + for (;;) + { + err = cmd_fs_manager_list_next(fs, list, entry); + if (err == ESP_ERR_NOT_FOUND) + { + err = ESP_OK; + break; + } + if (err != ESP_OK) break; + if (entry->type == CMD_ENTRY_PARENT) continue; + + err = cmd_fs_join_path(path, entry->name, child_path, CMD_PATH_MAX); + if (err != ESP_OK) break; + + if (entry->type == CMD_ENTRY_FILE) + { + err = cmd_fileops_delete_file_with_progress(fs, + device_id, + child_path, + entry, + options, + bytes_done, + bytes_total, + files_done, + files_total, + can_cancel); + if (err != ESP_OK) break; + } + else if (entry->type == CMD_ENTRY_DIR) + { + err = cmd_fileops_delete_dir_recursive(fs, + device_id, + child_path, + options, + bytes_done, + bytes_total, + files_done, + files_total, + depth + 1, + can_cancel); + if (err != ESP_OK) break; + } + else + { + err = ESP_ERR_NOT_SUPPORTED; + break; + } + } + + if (list_open) + cmd_fs_manager_list_close(fs, list); + + if (err != ESP_OK) return err; + + err = cmd_fs_manager_remove(fs, device_id, path); + if (err != ESP_OK) return err; + + if (!cmd_fileops_progress_call_ex(options, + CMD_FILEOPS_OP_DELETE, + filename, + *bytes_done, + bytes_total, + *files_done, + files_total, + can_cancel)) return CMD_ERR_CANCELLED; + + return ESP_OK; +} + +esp_err_t cmd_fileops_count_selected_tree_bytes(CmdPanel *panel, uint64_t *out_bytes_total) +{ + CmdFileopsWorkspace *workspace; + uint64_t bytes_total = 0; + size_t files_total = 0; + char *path; + esp_err_t err; + + if (!panel || !out_bytes_total) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + path = workspace->scratch_path; + + err = cmd_fileops_ensure_device(panel->fs, panel->device_id); + if (err != ESP_OK) return err; + + for (size_t i = 0; i < panel->count; i++) + { + const cmd_file_entry_t *entry = &panel->entries[i]; + + if (!cmd_fileops_entry_is_marked(entry)) continue; + + if (entry->type == CMD_ENTRY_FILE) + { + bytes_total += entry->size; + continue; + } + + if (entry->type != CMD_ENTRY_DIR) return ESP_ERR_NOT_SUPPORTED; + + err = cmd_fileops_join_selected_path(panel, entry, path, CMD_PATH_MAX); + if (err != ESP_OK) return err; + + err = cmd_fileops_scan_tree(panel->fs, + panel->device_id, + path, + 0, + &bytes_total, + &files_total); + if (err != ESP_OK) return err; + } + + *out_bytes_total = bytes_total; + return ESP_OK; +} + +esp_err_t cmd_fileops_copy_file_with_context(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + const cmd_file_entry_t *src_entry, + cmd_device_id_t dst_device, + const char *dst_path, + CmdFileopsTreeCtx *ctx) +{ + CmdFileopsWorkspace *workspace; + CmdFsFile src_file = {}; + CmdFsFile dst_file = {}; + cmd_file_entry_t entry; + const CmdFileopsOptions *options; + const char *filename; + bool src_open = false; + bool dst_open = false; + bool dst_existed = false; + bool dst_created = false; + uint64_t file_done = 0; + uint64_t file_total; + esp_err_t err; + + if (!fs || !src_path || !dst_path || !ctx) return ESP_ERR_INVALID_ARG; + if (cmd_fileops_same_location(src_device, src_path, dst_device, dst_path)) return ESP_ERR_INVALID_STATE; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + + options = ctx->options; + + if (!src_entry) + { + err = cmd_fs_manager_stat(fs, src_device, src_path, &entry); + if (err != ESP_OK) return err; + src_entry = &entry; + } + + if (src_entry->type != CMD_ENTRY_FILE) return ESP_ERR_NOT_SUPPORTED; + + err = cmd_fileops_check_dst_available(fs, dst_device, dst_path, options, &dst_existed); + if (err != ESP_OK) return err; + + file_total = src_entry->size; + filename = cmd_fs_filename_ptr(src_path); + + if (!cmd_fileops_tree_progress(ctx, filename, true)) return CMD_ERR_CANCELLED; + + err = cmd_fs_manager_open_read(fs, src_device, src_path, &src_file); + if (err != ESP_OK) goto done; + src_open = true; + + err = cmd_fs_manager_open_write(fs, dst_device, dst_path, &dst_file); + if (err != ESP_OK) goto done; + dst_open = true; + dst_created = !dst_existed; + + while (file_done < file_total) + { + uint64_t left = file_total - file_done; + size_t todo = left > CMD_FILEOPS_BUFFER_SIZE ? CMD_FILEOPS_BUFFER_SIZE : (size_t)left; + size_t got = 0; + size_t wrote = 0; + + err = cmd_fs_manager_read(fs, &src_file, workspace->copy_buffer, todo, &got); + if (err != ESP_OK) goto done; + if (got == 0) + { + err = ESP_FAIL; + goto done; + } + + err = cmd_fs_manager_write(fs, &dst_file, workspace->copy_buffer, got, &wrote); + if (err != ESP_OK) goto done; + if (wrote != got) + { + err = ESP_FAIL; + goto done; + } + + file_done += got; + ctx->bytes_done += got; + if (!cmd_fileops_tree_progress(ctx, filename, file_done < file_total)) + { + err = CMD_ERR_CANCELLED; + goto done; + } + } + + ctx->files_done++; + if (!cmd_fileops_tree_progress(ctx, filename, false)) + { + err = CMD_ERR_CANCELLED; + goto done; + } + + err = ESP_OK; + +done: + err = cmd_fileops_close_keep_first(fs, &dst_file, &dst_open, err); + err = cmd_fileops_close_keep_first(fs, &src_file, &src_open, err); + + if (err != ESP_OK && dst_created) + cmd_fs_manager_remove(fs, dst_device, dst_path); + + return err; +} + +esp_err_t cmd_fileops_copy_dir_with_context(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + CmdFileopsTreeCtx *ctx, + size_t depth) +{ + CmdFileopsWorkspace *workspace; + CmdFsList *list; + cmd_file_entry_t *entry; + char *src_child; + char *dst_child; + bool list_open = false; + esp_err_t err; + + if (!fs || !src_path || !dst_path || !ctx) return ESP_ERR_INVALID_ARG; + if (depth >= CMD_FILEOPS_MAX_DEPTH) return ESP_ERR_INVALID_SIZE; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + + list = &workspace->lists[depth]; + entry = &workspace->entries[depth]; + src_child = workspace->src_paths[depth + 1]; + dst_child = workspace->dst_paths[depth + 1]; + memset(list, 0, sizeof(*list)); + + err = cmd_fileops_prepare_dst_dir(fs, dst_device, dst_path, ctx->options); + if (err != ESP_OK) return err; + + if (!cmd_fileops_tree_progress(ctx, cmd_fs_filename_ptr(src_path), true)) return CMD_ERR_CANCELLED; + + err = cmd_fs_manager_list_begin(fs, src_device, src_path, list); + if (err != ESP_OK) return err; + list_open = true; + + for (;;) + { + err = cmd_fs_manager_list_next(fs, list, entry); + if (err == ESP_ERR_NOT_FOUND) + { + err = ESP_OK; + break; + } + if (err != ESP_OK) break; + if (entry->type == CMD_ENTRY_PARENT) continue; + + err = cmd_fs_join_path(src_path, entry->name, src_child, CMD_PATH_MAX); + if (err != ESP_OK) break; + + err = cmd_fs_join_path(dst_path, entry->name, dst_child, CMD_PATH_MAX); + if (err != ESP_OK) break; + + if (entry->type == CMD_ENTRY_FILE) + { + err = cmd_fileops_copy_file_with_context(fs, + src_device, + src_child, + entry, + dst_device, + dst_child, + ctx); + if (err != ESP_OK) break; + } + else if (entry->type == CMD_ENTRY_DIR) + { + err = cmd_fileops_copy_dir_with_context(fs, + src_device, + src_child, + dst_device, + dst_child, + ctx, + depth + 1); + if (err != ESP_OK) break; + } + else + { + err = ESP_ERR_NOT_SUPPORTED; + break; + } + } + + if (list_open) + cmd_fs_manager_list_close(fs, list); + + return err; +} + +esp_err_t cmd_fileops_copy_path_as_op(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + const CmdFileopsOptions *options, + cmd_fileops_op_t op) +{ + CmdFileopsWorkspace *workspace; + CmdFileopsTreeCtx ctx; + cmd_file_entry_t src_entry; + const char *src_root; + const char *dst_root; + uint64_t bytes_total = 0; + size_t files_total = 0; + esp_err_t err; + + if (!fs || !src_path || !dst_path) return ESP_ERR_INVALID_ARG; + if (cmd_fileops_same_location(src_device, src_path, dst_device, dst_path)) return ESP_ERR_INVALID_STATE; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + + err = cmd_fileops_copy_path_to_slot(workspace->src_paths[0], CMD_PATH_MAX, src_path); + if (err != ESP_OK) return err; + + err = cmd_fileops_copy_path_to_slot(workspace->dst_paths[0], CMD_PATH_MAX, dst_path); + if (err != ESP_OK) return err; + + src_root = workspace->src_paths[0]; + dst_root = workspace->dst_paths[0]; + + err = cmd_fileops_ensure_device(fs, src_device); + if (err != ESP_OK) return err; + + err = cmd_fileops_ensure_device(fs, dst_device); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_stat(fs, src_device, src_root, &src_entry); + if (err != ESP_OK) return err; + + if (src_entry.type == CMD_ENTRY_FILE) + { + err = cmd_fileops_prepare_tree_context(&ctx, options, op, src_entry.size, 1); + if (err != ESP_OK) return err; + + return cmd_fileops_copy_file_with_context(fs, + src_device, + src_root, + &src_entry, + dst_device, + dst_root, + &ctx); + } + + if (src_entry.type != CMD_ENTRY_DIR) return ESP_ERR_NOT_SUPPORTED; + if (!cmd_fileops_should_recurse(options)) return ESP_ERR_NOT_SUPPORTED; + if (src_device == dst_device && cmd_fileops_path_contains(src_root, dst_root)) + return ESP_ERR_INVALID_STATE; + + err = cmd_fileops_scan_tree(fs, src_device, src_root, 0, &bytes_total, &files_total); + if (err != ESP_OK) return err; + + err = cmd_fileops_prepare_tree_context(&ctx, options, op, bytes_total, files_total); + if (err != ESP_OK) return err; + + err = cmd_fileops_copy_dir_with_context(fs, src_device, src_root, dst_device, dst_root, &ctx, 0); + if (err != ESP_OK) return err; + + if (!cmd_fileops_tree_progress(&ctx, cmd_fs_filename_ptr(src_root), false)) return CMD_ERR_CANCELLED; + return ESP_OK; +} + +esp_err_t cmd_fileops_copy_path(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + const CmdFileopsOptions *options) +{ + return cmd_fileops_copy_path_as_op(fs, src_device, src_path, dst_device, dst_path, options, CMD_FILEOPS_OP_COPY); +} + +esp_err_t cmd_fileops_copy_file(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + const CmdFileopsOptions *options) +{ + CmdFileopsTreeCtx ctx; + cmd_file_entry_t src_entry; + esp_err_t err; + + if (!fs || !src_path || !dst_path) return ESP_ERR_INVALID_ARG; + if (cmd_fileops_same_location(src_device, src_path, dst_device, dst_path)) return ESP_ERR_INVALID_STATE; + + err = cmd_fileops_ensure_device(fs, src_device); + if (err != ESP_OK) return err; + + err = cmd_fileops_ensure_device(fs, dst_device); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_stat(fs, src_device, src_path, &src_entry); + if (err != ESP_OK) return err; + if (src_entry.type != CMD_ENTRY_FILE) return ESP_ERR_NOT_SUPPORTED; + + err = cmd_fileops_prepare_tree_context(&ctx, options, CMD_FILEOPS_OP_COPY, src_entry.size, 1); + if (err != ESP_OK) return err; + + return cmd_fileops_copy_file_with_context(fs, + src_device, + src_path, + &src_entry, + dst_device, + dst_path, + &ctx); +} + +esp_err_t cmd_fileops_move_path(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + CmdFileopsTreeCtx ctx; + CmdFileopsOptions delete_options = {}; + CmdFsDriver *driver; + cmd_file_entry_t src_entry; + const char *src_root; + const char *dst_root; + const char *filename; + uint64_t bytes_total = 0; + size_t files_total = 0; + esp_err_t err; + + if (!fs || !src_path || !dst_path) return ESP_ERR_INVALID_ARG; + if (cmd_fs_path_is_root(src_path)) return ESP_ERR_INVALID_ARG; + if (cmd_fileops_same_location(src_device, src_path, dst_device, dst_path)) return ESP_ERR_INVALID_STATE; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + + err = cmd_fileops_copy_path_to_slot(workspace->src_paths[0], CMD_PATH_MAX, src_path); + if (err != ESP_OK) return err; + + err = cmd_fileops_copy_path_to_slot(workspace->dst_paths[0], CMD_PATH_MAX, dst_path); + if (err != ESP_OK) return err; + + src_root = workspace->src_paths[0]; + dst_root = workspace->dst_paths[0]; + + err = cmd_fileops_ensure_device(fs, src_device); + if (err != ESP_OK) return err; + + err = cmd_fileops_ensure_device(fs, dst_device); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_stat(fs, src_device, src_root, &src_entry); + if (err != ESP_OK) return err; + + if (src_entry.type == CMD_ENTRY_DIR && src_device == dst_device && + cmd_fileops_path_contains(src_root, dst_root)) return ESP_ERR_INVALID_STATE; + + err = cmd_fileops_check_dst_available(fs, dst_device, dst_root, options, NULL); + if (err != ESP_OK) return err; + + if (src_entry.type == CMD_ENTRY_FILE) + { + bytes_total = src_entry.size; + files_total = 1; + } + else if (src_entry.type == CMD_ENTRY_DIR) + { + if (!cmd_fileops_should_recurse(options)) return ESP_ERR_NOT_SUPPORTED; + err = cmd_fileops_scan_tree(fs, src_device, src_root, 0, &bytes_total, &files_total); + if (err != ESP_OK) return err; + } + else + { + return ESP_ERR_NOT_SUPPORTED; + } + + filename = cmd_fs_filename_ptr(src_root); + err = cmd_fileops_prepare_tree_context(&ctx, options, CMD_FILEOPS_OP_MOVE, bytes_total, files_total); + if (err != ESP_OK) return err; + + driver = cmd_fs_manager_get_driver(fs, src_device); + if (src_device == dst_device && driver && driver->rename) + { + if (!cmd_fileops_tree_progress(&ctx, filename, true)) return CMD_ERR_CANCELLED; + + err = cmd_fs_manager_rename(fs, src_device, src_root, dst_root); + if (err == ESP_OK) + { + ctx.bytes_done = ctx.bytes_total; + ctx.files_done = ctx.files_total; + if (!cmd_fileops_tree_progress(&ctx, filename, false)) return CMD_ERR_CANCELLED; + return ESP_OK; + } + + if (src_entry.type != CMD_ENTRY_DIR) return err; + } + + err = cmd_fileops_copy_path_as_op(fs, + src_device, + src_root, + dst_device, + dst_root, + options, + CMD_FILEOPS_OP_MOVE); + if (err != ESP_OK) return err; + + if (options) + delete_options = *options; + delete_options.flags |= CMD_FILEOPS_FLAG_RECURSIVE; + delete_options.progress = NULL; + delete_options.progress_ctx = NULL; + + return cmd_fileops_delete_path(fs, src_device, src_root, &delete_options); +} + +esp_err_t cmd_fileops_delete_path(CmdFsManager *fs, + cmd_device_id_t device_id, + const char *path, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + cmd_file_entry_t entry; + const char *path_root; + const char *filename; + uint64_t bytes_done = 0; + uint64_t bytes_total = 0; + size_t files_done = 0; + size_t files_total = 0; + esp_err_t err; + + if (!fs || !path) return ESP_ERR_INVALID_ARG; + if (cmd_fs_path_is_root(path)) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + + err = cmd_fileops_copy_path_to_slot(workspace->src_paths[0], CMD_PATH_MAX, path); + if (err != ESP_OK) return err; + + path_root = workspace->src_paths[0]; + + err = cmd_fileops_ensure_device(fs, device_id); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_stat(fs, device_id, path_root, &entry); + if (err != ESP_OK) return err; + + if (entry.type == CMD_ENTRY_PARENT) return ESP_ERR_INVALID_ARG; + if (entry.type == CMD_ENTRY_UNKNOWN) return ESP_ERR_NOT_SUPPORTED; + + filename = cmd_fs_filename_ptr(path_root); + + if (entry.type == CMD_ENTRY_FILE) + { + bytes_total = entry.size; + files_total = 1; + return cmd_fileops_delete_file_with_progress(fs, + device_id, + path_root, + &entry, + options, + &bytes_done, + bytes_total, + &files_done, + files_total, + true); + } + + if (entry.type != CMD_ENTRY_DIR) return ESP_ERR_NOT_SUPPORTED; + + if (!cmd_fileops_should_recurse(options)) + { + if (!cmd_fileops_progress_call_ex(options, + CMD_FILEOPS_OP_DELETE, + filename, + 0, + 0, + 0, + 0, + true)) return CMD_ERR_CANCELLED; + + err = cmd_fs_manager_remove(fs, device_id, path_root); + if (err != ESP_OK) return err; + + if (!cmd_fileops_progress_call_ex(options, + CMD_FILEOPS_OP_DELETE, + filename, + 0, + 0, + 0, + 0, + false)) return CMD_ERR_CANCELLED; + + return ESP_OK; + } + + err = cmd_fileops_scan_tree(fs, device_id, path_root, 0, &bytes_total, &files_total); + if (err != ESP_OK) return err; + + err = cmd_fileops_delete_dir_recursive(fs, + device_id, + path_root, + options, + &bytes_done, + bytes_total, + &files_done, + files_total, + 0, + true); + if (err != ESP_OK) return err; + + if (!cmd_fileops_progress_call_ex(options, + CMD_FILEOPS_OP_DELETE, + filename, + bytes_done, + bytes_total, + files_done, + files_total, + false)) return CMD_ERR_CANCELLED; + + return ESP_OK; +} + +typedef struct +{ + const CmdFileopsOptions *options; + cmd_fileops_op_t op; + uint64_t bytes_done_base; + uint64_t item_bytes_done_max; + uint64_t bytes_total; + size_t files_done_base; + size_t files_total; +} CmdFileopsBatchCtx; + +bool cmd_fileops_batch_progress_cb(const CmdFileopsProgress *progress, void *ctx) +{ + CmdFileopsBatchCtx *batch = (CmdFileopsBatchCtx *)ctx; + uint64_t bytes_done; + size_t files_done; + + if (!batch || !progress) return true; + + if (progress->bytes_done > batch->item_bytes_done_max) + batch->item_bytes_done_max = progress->bytes_done; + + bytes_done = batch->bytes_done_base + batch->item_bytes_done_max; + if (bytes_done > batch->bytes_total) bytes_done = batch->bytes_total; + + files_done = batch->files_done_base; + if (!progress->can_cancel && progress->bytes_done >= progress->bytes_total) + files_done++; + + if (files_done > batch->files_total) files_done = batch->files_total; + + return cmd_fileops_progress_call_ex(batch->options, + batch->op, + progress->filename, + bytes_done, + batch->bytes_total, + files_done, + batch->files_total, + progress->can_cancel); +} + +bool cmd_fileops_entry_is_marked(const cmd_file_entry_t *entry) +{ + if (!entry) return false; + if (!(entry->flags & CMD_ENTRY_FLAG_SELECTED)) return false; + if (entry->type == CMD_ENTRY_PARENT) return false; + return true; +} + +esp_err_t cmd_fileops_validate_selected_group(const CmdPanel *active, + const CmdPanel *passive, + cmd_fileops_op_t op) +{ + if (!active) return ESP_ERR_INVALID_ARG; + if ((op == CMD_FILEOPS_OP_COPY || op == CMD_FILEOPS_OP_MOVE) && !passive) return ESP_ERR_INVALID_ARG; + + for (size_t i = 0; i < active->count; i++) + { + const cmd_file_entry_t *entry = &active->entries[i]; + + if (!cmd_fileops_entry_is_marked(entry)) continue; + if (entry->type == CMD_ENTRY_FILE || entry->type == CMD_ENTRY_DIR) continue; + return ESP_ERR_NOT_SUPPORTED; + } + + return ESP_OK; +} + +void cmd_fileops_batch_options(CmdFileopsBatchCtx *batch, + const CmdFileopsOptions *options, + CmdFileopsOptions *out_options) +{ + if (!out_options) return; + + if (options) + *out_options = *options; + else + memset(out_options, 0, sizeof(*out_options)); + + out_options->progress = cmd_fileops_batch_progress_cb; + out_options->progress_ctx = batch; +} + +esp_err_t cmd_fileops_make_selected_paths(const CmdPanel *active, + const CmdPanel *passive, + const cmd_file_entry_t *entry, + char *src_path, + size_t src_path_size, + char *dst_path, + size_t dst_path_size) +{ + esp_err_t err; + + if (!active || !passive || !entry || !src_path || !dst_path) return ESP_ERR_INVALID_ARG; + + err = cmd_fileops_join_selected_path(active, entry, src_path, src_path_size); + if (err != ESP_OK) return err; + + return cmd_fs_join_path(passive->current_path, entry->name, dst_path, dst_path_size); +} + +esp_err_t cmd_fileops_copy_selected_group(CmdPanel *active, + CmdPanel *passive, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + CmdFileopsBatchCtx batch = {}; + CmdFileopsOptions item_options = {}; + char *src_path; + char *dst_path; + esp_err_t err; + + if (!active || !passive) return ESP_ERR_INVALID_ARG; + if (active->fs != passive->fs) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + src_path = workspace->scratch_src_path; + dst_path = workspace->scratch_dst_path; + + cmd_panel_update_selection_stats(active); + if (!cmd_panel_has_selection(active)) return ESP_ERR_NOT_FOUND; + + err = cmd_fileops_validate_selected_group(active, passive, CMD_FILEOPS_OP_COPY); + if (err != ESP_OK) return err; + + batch.options = options; + batch.op = CMD_FILEOPS_OP_COPY; + err = cmd_fileops_count_selected_tree_bytes(active, &batch.bytes_total); + if (err != ESP_OK) return err; + batch.files_total = active->selected_count; + cmd_fileops_batch_options(&batch, options, &item_options); + + for (size_t i = 0; i < active->count; i++) + { + const cmd_file_entry_t *entry = &active->entries[i]; + + if (!cmd_fileops_entry_is_marked(entry)) continue; + + err = cmd_fileops_make_selected_paths(active, + passive, + entry, + src_path, + CMD_PATH_MAX, + dst_path, + CMD_PATH_MAX); + if (err != ESP_OK) return err; + + batch.item_bytes_done_max = 0; + err = cmd_fileops_copy_path(active->fs, + active->device_id, + src_path, + passive->device_id, + dst_path, + &item_options); + if (err != ESP_OK) return err; + + batch.files_done_base++; + batch.bytes_done_base += batch.item_bytes_done_max; + } + + return cmd_panel_reload(passive); +} + +esp_err_t cmd_fileops_move_selected_group(CmdPanel *active, + CmdPanel *passive, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + CmdFileopsBatchCtx batch = {}; + CmdFileopsOptions item_options = {}; + char *src_path; + char *dst_path; + esp_err_t err; + + if (!active || !passive) return ESP_ERR_INVALID_ARG; + if (active->fs != passive->fs) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + src_path = workspace->scratch_src_path; + dst_path = workspace->scratch_dst_path; + + cmd_panel_update_selection_stats(active); + if (!cmd_panel_has_selection(active)) return ESP_ERR_NOT_FOUND; + + err = cmd_fileops_validate_selected_group(active, passive, CMD_FILEOPS_OP_MOVE); + if (err != ESP_OK) return err; + + batch.options = options; + batch.op = CMD_FILEOPS_OP_MOVE; + err = cmd_fileops_count_selected_tree_bytes(active, &batch.bytes_total); + if (err != ESP_OK) return err; + batch.files_total = active->selected_count; + cmd_fileops_batch_options(&batch, options, &item_options); + + for (size_t i = 0; i < active->count; i++) + { + const cmd_file_entry_t *entry = &active->entries[i]; + + if (!cmd_fileops_entry_is_marked(entry)) continue; + + err = cmd_fileops_make_selected_paths(active, + passive, + entry, + src_path, + CMD_PATH_MAX, + dst_path, + CMD_PATH_MAX); + if (err != ESP_OK) return err; + + batch.item_bytes_done_max = 0; + err = cmd_fileops_move_path(active->fs, + active->device_id, + src_path, + passive->device_id, + dst_path, + &item_options); + if (err != ESP_OK) return err; + + batch.files_done_base++; + batch.bytes_done_base += batch.item_bytes_done_max; + } + + err = cmd_panel_reload(active); + if (err != ESP_OK) return err; + + if (passive != active) + err = cmd_panel_reload(passive); + + return err; +} + +esp_err_t cmd_fileops_delete_selected_group(CmdPanel *panel, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + CmdFileopsBatchCtx batch = {}; + CmdFileopsOptions item_options = {}; + char *path; + esp_err_t err; + + if (!panel) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + path = workspace->scratch_path; + + cmd_panel_update_selection_stats(panel); + if (!cmd_panel_has_selection(panel)) return ESP_ERR_NOT_FOUND; + + err = cmd_fileops_validate_selected_group(panel, NULL, CMD_FILEOPS_OP_DELETE); + if (err != ESP_OK) return err; + + batch.options = options; + batch.op = CMD_FILEOPS_OP_DELETE; + err = cmd_fileops_count_selected_tree_bytes(panel, &batch.bytes_total); + if (err != ESP_OK) return err; + batch.files_total = panel->selected_count; + cmd_fileops_batch_options(&batch, options, &item_options); + + for (size_t i = 0; i < panel->count; i++) + { + const cmd_file_entry_t *entry = &panel->entries[i]; + + if (!cmd_fileops_entry_is_marked(entry)) continue; + + err = cmd_fileops_join_selected_path(panel, entry, path, CMD_PATH_MAX); + if (err != ESP_OK) return err; + + batch.item_bytes_done_max = 0; + err = cmd_fileops_delete_path(panel->fs, panel->device_id, path, &item_options); + if (err != ESP_OK) return err; + + batch.files_done_base++; + batch.bytes_done_base += batch.item_bytes_done_max; + } + + return cmd_panel_reload(panel); +} + +esp_err_t cmd_fileops_copy_selected(CmdPanel *active, + CmdPanel *passive, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + const cmd_file_entry_t *entry; + char *src_path; + char *dst_path; + esp_err_t err; + + if (!active || !passive) return ESP_ERR_INVALID_ARG; + if (active->fs != passive->fs) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + src_path = workspace->scratch_src_path; + dst_path = workspace->scratch_dst_path; + + cmd_panel_update_selection_stats(active); + if (cmd_panel_has_selection(active)) + return cmd_fileops_copy_selected_group(active, passive, options); + + entry = cmd_panel_get_selected_entry(active); + if (!entry) return ESP_ERR_NOT_FOUND; + if (entry->type == CMD_ENTRY_PARENT) return ESP_ERR_INVALID_ARG; + if (entry->type != CMD_ENTRY_FILE && entry->type != CMD_ENTRY_DIR) return ESP_ERR_NOT_SUPPORTED; + + err = cmd_fileops_join_selected_path(active, entry, src_path, CMD_PATH_MAX); + if (err != ESP_OK) return err; + + err = cmd_fs_join_path(passive->current_path, entry->name, dst_path, CMD_PATH_MAX); + if (err != ESP_OK) return err; + + err = cmd_fileops_copy_path(active->fs, + active->device_id, + src_path, + passive->device_id, + dst_path, + options); + if (err != ESP_OK) return err; + + return cmd_panel_reload(passive); +} + +esp_err_t cmd_fileops_move_selected(CmdPanel *active, + CmdPanel *passive, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + const cmd_file_entry_t *entry; + char *src_path; + char *dst_path; + esp_err_t err; + + if (!active || !passive) return ESP_ERR_INVALID_ARG; + if (active->fs != passive->fs) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + src_path = workspace->scratch_src_path; + dst_path = workspace->scratch_dst_path; + + cmd_panel_update_selection_stats(active); + if (cmd_panel_has_selection(active)) + return cmd_fileops_move_selected_group(active, passive, options); + + entry = cmd_panel_get_selected_entry(active); + if (!entry) return ESP_ERR_NOT_FOUND; + if (entry->type == CMD_ENTRY_PARENT) return ESP_ERR_INVALID_ARG; + + err = cmd_fileops_join_selected_path(active, entry, src_path, CMD_PATH_MAX); + if (err != ESP_OK) return err; + + err = cmd_fs_join_path(passive->current_path, entry->name, dst_path, CMD_PATH_MAX); + if (err != ESP_OK) return err; + + err = cmd_fileops_move_path(active->fs, + active->device_id, + src_path, + passive->device_id, + dst_path, + options); + if (err != ESP_OK) return err; + + err = cmd_panel_reload(active); + if (err != ESP_OK) return err; + + if (passive != active) + err = cmd_panel_reload(passive); + + return err; +} + +esp_err_t cmd_fileops_delete_selected(CmdPanel *panel, + const CmdFileopsOptions *options) +{ + CmdFileopsWorkspace *workspace; + const cmd_file_entry_t *entry; + char *path; + esp_err_t err; + + if (!panel) return ESP_ERR_INVALID_ARG; + + workspace = cmd_fileops_workspace(); + if (!workspace) return ESP_ERR_NO_MEM; + path = workspace->scratch_path; + + cmd_panel_update_selection_stats(panel); + if (cmd_panel_has_selection(panel)) + return cmd_fileops_delete_selected_group(panel, options); + + entry = cmd_panel_get_selected_entry(panel); + if (!entry) return ESP_ERR_NOT_FOUND; + if (entry->type == CMD_ENTRY_PARENT) return ESP_ERR_INVALID_ARG; + + err = cmd_fileops_join_selected_path(panel, entry, path, CMD_PATH_MAX); + if (err != ESP_OK) return err; + + err = cmd_fileops_delete_path(panel->fs, panel->device_id, path, options); + if (err != ESP_OK) return err; + + return cmd_panel_reload(panel); +} + +// --------------- cmd_fs.cpp --------------- + +esp_err_t cmd_fs_errno_to_err(int err) +{ + if (err == 0) return ESP_OK; + if (err == ENOENT) return ESP_ERR_NOT_FOUND; + if (err == ENOMEM) return ESP_ERR_NO_MEM; + if (err == EINVAL) return ESP_ERR_INVALID_ARG; + if (err == ENAMETOOLONG) return CMD_ERR_PATH_TOO_LONG; + if (err == ENOTDIR) return ESP_ERR_NOT_FOUND; + if (err == EEXIST) return ESP_ERR_INVALID_STATE; + if (err == ENOSPC) return ESP_ERR_NO_MEM; + return ESP_FAIL; +} + + +const char *cmd_device_name(cmd_device_id_t id) +{ + switch (id) + { + case CMD_DEVICE_SD: return "SD"; + case CMD_DEVICE_FAT: return "FAT"; + case CMD_DEVICE_TSF: return "TSF"; + default: return "?"; + } +} + +const char *cmd_entry_type_name(cmd_entry_type_t type) +{ + switch (type) + { + case CMD_ENTRY_FILE: return "file"; + case CMD_ENTRY_DIR: return "dir"; + case CMD_ENTRY_PARENT: return "parent"; + case CMD_ENTRY_UNKNOWN: return "unknown"; + default: return "unknown"; + } +} + +bool cmd_fs_is_valid_device_id(cmd_device_id_t device_id) +{ + if (device_id < 0) return false; + if (device_id >= CMD_DEVICE_MAX) return false; + return true; +} + +esp_err_t cmd_fs_copy_path(const char *src, char *out, size_t out_size) +{ + const char *s = src; + size_t len; + + if (!out || out_size == 0) return ESP_ERR_INVALID_ARG; + if (!s || !s[0]) s = "/"; + + len = strlen(s); + if (len >= out_size) return CMD_ERR_PATH_TOO_LONG; + + memcpy(out, s, len); + out[len] = 0; + return ESP_OK; +} + +bool cmd_fs_path_is_root(const char *path) +{ + if (!path || !path[0]) return true; + if (strcmp(path, "/") == 0) return true; + return false; +} + +esp_err_t cmd_fs_join_path(const char *left, const char *right, char *out, size_t out_size) +{ + const char *a = left; + const char *b = right; + size_t a_len; + size_t b_len; + size_t pos = 0; + bool need_slash; + + if (!out || out_size == 0) return ESP_ERR_INVALID_ARG; + if (!a || !a[0]) a = "/"; + if (!b) b = ""; + + a_len = strlen(a); + while (a_len > 1 && a[a_len - 1] == '/') + a_len--; + + while (*b == '/') + b++; + + b_len = strlen(b); + + if (b_len == 0) + { + if (a_len >= out_size) return CMD_ERR_PATH_TOO_LONG; + memcpy(out, a, a_len); + out[a_len] = 0; + return ESP_OK; + } + + need_slash = !(a_len == 1 && a[0] == '/'); + + if (a_len + (need_slash ? 1 : 0) + b_len >= out_size) + return CMD_ERR_PATH_TOO_LONG; + + if (a_len == 1 && a[0] == '/') + { + out[pos++] = '/'; + } + else + { + memcpy(out + pos, a, a_len); + pos += a_len; + out[pos++] = '/'; + } + + memcpy(out + pos, b, b_len); + pos += b_len; + out[pos] = 0; + return ESP_OK; +} + +esp_err_t cmd_fs_join3_path(const char *left, const char *middle, const char *right, char *out, size_t out_size) +{ + char tmp[CMD_PATH_MAX]; + esp_err_t err; + + err = cmd_fs_join_path(left, middle, tmp, sizeof(tmp)); + if (err != ESP_OK) return err; + + return cmd_fs_join_path(tmp, right, out, out_size); +} + +esp_err_t cmd_fs_parent_path(const char *path, char *out, size_t out_size) +{ + const char *src = path; + size_t len; + size_t i; + size_t parent_len; + + if (!out || out_size == 0) return ESP_ERR_INVALID_ARG; + if (!src || !src[0]) src = "/"; + + len = strlen(src); + while (len > 1 && src[len - 1] == '/') + len--; + + if (len == 1 && src[0] == '/') + return cmd_fs_copy_path("/", out, out_size); + + i = len; + while (i > 0 && src[i - 1] != '/') + i--; + + if (i == 0 || i == 1) + return cmd_fs_copy_path("/", out, out_size); + + parent_len = i - 1; + if (parent_len >= out_size) return CMD_ERR_PATH_TOO_LONG; + + memcpy(out, src, parent_len); + out[parent_len] = 0; + return ESP_OK; +} + +const char *cmd_fs_filename_ptr(const char *path) +{ + const char *p = path; + const char *name = path; + + if (!path) return ""; + if (!path[0]) return ""; + + while (*p) + { + if (*p == '/' && p[1]) + name = p + 1; + p++; + } + + return name; +} + +esp_err_t cmd_fs_extract_filename(const char *path, char *out, size_t out_size) +{ + const char *src = path; + size_t len; + size_t end; + size_t start; + size_t name_len; + + if (!out || out_size == 0) return ESP_ERR_INVALID_ARG; + if (!src || !src[0]) + { + out[0] = 0; + return ESP_OK; + } + + len = strlen(src); + end = len; + while (end > 0 && src[end - 1] == '/') + end--; + + if (end == 0) + { + out[0] = 0; + return ESP_OK; + } + + start = end; + while (start > 0 && src[start - 1] != '/') + start--; + + name_len = end - start; + if (name_len >= out_size) return CMD_ERR_ENTRY_TOO_LONG; + + memcpy(out, src + start, name_len); + out[name_len] = 0; + return ESP_OK; +} + +bool cmd_fs_path_has_root_prefix(const char *root_path, const char *path) +{ + size_t root_len; + + if (!root_path || !root_path[0]) return false; + if (!path || !path[0]) return false; + + root_len = strlen(root_path); + if (root_len == 1 && root_path[0] == '/') return path[0] == '/'; + if (strncmp(path, root_path, root_len) != 0) return false; + + return path[root_len] == 0 || path[root_len] == '/'; +} + +esp_err_t cmd_fs_driver_build_abs_path(const CmdFsDriver *driver, const char *path, char *out, size_t out_size) +{ + if (!driver || !driver->root_path || !driver->root_path[0]) return ESP_ERR_INVALID_ARG; + if (cmd_fs_path_has_root_prefix(driver->root_path, path)) + return cmd_fs_copy_path(path, out, out_size); + + return cmd_fs_join_path(driver->root_path, path, out, out_size); +} + +esp_err_t cmd_fs_check_root_path(const CmdFsDriver *driver) +{ + DIR *dir; + struct stat st = {}; + + if (!driver || !driver->root_path || !driver->root_path[0]) return ESP_ERR_INVALID_ARG; + + errno = 0; + dir = opendir(driver->root_path); + if (dir) + { + closedir(dir); + return ESP_OK; + } + + errno = 0; + if (stat(driver->root_path, &st) != 0) return cmd_fs_errno_to_err(errno); + if (!S_ISDIR(st.st_mode)) return ESP_ERR_INVALID_STATE; + + return ESP_OK; +} + +esp_err_t cmd_fs_driver_space_info(const CmdFsDriver *driver, CmdFsSpaceInfo *info) +{ + uint64_t total = 0; + uint64_t free = 0; + esp_err_t err; + + if (!driver || !driver->root_path || !driver->root_path[0]) return ESP_ERR_INVALID_ARG; + if (!info) return ESP_ERR_INVALID_ARG; + + memset(info, 0, sizeof(*info)); + + if (driver->device_id == CMD_DEVICE_SD) + { + esp_log_level_t old_sd_host_level = sd_host_log_suppress_begin(); + + err = sd_fs_mount_quiet(driver->root_path, NULL); + if (err == ESP_OK) + err = esp_vfs_fat_info(driver->root_path, &total, &free); + + sd_host_log_suppress_end(old_sd_host_level); + if (err != ESP_OK) return err; + + info->total_bytes = total; + info->free_bytes = free; + return ESP_OK; + } + + if (driver->device_id == CMD_DEVICE_FAT) + { + err = esp_vfs_fat_info(driver->root_path, &total, &free); + if (err != ESP_OK) return err; + + info->total_bytes = total; + info->free_bytes = free; + return ESP_OK; + } + + if (driver->device_id == CMD_DEVICE_TSF) + return tsf_storage_space_info(&info->total_bytes, &info->free_bytes); + + return CMD_ERR_INVALID_DEVICE; +} + +cmd_entry_type_t cmd_fs_entry_type_from_mode(mode_t mode) +{ + if (S_ISDIR(mode)) return CMD_ENTRY_DIR; + if (S_ISREG(mode)) return CMD_ENTRY_FILE; + return CMD_ENTRY_UNKNOWN; +} + +esp_err_t cmd_fs_fill_entry_from_stat(const char *name, const struct stat *st, cmd_file_entry_t *entry) +{ + if (!name || !st || !entry) return ESP_ERR_INVALID_ARG; + + memset(entry, 0, sizeof(*entry)); + size_t name_len = strlen(name); + if (name_len >= sizeof(entry->name)) return CMD_ERR_ENTRY_TOO_LONG; + memcpy(entry->name, name, name_len); + entry->name[name_len] = 0; + + entry->type = cmd_fs_entry_type_from_mode(st->st_mode); + entry->size = (uint64_t)st->st_size; + entry->mtime = (uint64_t)st->st_mtime; + entry->flags = CMD_ENTRY_FLAG_NONE; + return ESP_OK; +} + +esp_err_t cmd_fs_fill_parent_entry(cmd_file_entry_t *entry) +{ + if (!entry) return ESP_ERR_INVALID_ARG; + + memset(entry, 0, sizeof(*entry)); + entry->name[0] = '.'; + entry->name[1] = '.'; + entry->name[2] = 0; + + entry->type = CMD_ENTRY_PARENT; + entry->size = 0; + entry->mtime = 0; + entry->flags = CMD_ENTRY_FLAG_NONE; + return ESP_OK; +} + +esp_err_t cmd_fs_posix_list_begin(CmdFsDriver *driver, const char *path, CmdFsList *list) +{ + DIR *dir; + esp_err_t err; + + if (!driver || !list) return ESP_ERR_INVALID_ARG; + + memset(list, 0, sizeof(*list)); + list->device_id = driver->device_id; + + err = cmd_fs_copy_path(path, list->path, sizeof(list->path)); + if (err != ESP_OK) return err; + + err = cmd_fs_driver_build_abs_path(driver, list->path, list->abs_path, sizeof(list->abs_path)); + if (err != ESP_OK) return err; + + dir = opendir(list->abs_path); + if (!dir) return cmd_fs_errno_to_err(errno); + + list->dir = dir; + list->parent_pending = !cmd_fs_path_is_root(list->path); + list->index = 0; + list->flags = 0; + return ESP_OK; +} + +esp_err_t cmd_fs_posix_list_next(CmdFsDriver *driver, CmdFsList *list, cmd_file_entry_t *entry) +{ + DIR *dir; + struct dirent *de; + char item_path[CMD_PATH_MAX]; + struct stat st = {}; + esp_err_t err; + + if (!driver || !list || !entry) return ESP_ERR_INVALID_ARG; + if (list->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + + if (list->parent_pending) + { + list->parent_pending = false; + list->index++; + return cmd_fs_fill_parent_entry(entry); + } + + dir = (DIR *)list->dir; + if (!dir) return ESP_ERR_INVALID_STATE; + + for (;;) + { + errno = 0; + de = readdir(dir); + if (!de) + { + if (errno != 0) return cmd_fs_errno_to_err(errno); + return ESP_ERR_NOT_FOUND; + } + + if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) + continue; + + err = cmd_fs_join_path(list->abs_path, de->d_name, item_path, sizeof(item_path)); + if (err != ESP_OK) return err; + + if (stat(item_path, &st) != 0) + { + memset(entry, 0, sizeof(*entry)); + err = cmd_fs_copy_path(de->d_name, entry->name, sizeof(entry->name)); + if (err != ESP_OK) return err; + entry->type = CMD_ENTRY_UNKNOWN; + entry->flags = CMD_ENTRY_FLAG_ERROR; + } + else + { + err = cmd_fs_fill_entry_from_stat(de->d_name, &st, entry); + if (err != ESP_OK) return err; + } + + list->index++; + return ESP_OK; + } +} + +void cmd_fs_posix_list_close(CmdFsDriver *driver, CmdFsList *list) +{ + if (!driver || !list) return; + if (list->device_id != driver->device_id) return; + + if (list->dir) + { + closedir((DIR *)list->dir); + list->dir = NULL; + } + + memset(list, 0, sizeof(*list)); +} + +esp_err_t cmd_fs_posix_stat(CmdFsDriver *driver, const char *path, cmd_file_entry_t *entry) +{ + char abs[CMD_PATH_MAX]; + struct stat st = {}; + esp_err_t err; + + if (!driver || !entry) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_driver_build_abs_path(driver, path, abs, sizeof(abs)); + if (err != ESP_OK) return err; + + if (stat(abs, &st) != 0) return cmd_fs_errno_to_err(errno); + + return cmd_fs_fill_entry_from_stat(cmd_fs_filename_ptr(abs), &st, entry); +} + +esp_err_t cmd_fs_posix_mkdir(CmdFsDriver *driver, const char *path) +{ + char abs[CMD_PATH_MAX]; + esp_err_t err; + + if (!driver) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_driver_build_abs_path(driver, path, abs, sizeof(abs)); + if (err != ESP_OK) return err; + + if (mkdir(abs, 0775) != 0) return cmd_fs_errno_to_err(errno); + return ESP_OK; +} + +esp_err_t cmd_fs_posix_remove(CmdFsDriver *driver, const char *path) +{ + char abs[CMD_PATH_MAX]; + esp_err_t err; + + if (!driver) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_driver_build_abs_path(driver, path, abs, sizeof(abs)); + if (err != ESP_OK) return err; + + if (remove(abs) != 0) return cmd_fs_errno_to_err(errno); + return ESP_OK; +} + +esp_err_t cmd_fs_posix_rename(CmdFsDriver *driver, const char *old_path, const char *new_path) +{ + char old_abs[CMD_PATH_MAX]; + char new_abs[CMD_PATH_MAX]; + esp_err_t err; + + if (!driver) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_driver_build_abs_path(driver, old_path, old_abs, sizeof(old_abs)); + if (err != ESP_OK) return err; + + err = cmd_fs_driver_build_abs_path(driver, new_path, new_abs, sizeof(new_abs)); + if (err != ESP_OK) return err; + + if (rename(old_abs, new_abs) != 0) return cmd_fs_errno_to_err(errno); + return ESP_OK; +} + +esp_err_t cmd_fs_posix_open(CmdFsDriver *driver, const char *path, const char *mode, CmdFsFile *file) +{ + char abs[CMD_PATH_MAX]; + esp_err_t err; + + if (!driver || !mode || !file) return ESP_ERR_INVALID_ARG; + + memset(file, 0, sizeof(*file)); + + err = cmd_fs_driver_build_abs_path(driver, path, abs, sizeof(abs)); + if (err != ESP_OK) return err; + + file->fp = fopen(abs, mode); + if (!file->fp) return cmd_fs_errno_to_err(errno); + + file->device_id = driver->device_id; + return ESP_OK; +} + +esp_err_t cmd_fs_posix_open_read(CmdFsDriver *driver, const char *path, CmdFsFile *file) +{ + return cmd_fs_posix_open(driver, path, "rb", file); +} + +esp_err_t cmd_fs_posix_open_write(CmdFsDriver *driver, const char *path, CmdFsFile *file) +{ + return cmd_fs_posix_open(driver, path, "wb", file); +} + +esp_err_t cmd_fs_posix_read(CmdFsDriver *driver, CmdFsFile *file, void *dst, size_t size, size_t *out_size) +{ + size_t got; + + if (!driver || !file || !dst) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->fp) return ESP_ERR_INVALID_STATE; + + got = fread(dst, 1, size, file->fp); + if (out_size) *out_size = got; + if (got < size && ferror(file->fp)) return ESP_FAIL; + + return ESP_OK; +} + +esp_err_t cmd_fs_posix_write(CmdFsDriver *driver, CmdFsFile *file, const void *src, size_t size, size_t *out_size) +{ + size_t done; + + if (!driver || !file || (!src && size)) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->fp) return ESP_ERR_INVALID_STATE; + + done = fwrite(src, 1, size, file->fp); + if (out_size) *out_size = done; + if (done != size) return ESP_FAIL; + + return ESP_OK; +} + +esp_err_t cmd_fs_posix_seek(CmdFsDriver *driver, CmdFsFile *file, int64_t offset, int whence) +{ + if (!driver || !file) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->fp) return ESP_ERR_INVALID_STATE; + if (whence != SEEK_SET && whence != SEEK_CUR && whence != SEEK_END) return ESP_ERR_INVALID_ARG; + if (offset < (int64_t)LONG_MIN || offset > (int64_t)LONG_MAX) return ESP_ERR_INVALID_ARG; + + if (fseek(file->fp, (long)offset, whence) != 0) return cmd_fs_errno_to_err(errno); + return ESP_OK; +} + +esp_err_t cmd_fs_posix_tell(CmdFsDriver *driver, CmdFsFile *file, uint64_t *out_pos) +{ + long pos; + + if (!driver || !file || !out_pos) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->fp) return ESP_ERR_INVALID_STATE; + + pos = ftell(file->fp); + if (pos < 0) return cmd_fs_errno_to_err(errno); + + *out_pos = (uint64_t)pos; + return ESP_OK; +} + +esp_err_t cmd_fs_posix_close(CmdFsDriver *driver, CmdFsFile *file) +{ + int rc; + + if (!driver || !file) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->fp) return ESP_OK; + + rc = fclose(file->fp); + file->fp = NULL; + file->device_id = CMD_DEVICE_INVALID; + if (rc != 0) return cmd_fs_errno_to_err(errno); + + return ESP_OK; +} + + +esp_err_t cmd_fs_tsf_require_volume(TSF_VOLUME **out_vol) +{ + esp_err_t err; + TSF_VOLUME *vol; + + if (!out_vol) return ESP_ERR_INVALID_ARG; + + err = tsf_storage_ensure_ready_quiet(); + if (err != ESP_OK) return err; + + vol = tsf_storage_volume(); + if (!vol) return ESP_ERR_INVALID_STATE; + + *out_vol = vol; + return ESP_OK; +} + +esp_err_t cmd_fs_tsf_fill_file_entry(const char *name, uint32_t size, cmd_file_entry_t *entry) +{ + esp_err_t err; + + if (!name || !entry) return ESP_ERR_INVALID_ARG; + + memset(entry, 0, sizeof(*entry)); + err = cmd_fs_copy_path(name, entry->name, sizeof(entry->name)); + if (err != ESP_OK) return err; + + entry->type = CMD_ENTRY_FILE; + entry->size = size; + entry->mtime = 0; + entry->flags = CMD_ENTRY_FLAG_NONE; + return ESP_OK; +} + +esp_err_t cmd_fs_tsf_list_begin(CmdFsDriver *driver, const char *path, CmdFsList *list) +{ + TSF_VOLUME *vol; + esp_err_t err; + TSF_RESULT res; + + if (!driver || !list) return ESP_ERR_INVALID_ARG; + if (!tsf_storage_path_is_root(path)) return ESP_ERR_NOT_SUPPORTED; + + err = cmd_fs_tsf_require_volume(&vol); + if (err != ESP_OK) return err; + + memset(list, 0, sizeof(*list)); + list->device_id = driver->device_id; + err = cmd_fs_copy_path(path, list->path, sizeof(list->path)); + if (err != ESP_OK) return err; + list->parent_pending = false; + list->index = 0; + + res = tsf_list(vol, TSF_LIST_START); + return tsf_storage_result_to_err(res); +} + +esp_err_t cmd_fs_tsf_list_next(CmdFsDriver *driver, CmdFsList *list, cmd_file_entry_t *entry) +{ + TSF_VOLUME *vol; + TSF_CONFIG *cfg; + TSF_FILE_STAT st = {}; + TSF_RESULT res; + esp_err_t err; + + if (!driver || !list || !entry) return ESP_ERR_INVALID_ARG; + if (list->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + + err = cmd_fs_tsf_require_volume(&vol); + if (err != ESP_OK) return err; + + cfg = vol->cfg; + if (!cfg || !cfg->buf) return ESP_ERR_INVALID_STATE; + + res = tsf_list(vol, TSF_LIST_NEXT); + if (res != TSF_RES_OK) return tsf_storage_result_to_err(res); + + res = tsf_stat(vol, &st, (const char *)cfg->buf); + if (res != TSF_RES_OK) return tsf_storage_result_to_err(res); + + list->index++; + return cmd_fs_tsf_fill_file_entry((const char *)cfg->buf, st.size, entry); +} + +void cmd_fs_tsf_list_close(CmdFsDriver *driver, CmdFsList *list) +{ + if (!driver || !list) return; + if (list->device_id != driver->device_id) return; + memset(list, 0, sizeof(*list)); +} + +esp_err_t cmd_fs_tsf_stat(CmdFsDriver *driver, const char *path, cmd_file_entry_t *entry) +{ + char name[CMD_FILE_NAME_MAX]; + TSF_VOLUME *vol; + TSF_FILE_STAT st = {}; + TSF_RESULT res; + esp_err_t err; + + if (!driver || !entry) return ESP_ERR_INVALID_ARG; + + if (tsf_storage_path_is_root(path)) + { + memset(entry, 0, sizeof(*entry)); + err = cmd_fs_copy_path("/", entry->name, sizeof(entry->name)); + if (err != ESP_OK) return err; + entry->type = CMD_ENTRY_DIR; + return ESP_OK; + } + + err = tsf_storage_name_from_path(path, name, sizeof(name)); + if (err != ESP_OK) return err; + + err = cmd_fs_tsf_require_volume(&vol); + if (err != ESP_OK) return err; + + res = tsf_stat(vol, &st, name); + if (res != TSF_RES_OK) return tsf_storage_result_to_err(res); + + return cmd_fs_tsf_fill_file_entry(name, st.size, entry); +} + +esp_err_t cmd_fs_tsf_mkdir(CmdFsDriver *driver, const char *path) +{ + if (!driver || !path) return ESP_ERR_INVALID_ARG; + return ESP_ERR_NOT_SUPPORTED; +} + +esp_err_t cmd_fs_tsf_remove(CmdFsDriver *driver, const char *path) +{ + char name[CMD_FILE_NAME_MAX]; + TSF_VOLUME *vol; + TSF_RESULT res; + esp_err_t err; + + if (!driver) return ESP_ERR_INVALID_ARG; + + err = tsf_storage_name_from_path(path, name, sizeof(name)); + if (err != ESP_OK) return err; + + err = cmd_fs_tsf_require_volume(&vol); + if (err != ESP_OK) return err; + + res = tsf_delete(vol, name); + return tsf_storage_result_to_err(res); +} + +esp_err_t cmd_fs_tsf_rename(CmdFsDriver *driver, const char *old_path, const char *new_path) +{ + if (!driver || !old_path || !new_path) return ESP_ERR_INVALID_ARG; + return ESP_ERR_NOT_SUPPORTED; +} + +esp_err_t cmd_fs_tsf_open_common(CmdFsDriver *driver, const char *path, u8 mode, CmdFsFile *file) +{ + char name[CMD_FILE_NAME_MAX]; + TSF_VOLUME *vol; + TSF_FILE *tsf_file; + TSF_RESULT res; + esp_err_t err; + + if (!driver || !file) return ESP_ERR_INVALID_ARG; + + err = tsf_storage_name_from_path(path, name, sizeof(name)); + if (err != ESP_OK) return err; + + err = cmd_fs_tsf_require_volume(&vol); + if (err != ESP_OK) return err; + + memset(file, 0, sizeof(*file)); + tsf_file = (TSF_FILE *)calloc(1, sizeof(TSF_FILE)); + if (!tsf_file) return ESP_ERR_NO_MEM; + + if (mode == TSF_MODE_CREATE_WRITE) + { + res = tsf_delete(vol, name); + if (res != TSF_RES_OK && res != TSF_RES_FILE_NOT_FOUND) + { + free(tsf_file); + return tsf_storage_result_to_err(res); + } + } + + res = tsf_open(vol, tsf_file, name, mode); + if (res != TSF_RES_OK) + { + free(tsf_file); + return tsf_storage_result_to_err(res); + } + + file->device_id = driver->device_id; + file->ctx = tsf_file; + file->flags = mode; + err = cmd_fs_copy_path(name, file->name, sizeof(file->name)); + if (err != ESP_OK) + { + tsf_close(tsf_file); + free(tsf_file); + memset(file, 0, sizeof(*file)); + return err; + } + + return ESP_OK; +} + +esp_err_t cmd_fs_tsf_open_read(CmdFsDriver *driver, const char *path, CmdFsFile *file) +{ + return cmd_fs_tsf_open_common(driver, path, TSF_MODE_READ, file); +} + +esp_err_t cmd_fs_tsf_open_write(CmdFsDriver *driver, const char *path, CmdFsFile *file) +{ + return cmd_fs_tsf_open_common(driver, path, TSF_MODE_CREATE_WRITE, file); +} + +esp_err_t cmd_fs_tsf_read(CmdFsDriver *driver, CmdFsFile *file, void *dst, size_t size, size_t *out_size) +{ + TSF_FILE *tsf_file; + TSF_RESULT res; + u32 before; + u32 todo; + + if (!driver || !file || !dst) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->ctx) return ESP_ERR_INVALID_STATE; + if (size > UINT32_MAX) return ESP_ERR_INVALID_SIZE; + + tsf_file = (TSF_FILE *)file->ctx; + before = tsf_file->seek; + todo = (u32)size; + + res = tsf_read(tsf_file, dst, todo); + if (out_size) *out_size = (size_t)(tsf_file->seek - before); + + return tsf_storage_result_to_err(res); +} + +esp_err_t cmd_fs_tsf_write(CmdFsDriver *driver, CmdFsFile *file, const void *src, size_t size, size_t *out_size) +{ + TSF_FILE *tsf_file; + TSF_RESULT res; + u32 before; + u32 todo; + + if (!driver || !file || (!src && size)) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->ctx) return ESP_ERR_INVALID_STATE; + if (size > UINT32_MAX) return ESP_ERR_INVALID_SIZE; + + tsf_file = (TSF_FILE *)file->ctx; + before = tsf_file->seek; + todo = (u32)size; + + res = tsf_write(tsf_file, src, todo); + if (out_size) *out_size = (size_t)(tsf_file->seek - before); + + return tsf_storage_result_to_err(res); +} + +esp_err_t cmd_fs_tsf_reopen_read(CmdFsDriver *driver, CmdFsFile *file) +{ + TSF_VOLUME *vol; + TSF_FILE *tsf_file; + TSF_RESULT res; + esp_err_t err; + + if (!driver || !file || !file->ctx) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_tsf_require_volume(&vol); + if (err != ESP_OK) return err; + + tsf_file = (TSF_FILE *)file->ctx; + memset(tsf_file, 0, sizeof(*tsf_file)); + res = tsf_open(vol, tsf_file, file->name, TSF_MODE_READ); + return tsf_storage_result_to_err(res); +} + +esp_err_t cmd_fs_tsf_seek(CmdFsDriver *driver, CmdFsFile *file, int64_t offset, int whence) +{ + TSF_FILE *tsf_file; + int64_t base; + int64_t target; + TSF_RESULT res; + esp_err_t err; + + if (!driver || !file) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->ctx) return ESP_ERR_INVALID_STATE; + if (whence != SEEK_SET && whence != SEEK_CUR && whence != SEEK_END) return ESP_ERR_INVALID_ARG; + + tsf_file = (TSF_FILE *)file->ctx; + if ((file->flags & TSF_MODE_WRITE) == TSF_MODE_WRITE) return ESP_ERR_NOT_SUPPORTED; + + if (whence == SEEK_SET) + base = 0; + else if (whence == SEEK_CUR) + base = (int64_t)tsf_file->seek; + else + base = (int64_t)tsf_file->size; + + target = base + offset; + if (target < 0 || target > (int64_t)tsf_file->size) return ESP_ERR_INVALID_ARG; + + if ((u32)target < tsf_file->seek) + { + err = cmd_fs_tsf_reopen_read(driver, file); + if (err != ESP_OK) return err; + tsf_file = (TSF_FILE *)file->ctx; + } + + res = tsf_seek(tsf_file, (u32)target - tsf_file->seek); + return tsf_storage_result_to_err(res); +} + +esp_err_t cmd_fs_tsf_tell(CmdFsDriver *driver, CmdFsFile *file, uint64_t *out_pos) +{ + TSF_FILE *tsf_file; + + if (!driver || !file || !out_pos) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->ctx) return ESP_ERR_INVALID_STATE; + + tsf_file = (TSF_FILE *)file->ctx; + *out_pos = tsf_file->seek; + return ESP_OK; +} + +esp_err_t cmd_fs_tsf_close(CmdFsDriver *driver, CmdFsFile *file) +{ + TSF_FILE *tsf_file; + TSF_RESULT res; + + if (!driver || !file) return ESP_ERR_INVALID_ARG; + if (file->device_id != driver->device_id) return CMD_ERR_INVALID_DEVICE; + if (!file->ctx) return ESP_OK; + + tsf_file = (TSF_FILE *)file->ctx; + res = tsf_close(tsf_file); + free(tsf_file); + memset(file, 0, sizeof(*file)); + file->device_id = CMD_DEVICE_INVALID; + + return tsf_storage_result_to_err(res); +} + +esp_err_t cmd_fs_sd_sense(CmdFsDriver *driver) +{ + if (!driver) return ESP_ERR_INVALID_ARG; + return sd_fs_mount_quiet(driver->root_path, NULL); +} + +esp_err_t cmd_fs_sd_mount_once() +{ + return sd_fs_mount_quiet(CMD_FS_SD_ROOT_PATH, NULL); +} + +esp_err_t cmd_fs_sd_mount(CmdFsDriver *driver) +{ + esp_err_t err; + + if (!driver) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_sd_mount_once(); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +esp_err_t cmd_fs_fat_mount(CmdFsDriver *driver) +{ + esp_err_t err; + + if (!driver) return ESP_ERR_INVALID_ARG; + + err = fs_ensure_ready_quiet(); + if (err != ESP_OK) return err; + + return cmd_fs_check_root_path(driver); +} + +esp_err_t cmd_fs_tsf_mount(CmdFsDriver *driver) +{ + if (!driver) return ESP_ERR_INVALID_ARG; + return tsf_storage_ensure_ready_quiet(); +} + +esp_err_t cmd_fs_sd_list_begin(CmdFsDriver *driver, const char *path, CmdFsList *list) +{ + esp_err_t err; + + if (!driver || !list) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + + return cmd_fs_posix_list_begin(driver, path, list); +} + +esp_err_t cmd_fs_sd_list_next(CmdFsDriver *driver, CmdFsList *list, cmd_file_entry_t *entry) +{ + esp_err_t err; + + err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + + return cmd_fs_posix_list_next(driver, list, entry); +} + +esp_err_t cmd_fs_sd_stat(CmdFsDriver *driver, const char *path, cmd_file_entry_t *entry) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_stat(driver, path, entry); +} + +esp_err_t cmd_fs_sd_mkdir(CmdFsDriver *driver, const char *path) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_mkdir(driver, path); +} + +esp_err_t cmd_fs_sd_remove(CmdFsDriver *driver, const char *path) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_remove(driver, path); +} + +esp_err_t cmd_fs_sd_rename(CmdFsDriver *driver, const char *old_path, const char *new_path) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_rename(driver, old_path, new_path); +} + +esp_err_t cmd_fs_sd_open_read(CmdFsDriver *driver, const char *path, CmdFsFile *file) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_open_read(driver, path, file); +} + +esp_err_t cmd_fs_sd_open_write(CmdFsDriver *driver, const char *path, CmdFsFile *file) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_open_write(driver, path, file); +} + +esp_err_t cmd_fs_sd_read(CmdFsDriver *driver, CmdFsFile *file, void *dst, size_t size, size_t *out_size) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_read(driver, file, dst, size, out_size); +} + +esp_err_t cmd_fs_sd_write(CmdFsDriver *driver, CmdFsFile *file, const void *src, size_t size, size_t *out_size) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_write(driver, file, src, size, out_size); +} + +esp_err_t cmd_fs_sd_seek(CmdFsDriver *driver, CmdFsFile *file, int64_t offset, int whence) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_seek(driver, file, offset, whence); +} + +esp_err_t cmd_fs_sd_tell(CmdFsDriver *driver, CmdFsFile *file, uint64_t *out_pos) +{ + esp_err_t err = cmd_fs_sd_sense(driver); + if (err != ESP_OK) return err; + return cmd_fs_posix_tell(driver, file, out_pos); +} + +esp_err_t cmd_fs_sd_unmount(CmdFsDriver *driver) +{ + if (!driver) return ESP_ERR_INVALID_ARG; + return ESP_OK; +} + +esp_err_t cmd_fs_noop_unmount(CmdFsDriver *driver) +{ + if (!driver) return ESP_ERR_INVALID_ARG; + return ESP_OK; +} + +CmdFsDriver cmd_fs_sd_driver = +{ + .device_id = CMD_DEVICE_SD, + .name = "sd", + .root_path = CMD_FS_SD_ROOT_PATH, + .ctx = NULL, + .mount = cmd_fs_sd_mount, + .unmount = cmd_fs_sd_unmount, + .list_begin = cmd_fs_sd_list_begin, + .list_next = cmd_fs_sd_list_next, + .list_close = cmd_fs_posix_list_close, + .stat = cmd_fs_sd_stat, + .mkdir = cmd_fs_sd_mkdir, + .remove = cmd_fs_sd_remove, + .rename = cmd_fs_sd_rename, + .open_read = cmd_fs_sd_open_read, + .open_write = cmd_fs_sd_open_write, + .read = cmd_fs_sd_read, + .write = cmd_fs_sd_write, + .seek = cmd_fs_sd_seek, + .tell = cmd_fs_sd_tell, + .close = cmd_fs_posix_close +}; + +CmdFsDriver cmd_fs_fat_driver = +{ + .device_id = CMD_DEVICE_FAT, + .name = "fat", + .root_path = FS_BASE_PATH, + .ctx = NULL, + .mount = cmd_fs_fat_mount, + .unmount = cmd_fs_noop_unmount, + .list_begin = cmd_fs_posix_list_begin, + .list_next = cmd_fs_posix_list_next, + .list_close = cmd_fs_posix_list_close, + .stat = cmd_fs_posix_stat, + .mkdir = cmd_fs_posix_mkdir, + .remove = cmd_fs_posix_remove, + .rename = cmd_fs_posix_rename, + .open_read = cmd_fs_posix_open_read, + .open_write = cmd_fs_posix_open_write, + .read = cmd_fs_posix_read, + .write = cmd_fs_posix_write, + .seek = cmd_fs_posix_seek, + .tell = cmd_fs_posix_tell, + .close = cmd_fs_posix_close +}; + +CmdFsDriver cmd_fs_tsf_driver = +{ + .device_id = CMD_DEVICE_TSF, + .name = "tsf", + .root_path = TSF_BASE_PATH, + .ctx = NULL, + .mount = cmd_fs_tsf_mount, + .unmount = cmd_fs_noop_unmount, + .list_begin = cmd_fs_tsf_list_begin, + .list_next = cmd_fs_tsf_list_next, + .list_close = cmd_fs_tsf_list_close, + .stat = cmd_fs_tsf_stat, + .mkdir = cmd_fs_tsf_mkdir, + .remove = cmd_fs_tsf_remove, + .rename = cmd_fs_tsf_rename, + .open_read = cmd_fs_tsf_open_read, + .open_write = cmd_fs_tsf_open_write, + .read = cmd_fs_tsf_read, + .write = cmd_fs_tsf_write, + .seek = cmd_fs_tsf_seek, + .tell = cmd_fs_tsf_tell, + .close = cmd_fs_tsf_close +}; + +void cmd_fs_manager_init(CmdFsManager *manager) +{ + if (!manager) return; + + memset(manager, 0, sizeof(*manager)); +} + +esp_err_t cmd_fs_manager_register_driver(CmdFsManager *manager, CmdFsDriver *driver) +{ + uint32_t bit; + + if (!manager || !driver) return ESP_ERR_INVALID_ARG; + if (!cmd_fs_is_valid_device_id(driver->device_id)) return CMD_ERR_INVALID_DEVICE; + if (!driver->root_path || !driver->root_path[0]) return ESP_ERR_INVALID_ARG; + + bit = 1u << (uint32_t)driver->device_id; + if (manager->registered_mask & bit) return ESP_ERR_INVALID_STATE; + + manager->drivers[driver->device_id] = driver; + manager->registered_mask |= bit; + return ESP_OK; +} + +esp_err_t cmd_fs_manager_unregister_driver(CmdFsManager *manager, cmd_device_id_t device_id) +{ + uint32_t bit; + + if (!manager) return ESP_ERR_INVALID_ARG; + if (!cmd_fs_is_valid_device_id(device_id)) return CMD_ERR_INVALID_DEVICE; + + bit = 1u << (uint32_t)device_id; + manager->drivers[device_id] = NULL; + manager->registered_mask &= ~bit; + return ESP_OK; +} + +CmdFsDriver *cmd_fs_manager_get_driver(CmdFsManager *manager, cmd_device_id_t device_id) +{ + if (!manager) return NULL; + if (!cmd_fs_is_valid_device_id(device_id)) return NULL; + + return manager->drivers[device_id]; +} + +const CmdFsDriver *cmd_fs_manager_get_driver_const(const CmdFsManager *manager, cmd_device_id_t device_id) +{ + if (!manager) return NULL; + if (!cmd_fs_is_valid_device_id(device_id)) return NULL; + + return manager->drivers[device_id]; +} + +esp_err_t cmd_fs_manager_register_default_drivers(CmdFsManager *manager) +{ + esp_err_t err; + + if (!manager) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_manager_register_driver(manager, &cmd_fs_sd_driver); + if (err != ESP_OK) return err; + + err = cmd_fs_manager_register_driver(manager, &cmd_fs_fat_driver); + if (err != ESP_OK) return err; + + return cmd_fs_manager_register_driver(manager, &cmd_fs_tsf_driver); +} + +esp_err_t cmd_fs_manager_build_abs_path(const CmdFsManager *manager, cmd_device_id_t device_id, const char *current_path, const char *filename, char *out, size_t out_size) +{ + const CmdFsDriver *driver; + char tmp[CMD_PATH_MAX]; + esp_err_t err; + + if (!out || out_size == 0) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver_const(manager, device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + + err = cmd_fs_driver_build_abs_path(driver, current_path, tmp, sizeof(tmp)); + if (err != ESP_OK) return err; + + if (!filename || !filename[0]) + return cmd_fs_copy_path(tmp, out, out_size); + + return cmd_fs_join_path(tmp, filename, out, out_size); +} + +esp_err_t cmd_fs_manager_mount(CmdFsManager *manager, cmd_device_id_t device_id) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + uint32_t bit; + esp_err_t err; + + if (!manager) return ESP_ERR_INVALID_ARG; + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->mount) return ESP_ERR_NOT_SUPPORTED; + + bit = 1u << (uint32_t)device_id; + if (manager->mounted_mask & bit) return ESP_OK; + + if (device_id != CMD_DEVICE_SD) + { + err = cmd_fs_check_root_path(driver); + if (err == ESP_OK) + { + manager->mounted_mask |= bit; + return ESP_OK; + } + } + + err = driver->mount(driver); + if (err == ESP_OK) + manager->mounted_mask |= bit; + + return err; +} + +esp_err_t cmd_fs_manager_unmount(CmdFsManager *manager, cmd_device_id_t device_id) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + uint32_t bit; + esp_err_t err = ESP_OK; + + if (!manager) return ESP_ERR_INVALID_ARG; + if (!driver) return CMD_ERR_INVALID_DEVICE; + + bit = 1u << (uint32_t)device_id; + if (!(manager->mounted_mask & bit)) return ESP_OK; + + if (driver->unmount) + err = driver->unmount(driver); + + if (err == ESP_OK) + manager->mounted_mask &= ~bit; + + return err; +} + +esp_err_t cmd_fs_manager_unmount_all(CmdFsManager *manager) +{ + esp_err_t first_err = ESP_OK; + + if (!manager) return ESP_ERR_INVALID_ARG; + + for (int i = 0; i < CMD_DEVICE_MAX; i++) + { + uint32_t bit = 1u << (uint32_t)i; + esp_err_t err; + + if (!(manager->mounted_mask & bit)) + continue; + + err = cmd_fs_manager_unmount(manager, (cmd_device_id_t)i); + if (err != ESP_OK && first_err == ESP_OK) + first_err = err; + } + + return first_err; +} + +esp_err_t cmd_fs_manager_list_begin(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, CmdFsList *list) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->list_begin) return ESP_ERR_NOT_SUPPORTED; + return driver->list_begin(driver, path, list); +} + +esp_err_t cmd_fs_manager_list_next(CmdFsManager *manager, CmdFsList *list, cmd_file_entry_t *entry) +{ + CmdFsDriver *driver; + + if (!list) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver(manager, list->device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->list_next) return ESP_ERR_NOT_SUPPORTED; + return driver->list_next(driver, list, entry); +} + +void cmd_fs_manager_list_close(CmdFsManager *manager, CmdFsList *list) +{ + CmdFsDriver *driver; + + if (!manager || !list) return; + + driver = cmd_fs_manager_get_driver(manager, list->device_id); + if (!driver || !driver->list_close) return; + driver->list_close(driver, list); +} + +esp_err_t cmd_fs_manager_stat(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, cmd_file_entry_t *entry) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->stat) return ESP_ERR_NOT_SUPPORTED; + return driver->stat(driver, path, entry); +} + +esp_err_t cmd_fs_manager_mkdir(CmdFsManager *manager, cmd_device_id_t device_id, const char *path) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->mkdir) return ESP_ERR_NOT_SUPPORTED; + return driver->mkdir(driver, path); +} + +esp_err_t cmd_fs_manager_space_info(CmdFsManager *manager, cmd_device_id_t device_id, CmdFsSpaceInfo *info) +{ + CmdFsDriver *driver; + esp_err_t err; + + if (!manager || !info) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver(manager, device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + + err = cmd_fs_manager_mount(manager, device_id); + if (err != ESP_OK) return err; + + return cmd_fs_driver_space_info(driver, info); +} + +esp_err_t cmd_fs_manager_remove(CmdFsManager *manager, cmd_device_id_t device_id, const char *path) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->remove) return ESP_ERR_NOT_SUPPORTED; + return driver->remove(driver, path); +} + +esp_err_t cmd_fs_manager_rename(CmdFsManager *manager, cmd_device_id_t device_id, const char *old_path, const char *new_path) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->rename) return ESP_ERR_NOT_SUPPORTED; + return driver->rename(driver, old_path, new_path); +} + +esp_err_t cmd_fs_manager_open_read(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, CmdFsFile *file) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->open_read) return ESP_ERR_NOT_SUPPORTED; + return driver->open_read(driver, path, file); +} + +esp_err_t cmd_fs_manager_open_write(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, CmdFsFile *file) +{ + CmdFsDriver *driver = cmd_fs_manager_get_driver(manager, device_id); + + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->open_write) return ESP_ERR_NOT_SUPPORTED; + return driver->open_write(driver, path, file); +} + +esp_err_t cmd_fs_manager_read(CmdFsManager *manager, CmdFsFile *file, void *dst, size_t size, size_t *out_size) +{ + CmdFsDriver *driver; + + if (!file) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver(manager, file->device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->read) return ESP_ERR_NOT_SUPPORTED; + return driver->read(driver, file, dst, size, out_size); +} + +esp_err_t cmd_fs_manager_write(CmdFsManager *manager, CmdFsFile *file, const void *src, size_t size, size_t *out_size) +{ + CmdFsDriver *driver; + + if (!file) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver(manager, file->device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->write) return ESP_ERR_NOT_SUPPORTED; + return driver->write(driver, file, src, size, out_size); +} + +esp_err_t cmd_fs_manager_seek(CmdFsManager *manager, CmdFsFile *file, int64_t offset, int whence) +{ + CmdFsDriver *driver; + + if (!file) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver(manager, file->device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->seek) return ESP_ERR_NOT_SUPPORTED; + return driver->seek(driver, file, offset, whence); +} + +esp_err_t cmd_fs_manager_tell(CmdFsManager *manager, CmdFsFile *file, uint64_t *out_pos) +{ + CmdFsDriver *driver; + + if (!file || !out_pos) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver(manager, file->device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->tell) return ESP_ERR_NOT_SUPPORTED; + return driver->tell(driver, file, out_pos); +} + +esp_err_t cmd_fs_manager_close(CmdFsManager *manager, CmdFsFile *file) +{ + CmdFsDriver *driver; + + if (!file) return ESP_ERR_INVALID_ARG; + + driver = cmd_fs_manager_get_driver(manager, file->device_id); + if (!driver) return CMD_ERR_INVALID_DEVICE; + if (!driver->close) return ESP_ERR_NOT_SUPPORTED; + return driver->close(driver, file); +} + +// --------------- cmd_input.cpp --------------- + +#ifndef CONFIG_ESP_CONSOLE_UART_NUM +#define CONFIG_ESP_CONSOLE_UART_NUM UART_NUM_0 +#endif + +esp_err_t cmd_input_console_begin(CmdInputBackend *backend); +void cmd_input_console_end(CmdInputBackend *backend); +esp_err_t cmd_input_console_poll_event(CmdInputBackend *backend, cmd_event_t *event, uint32_t timeout_ms); + +CmdInputBackend g_cmd_input_console_backend = +{ + .name = "console-uart", + .ctx = NULL, + .begin = cmd_input_console_begin, + .end = cmd_input_console_end, + .poll_event = cmd_input_console_poll_event +}; + +void cmd_input_event_clear(cmd_event_t *event) +{ + if (!event) return; + + event->type = CMD_EVENT_NONE; + event->key = CMD_KEY_NONE; + event->ch = 0; + event->mods = CMD_KEY_MOD_NONE; +} + +void cmd_input_event_key(cmd_event_t *event, cmd_key_t key, uint32_t mods) +{ + if (!event) return; + + event->type = CMD_EVENT_KEY; + event->key = key; + event->ch = 0; + event->mods = mods; +} + +void cmd_input_event_char(cmd_event_t *event, uint32_t ch, uint32_t mods) +{ + if (!event) return; + + event->type = CMD_EVENT_KEY; + event->key = CMD_KEY_CHAR; + event->ch = ch; + event->mods = mods; +} + +void cmd_input_event_quit(cmd_event_t *event) +{ + if (!event) return; + + event->type = CMD_EVENT_QUIT; + event->key = CMD_KEY_NONE; + event->ch = 0; + event->mods = CMD_KEY_MOD_NONE; +} + +esp_err_t cmd_input_begin(CmdInputBackend *backend) +{ + if (!backend || !backend->begin) return ESP_ERR_INVALID_ARG; + return backend->begin(backend); +} + +void cmd_input_end(CmdInputBackend *backend) +{ + if (!backend || !backend->end) return; + backend->end(backend); +} + +esp_err_t cmd_input_poll_event(CmdInputBackend *backend, cmd_event_t *event, uint32_t timeout_ms) +{ + if (!backend || !backend->poll_event || !event) return ESP_ERR_INVALID_ARG; + return backend->poll_event(backend, event, timeout_ms); +} + +CmdInputBackend *cmd_input_console_backend() +{ + return &g_cmd_input_console_backend; +} + +CmdInputBackend *cmd_input_default_backend() +{ + return cmd_input_console_backend(); +} + +TickType_t cmd_input_timeout_to_ticks(uint32_t timeout_ms) +{ + if (timeout_ms == CMD_INPUT_WAIT_FOREVER) return portMAX_DELAY; + return pdMS_TO_TICKS(timeout_ms); +} + +int cmd_input_uart_read_byte(uint8_t *out, uint32_t timeout_ms) +{ + if (!out) return 0; + + return uart_read_bytes( + (uart_port_t)CONFIG_ESP_CONSOLE_UART_NUM, + out, + 1, + cmd_input_timeout_to_ticks(timeout_ms)); +} + +uint32_t cmd_input_xterm_mods(int value) +{ + switch (value) + { + case 2: return CMD_KEY_MOD_SHIFT; + case 3: return CMD_KEY_MOD_ALT; + case 4: return CMD_KEY_MOD_SHIFT | CMD_KEY_MOD_ALT; + case 5: return CMD_KEY_MOD_CTRL; + case 6: return CMD_KEY_MOD_SHIFT | CMD_KEY_MOD_CTRL; + case 7: return CMD_KEY_MOD_ALT | CMD_KEY_MOD_CTRL; + case 8: return CMD_KEY_MOD_SHIFT | CMD_KEY_MOD_ALT | CMD_KEY_MOD_CTRL; + default: return CMD_KEY_MOD_NONE; + } +} + +uint32_t cmd_input_csi_mods(const char *seq) +{ + int value = 0; + int have_semicolon = 0; + + if (!seq) return CMD_KEY_MOD_NONE; + + for (size_t i = 0; seq[i]; i++) + { + if (seq[i] == ';') + { + have_semicolon = 1; + value = 0; + continue; + } + + if (have_semicolon && seq[i] >= '0' && seq[i] <= '9') + value = value * 10 + (seq[i] - '0'); + } + + if (!have_semicolon) return CMD_KEY_MOD_NONE; + return cmd_input_xterm_mods(value); +} + +int cmd_input_csi_first_number(const char *seq) +{ + int value = 0; + + if (!seq) return 0; + + for (size_t i = 0; seq[i]; i++) + { + if (seq[i] < '0' || seq[i] > '9') break; + value = value * 10 + (seq[i] - '0'); + } + + return value; +} + +cmd_key_t cmd_input_csi_tilde_key(int code) +{ + switch (code) + { + case 1: return CMD_KEY_HOME; + case 2: return CMD_KEY_INSERT; + case 3: return CMD_KEY_DELETE; + case 4: return CMD_KEY_END; + case 5: return CMD_KEY_PAGE_UP; + case 6: return CMD_KEY_PAGE_DOWN; + case 7: return CMD_KEY_HOME; + case 8: return CMD_KEY_END; + case 11: return CMD_KEY_F1; + case 12: return CMD_KEY_F2; + case 13: return CMD_KEY_F3; + case 14: return CMD_KEY_F4; + case 15: return CMD_KEY_F5; + case 17: return CMD_KEY_F6; + case 18: return CMD_KEY_F7; + case 19: return CMD_KEY_F8; + case 20: return CMD_KEY_F9; + case 21: return CMD_KEY_F10; + case 23: return CMD_KEY_F11; + case 24: return CMD_KEY_F12; + default: return CMD_KEY_UNKNOWN; + } +} + +cmd_key_t cmd_input_csi_final_key(char final) +{ + switch (final) + { + case 'P': return CMD_KEY_F1; + case 'Q': return CMD_KEY_F2; + case 'R': return CMD_KEY_F3; + case 'S': return CMD_KEY_F4; + case 'A': return CMD_KEY_UP; + case 'B': return CMD_KEY_DOWN; + case 'C': return CMD_KEY_RIGHT; + case 'D': return CMD_KEY_LEFT; + case 'H': return CMD_KEY_HOME; + case 'F': return CMD_KEY_END; + case 'Z': return CMD_KEY_TAB; + default: return CMD_KEY_UNKNOWN; + } +} + +cmd_key_t cmd_input_ss3_key(uint8_t c) +{ + switch (c) + { + case 'P': return CMD_KEY_F1; + case 'Q': return CMD_KEY_F2; + case 'R': return CMD_KEY_F3; + case 'S': return CMD_KEY_F4; + case 'A': return CMD_KEY_UP; + case 'B': return CMD_KEY_DOWN; + case 'C': return CMD_KEY_RIGHT; + case 'D': return CMD_KEY_LEFT; + case 'H': return CMD_KEY_HOME; + case 'F': return CMD_KEY_END; + default: return CMD_KEY_UNKNOWN; + } +} + +esp_err_t cmd_input_console_poll_csi(cmd_event_t *event) +{ + char seq[16]; + size_t len = 0; + + memset(seq, 0, sizeof(seq)); + + while (len + 1 < sizeof(seq)) + { + uint8_t c = 0; + if (cmd_input_uart_read_byte(&c, CMD_INPUT_ESC_TIMEOUT_MS) <= 0) + { + cmd_input_event_key(event, CMD_KEY_UNKNOWN, CMD_KEY_MOD_NONE); + return ESP_OK; + } + + seq[len++] = (char)c; + seq[len] = 0; + + if (c >= '@' && c <= '~') + break; + } + + char final = seq[len ? len - 1 : 0]; + uint32_t mods = cmd_input_csi_mods(seq); + cmd_key_t key; + + if (final == '~') + key = cmd_input_csi_tilde_key(cmd_input_csi_first_number(seq)); + else + key = cmd_input_csi_final_key(final); + + if (final == 'Z') + mods |= CMD_KEY_MOD_SHIFT; + + cmd_input_event_key(event, key, mods); + return ESP_OK; +} + +esp_err_t cmd_input_console_poll_ss3(cmd_event_t *event) +{ + uint8_t c = 0; + + if (cmd_input_uart_read_byte(&c, CMD_INPUT_ESC_TIMEOUT_MS) <= 0) + { + cmd_input_event_key(event, CMD_KEY_ESC, CMD_KEY_MOD_NONE); + return ESP_OK; + } + + cmd_input_event_key(event, cmd_input_ss3_key(c), CMD_KEY_MOD_NONE); + return ESP_OK; +} + +esp_err_t cmd_input_console_poll_escape(cmd_event_t *event) +{ + uint8_t c = 0; + esp_err_t err; + + if (cmd_input_uart_read_byte(&c, CMD_INPUT_ESC_TIMEOUT_MS) <= 0) + { + cmd_input_event_key(event, CMD_KEY_ESC, CMD_KEY_MOD_NONE); + return ESP_OK; + } + + if (c == 0x1b) + { + err = cmd_input_console_poll_escape(event); + if (err == ESP_OK && event->type == CMD_EVENT_KEY) + event->mods |= CMD_KEY_MOD_ALT; + return err; + } + + if (c == '[') + return cmd_input_console_poll_csi(event); + + if (c == 'O') + return cmd_input_console_poll_ss3(event); + + if (c >= 0x20) + { + cmd_input_event_char(event, c, CMD_KEY_MOD_ALT); + return ESP_OK; + } + + cmd_input_event_key(event, CMD_KEY_ESC, CMD_KEY_MOD_ALT); + return ESP_OK; +} + +esp_err_t cmd_input_console_byte_to_event(uint8_t c, cmd_event_t *event) +{ + if (c == 0x1b) + return cmd_input_console_poll_escape(event); + + if (c == '\r' || c == '\n') + { + cmd_input_event_key(event, CMD_KEY_ENTER, CMD_KEY_MOD_NONE); + return ESP_OK; + } + + if (c == '\t') + { + cmd_input_event_key(event, CMD_KEY_TAB, CMD_KEY_MOD_NONE); + return ESP_OK; + } + + if (c == 0x08 || c == 0x7f) + { + cmd_input_event_key(event, CMD_KEY_BACKSPACE, CMD_KEY_MOD_NONE); + return ESP_OK; + } + + if (c >= 0x20) + { + cmd_input_event_char(event, c, CMD_KEY_MOD_NONE); + return ESP_OK; + } + + cmd_input_event_key(event, CMD_KEY_UNKNOWN, CMD_KEY_MOD_NONE); + return ESP_OK; +} + +esp_err_t cmd_input_console_begin(CmdInputBackend *backend) +{ + if (!backend) return ESP_ERR_INVALID_ARG; + return ESP_OK; +} + +void cmd_input_console_end(CmdInputBackend *backend) +{ + if (!backend) return; +} + +esp_err_t cmd_input_console_poll_event(CmdInputBackend *backend, cmd_event_t *event, uint32_t timeout_ms) +{ + uint8_t c = 0; + + if (!backend || !event) return ESP_ERR_INVALID_ARG; + + cmd_input_event_clear(event); + + if (cmd_input_uart_read_byte(&c, timeout_ms) <= 0) + return ESP_ERR_TIMEOUT; + + return cmd_input_console_byte_to_event(c, event); +} + +const char *cmd_input_key_name(cmd_key_t key) +{ + switch (key) + { + case CMD_KEY_NONE: return "none"; + case CMD_KEY_CHAR: return "char"; + case CMD_KEY_ESC: return "esc"; + case CMD_KEY_ENTER: return "enter"; + case CMD_KEY_BACKSPACE: return "backspace"; + case CMD_KEY_TAB: return "tab"; + case CMD_KEY_UP: return "up"; + case CMD_KEY_DOWN: return "down"; + case CMD_KEY_LEFT: return "left"; + case CMD_KEY_RIGHT: return "right"; + case CMD_KEY_HOME: return "home"; + case CMD_KEY_END: return "end"; + case CMD_KEY_PAGE_UP: return "page_up"; + case CMD_KEY_PAGE_DOWN: return "page_down"; + case CMD_KEY_INSERT: return "insert"; + case CMD_KEY_DELETE: return "delete"; + case CMD_KEY_F1: return "f1"; + case CMD_KEY_F2: return "f2"; + case CMD_KEY_F3: return "f3"; + case CMD_KEY_F4: return "f4"; + case CMD_KEY_F5: return "f5"; + case CMD_KEY_F6: return "f6"; + case CMD_KEY_F7: return "f7"; + case CMD_KEY_F8: return "f8"; + case CMD_KEY_F9: return "f9"; + case CMD_KEY_F10: return "f10"; + case CMD_KEY_F11: return "f11"; + case CMD_KEY_F12: return "f12"; + case CMD_KEY_UNKNOWN: return "unknown"; + default: return "?"; + } +} + +// --------------- cmd_panel.cpp --------------- + +CmdFsList *g_cmd_panel_reload_list; + +esp_err_t cmd_panel_alloc_global_buffers() +{ + if (g_cmd_panel_reload_list) return ESP_OK; + + g_cmd_panel_reload_list = (CmdFsList *)heap_caps_calloc( + 1, + sizeof(CmdFsList), + MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + + if (!g_cmd_panel_reload_list) return ESP_ERR_NO_MEM; + return ESP_OK; +} + +void cmd_panel_free_global_buffers() +{ + if (!g_cmd_panel_reload_list) return; + + heap_caps_free(g_cmd_panel_reload_list); + g_cmd_panel_reload_list = NULL; +} + +esp_err_t cmd_panel_alloc_entries(CmdPanel *panel, size_t capacity) +{ + if (!panel || capacity == 0) return ESP_ERR_INVALID_ARG; + if (panel->entries && panel->capacity >= capacity) return ESP_OK; + + cmd_panel_free_entries(panel); + + panel->entries = (cmd_file_entry_t *)heap_caps_calloc( + capacity, + sizeof(cmd_file_entry_t), + MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + + if (!panel->entries) + { + panel->capacity = 0; + return ESP_ERR_NO_MEM; + } + + panel->capacity = capacity; + return ESP_OK; +} + +void cmd_panel_free_entries(CmdPanel *panel) +{ + if (!panel) return; + + if (panel->entries) + heap_caps_free(panel->entries); + + panel->entries = NULL; + panel->capacity = 0; + panel->count = 0; + panel->selected_count = 0; + panel->selected_size = 0; + panel->cursor = 0; + panel->scroll = 0; +} + +size_t cmd_panel_text_len(const char *s) +{ + size_t len = 0; + + if (!s) return 0; + + while (s[len]) + len++; + + return len; +} + +void cmd_panel_append_limited(char *out, size_t out_size, const char *text, size_t max_chars) +{ + size_t len; + size_t pos = 0; + + if (!out || out_size == 0 || !text) return; + + len = cmd_panel_text_len(out); + + while (text[pos] && pos < max_chars && len + 1 < out_size) + { + out[len] = text[pos]; + len++; + pos++; + } + + out[len] = 0; +} + +void cmd_panel_append_text(char *out, size_t out_size, const char *text) +{ + if (!text) return; + + cmd_panel_append_limited(out, out_size, text, cmd_panel_text_len(text)); +} + +void cmd_panel_make_title(char *out, size_t out_size, const char *device, const char *path) +{ + size_t used; + size_t reserve = 2; + size_t path_limit = 0; + + if (!out || out_size == 0) return; + + out[0] = 0; + cmd_panel_append_text(out, out_size, " "); + cmd_panel_append_text(out, out_size, device ? device : "?"); + cmd_panel_append_text(out, out_size, ":"); + + used = cmd_panel_text_len(out); + if (out_size > used + reserve) + path_limit = out_size - used - reserve; + + cmd_panel_append_limited(out, out_size, path ? path : "/", path_limit); + cmd_panel_append_text(out, out_size, " "); +} + +void cmd_panel_make_entry_line(const cmd_file_entry_t *entry, char *out, size_t out_size) +{ + size_t name_limit; + + if (!out || out_size == 0) return; + + out[0] = 0; + if (!entry) return; + + if (entry->type == CMD_ENTRY_PARENT) + { + cmd_panel_append_text(out, out_size, ".."); + return; + } + + if (entry->type == CMD_ENTRY_DIR || entry->type == CMD_ENTRY_FILE) + { + name_limit = out_size > 1 ? out_size - 1 : 0; + cmd_panel_append_limited(out, out_size, entry->name, name_limit); + return; + } + + cmd_panel_append_text(out, out_size, "? "); + name_limit = out_size > 3 ? out_size - 3 : 0; + cmd_panel_append_limited(out, out_size, entry->name, name_limit); +} + +int cmd_panel_entry_rank(cmd_entry_type_t type) +{ + if (type == CMD_ENTRY_PARENT) return -1; + if (type == CMD_ENTRY_DIR) return 0; + if (type == CMD_ENTRY_FILE) return 1; + return 2; +} + +int cmd_panel_entry_compare(const cmd_file_entry_t *a, const cmd_file_entry_t *b) +{ + int ar; + int br; + + if (!a || !b) return 0; + + ar = cmd_panel_entry_rank(a->type); + br = cmd_panel_entry_rank(b->type); + + if (ar < br) return -1; + if (ar > br) return 1; + return strcmp(a->name, b->name); +} + +void cmd_panel_sort_entries(CmdPanel *panel) +{ + size_t first = 0; + + if (!panel || !panel->entries || panel->count < 2) return; + + if (panel->entries[0].type == CMD_ENTRY_PARENT) + first = 1; + + if (first + 1 >= panel->count) return; + + std::sort(panel->entries + first, panel->entries + panel->count, + [](const cmd_file_entry_t &a, const cmd_file_entry_t &b) + { + return cmd_panel_entry_compare(&a, &b) < 0; + }); +} + +bool cmd_panel_find_entry(CmdPanel *panel, const char *name, size_t *out_index) +{ + if (!panel || !name) return false; + + for (size_t i = 0; i < panel->count; i++) + { + if (strcmp(panel->entries[i].name, name) == 0) + { + if (out_index) *out_index = i; + return true; + } + } + + return false; +} + +bool cmd_panel_entry_can_select(const cmd_file_entry_t *entry) +{ + if (!entry) return false; + if (entry->type == CMD_ENTRY_PARENT) return false; + if (entry->type != CMD_ENTRY_FILE && entry->type != CMD_ENTRY_DIR) return false; + return true; +} + +void cmd_panel_update_selection_stats(CmdPanel *panel) +{ + if (!panel) return; + + panel->selected_count = 0; + panel->selected_size = 0; + + if (!panel->entries) return; + + for (size_t i = 0; i < panel->count; i++) + { + cmd_file_entry_t *entry = &panel->entries[i]; + + if (!cmd_panel_entry_can_select(entry)) + { + entry->flags &= ~CMD_ENTRY_FLAG_SELECTED; + continue; + } + + if (!(entry->flags & CMD_ENTRY_FLAG_SELECTED)) continue; + + panel->selected_count++; + if (entry->type == CMD_ENTRY_FILE) + panel->selected_size += entry->size; + } +} + +void cmd_panel_clear_selection(CmdPanel *panel) +{ + if (!panel) return; + + if (panel->entries) + { + for (size_t i = 0; i < panel->count; i++) + panel->entries[i].flags &= ~CMD_ENTRY_FLAG_SELECTED; + } + + panel->selected_count = 0; + panel->selected_size = 0; +} + +bool cmd_panel_has_selection(const CmdPanel *panel) +{ + if (!panel) return false; + return panel->selected_count > 0; +} + +void cmd_panel_toggle_selection(CmdPanel *panel) +{ + cmd_file_entry_t *entry; + + if (!panel) return; + + if (panel->cursor < panel->count) + { + entry = &panel->entries[panel->cursor]; + if (cmd_panel_entry_can_select(entry)) + { + entry->flags ^= CMD_ENTRY_FLAG_SELECTED; + cmd_panel_update_selection_stats(panel); + } + } + + if (panel->cursor + 1 < panel->count) + panel->cursor++; + + cmd_panel_ensure_cursor_visible(panel); +} + +void cmd_panel_invert_selection(CmdPanel *panel) +{ + if (!panel || !panel->entries) return; + + for (size_t i = 0; i < panel->count; i++) + { + cmd_file_entry_t *entry = &panel->entries[i]; + + if (!cmd_panel_entry_can_select(entry)) + { + entry->flags &= ~CMD_ENTRY_FLAG_SELECTED; + continue; + } + + entry->flags ^= CMD_ENTRY_FLAG_SELECTED; + } + + cmd_panel_update_selection_stats(panel); +} + +void cmd_panel_clear_entries(CmdPanel *panel) +{ + if (!panel) return; + + panel->count = 0; + panel->selected_count = 0; + panel->selected_size = 0; + panel->flags &= ~CMD_PANEL_FLAG_TRUNCATED; + panel->cursor = 0; + panel->scroll = 0; +} + +void cmd_panel_init(CmdPanel *panel, CmdFsManager *fs, cmd_device_id_t device_id) +{ + if (!panel) return; + + memset(panel, 0, sizeof(*panel)); + panel->fs = fs; + panel->device_id = device_id; + panel->view_rows = CMD_PANEL_DEFAULT_PAGE_STEP; + panel->active = false; + panel->flags = CMD_PANEL_FLAG_NONE; + panel->last_error = ESP_OK; + cmd_fs_copy_path("/", panel->current_path, sizeof(panel->current_path)); +} + +void cmd_panel_reset(CmdPanel *panel) +{ + CmdFsManager *fs; + cmd_device_id_t device_id; + cmd_file_entry_t *entries; + size_t capacity; + + if (!panel) return; + + fs = panel->fs; + device_id = panel->device_id; + entries = panel->entries; + capacity = panel->capacity; + + memset(panel, 0, sizeof(*panel)); + panel->entries = entries; + panel->capacity = capacity; + panel->fs = fs; + panel->device_id = device_id; + panel->view_rows = CMD_PANEL_DEFAULT_PAGE_STEP; + panel->active = false; + panel->flags = CMD_PANEL_FLAG_NONE; + panel->last_error = ESP_OK; + cmd_fs_copy_path("/", panel->current_path, sizeof(panel->current_path)); +} + +void cmd_panel_set_active(CmdPanel *panel, bool active) +{ + if (!panel) return; + + panel->active = active; + if (active) + panel->flags |= CMD_PANEL_FLAG_ACTIVE; + else + panel->flags &= ~CMD_PANEL_FLAG_ACTIVE; +} + +bool cmd_panel_is_active(const CmdPanel *panel) +{ + if (!panel) return false; + return panel->active; +} + +esp_err_t cmd_panel_set_path(CmdPanel *panel, const char *path) +{ + esp_err_t err; + + if (!panel) return ESP_ERR_INVALID_ARG; + + err = cmd_fs_copy_path(path, panel->current_path, sizeof(panel->current_path)); + if (err != ESP_OK) return err; + + cmd_panel_clear_selection(panel); + panel->cursor = 0; + panel->scroll = 0; + return ESP_OK; +} + +void cmd_panel_clamp_cursor(CmdPanel *panel) +{ + if (!panel) return; + + if (panel->count == 0) + { + panel->cursor = 0; + panel->scroll = 0; + return; + } + + if (panel->cursor >= panel->count) + panel->cursor = panel->count - 1; + + cmd_panel_ensure_cursor_visible(panel); +} + +void cmd_panel_ensure_cursor_visible(CmdPanel *panel) +{ + size_t rows; + + if (!panel) return; + + rows = panel->view_rows ? panel->view_rows : CMD_PANEL_DEFAULT_PAGE_STEP; + if (rows == 0) rows = 1; + + if (panel->cursor < panel->scroll) + panel->scroll = panel->cursor; + + if (panel->cursor >= panel->scroll + rows) + panel->scroll = panel->cursor - rows + 1; +} + +esp_err_t cmd_panel_reload(CmdPanel *panel) +{ + CmdFsList *list = g_cmd_panel_reload_list; + cmd_file_entry_t entry; + size_t old_cursor; + bool truncated = false; + esp_err_t err; + + if (!panel || !panel->fs) return ESP_ERR_INVALID_ARG; + if (!panel->entries || panel->capacity == 0 || !list) return ESP_ERR_NO_MEM; + + memset(list, 0, sizeof(*list)); + memset(&panel->space_info, 0, sizeof(panel->space_info)); + panel->space_info_valid = false; + panel->space_info_error = ESP_ERR_INVALID_STATE; + + old_cursor = panel->cursor; + cmd_panel_clear_entries(panel); + + err = cmd_fs_manager_mount(panel->fs, panel->device_id); + if (err != ESP_OK) + { + panel->space_info_valid = true; + panel->space_info_error = err; + panel->last_error = err; + panel->flags |= CMD_PANEL_FLAG_ERROR; + return err; + } + + err = cmd_fs_manager_list_begin(panel->fs, panel->device_id, panel->current_path, list); + if (err != ESP_OK) + { + panel->space_info_valid = true; + panel->space_info_error = err; + panel->last_error = err; + panel->flags |= CMD_PANEL_FLAG_ERROR; + return err; + } + + for (;;) + { + err = cmd_fs_manager_list_next(panel->fs, list, &entry); + if (err == ESP_ERR_NOT_FOUND) break; + if (err != ESP_OK) + { + cmd_fs_manager_list_close(panel->fs, list); + panel->space_info_valid = true; + panel->space_info_error = err; + panel->last_error = err; + panel->flags |= CMD_PANEL_FLAG_ERROR; + return err; + } + + if (panel->count >= panel->capacity) + { + truncated = true; + continue; + } + + panel->entries[panel->count] = entry; + panel->count++; + } + + cmd_fs_manager_list_close(panel->fs, list); + cmd_panel_sort_entries(panel); + cmd_panel_update_selection_stats(panel); + + panel->space_info_error = cmd_fs_manager_space_info(panel->fs, panel->device_id, &panel->space_info); + panel->space_info_valid = true; + + panel->cursor = old_cursor; + panel->last_error = truncated ? CMD_ERR_DIR_FULL : ESP_OK; + panel->flags &= ~CMD_PANEL_FLAG_ERROR; + + if (truncated) + panel->flags |= CMD_PANEL_FLAG_TRUNCATED; + else + panel->flags &= ~CMD_PANEL_FLAG_TRUNCATED; + + cmd_panel_clamp_cursor(panel); + return ESP_OK; +} + +void cmd_panel_cursor_up(CmdPanel *panel) +{ + if (!panel) return; + if (panel->cursor > 0) panel->cursor--; + cmd_panel_ensure_cursor_visible(panel); +} + +void cmd_panel_cursor_down(CmdPanel *panel) +{ + if (!panel) return; + if (panel->cursor + 1 < panel->count) panel->cursor++; + cmd_panel_ensure_cursor_visible(panel); +} + +void cmd_panel_cursor_page_up(CmdPanel *panel) +{ + size_t step; + + if (!panel) return; + + step = panel->view_rows ? panel->view_rows : CMD_PANEL_DEFAULT_PAGE_STEP; + if (step == 0) step = 1; + + if (panel->cursor > step) + panel->cursor -= step; + else + panel->cursor = 0; + + cmd_panel_ensure_cursor_visible(panel); +} + +void cmd_panel_cursor_page_down(CmdPanel *panel) +{ + size_t step; + + if (!panel) return; + + step = panel->view_rows ? panel->view_rows : CMD_PANEL_DEFAULT_PAGE_STEP; + if (step == 0) step = 1; + + panel->cursor += step; + cmd_panel_clamp_cursor(panel); +} + +void cmd_panel_cursor_home(CmdPanel *panel) +{ + if (!panel) return; + + panel->cursor = 0; + cmd_panel_ensure_cursor_visible(panel); +} + +void cmd_panel_cursor_end(CmdPanel *panel) +{ + if (!panel) return; + + if (panel->count > 0) + panel->cursor = panel->count - 1; + else + panel->cursor = 0; + + cmd_panel_ensure_cursor_visible(panel); +} + +const cmd_file_entry_t *cmd_panel_get_selected_entry(const CmdPanel *panel) +{ + if (!panel) return NULL; + if (panel->cursor >= panel->count) return NULL; + return &panel->entries[panel->cursor]; +} + +esp_err_t cmd_panel_change_device(CmdPanel *panel, cmd_device_id_t device_id) +{ + esp_err_t err; + + if (!panel) return ESP_ERR_INVALID_ARG; + if (!cmd_fs_is_valid_device_id(device_id)) return CMD_ERR_INVALID_DEVICE; + + panel->device_id = device_id; + err = cmd_panel_set_path(panel, "/"); + if (err != ESP_OK) return err; + + return cmd_panel_reload(panel); +} + +esp_err_t cmd_panel_go_parent(CmdPanel *panel) +{ + char parent[CMD_PATH_MAX]; + char child_name[CMD_FILE_NAME_MAX]; + char old_path[CMD_PATH_MAX]; + size_t old_cursor; + size_t old_scroll; + size_t index; + esp_err_t err; + + if (!panel) return ESP_ERR_INVALID_ARG; + if (cmd_fs_path_is_root(panel->current_path)) return ESP_OK; + + err = cmd_fs_copy_path(panel->current_path, old_path, sizeof(old_path)); + if (err != ESP_OK) return err; + + old_cursor = panel->cursor; + old_scroll = panel->scroll; + + err = cmd_fs_extract_filename(panel->current_path, child_name, sizeof(child_name)); + if (err != ESP_OK) return err; + + err = cmd_fs_parent_path(panel->current_path, parent, sizeof(parent)); + if (err != ESP_OK) return err; + + err = cmd_panel_set_path(panel, parent); + if (err != ESP_OK) return err; + + err = cmd_panel_reload(panel); + if (err != ESP_OK) + { + cmd_fs_copy_path(old_path, panel->current_path, sizeof(panel->current_path)); + panel->cursor = old_cursor; + panel->scroll = old_scroll; + cmd_panel_reload(panel); + return err; + } + + if (cmd_panel_find_entry(panel, child_name, &index)) + { + panel->cursor = index; + cmd_panel_ensure_cursor_visible(panel); + } + + return ESP_OK; +} + +esp_err_t cmd_panel_enter_selected_dir(CmdPanel *panel) +{ + const cmd_file_entry_t *entry; + char path[CMD_PATH_MAX]; + char old_path[CMD_PATH_MAX]; + size_t old_cursor; + size_t old_scroll; + esp_err_t err; + + if (!panel) return ESP_ERR_INVALID_ARG; + + entry = cmd_panel_get_selected_entry(panel); + if (!entry) return ESP_ERR_NOT_FOUND; + + if (entry->type == CMD_ENTRY_PARENT) + return cmd_panel_go_parent(panel); + + if (entry->type != CMD_ENTRY_DIR) return ESP_ERR_NOT_SUPPORTED; + + err = cmd_fs_copy_path(panel->current_path, old_path, sizeof(old_path)); + if (err != ESP_OK) return err; + + old_cursor = panel->cursor; + old_scroll = panel->scroll; + + err = cmd_fs_join_path(panel->current_path, entry->name, path, sizeof(path)); + if (err != ESP_OK) return err; + + err = cmd_panel_set_path(panel, path); + if (err != ESP_OK) return err; + + err = cmd_panel_reload(panel); + if (err != ESP_OK) + { + cmd_fs_copy_path(old_path, panel->current_path, sizeof(panel->current_path)); + panel->cursor = old_cursor; + panel->scroll = old_scroll; + cmd_panel_reload(panel); + return err; + } + + return ESP_OK; +} + +void cmd_panel_draw_text_line(CmdDisplayBuffer *buffer, const cmd_rect_t *line_rect, const char *text, cmd_display_attr_t attr) +{ + if (!buffer || !line_rect) return; + + cmd_display_buffer_fill_rect(buffer, line_rect, ' ', attr); + if (text) + cmd_display_buffer_write_text(buffer, line_rect->x, line_rect->y, text, attr); +} + +void cmd_panel_draw_title(CmdPanel *panel, CmdDisplayBuffer *buffer, const cmd_rect_t *rect, cmd_display_attr_t attr) +{ + char title[CMD_DISPLAY_COLS + 1]; + char selected[48]; + const char *device; + + if (!panel || !buffer || !rect) return; + + device = cmd_device_name(panel->device_id); + cmd_panel_make_title(title, sizeof(title), device, panel->current_path); + + if (panel->selected_count > 0) + { + snprintf(selected, sizeof(selected), " [%u/%llu] ", + (unsigned)panel->selected_count, + (unsigned long long)panel->selected_size); + cmd_panel_append_text(title, sizeof(title), selected); + } + + cmd_display_buffer_write_text(buffer, rect->x + 2, rect->y, title, attr); +} + +void cmd_panel_draw_error(CmdPanel *panel, CmdDisplayBuffer *buffer, const cmd_rect_t *rect) +{ + char msg[CMD_DISPLAY_COLS + 1]; + cmd_rect_t line_rect; + + if (!panel || !buffer || !rect) return; + if (rect->w <= 2 || rect->h <= 2) return; + + line_rect.x = rect->x + 1; + line_rect.y = rect->y + 1; + line_rect.w = rect->w - 2; + line_rect.h = 1; + + snprintf(msg, sizeof(msg), "error: 0x%x", (unsigned)panel->last_error); + cmd_panel_draw_text_line(buffer, + &line_rect, + msg, + cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_RED, CMD_DISPLAY_COLOR_BLUE, CMD_DISPLAY_ATTR_FLAG_BOLD)); +} + +esp_err_t cmd_panel_draw(CmdPanel *panel, CmdDisplayBuffer *buffer, const cmd_rect_t *rect) +{ + cmd_display_attr_t normal_attr; + cmd_display_attr_t active_attr; + cmd_display_attr_t selected_attr; + cmd_display_attr_t marked_attr; + cmd_display_attr_t folder_attr; + cmd_display_attr_t frame_attr; + cmd_rect_t inner; + size_t rows; + + if (!panel || !buffer || !rect) return ESP_ERR_INVALID_ARG; + if (rect->w <= 0 || rect->h <= 0) return ESP_OK; + + normal_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_WHITE, CMD_DISPLAY_COLOR_BLUE, CMD_DISPLAY_ATTR_FLAG_NONE); + active_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_WHITE, CMD_DISPLAY_COLOR_BLUE, CMD_DISPLAY_ATTR_FLAG_NONE); + selected_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BLACK, CMD_DISPLAY_COLOR_BRIGHT_YELLOW, + CMD_DISPLAY_ATTR_FLAG_BOLD | CMD_DISPLAY_ATTR_FLAG_SELECTED); + marked_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_WHITE, CMD_DISPLAY_COLOR_CYAN, CMD_DISPLAY_ATTR_FLAG_BOLD); + folder_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_WHITE, CMD_DISPLAY_COLOR_BLUE, CMD_DISPLAY_ATTR_FLAG_BOLD); + frame_attr = cmd_display_make_attr(CMD_DISPLAY_COLOR_BRIGHT_WHITE, CMD_DISPLAY_COLOR_BLUE, CMD_DISPLAY_ATTR_FLAG_BOLD); + + cmd_display_buffer_fill_rect(buffer, rect, ' ', panel->active ? active_attr : normal_attr); + cmd_display_buffer_draw_box(buffer, rect, frame_attr); + cmd_panel_draw_title(panel, buffer, rect, frame_attr); + + if (rect->w <= 2 || rect->h <= 2) return ESP_OK; + + inner.x = rect->x + 1; + inner.y = rect->y + 1; + inner.w = rect->w - 2; + inner.h = rect->h - 2; + rows = (size_t)inner.h; + panel->view_rows = rows; + cmd_panel_ensure_cursor_visible(panel); + + if (panel->flags & CMD_PANEL_FLAG_ERROR) + { + cmd_panel_draw_error(panel, buffer, rect); + return ESP_OK; + } + + for (size_t row = 0; row < rows; row++) + { + size_t idx = panel->scroll + row; + cmd_rect_t line_rect; + cmd_display_attr_t attr; + char line[CMD_DISPLAY_COLS + 1]; + + line_rect.x = inner.x; + line_rect.y = inner.y + (int)row; + line_rect.w = inner.w; + line_rect.h = 1; + if (panel->active && idx == panel->cursor) + attr = selected_attr; + else if (idx < panel->count && (panel->entries[idx].flags & CMD_ENTRY_FLAG_SELECTED)) + attr = marked_attr; + else if (idx < panel->count && (panel->entries[idx].type == CMD_ENTRY_DIR || panel->entries[idx].type == CMD_ENTRY_PARENT)) + attr = folder_attr; + else + attr = panel->active ? active_attr : normal_attr; + + if (idx < panel->count) + { + size_t line_size = sizeof(line); + if (line_rect.w > 2 && (size_t)(line_rect.w - 1) < line_size) + line_size = (size_t)(line_rect.w - 1); + cmd_panel_make_entry_line(&panel->entries[idx], line, line_size); + } + else + line[0] = 0; + + cmd_display_buffer_fill_rect(buffer, &line_rect, ' ', attr); + + if (line_rect.w > 1) + cmd_display_buffer_write_text(buffer, line_rect.x + 1, line_rect.y, line, attr); + else + cmd_display_buffer_write_text(buffer, line_rect.x, line_rect.y, line, attr); + } + + return ESP_OK; +} diff --git a/src/main/cmd.h b/src/main/cmd.h new file mode 100644 index 0000000..303e798 --- /dev/null +++ b/src/main/cmd.h @@ -0,0 +1,696 @@ +#pragma once + +#include +#include +#include +#include + +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct CmdApp CmdApp; +typedef struct CmdFsManager CmdFsManager; +typedef struct CmdPanel CmdPanel; + +void cmd_console_register_system_commands(); +void cmd_set_status(CmdApp *app, const char *fmt, ...); +void cmd_show_error(CmdApp *app, const char *title, esp_err_t err); + +#ifdef __cplusplus +} +#endif + +// --------------- cmd_types.h --------------- + +#ifdef __cplusplus +extern "C" { +#endif + +#define CMD_TEXT_COLS 80 +#define CMD_TEXT_ROWS 30 +#define CMD_FILE_NAME_MAX 256 +#define CMD_PATH_MAX 256 +#define CMD_PANEL_COUNT 2 + +#ifndef CMD_ERR_BASE +#define CMD_ERR_BASE 0x7000 +#endif + +typedef esp_err_t CmdErr; + +typedef enum +{ + CMD_DEVICE_SD = 0, + CMD_DEVICE_FAT, + CMD_DEVICE_TSF, + CMD_DEVICE_MAX, + CMD_DEVICE_INVALID = -1 +} cmd_device_id_t; + +typedef enum +{ + CMD_ENTRY_UNKNOWN = 0, + CMD_ENTRY_FILE, + CMD_ENTRY_DIR, + CMD_ENTRY_PARENT +} cmd_entry_type_t; + +typedef enum +{ + CMD_ENTRY_FLAG_NONE = 0, + CMD_ENTRY_FLAG_SELECTED = 1u << 0, + CMD_ENTRY_FLAG_ERROR = 1u << 1 +} cmd_entry_flags_t; + +typedef struct +{ + char name[CMD_FILE_NAME_MAX]; + cmd_entry_type_t type; + uint64_t size; + uint64_t mtime; + uint32_t flags; +} cmd_file_entry_t; + +typedef struct +{ + int x; + int y; +} cmd_point_t; + +typedef struct +{ + int w; + int h; +} cmd_size_t; + +typedef struct +{ + int x; + int y; + int w; + int h; +} cmd_rect_t; + +typedef enum +{ + CMD_KEY_NONE = 0, + CMD_KEY_CHAR, + CMD_KEY_ESC, + CMD_KEY_ENTER, + CMD_KEY_BACKSPACE, + CMD_KEY_TAB, + CMD_KEY_UP, + CMD_KEY_DOWN, + CMD_KEY_LEFT, + CMD_KEY_RIGHT, + CMD_KEY_HOME, + CMD_KEY_END, + CMD_KEY_PAGE_UP, + CMD_KEY_PAGE_DOWN, + CMD_KEY_INSERT, + CMD_KEY_DELETE, + CMD_KEY_F1, + CMD_KEY_F2, + CMD_KEY_F3, + CMD_KEY_F4, + CMD_KEY_F5, + CMD_KEY_F6, + CMD_KEY_F7, + CMD_KEY_F8, + CMD_KEY_F9, + CMD_KEY_F10, + CMD_KEY_F11, + CMD_KEY_F12, + CMD_KEY_UNKNOWN +} cmd_key_t; + +typedef enum +{ + CMD_EVENT_NONE = 0, + CMD_EVENT_KEY, + CMD_EVENT_QUIT +} cmd_event_type_t; + +typedef struct +{ + cmd_event_type_t type; + cmd_key_t key; + uint32_t ch; + uint32_t mods; +} cmd_event_t; + +typedef enum +{ + CMD_KEY_MOD_NONE = 0, + CMD_KEY_MOD_SHIFT = 1u << 0, + CMD_KEY_MOD_CTRL = 1u << 1, + CMD_KEY_MOD_ALT = 1u << 2 +} cmd_key_mod_t; + +typedef enum +{ + CMD_OK = ESP_OK, + CMD_ERR_INVALID_DEVICE = CMD_ERR_BASE, + CMD_ERR_NOT_MOUNTED, + CMD_ERR_PATH_TOO_LONG, + CMD_ERR_ENTRY_TOO_LONG, + CMD_ERR_DIR_FULL, + CMD_ERR_INPUT_UNAVAILABLE, + CMD_ERR_CANCELLED +} cmd_err_t; + +const char *cmd_device_name(cmd_device_id_t id); +const char *cmd_entry_type_name(cmd_entry_type_t type); + +#ifdef __cplusplus +} +#endif + +// --------------- cmd_display.h --------------- + +#ifdef __cplusplus +extern "C" { +#endif + +#define CMD_DISPLAY_DEFAULT_COLS CMD_TEXT_COLS +#define CMD_DISPLAY_DEFAULT_ROWS CMD_TEXT_ROWS +#define CMD_DISPLAY_MAX_COLS 160 +#define CMD_DISPLAY_MAX_ROWS 64 +#define CMD_DISPLAY_COLS CMD_DISPLAY_MAX_COLS +#define CMD_DISPLAY_ROWS CMD_DISPLAY_MAX_ROWS +#define CMD_DISPLAY_CELL_COUNT (CMD_DISPLAY_COLS * CMD_DISPLAY_ROWS) +#define CMD_DISPLAY_MUX_MAX_BACKENDS 4 +#define CMD_DISPLAY_BACKEND_FLAG_FORCE_PARTIAL 1u + +typedef uint16_t cmd_display_attr_t; + +typedef enum +{ + CMD_DISPLAY_COLOR_BLACK = 0, + CMD_DISPLAY_COLOR_BLUE, + CMD_DISPLAY_COLOR_GREEN, + CMD_DISPLAY_COLOR_CYAN, + CMD_DISPLAY_COLOR_RED, + CMD_DISPLAY_COLOR_MAGENTA, + CMD_DISPLAY_COLOR_YELLOW, + CMD_DISPLAY_COLOR_WHITE, + CMD_DISPLAY_COLOR_BRIGHT_BLACK, + CMD_DISPLAY_COLOR_BRIGHT_BLUE, + CMD_DISPLAY_COLOR_BRIGHT_GREEN, + CMD_DISPLAY_COLOR_BRIGHT_CYAN, + CMD_DISPLAY_COLOR_BRIGHT_RED, + CMD_DISPLAY_COLOR_BRIGHT_MAGENTA, + CMD_DISPLAY_COLOR_BRIGHT_YELLOW, + CMD_DISPLAY_COLOR_BRIGHT_WHITE +} cmd_display_color_t; + +typedef enum +{ + CMD_DISPLAY_ATTR_FLAG_NONE = 0, + CMD_DISPLAY_ATTR_FLAG_BOLD = 1u << 0, + CMD_DISPLAY_ATTR_FLAG_INVERSE = 1u << 1, + CMD_DISPLAY_ATTR_FLAG_UNDERLINE = 1u << 2, + CMD_DISPLAY_ATTR_FLAG_SELECTED = 1u << 3 +} cmd_display_attr_flag_t; + +typedef enum +{ + CMD_DISPLAY_MODE_CONSOLE = 0, + CMD_DISPLAY_MODE_FT812, + CMD_DISPLAY_MODE_MIRROR +} CmdDisplayMode; + +#define CMD_DISPLAY_ATTR_FG_MASK 0x000f +#define CMD_DISPLAY_ATTR_BG_MASK 0x00f0 +#define CMD_DISPLAY_ATTR_FLAGS_MASK 0xff00 +#define CMD_DISPLAY_ATTR_BG_SHIFT 4 +#define CMD_DISPLAY_ATTR_FLAGS_SHIFT 8 +#define CMD_DISPLAY_ATTR_DEFAULT ((cmd_display_attr_t)(CMD_DISPLAY_COLOR_WHITE | (CMD_DISPLAY_COLOR_BLACK << CMD_DISPLAY_ATTR_BG_SHIFT))) + +#define CMD_DISPLAY_BOX_TL ((char)0xC9) +#define CMD_DISPLAY_BOX_TR ((char)0xBB) +#define CMD_DISPLAY_BOX_BL ((char)0xC8) +#define CMD_DISPLAY_BOX_BR ((char)0xBC) +#define CMD_DISPLAY_BOX_H ((char)0xCD) +#define CMD_DISPLAY_BOX_V ((char)0xBA) + +typedef struct +{ + char ch; + cmd_display_attr_t attr; +} CmdDisplayCell; + +typedef struct +{ + cmd_size_t size; + CmdDisplayCell cells[CMD_DISPLAY_ROWS][CMD_DISPLAY_COLS]; +} CmdDisplayBuffer; + +typedef struct CmdDisplayBackend CmdDisplayBackend; +typedef struct CmdDisplayMux CmdDisplayMux; + +typedef esp_err_t (*CmdDisplayBackendInitFn)(CmdDisplayBackend *backend); +typedef void (*CmdDisplayBackendDeinitFn)(CmdDisplayBackend *backend); +typedef esp_err_t (*CmdDisplayBackendClearFn)(CmdDisplayBackend *backend); +typedef esp_err_t (*CmdDisplayBackendPresentFn)(CmdDisplayBackend *backend, const CmdDisplayBuffer *buffer); +typedef esp_err_t (*CmdDisplayBackendPutCharFn)(CmdDisplayBackend *backend, int x, int y, char ch, cmd_display_attr_t attr); +typedef esp_err_t (*CmdDisplayBackendWriteTextFn)(CmdDisplayBackend *backend, int x, int y, const char *text, cmd_display_attr_t attr); +typedef esp_err_t (*CmdDisplayBackendGetSizeFn)(CmdDisplayBackend *backend, cmd_size_t *size); + +struct CmdDisplayBackend +{ + const char *name; + void *ctx; + uint32_t flags; + + CmdDisplayBackendInitFn init; + CmdDisplayBackendDeinitFn deinit; + CmdDisplayBackendClearFn clear; + CmdDisplayBackendPresentFn present; + CmdDisplayBackendPutCharFn put_char; + CmdDisplayBackendWriteTextFn write_text; + CmdDisplayBackendGetSizeFn get_size; +}; + +struct CmdDisplayMux +{ + CmdDisplayBackend *backends[CMD_DISPLAY_MUX_MAX_BACKENDS]; + size_t count; +}; + +extern CmdDisplayBackend cmd_display_console_backend; +extern CmdDisplayBackend cmd_display_ft812_backend; + +cmd_display_attr_t cmd_display_make_attr(cmd_display_color_t fg, cmd_display_color_t bg, uint8_t flags); +cmd_display_color_t cmd_display_attr_fg(cmd_display_attr_t attr); +cmd_display_color_t cmd_display_attr_bg(cmd_display_attr_t attr); +uint8_t cmd_display_attr_flags(cmd_display_attr_t attr); + +const char *cmd_display_mode_name(CmdDisplayMode mode); +bool cmd_display_mode_parse(const char *text, CmdDisplayMode *mode); +bool cmd_display_mode_has_console(CmdDisplayMode mode); +bool cmd_display_mode_has_ft812(CmdDisplayMode mode); + +void cmd_display_buffer_init(CmdDisplayBuffer *buffer); +esp_err_t cmd_display_buffer_set_size(CmdDisplayBuffer *buffer, int w, int h); +void cmd_display_buffer_clear(CmdDisplayBuffer *buffer, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_buffer_put_char(CmdDisplayBuffer *buffer, int x, int y, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_buffer_write_text(CmdDisplayBuffer *buffer, int x, int y, const char *text, cmd_display_attr_t attr); +esp_err_t cmd_display_buffer_fill_rect(CmdDisplayBuffer *buffer, const cmd_rect_t *rect, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_buffer_draw_hline(CmdDisplayBuffer *buffer, int x, int y, int w, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_buffer_draw_vline(CmdDisplayBuffer *buffer, int x, int y, int h, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_buffer_draw_box(CmdDisplayBuffer *buffer, const cmd_rect_t *rect, cmd_display_attr_t attr); +CmdDisplayCell *cmd_display_buffer_cell(CmdDisplayBuffer *buffer, int x, int y); +const CmdDisplayCell *cmd_display_buffer_cell_const(const CmdDisplayBuffer *buffer, int x, int y); +bool cmd_display_point_inside(int x, int y); +bool cmd_display_buffer_point_inside(const CmdDisplayBuffer *buffer, int x, int y); + +esp_err_t cmd_display_backend_init(CmdDisplayBackend *backend); +void cmd_display_backend_deinit(CmdDisplayBackend *backend); +esp_err_t cmd_display_backend_clear(CmdDisplayBackend *backend); +esp_err_t cmd_display_backend_present(CmdDisplayBackend *backend, const CmdDisplayBuffer *buffer); +esp_err_t cmd_display_backend_put_char(CmdDisplayBackend *backend, int x, int y, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_backend_write_text(CmdDisplayBackend *backend, int x, int y, const char *text, cmd_display_attr_t attr); +esp_err_t cmd_display_backend_get_size(CmdDisplayBackend *backend, cmd_size_t *size); + +void cmd_display_mux_init(CmdDisplayMux *mux); +esp_err_t cmd_display_mux_add_backend(CmdDisplayMux *mux, CmdDisplayBackend *backend); +esp_err_t cmd_display_mux_add_mode(CmdDisplayMux *mux, CmdDisplayMode mode); +esp_err_t cmd_display_mux_remove_backend(CmdDisplayMux *mux, CmdDisplayBackend *backend); +esp_err_t cmd_display_mux_init_backends(CmdDisplayMux *mux); +esp_err_t cmd_display_mux_get_size(CmdDisplayMux *mux, cmd_size_t *size); +void cmd_display_mux_deinit_backends(CmdDisplayMux *mux); +esp_err_t cmd_display_mux_clear(CmdDisplayMux *mux); +esp_err_t cmd_display_mux_present(CmdDisplayMux *mux, const CmdDisplayBuffer *buffer); +esp_err_t cmd_display_mux_put_char(CmdDisplayMux *mux, int x, int y, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_mux_write_text(CmdDisplayMux *mux, int x, int y, const char *text, cmd_display_attr_t attr); + +esp_err_t cmd_display_console_init(CmdDisplayBackend *backend); +void cmd_display_console_deinit(CmdDisplayBackend *backend); +esp_err_t cmd_display_console_clear(CmdDisplayBackend *backend); +esp_err_t cmd_display_console_present(CmdDisplayBackend *backend, const CmdDisplayBuffer *buffer); +esp_err_t cmd_display_console_put_char(CmdDisplayBackend *backend, int x, int y, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_console_write_text(CmdDisplayBackend *backend, int x, int y, const char *text, cmd_display_attr_t attr); +esp_err_t cmd_display_console_get_size(CmdDisplayBackend *backend, cmd_size_t *size); + +esp_err_t cmd_display_ft812_begin(CmdDisplayBackend *backend); +void cmd_display_ft812_end(CmdDisplayBackend *backend); +esp_err_t cmd_display_ft812_clear(CmdDisplayBackend *backend); +esp_err_t cmd_display_ft812_present(CmdDisplayBackend *backend, const CmdDisplayBuffer *buffer); +esp_err_t cmd_display_ft812_put_char(CmdDisplayBackend *backend, int x, int y, char ch, cmd_display_attr_t attr); +esp_err_t cmd_display_ft812_write_text(CmdDisplayBackend *backend, int x, int y, const char *text, cmd_display_attr_t attr); +esp_err_t cmd_display_ft812_get_size(CmdDisplayBackend *backend, cmd_size_t *size); + +#ifdef __cplusplus +} +#endif + +// --------------- cmd_fileops.h --------------- + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef CMD_FILEOPS_BUFFER_SIZE +#define CMD_FILEOPS_BUFFER_SIZE 4096 +#endif + +#ifndef CMD_FILEOPS_MAX_DEPTH +#define CMD_FILEOPS_MAX_DEPTH 16 +#endif + +typedef enum +{ + CMD_FILEOPS_OP_COPY = 0, + CMD_FILEOPS_OP_MOVE, + CMD_FILEOPS_OP_DELETE +} cmd_fileops_op_t; + +typedef enum +{ + CMD_FILEOPS_FLAG_NONE = 0, + CMD_FILEOPS_FLAG_RECURSIVE = 1u << 0, + CMD_FILEOPS_FLAG_OVERWRITE = 1u << 1 +} cmd_fileops_flags_t; + +typedef struct +{ + cmd_fileops_op_t op; + const char *filename; + uint64_t bytes_done; + uint64_t bytes_total; + size_t files_done; + size_t files_total; + bool can_cancel; +} CmdFileopsProgress; + +typedef bool (*CmdFileopsProgressFn)(const CmdFileopsProgress *progress, void *ctx); + +typedef struct +{ + uint32_t flags; + CmdFileopsProgressFn progress; + void *progress_ctx; +} CmdFileopsOptions; + +esp_err_t cmd_fileops_alloc_global_buffers(); +void cmd_fileops_free_global_buffers(); + +esp_err_t cmd_fileops_copy_path(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + const CmdFileopsOptions *options); + +esp_err_t cmd_fileops_copy_file(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + const CmdFileopsOptions *options); + +esp_err_t cmd_fileops_move_path(CmdFsManager *fs, + cmd_device_id_t src_device, + const char *src_path, + cmd_device_id_t dst_device, + const char *dst_path, + const CmdFileopsOptions *options); + +esp_err_t cmd_fileops_delete_path(CmdFsManager *fs, + cmd_device_id_t device_id, + const char *path, + const CmdFileopsOptions *options); + +esp_err_t cmd_fileops_copy_selected(CmdPanel *active, + CmdPanel *passive, + const CmdFileopsOptions *options); + +esp_err_t cmd_fileops_move_selected(CmdPanel *active, + CmdPanel *passive, + const CmdFileopsOptions *options); + +esp_err_t cmd_fileops_delete_selected(CmdPanel *panel, + const CmdFileopsOptions *options); + +#ifdef __cplusplus +} +#endif + +// --------------- cmd_fs.h --------------- + +#ifdef __cplusplus +extern "C" { +#endif + +#define CMD_FS_DRIVER_MAX CMD_DEVICE_MAX + +#ifndef CMD_FS_SD_ROOT_PATH +#define CMD_FS_SD_ROOT_PATH "/sd" +#endif + +typedef struct CmdFsDriver CmdFsDriver; +typedef struct CmdFsManager CmdFsManager; +typedef struct CmdFsList CmdFsList; +typedef struct CmdFsFile CmdFsFile; + +typedef esp_err_t (*CmdFsMountFn)(CmdFsDriver *driver); +typedef esp_err_t (*CmdFsUnmountFn)(CmdFsDriver *driver); +typedef esp_err_t (*CmdFsListBeginFn)(CmdFsDriver *driver, const char *path, CmdFsList *list); +typedef esp_err_t (*CmdFsListNextFn)(CmdFsDriver *driver, CmdFsList *list, cmd_file_entry_t *entry); +typedef void (*CmdFsListCloseFn)(CmdFsDriver *driver, CmdFsList *list); +typedef esp_err_t (*CmdFsStatFn)(CmdFsDriver *driver, const char *path, cmd_file_entry_t *entry); +typedef esp_err_t (*CmdFsMkdirFn)(CmdFsDriver *driver, const char *path); +typedef esp_err_t (*CmdFsRemoveFn)(CmdFsDriver *driver, const char *path); +typedef esp_err_t (*CmdFsRenameFn)(CmdFsDriver *driver, const char *old_path, const char *new_path); +typedef esp_err_t (*CmdFsOpenFn)(CmdFsDriver *driver, const char *path, CmdFsFile *file); +typedef esp_err_t (*CmdFsReadFn)(CmdFsDriver *driver, CmdFsFile *file, void *dst, size_t size, size_t *out_size); +typedef esp_err_t (*CmdFsWriteFn)(CmdFsDriver *driver, CmdFsFile *file, const void *src, size_t size, size_t *out_size); +typedef esp_err_t (*CmdFsSeekFn)(CmdFsDriver *driver, CmdFsFile *file, int64_t offset, int whence); +typedef esp_err_t (*CmdFsTellFn)(CmdFsDriver *driver, CmdFsFile *file, uint64_t *out_pos); +typedef esp_err_t (*CmdFsCloseFn)(CmdFsDriver *driver, CmdFsFile *file); + +struct CmdFsList +{ + cmd_device_id_t device_id; + char path[CMD_PATH_MAX]; + char abs_path[CMD_PATH_MAX]; + void *dir; + size_t index; + bool parent_pending; + uint32_t flags; +}; + +struct CmdFsFile +{ + cmd_device_id_t device_id; + FILE *fp; + void *ctx; + char name[CMD_FILE_NAME_MAX]; + uint32_t flags; +}; + +typedef struct +{ + uint64_t total_bytes; + uint64_t free_bytes; +} +CmdFsSpaceInfo; + +struct CmdFsDriver +{ + cmd_device_id_t device_id; + const char *name; + const char *root_path; + void *ctx; + + CmdFsMountFn mount; + CmdFsUnmountFn unmount; + CmdFsListBeginFn list_begin; + CmdFsListNextFn list_next; + CmdFsListCloseFn list_close; + CmdFsStatFn stat; + CmdFsMkdirFn mkdir; + CmdFsRemoveFn remove; + CmdFsRenameFn rename; + CmdFsOpenFn open_read; + CmdFsOpenFn open_write; + CmdFsReadFn read; + CmdFsWriteFn write; + CmdFsSeekFn seek; + CmdFsTellFn tell; + CmdFsCloseFn close; +}; + +struct CmdFsManager +{ + CmdFsDriver *drivers[CMD_FS_DRIVER_MAX]; + uint32_t registered_mask; + uint32_t mounted_mask; +}; + +extern CmdFsDriver cmd_fs_sd_driver; +extern CmdFsDriver cmd_fs_fat_driver; +extern CmdFsDriver cmd_fs_tsf_driver; + +bool cmd_fs_is_valid_device_id(cmd_device_id_t device_id); + +void cmd_fs_manager_init(CmdFsManager *manager); +esp_err_t cmd_fs_manager_register_driver(CmdFsManager *manager, CmdFsDriver *driver); +esp_err_t cmd_fs_manager_unregister_driver(CmdFsManager *manager, cmd_device_id_t device_id); +CmdFsDriver *cmd_fs_manager_get_driver(CmdFsManager *manager, cmd_device_id_t device_id); +const CmdFsDriver *cmd_fs_manager_get_driver_const(const CmdFsManager *manager, cmd_device_id_t device_id); +esp_err_t cmd_fs_manager_register_default_drivers(CmdFsManager *manager); +esp_err_t cmd_fs_manager_build_abs_path(const CmdFsManager *manager, cmd_device_id_t device_id, const char *current_path, const char *filename, char *out, size_t out_size); + +esp_err_t cmd_fs_manager_mount(CmdFsManager *manager, cmd_device_id_t device_id); +esp_err_t cmd_fs_manager_unmount(CmdFsManager *manager, cmd_device_id_t device_id); +esp_err_t cmd_fs_manager_unmount_all(CmdFsManager *manager); +esp_err_t cmd_fs_manager_list_begin(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, CmdFsList *list); +esp_err_t cmd_fs_manager_list_next(CmdFsManager *manager, CmdFsList *list, cmd_file_entry_t *entry); +void cmd_fs_manager_list_close(CmdFsManager *manager, CmdFsList *list); +esp_err_t cmd_fs_manager_stat(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, cmd_file_entry_t *entry); +esp_err_t cmd_fs_manager_space_info(CmdFsManager *manager, cmd_device_id_t device_id, CmdFsSpaceInfo *info); +esp_err_t cmd_fs_manager_mkdir(CmdFsManager *manager, cmd_device_id_t device_id, const char *path); +esp_err_t cmd_fs_manager_remove(CmdFsManager *manager, cmd_device_id_t device_id, const char *path); +esp_err_t cmd_fs_manager_rename(CmdFsManager *manager, cmd_device_id_t device_id, const char *old_path, const char *new_path); +esp_err_t cmd_fs_manager_open_read(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, CmdFsFile *file); +esp_err_t cmd_fs_manager_open_write(CmdFsManager *manager, cmd_device_id_t device_id, const char *path, CmdFsFile *file); +esp_err_t cmd_fs_manager_read(CmdFsManager *manager, CmdFsFile *file, void *dst, size_t size, size_t *out_size); +esp_err_t cmd_fs_manager_write(CmdFsManager *manager, CmdFsFile *file, const void *src, size_t size, size_t *out_size); +esp_err_t cmd_fs_manager_seek(CmdFsManager *manager, CmdFsFile *file, int64_t offset, int whence); +esp_err_t cmd_fs_manager_tell(CmdFsManager *manager, CmdFsFile *file, uint64_t *out_pos); +esp_err_t cmd_fs_manager_close(CmdFsManager *manager, CmdFsFile *file); + +esp_err_t cmd_fs_copy_path(const char *src, char *out, size_t out_size); +esp_err_t cmd_fs_join_path(const char *left, const char *right, char *out, size_t out_size); +esp_err_t cmd_fs_join3_path(const char *left, const char *middle, const char *right, char *out, size_t out_size); +esp_err_t cmd_fs_parent_path(const char *path, char *out, size_t out_size); +esp_err_t cmd_fs_extract_filename(const char *path, char *out, size_t out_size); +const char *cmd_fs_filename_ptr(const char *path); +bool cmd_fs_path_is_root(const char *path); + +#ifdef __cplusplus +} +#endif + +// --------------- cmd_input.h --------------- + +#ifdef __cplusplus +extern "C" { +#endif + +#define CMD_INPUT_WAIT_FOREVER UINT32_MAX +#define CMD_INPUT_ESC_TIMEOUT_MS 120 + +typedef struct CmdInputBackend CmdInputBackend; + +typedef esp_err_t (*cmd_input_begin_fn)(CmdInputBackend *backend); +typedef void (*cmd_input_end_fn)(CmdInputBackend *backend); +typedef esp_err_t (*cmd_input_poll_event_fn)(CmdInputBackend *backend, cmd_event_t *event, uint32_t timeout_ms); + +struct CmdInputBackend +{ + const char *name; + void *ctx; + cmd_input_begin_fn begin; + cmd_input_end_fn end; + cmd_input_poll_event_fn poll_event; +}; + +void cmd_input_event_clear(cmd_event_t *event); +void cmd_input_event_key(cmd_event_t *event, cmd_key_t key, uint32_t mods); +void cmd_input_event_char(cmd_event_t *event, uint32_t ch, uint32_t mods); +void cmd_input_event_quit(cmd_event_t *event); + +esp_err_t cmd_input_begin(CmdInputBackend *backend); +void cmd_input_end(CmdInputBackend *backend); +esp_err_t cmd_input_poll_event(CmdInputBackend *backend, cmd_event_t *event, uint32_t timeout_ms); + +CmdInputBackend *cmd_input_console_backend(); +CmdInputBackend *cmd_input_default_backend(); + +const char *cmd_input_key_name(cmd_key_t key); + +#ifdef __cplusplus +} +#endif + +// --------------- cmd_panel.h --------------- + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef CMD_PANEL_MAX_ENTRIES +#define CMD_PANEL_MAX_ENTRIES 1000 +#endif + +#ifndef CMD_PANEL_DEFAULT_PAGE_STEP +#define CMD_PANEL_DEFAULT_PAGE_STEP 10 +#endif + +typedef enum +{ + CMD_PANEL_FLAG_NONE = 0, + CMD_PANEL_FLAG_ACTIVE = 1u << 0, + CMD_PANEL_FLAG_ERROR = 1u << 1, + CMD_PANEL_FLAG_TRUNCATED = 1u << 2 +} cmd_panel_flags_t; + +struct CmdPanel +{ + CmdFsManager *fs; + cmd_device_id_t device_id; + char current_path[CMD_PATH_MAX]; + cmd_file_entry_t *entries; + size_t capacity; + size_t count; + size_t cursor; + size_t scroll; + size_t view_rows; + size_t selected_count; + uint64_t selected_size; + CmdFsSpaceInfo space_info; + esp_err_t space_info_error; + bool space_info_valid; + bool active; + uint32_t flags; + esp_err_t last_error; +}; + +esp_err_t cmd_panel_alloc_global_buffers(); +void cmd_panel_free_global_buffers(); +esp_err_t cmd_panel_alloc_entries(CmdPanel *panel, size_t capacity); +void cmd_panel_free_entries(CmdPanel *panel); +void cmd_panel_init(CmdPanel *panel, CmdFsManager *fs, cmd_device_id_t device_id); +void cmd_panel_reset(CmdPanel *panel); +void cmd_panel_set_active(CmdPanel *panel, bool active); +bool cmd_panel_is_active(const CmdPanel *panel); +esp_err_t cmd_panel_set_path(CmdPanel *panel, const char *path); +esp_err_t cmd_panel_reload(CmdPanel *panel); +esp_err_t cmd_panel_draw(CmdPanel *panel, CmdDisplayBuffer *buffer, const cmd_rect_t *rect); +void cmd_panel_cursor_up(CmdPanel *panel); +void cmd_panel_cursor_down(CmdPanel *panel); +void cmd_panel_cursor_page_up(CmdPanel *panel); +void cmd_panel_cursor_page_down(CmdPanel *panel); +void cmd_panel_cursor_home(CmdPanel *panel); +void cmd_panel_cursor_end(CmdPanel *panel); +const cmd_file_entry_t *cmd_panel_get_selected_entry(const CmdPanel *panel); +void cmd_panel_toggle_selection(CmdPanel *panel); +void cmd_panel_invert_selection(CmdPanel *panel); +void cmd_panel_clear_selection(CmdPanel *panel); +void cmd_panel_update_selection_stats(CmdPanel *panel); +bool cmd_panel_has_selection(const CmdPanel *panel); +esp_err_t cmd_panel_change_device(CmdPanel *panel, cmd_device_id_t device_id); +esp_err_t cmd_panel_enter_selected_dir(CmdPanel *panel); +esp_err_t cmd_panel_go_parent(CmdPanel *panel); +void cmd_panel_clamp_cursor(CmdPanel *panel); +void cmd_panel_ensure_cursor_visible(CmdPanel *panel); + +#ifdef __cplusplus +} +#endif diff --git a/src/main/console.cpp b/src/main/console.cpp new file mode 100644 index 0000000..c93d6c8 --- /dev/null +++ b/src/main/console.cpp @@ -0,0 +1,179 @@ +#include +#include + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +#include "esp_system.h" +#include "esp_console.h" +#include "esp_log.h" +#include "esp_vfs_dev.h" // Old headers for the aliasing functions + +#include "driver/uart_vfs.h" + +#include "driver/uart.h" +#include "argtable3/argtable3.h" +#include "linenoise/linenoise.h" +#include "nvs.h" +#include "nvs_flash.h" + +#include "main.h" +#include "ft8xx.h" +#include "console.h" +#include "tracker.h" +#include "sfx.h" +#include "tsf.h" +#include "opl.h" +#include "fatfs.h" +#include "cmd.h" + +#if defined(CONFIG_ESP_WIFI_ENABLED) && CONFIG_ESP_WIFI_ENABLED +#include "wifi.h" +#endif + +#if SOC_SDMMC_HOST_SUPPORTED +#include "sdmmc.h" +#endif + +#define PROMPT_STR "zifi32" +#define CONSOLE_UART_RX_BUF_SIZE 1024 +#define CONSOLE_PROMPT_MAX_LEN 32 + +char prompt_buf[CONSOLE_PROMPT_MAX_LEN]; +const char *prompt = prompt_buf; + +void console_register_commands() +{ + esp_console_register_help_command(); + esp_console_register_system_commands(); +#if defined(CONFIG_ESP_WIFI_ENABLED) && CONFIG_ESP_WIFI_ENABLED + esp_console_register_wifi_commands(); +#endif + ft_console_register_system_commands(); +#if SOC_SDMMC_HOST_SUPPORTED + sdmmc_console_register_system_commands(); +#endif + xm_console_register_system_commands(); + sfx_console_register_system_commands(); + tsf_console_register_system_commands(); + opl_console_register_system_commands(); + fat_console_register_system_commands(); + cmd_console_register_system_commands(); +} + +void console_update_prompt() +{ + if (linenoiseIsDumbMode()) + { + snprintf(prompt_buf, sizeof(prompt_buf), PROMPT_STR "> "); + return; + } + +#if CONFIG_LOG_COLORS + snprintf(prompt_buf, sizeof(prompt_buf), LOG_COLOR_I PROMPT_STR "> " LOG_RESET_COLOR); +#else + snprintf(prompt_buf, sizeof(prompt_buf), PROMPT_STR "> "); +#endif +} + +void initialize_console() +{ + // Drain stdout before reconfiguring it + fflush(stdout); + fsync(fileno(stdout)); + + // Disable buffering on stdin + setvbuf(stdin, NULL, _IONBF, 0); + log_sram_used(__FILE_NAME__ ": setvbuf"); + + /* Minicom, screen, idf_monitor send CR when ENTER key is pressed */ + uart_vfs_dev_port_set_rx_line_endings(CONFIG_ESP_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR); + + /* Move the caret to the beginning of the next line on '\n' */ + uart_vfs_dev_port_set_tx_line_endings(CONFIG_ESP_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF); + + // Install UART driver for interrupt-driven reads and writes + ESP_ERROR_CHECK(uart_driver_install((uart_port_t)CONFIG_ESP_CONSOLE_UART_NUM, CONSOLE_UART_RX_BUF_SIZE, 0, 0, NULL, 0)); + log_sram_used(__FILE_NAME__ ": uart_driver_install"); + + // Tell VFS to use UART driver + uart_vfs_dev_use_driver(CONFIG_ESP_CONSOLE_UART_NUM); + + // Initialize the console + esp_console_config_t console_config = + { + .max_cmdline_length = 256, + .max_cmdline_args = 128, +#if CONFIG_LOG_COLORS + .hint_color = atoi(LOG_COLOR_CYAN) +#endif + }; + ESP_ERROR_CHECK(esp_console_init(&console_config)); + + // Configure linenoise line completion library. + // Single-line mode sends less data on each key press and is much more stable on UART. + linenoiseSetMultiLine(0); + + // Detect whether the terminal supports escape sequences. + if (linenoiseProbe() != 0) + linenoiseSetDumbMode(1); + + // Tell linenoise where to get command completions. + linenoiseSetCompletionCallback(&esp_console_get_completion); + + // Hints trigger additional redraw traffic on every key press. + // Disabling them makes repeated backspace handling much more stable. + // linenoiseSetHintsCallback((linenoiseHintsCallback*)&esp_console_get_hint); + + // Set command history size + linenoiseHistorySetMaxLen(100); + + // Set command maximum length + linenoiseSetMaxLineLen(console_config.max_cmdline_length); + + // Don't return empty lines + linenoiseAllowEmpty(false); + + console_update_prompt(); + + // Register commands + console_register_commands(); + + log_sram_used(__FILE_NAME__ ": initialize_console end"); +} + +void console_task(void *arg) +{ + _delay_ms(30); + + printf("\n" + "Type 'help' to get the list of commands.\n" + "Use UP/DOWN arrows to navigate through command history.\n" + "Press TAB when typing command name to auto-complete.\n"); + + while (true) + { + char* line = linenoise(prompt); + + if (line == NULL) + continue; + + if (strlen(line) > 0) + linenoiseHistoryAdd(line); + + int ret; + esp_err_t err = esp_console_run(line, &ret); + + if (err == ESP_ERR_NOT_FOUND) + printf("Unrecognized command\n"); + else if (err == ESP_ERR_INVALID_ARG) + { + } + else if (err == ESP_OK && ret != ESP_OK) + printf("Command returned non-zero error code: 0x%x (%s)\n", ret, esp_err_to_name(ret)); + else if (err != ESP_OK) + printf("Internal error: %s\n", esp_err_to_name(err)); + + linenoiseFree(line); + } +} diff --git a/src/main/console.h b/src/main/console.h new file mode 100644 index 0000000..d73d1c8 --- /dev/null +++ b/src/main/console.h @@ -0,0 +1,6 @@ + +#pragma once + +void initialize_console(); +void console_task(void *arg); +void esp_console_register_system_commands(); diff --git a/src/main/depack.cpp b/src/main/depack.cpp new file mode 100644 index 0000000..40846fe --- /dev/null +++ b/src/main/depack.cpp @@ -0,0 +1,359 @@ + +#include "main.h" + +//------------------- DeHrust -------------------------- + +/* BBStream class */ +class BBStream +{ +private: + u8* base; + u8* p; + int idx; + int len; + bool eof; + u16 bits; + +public: + BBStream(u8* from, int blockSize) + { + base = p = from; + + len = blockSize; + idx = 0; + eof = false; + + bits = getByte(); + bits += 256 * getByte(); + } + + u8 getByte(void) + { + if (p - base == len) + { + eof = true; return 0; + } + return *p++; + } + + u8 getBit() + { + u16 mask[] = { 0x8000, 0x4000, 0x2000, 0x1000, 0x800, 0x400, 0x200, 0x100, 0x80, 0x40, 0x20, 0x10, 0x8, 0x4, 0x2, 0x1 }; + + u8 bit = (bits & mask[idx]) ? 1 : 0; + + if (idx == 15) + { + bits = getByte(); + bits += 256 * getByte(); + } + + idx = (idx + 1) % 16; + return bit; + } + + u8 getBits(int n) + { + u8 r = 0; + + do + { + r = 2 * r + getBit(); + } while(--n); + return r; + } + + bool error(void) + { + return eof; + } +}; + +/* depacker */ +u16 dehrust(u8 *dst, u8 *src, int size) +{ + BBStream s(src, size); + + if (!dst || !src) + return 0; + + u8 *to = dst; + + *to++ = s.getByte(); + + u8 noBits = 2; + u8 mask[] = { 0, 0, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0 }; + + while (!s.error()) + { + while (s.getBit()) + *to++ = s.getByte(); + + u16 len = 0; + u8 bb /* = 0*/; + + do + { + bb = s.getBits(2); + len += bb; + } while(bb == 0x03 && len != 0x0f); + + short offset = 0; + + if (len == 0) + { + offset = 0xfff8 + s.getBits(3); + { u8 t = to[offset]; *to++ = t; } + continue; + } + + if (len == 1) + { + u8 code = s.getBits(2); + + if (code == 2) + { + u8 b = s.getByte(); + if (b >= 0xe0) + { + b <<= 1; ++b; // rlca + b ^= 2; // xor c + + if (b == 0xff) + { + ++noBits; continue; + } + + offset = 0xff00 + b - 0x0f; + + { u8 t = to[offset]; *to++ = t; } + *to++ = s.getByte(); + { u8 t = to[offset]; *to++ = t; } + continue; + } + offset = 0xff00 + b; + } + + if (code == 0 || code == 1) + { + offset = s.getByte(); + offset += 256 * (code ? 0xfe : 0xfd); + } + if (code == 3) + offset = 0xffe0 + s.getBits(5); + + for (u8 i = 0; i < 2; ++i) + { u8 t = to[offset]; *to++ = t; } + continue; + } + + if (len == 3) + { + if (s.getBit()) + { + offset = 0xfff0 + s.getBits(4); + { u8 t = to[offset]; *to++ = t; } + *to++ = s.getByte(); + { u8 t = to[offset]; *to++ = t; } + continue; + } + + if (s.getBit()) + { + u8 noBytes = 6 + s.getBits(4); + for (u8 i = 0; i < 2 * noBytes; ++i) + *to++ = s.getByte(); + continue; + } + + len = s.getBits(7); + if (len == 0x0f) + break; // EOF + if (len < 0x0f) + len = 256 * len + s.getByte(); + } + + if (len == 2) + ++len; + + u8 code = s.getBits(2); + + if (code == 1) + { + u8 b = s.getByte(); + + if (b >= 0xe0) + { + if (len > 3) + return false; + + b <<= 1; ++b; // rlca + b ^= 3; // xor c + + offset = 0xff00 + b - 0x0f; + + { u8 t = to[offset]; *to++ = t; } + *to++ = s.getByte(); + { u8 t = to[offset]; *to++ = t; } + continue; + } + offset = 0xff00 + b; + } + + if (code == 0) + offset = 0xfe00 + s.getByte(); + if (code == 2) + offset = 0xffe0 + s.getBits(5); + if (code == 3) + { + offset = 256 * (mask[noBits] + s.getBits(noBits)); + offset += s.getByte(); + } + + for (u16 i = 0; i < len; ++i) + { u8 t = to[offset]; *to++ = t; } + } + + return to - dst; +} + +//------------------- DeMegaLZ -------------------------- + +class deMLZ +{ +private: + u8 *from; + u8 *to; + u8 bitstream; + int bitcount; + +public: + deMLZ(u8 *dst, u8 *src) + { + from = src; + to = dst; + } + + void init_bitstream(void) + { + bitstream = get_byte(); + bitcount = 8; + } + + u8 get_byte(void) + { + return *from++; + } + + void put_byte(u8 val) + { + *to++ = val; + } + + void repeat(u32 disp, int num) + { + for (int i = 0; i < num; i++) + { + u8 val = *(to - disp); + put_byte(val); + } + } + + // gets specified number of bits from bitstream + // returns them LSB-aligned + u32 get_bits(int count) + { + u32 bits = 0; + + while (count--) + { + if (bitcount--) + { + bits <<= 1; + bits |= 1 & (bitstream >> 7); + bitstream <<= 1; + } + else + { + init_bitstream(); + count++; // repeat loop once more + } + } + + return bits; + } + + int get_bigdisp(void) + { + u32 bits; + + // inter displacement + if (get_bits(1)) + { + bits = get_bits(4); + return 0x1100 - (bits << 8) - get_byte(); + } + + // shorter displacement + else + return 256 - get_byte(); + } +}; + +// depacker +void demlz(u8 *dst, u8 *src, int size) +{ + deMLZ s(dst, src); + u32 done = 0; + int i; + + // get first byte of packed file and write to output + s.put_byte(s.get_byte()); + + // second byte goes to bitstream + s.init_bitstream(); + + // actual depacking loop! + do + { + // get 1st bit - either OUTBYTE or beginning of LZ code + // OUTBYTE + if (s.get_bits(1)) + s.put_byte(s.get_byte()); + + // LZ code + else + { + switch (s.get_bits(2)) + { + case 0: // 000 + s.repeat(8 - s.get_bits(3), 1); + break; + + case 1: // 001 + s.repeat(256 - s.get_byte(), 2); + break; + + case 2: // 010 + s.repeat(s.get_bigdisp(), 3); + break; + + case 3: // 011 + // extract num of length bits + for (i = 1; !s.get_bits(1); i++) + ; + + // check for exit code + if (i == 9) + done = 1; + else if (i <= 7) + { + // get length bits itself + int bits = s.get_bits(i); + s.repeat(s.get_bigdisp(), 2 + (1 << i) + bits); + } + break; + } + } + } while (!done); +} diff --git a/src/main/depack.h b/src/main/depack.h new file mode 100644 index 0000000..a3f75a7 --- /dev/null +++ b/src/main/depack.h @@ -0,0 +1,6 @@ + +#pragma once +#include "main.h" + +u16 dehrust(u8 *dst, u8 *src, int size); +void demlz(u8 *dst, u8 *src, int size); diff --git a/src/main/elf.cpp b/src/main/elf.cpp new file mode 100644 index 0000000..4a9be3d --- /dev/null +++ b/src/main/elf.cpp @@ -0,0 +1,244 @@ + +#include +#include +#include + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +#include "main.h" +#include "esp_spi_defs.h" +#include "mem_obj.h" +#include "elf.cpp.h" + +int load_elf(u8 *elf, MEM_OBJ *obj, int opt) +{ + enum + { + TYPE_NONE, + TYPE_TEXT, + TYPE_RODATA, + TYPE_DATA, + TYPE_BSS, + }; + + Elf32_Ehdr* elf_header = (Elf32_Ehdr*)elf; + Elf32_Shdr* section_headers = (Elf32_Shdr*)(elf + elf_header->e_shoff); +#ifdef VERBOSE + Elf32_Shdr* shstrtab_header = §ion_headers[elf_header->e_shstrndx]; + const char* shstrtab = (const char*)(elf + shstrtab_header->sh_offset); +#endif + u32 entry = 0; + int size = 0; + + int num_sec = elf_header->e_shnum; + + Elf32_Rela* rld = NULL; + int rld_num = 0; + + // Parse sections to determine type and find dynamic relocation section + for (int i = 0; i < num_sec; i++) + { + Elf32_Shdr* section = §ion_headers[i]; + + if (!section->sh_addr) continue; + + section->sh_info = TYPE_NONE; + section->sh_link = 0; + + switch (section->sh_type) + { + case SHT_RELA: + section->sh_type = TYPE_NONE; + rld = (Elf32_Rela*)&elf[section->sh_offset]; + rld_num = section->sh_size / sizeof(Elf32_Rela); + break; + + case SHT_NOBITS: + section->sh_type = TYPE_BSS; + break; + + case SHT_PROGBITS: + if (section->sh_flags & SHF_EXECINSTR) + { + section->sh_type = TYPE_TEXT; + section->sh_link = 1; // .text is always used if no symbol refere it + } + + else if (section->sh_flags & SHF_WRITE) + section->sh_type = TYPE_DATA; + + else + section->sh_type = TYPE_RODATA; + break; + + default: + section->sh_type = TYPE_NONE; + } + } + + // Parse relocation symbols to find used sections + for (int i = 0; i < rld_num; i++) + { + u32 rld_offs = rld[i].r_offset; + u32 *sym_offs = (u32*)&elf[rld_offs]; + u32 sym_val = *sym_offs; + + for (int j = 0; j < num_sec; j++) + { + Elf32_Shdr* section = §ion_headers[j]; + + if (section->sh_addr) + { + if ((sym_val >= section->sh_addr) && (sym_val <= (section->sh_addr + section->sh_size - 1))) + { + section->sh_link++; + break; + } + } + } + } + + // Allocate memory for sections +#ifdef VERBOSE + printf("\nSections used:\n"); +#endif + + for (int i = 0; i < num_sec; i++) + { + Elf32_Shdr* section = §ion_headers[i]; + + if (!section->sh_addr) continue; + if (!section->sh_link) continue; + + section->sh_info = 0; + + switch (section->sh_type) + { + case TYPE_TEXT: + section->sh_info = (u32)heap_caps_aligned_alloc(section->sh_addralign, section->sh_size, MALLOC_CAP_INTERNAL); + if (!section->sh_info) goto cleanup; + entry = elf_header->e_entry - section->sh_offset + section->sh_info + 0x6F0000; + obj->text = (void*)section->sh_info; + obj->sz_text = section->sh_size; + obj->entry = (void*)entry; + size += section->sh_size; + break; + + case TYPE_BSS: +#ifdef CONFIG_SPIRAM + section->sh_info = (u32)heap_caps_aligned_alloc(section->sh_addralign, section->sh_size, (opt & ESP_OPT_BSS_SRAM) ? MALLOC_CAP_INTERNAL : MALLOC_CAP_SPIRAM); +#else + section->sh_info = (u32)heap_caps_aligned_alloc(section->sh_addralign, section->sh_size, MALLOC_CAP_INTERNAL); +#endif + if (!section->sh_info) goto cleanup; + obj->bss = (void*)section->sh_info; + obj->sz_bss = section->sh_size; + size += section->sh_size; + break; + + case TYPE_DATA: +#ifdef CONFIG_SPIRAM + section->sh_info = (u32)heap_caps_aligned_alloc(section->sh_addralign, section->sh_size, (opt & ESP_OPT_DATA_SRAM) ? MALLOC_CAP_INTERNAL : MALLOC_CAP_SPIRAM); +#else + section->sh_info = (u32)heap_caps_aligned_alloc(section->sh_addralign, section->sh_size, MALLOC_CAP_INTERNAL); +#endif + if (!section->sh_info) goto cleanup; + obj->data = (void*)section->sh_info; + obj->sz_data = section->sh_size; + size += section->sh_size; + break; + + case TYPE_RODATA: +#ifdef CONFIG_SPIRAM + section->sh_info = (u32)heap_caps_aligned_alloc(section->sh_addralign, section->sh_size, (opt & ESP_OPT_RODATA_SRAM) ? MALLOC_CAP_INTERNAL : MALLOC_CAP_SPIRAM); +#else + section->sh_info = (u32)heap_caps_aligned_alloc(section->sh_addralign, section->sh_size, MALLOC_CAP_INTERNAL); +#endif + if (!section->sh_info) goto cleanup; + obj->rodata = (void*)section->sh_info; + obj->sz_rodata = section->sh_size; + size += section->sh_size; + break; + } + +#ifdef VERBOSE + const char* section_name = shstrtab + section->sh_name; + printf("%-10s Addr: %06lX Size: %-5ld Symbols: %-3ld Alloc: %lX Align: %ld\n", section_name, section->sh_addr, section->sh_size, section->sh_link, section->sh_info, section->sh_addralign); +#endif + } + + // Relocate dynamic symbols +#ifdef VERBOSE + printf("\nRelocated symbols:\n"); +#endif + + for (int i = 0; i < rld_num; i++) + { + u32 rld_offs = rld[i].r_offset; + u32 *sym_offs = (u32*)&elf[rld_offs]; + u32 sym_val = *sym_offs; + u32 sym_addr = 0; +#ifdef VERBOSE + const char* name = ""; +#endif + + for (int j = 0; j < num_sec; j++) + { + Elf32_Shdr* section = §ion_headers[j]; + + if (section->sh_addr) + { + if ((sym_val >= section->sh_addr) && (sym_val <= (section->sh_addr + section->sh_size - 1))) + { + sym_addr = sym_val - section->sh_offset + section->sh_info + ((section->sh_type == TYPE_TEXT) ? 0x6F0000 : 0); + *sym_offs = sym_addr; +#ifdef VERBOSE + name = shstrtab + section->sh_name; +#endif + break; + } + } + } + +#ifdef VERBOSE + printf("%-4d Offs: %-5lX Value: %-6lX Addr: %lX Section: %s\n", i, rld_offs, sym_val, sym_addr, name); +#endif + } + + // Initialize memory for sections + for (int i = 0; i < num_sec; i++) + { + Elf32_Shdr* section = §ion_headers[i]; + + if (!section->sh_addr) continue; + if (!section->sh_link) continue; + + switch (section->sh_type) + { + case TYPE_TEXT: + case TYPE_DATA: + case TYPE_RODATA: + if (section->sh_info) memcpy((void*)section->sh_info, &elf[section->sh_offset], section->sh_size); + break; + + case TYPE_BSS: + if (section->sh_info) memset((void*)section->sh_info, 0, section->sh_size); + break; + } + } + +#ifdef VERBOSE + printf("\nEntry: %lX\n", entry); +#endif + + return size; + +cleanup: + if (obj->text) free(obj->text); + if (obj->rodata) free(obj->rodata); + if (obj->data) free(obj->data); + if (obj->bss) free(obj->bss); + + return -1; +} diff --git a/src/main/elf.cpp.h b/src/main/elf.cpp.h new file mode 100644 index 0000000..8b61a19 --- /dev/null +++ b/src/main/elf.cpp.h @@ -0,0 +1,4 @@ + +#pragma once + +int load_elf(u8 *elf, MEM_OBJ *obj, int opt); diff --git a/src/main/esp_spi_defs.h b/src/main/esp_spi_defs.h new file mode 100644 index 0000000..108e83d --- /dev/null +++ b/src/main/esp_spi_defs.h @@ -0,0 +1,375 @@ +#pragma once + +#define ZIFI_STR_HELPER(x) #x +#define ZIFI_STR(x) ZIFI_STR_HELPER(x) + +#define PROD_VER0 0 +#define PROD_VER1 6 +#define PROD_VER2 4 +#define PROD_VER_STRING ZIFI_STR(PROD_VER0) "." ZIFI_STR(PROD_VER1) "." ZIFI_STR(PROD_VER2) +#define CP_STRING "ESP32 SPI WiFi Module, ver." PROD_VER_STRING ", (c) TS-Labs" + +#define API_VER 1 +#define FEAT_VER 10 +#define API_VER_STRING ZIFI_STR(API_VER) +#define FEAT_VER_STRING ZIFI_STR(FEAT_VER) +#define API_STRING "API version: " API_VER_STRING ", feature version: " FEAT_VER_STRING + +// Registers +enum +{ + ESP_REG_COMMAND = 0x00, // 1 byte + ESP_REG_STATUS = 0x01, // 1 byte + + // String commands + ESP_REG_STRING_TYPE = 0x02, // 1 byte + ESP_REG_STRING_SIZE = 0x02, // 1 byte + ESP_REG_STRING_DATA = 0x03, // byte array + + // Version commands + ESP_REG_API = 0x02, // 1 byte + ESP_REG_FEAT = 0x03, // 2 bytes + ESP_REG_VER0 = 0x05, // 1 byte + ESP_REG_VER1 = 0x06, // 1 byte + ESP_REG_VER2 = 0x07, // 1 byte + + // Object commands and data transmission commands + ESP_REG_OBJ_TYPE = 0x02, // 1 byte + ESP_REG_DATA_SIZE = 0x03, // 4 bytes + ESP_REG_DATA_OFFSET = 0x07, // 4 bytes + ESP_REG_OBJ_HANDLE = 0x0B, // 1 byte + + // Lib commands + ESP_REG_FUNC = 0x02, // 1 byte + ESP_REG_OPT = 0x03, // 1 byte + ESP_REG_ARG = 0x03, // 4 bytes + ESP_REG_RETVAL = 0x07, // 4 bytes + ESP_REG_ARR1_HANDLE = 0x0C, // 1 byte + ESP_REG_ARR2_HANDLE = 0x0D, // 1 byte + ESP_REG_ARR3_HANDLE = 0x0E, // 1 byte + ESP_REG_LIB_HANDLE = 0x0F, // 1 byte + + // Network commands + ESP_REG_NETSTATE = 0x02, + ESP_REG_IP = 0x2C, // 4 bytes + ESP_REG_OWN_IP = 0x30, // 4 bytes + ESP_REG_MASK = 0x34, // 4 bytes + ESP_REG_GATE = 0x38, // 4 bytes + + // Stats commands + ESP_EXEC_TIME = 0x3C, // 4 bytes + + // SFX commands + ESP_REG_SFX_CHANNEL = 0x02, // 1 byte + ESP_REG_SFX_GROUP = 0x03, // 1 byte + ESP_REG_SFX_VOLUME = 0x04, // 1 byte + ESP_REG_SFX_PAN = 0x05, // 1 byte + ESP_REG_SFX_PITCH = 0x06, // 2 bytes, Q4.8 little-endian + + ESP_REG_SFX_STATE_ACTIVE = 0x10, // 1 byte + ESP_REG_SFX_STATE_HANDLE = 0x11, // 1 byte + ESP_REG_SFX_STATE_GROUP = 0x12, // 1 byte + ESP_REG_SFX_STATE_ORDER = 0x13, // 1 byte + ESP_REG_SFX_STATE_VOLUME = 0x14, // 1 byte + ESP_REG_SFX_STATE_PAN = 0x15, // 1 byte + ESP_REG_SFX_STATE_PITCH = 0x16, // 2 bytes, Q4.8 little-endian + ESP_REG_SFX_STATE_RATE = 0x18, // 4 bytes + ESP_REG_SFX_STATE_FRAMES = 0x1C, // 4 bytes + ESP_REG_SFX_STATE_POSITION = 0x20, // 4 bytes + ESP_REG_SFX_STATE_BITS = 0x24, // 2 bytes + ESP_REG_SFX_STATE_CHANNELS = 0x26, // 1 byte + ESP_REG_SFX_STATE_SIGNED = 0x27, // 1 byte + + // Track (XM/MOD/S3M) get-state/get-info commands + ESP_REG_TRACK_STATUS = 0x28, // 1 byte: TRACK_OBJ_ST_STOPPED / TRACK_OBJ_ST_PLAYING + ESP_REG_TRACK_IS_CURRENT = 0x29, // 1 byte: 1 if this handle is the one currently loaded in the player + ESP_REG_TRACK_PATTERN_INDEX = 0x2A, // 1 byte: position in the order/pattern-table list + ESP_REG_TRACK_PATTERN = 0x2B, // 1 byte: pattern number + ESP_REG_TRACK_ROW = 0x2C, // 1 byte: current row within the pattern + ESP_REG_TRACK_SAMPLES = 0x2D, // 4 bytes: samples elapsed since track start + ESP_REG_TRACK_BPM = 0x31, // 2 bytes + ESP_REG_TRACK_TEMPO = 0x33, // 2 bytes + ESP_REG_TRACK_LOOP_COUNT = 0x35, // 1 byte + ESP_REG_TRACK_TOTAL_SAMPLES = 0x36, // 4 bytes: length of one full pass through the song, computed once at load time + ESP_REG_TRACK_MAX_LOOP_COUNT = 0x3A, // 1 byte: see ESP_CMD_TRACK_SET_PARAMS + + // VFS bridge commands (SMB2 network share <-> Wild Commander local storage) + ESP_REG_VFS_PENDING = 0x02, // 1 byte: 1 if a request is waiting, else 0 + // NOTE: ESP_CMD_VFS_POLL's output also includes ESP_REG_DATA_SIZE (0x03, + // 4 bytes) - VFS_OP must not overlap that range, unlike most register + // reuse in this header, since both are read back from the SAME command. + ESP_REG_VFS_OP = 0x36, // 1 byte: VFS_OP_* (see below) - meaning of the payload from ESP_CMD_VFS_GET_REQUEST_DATA + ESP_REG_VFS_STATUS = 0x02, // 1 byte: i: 0=success, nonzero=error (ESP_CMD_VFS_SUBMIT_RESULT) +}; + +// Commands +enum +{ + ESP_CMD_NOP = 0x00, // (no parameters) + ESP_CMD_GET_INFO_STR = 0x01, // i: ESP_REG_STRING_TYPE + // o: ESP_REG_STRING_SIZE, ESP_REG_STRING_DATA + ESP_CMD_GET_VER = 0x02, // o: ESP_REG_API, ESP_REG_FEAT, ESP_REG_VER0..2 + ESP_CMD_GET_CHIP_INFO = 0x03, // +++ + + ESP_CMD_GET_NETSTATE = 0x11, // o: ESP_REG_NETSTATE + ESP_CMD_WSCAN = 0x12, // (no parameters) + ESP_CMD_SET_AP_NAME = 0x13, // i: ESP_REG_STRING_SIZE, ESP_REG_STRING_DATA + ESP_CMD_SET_AP_PWD = 0x14, // i: ESP_REG_STRING_SIZE, ESP_REG_STRING_DATA + ESP_CMD_AP_CONNECT = 0x16, // (no parameters) + ESP_CMD_AP_DISCONNECT = 0x17, // (no parameters) + ESP_CMD_SET_URL = 0x18, // (no parameters) + ESP_CMD_GET_IP = 0x19, // o: ESP_REG_IP + ESP_CMD_HTTP_GET = 0x20, // +++ + ESP_CMD_HTTPS_GET = 0x21, // (no parameters) + // o: ESP_REG_OBJ_HANDLE, ESP_REG_DATA_SIZE + ESP_CMD_GOPHER_GET = 0x22, // (no parameters) + // o: ESP_REG_OBJ_HANDLE, ESP_REG_DATA_SIZE + ESP_CMD_HTTP_STREAM_START = 0x23, // (no parameters) + // o: ESP_REG_DATA_SIZE (total size) + ESP_CMD_HTTPS_STREAM_START = 0x24, // (no parameters) + // o: ESP_REG_DATA_SIZE (total size) + ESP_CMD_GOPHER_STREAM_START = 0x25, // (no parameters) + // o: ESP_REG_DATA_SIZE (total size) + ESP_CMD_STREAM_READ = 0x26, // (no parameters) + // o: ESP_REG_DATA_SIZE (chunk size) + // (DMA read like ESP_CMD_READ_OBJECT) + ESP_CMD_STREAM_CLOSE = 0x27, // (no parameters) + + // VFS bridge: a small generic pipe, not one opcode per filesystem + // operation - the actual op (VFS_OP_STAT/READDIR/OPEN/READ/WRITE/CLOSE/ + // DELETE/MKDIR/RMDIR) travels inside the request payload, mirroring how + // the fake filesystem's own Vfs_Dispatch works. The Z80 side polls + // ESP_CMD_VFS_POLL on every idle tick; when a request is pending it + // fetches the payload, does the real filesystem op locally through WC, + // and posts the result back. + ESP_CMD_VFS_SERVER_START = 0x28, // i: ESP_REG_STRING_SIZE, ESP_REG_STRING_DATA (share name) + ESP_CMD_VFS_SERVER_STOP = 0x29, // (no parameters) + ESP_CMD_VFS_POLL = 0x2A, // o: ESP_REG_VFS_PENDING, ESP_REG_VFS_OP, ESP_REG_DATA_SIZE (request payload length, if pending) + ESP_CMD_VFS_GET_REQUEST_DATA = 0x2B, // o: ESP_REG_DATA_SIZE (DMA read like ESP_CMD_READ_OBJECT) + ESP_CMD_VFS_SUBMIT_RESULT = 0x2C, // i: ESP_REG_VFS_STATUS, ESP_REG_DATA_SIZE (DMA write like ESP_CMD_WRITE_OBJECT) + + ESP_CMD_WEATHER_GET = 0x2D, // i: OBJ_HANDLE -> country\0zip\0 (DATA/DATAF) + // o: new OBJ_HANDLE, DATA_OFFSET=0, DATA_SIZE=90 + + ESP_CMD_TRACK_INIT = 0xA0, // i: ESP_REG_OBJ_HANDLE + ESP_CMD_TRACK_PLAY = 0xA1, // i: ESP_REG_OBJ_HANDLE + ESP_CMD_TRACK_STOP = 0xA2, // (no parameters) + ESP_CMD_TRACK_RESET = 0xA3, // i: ESP_REG_OBJ_HANDLE, stop playback and reset XMC context to start + ESP_CMD_TRACK_SET_VOLUME = 0xA4, // +++ + ESP_CMD_TRACK_SET_S_RATE = 0xA5, // +++ + ESP_CMD_TRACK_SET_PARAMS = 0xA6, // i: ESP_REG_OBJ_HANDLE, ESP_REG_TRACK_MAX_LOOP_COUNT + // (0 = loop forever, the default; N = stop playback after N loops) + ESP_CMD_TRACK_SET_POS = 0xA7, // +++ + ESP_CMD_TRACK_GET_INFO = 0xA8, // i: ESP_REG_OBJ_HANDLE + // o: ESP_REG_TRACK_STATUS, ESP_REG_TRACK_IS_CURRENT, + // ESP_REG_TRACK_PATTERN_INDEX, ESP_REG_TRACK_PATTERN, ESP_REG_TRACK_ROW, + // ESP_REG_TRACK_SAMPLES, ESP_REG_TRACK_BPM, ESP_REG_TRACK_TEMPO, + // ESP_REG_TRACK_LOOP_COUNT, ESP_REG_TRACK_TOTAL_SAMPLES + // (position/speed reflect the object's own context - live if + // ESP_REG_TRACK_IS_CURRENT is set, otherwise a frozen snapshot from + // when it last played or was reset) + ESP_CMD_TRACK_GET_STATE = 0xA9, // i: ESP_REG_OBJ_HANDLE + // o: ESP_REG_TRACK_STATUS, ESP_REG_TRACK_IS_CURRENT + ESP_CMD_TRACK_GET_STATS = 0xAA, // +++ + + ESP_CMD_XM_STREAM_LOAD = 0xAB, // i: ESP_REG_DATA_SIZE (tx chunk, aligned), ESP_REG_DATA_OFFSET (total on first chunk, 0 on next chunks) + // o: ESP_REG_DATA_OFFSET (chunk offset), ESP_REG_DATA_SIZE (chunk size), ESP_REG_OBJ_HANDLE + ESP_CMD_MOD_STREAM_LOAD = 0xAC, // i: ESP_REG_DATA_SIZE (tx chunk, aligned), ESP_REG_DATA_OFFSET (total on first chunk, 0 on next chunks) + // o: ESP_REG_DATA_OFFSET (chunk offset), ESP_REG_DATA_SIZE (chunk size), ESP_REG_OBJ_HANDLE + ESP_CMD_S3M_STREAM_LOAD = 0xAD, // i: ESP_REG_DATA_SIZE (tx chunk, aligned), ESP_REG_DATA_OFFSET (total on first chunk, 0 on next chunks) + // o: ESP_REG_DATA_OFFSET (chunk offset), ESP_REG_DATA_SIZE (chunk size), ESP_REG_OBJ_HANDLE + + ESP_CMD_SFX_PLAY = 0xB0, // i: ESP_REG_OBJ_HANDLE, ESP_REG_SFX_GROUP; o: ESP_REG_SFX_CHANNEL + ESP_CMD_SFX_PLAY_EX = 0xB1, // i: ESP_REG_OBJ_HANDLE, ESP_REG_SFX_GROUP, ESP_REG_SFX_VOLUME, ESP_REG_SFX_PAN, ESP_REG_SFX_PITCH; o: ESP_REG_SFX_CHANNEL + ESP_CMD_SFX_STOP = 0xB2, // i: ESP_REG_SFX_CHANNEL + ESP_CMD_SFX_SET_PARAMS = 0xB3, // i: ESP_REG_SFX_CHANNEL, ESP_REG_SFX_VOLUME, ESP_REG_SFX_PAN, ESP_REG_SFX_PITCH + ESP_CMD_SFX_SET_VOLUME = 0xB4, // i: ESP_REG_SFX_VOLUME + ESP_CMD_SFX_GET_STATE = 0xB5, // i: ESP_REG_SFX_CHANNEL; o: ESP_REG_SFX_STATE_* + ESP_CMD_SFX_STOP_GROUP = 0xB6, // i: ESP_REG_SFX_GROUP + + ESP_CMD_CONFIG_SPI = 0xC0, // +++ + + ESP_CMD_LOAD_ELF = 0xD0, // i: ESP_REG_OBJ_HANDLE + // o: ESP_REG_LIB_HANDLE + ESP_CMD_LOAD_ELF_OPT = 0xD1, // i: ESP_REG_OBJ_HANDLE, ESP_REG_OPT + // o: ESP_REG_LIB_HANDLE + ESP_CMD_RUN_FUNC0 = 0xD2, // i: ESP_REG_LIB_HANDLE, ESP_REG_FUNC, ESP_REG_ARG, + // o: ESP_REG_RETVAL + ESP_CMD_RUN_FUNC1 = 0xD3, // i: ESP_REG_LIB_HANDLE, ESP_REG_FUNC, ESP_REG_ARG, ESP_REG_ARR1_HANDLE + // o: ESP_REG_RETVAL + ESP_CMD_RUN_FUNC2 = 0xD4, // i: ESP_REG_LIB_HANDLE, ESP_REG_FUNC, ESP_REG_ARG, ESP_REG_ARR1_HANDLE, ESP_REG_ARR2_HANDLE + // o: ESP_REG_RETVAL + ESP_CMD_RUN_FUNC3 = 0xD5, // i: ESP_REG_LIB_HANDLE, ESP_REG_FUNC, ESP_REG_ARG, ESP_REG_ARR1_HANDLE, ESP_REG_ARR2_HANDLE, ESP_REG_ARR3_HANDLE + // o: ESP_REG_RETVAL + + ESP_CMD_MAKE_OBJECT = 0xE0, // i: ESP_REG_DATA_SIZE, ESP_REG_OBJ_TYPE + // o: ESP_REG_OBJ_HANDLE, ESP_REG_DATA_OFFSET, ESP_REG_DATA_SIZE + ESP_CMD_WRITE_OBJECT = 0xE1, // i: ESP_REG_OBJ_HANDLE, ESP_REG_DATA_OFFSET, ESP_REG_DATA_SIZE + // o: ESP_REG_DATA_OFFSET, ESP_REG_DATA_SIZE + ESP_CMD_READ_OBJECT = 0xE2, // i: ESP_REG_OBJ_HANDLE, ESP_REG_DATA_OFFSET, ESP_REG_DATA_SIZE + // o: ESP_REG_DATA_OFFSET, ESP_REG_DATA_SIZE + ESP_CMD_DELETE_OBJECT = 0xE3, // i: ESP_REG_OBJ_HANDLE + ESP_CMD_KILL_OBJECTS = 0xE4, // (no parameters) + ESP_CMD_FILL_OBJECT = 0xE5, // +++ + ESP_CMD_COPY_OBJECT = 0xE6, // +++ + ESP_CMD_GET_OBJECT_INFO = 0xE7, // +++ + ESP_CMD_REBOOT = 0xED, // (no parameters) + ESP_CMD_RESET = 0xEE, // (no parameters) + ESP_CMD_BREAK = 0xEF, // abort active host tracker stream state, READY if idle + + ESP_CMD_GET_RND = 0xF0, // i: ESP_REG_DATA_SIZE + ESP_CMD_DEHST = 0xF1, // i: ESP_REG_OBJ_HANDLE, ESP_REG_DATA_SIZE, ESP_REG_OBJ_TYPE + // o: ESP_REG_DATA_OFFSET, ESP_REG_DATA_SIZE + ESP_CMD_UNZIP = 0xF2, // i: ESP_REG_OBJ_HANDLE, ESP_REG_DATA_SIZE, ESP_REG_OBJ_TYPE + // o: ESP_REG_DATA_OFFSET, ESP_REG_DATA_SIZE + ESP_CMD_STREAM_UNZIP = 0xF3, // i: ESP_REG_OBJ_TYPE + // o: ESP_REG_OBJ_HANDLE +}; + +enum +{ + ESP_OPT_DATA_SRAM = 0x01, + ESP_OPT_RODATA_SRAM = 0x02, + ESP_OPT_BSS_SRAM = 0x04, + + ESP_OPT_SPI_1BIT = 0x00, + ESP_OPT_SPI_2BIT = 0x40, + ESP_OPT_SPI_4BIT = 0x80, +}; + +enum +{ + // Status codes + ESP_ST_IDLE = 0x00, // Idle + ESP_ST_READY = 0x01, // Command completed + ESP_ST_BUSY = 0x02, // Busy executing command or initializing + ESP_ST_DATA_M2S = 0x03, // Ready to receive data from Master to Slave + ESP_ST_DATA_S2M = 0x04, // Ready to send data from Slave to Master + + ESP_ST_RESET = 0x7E, // Reset performed, ready + + // Error codes + ESP_ERR_INV_COMMAND = 0x80, + ESP_ERR_INV_PARAM , + ESP_ERR_INV_STATE , + ESP_ERR_INV_STR_LEN , + ESP_ERR_INV_SIZE , // 84 + ESP_ERR_INV_OBJ_TYPE , + ESP_ERR_INV_ARR_NUM , + ESP_ERR_INV_HANDLE , + ESP_ERR_INV_XM_HANDLE , // 88 + ESP_ERR_INV_LIB_HANDLE , + ESP_ERR_INV_ELF_HANDLE , + ESP_ERR_INV_HST_HANDLE , + ESP_ERR_INV_BSS_HANDLE , // 8C + ESP_ERR_INV_ARG_HANDLE , + ESP_ERR_INV_SRC_HANDLE , + ESP_ERR_INV_DST_HANDLE , + ESP_ERR_INV_XM , // 90, + ESP_ERR_INV_LIB , + ESP_ERR_INV_ELF , + ESP_ERR_INV_HST , + ESP_ERR_INV_ZIP , // 94 + ESP_ERR_INV_MOD , + ESP_ERR_INV_MOD_HANDLE , + ESP_ERR_INV_S3M , + ESP_ERR_INV_S3M_HANDLE , // 98 + ESP_ERR_OUT_OF_MEMORY , + ESP_ERR_OUT_OF_HANDLES , + ESP_ERR_OBJ_NOT_DELETED , + + ESP_ERR_AP_NOT_CONNECTED = 0xB0, + ESP_ERR_NET_BUSY , + ESP_ERR_WEATHER = 0xB5, // weather HTTP/JSON failure; details in log + + ESP_ERR_VFS_NO_REQUEST = 0x9C, // ESP_CMD_VFS_GET_REQUEST_DATA/SUBMIT_RESULT with nothing pending + ESP_ERR_VFS_TIMEOUT = 0x9D, // no VFS client waiting for a result (e.g. it gave up) +}; + +// VFS bridge request opcodes - travel inside the ESP_CMD_VFS_GET_REQUEST_DATA +// payload, not as separate ESP_CMD_* values (see ESP_CMD_VFS_POLL comment). +enum +{ + VFS_OP_STAT = 0x40, + VFS_OP_READDIR = 0x41, + VFS_OP_OPEN = 0x42, + VFS_OP_READ = 0x43, + VFS_OP_WRITE = 0x44, + VFS_OP_CLOSE = 0x45, + VFS_OP_DELETE = 0x46, + VFS_OP_MKDIR = 0x47, + VFS_OP_RMDIR = 0x48, + // 2026-09-08: real filesystem-size/free-space query, via Wild Commander + // Improved's FILEX_OP_GET_FS_INFO (needs FILEX.WMF installed) - see + // do_statfs() in smbvfs/src/main.c. No request payload. Result: u32 + // total_clusters, u32 free_clusters, u8 sectors_per_cluster, u16 + // bytes_per_sector (11 bytes) - status=0 on success. Was previously + // faked as a hardcoded 512MB/32MB in vfs_bridge.cpp, see + // project_smbvfs_plugin.md. + VFS_OP_STATFS = 0x49, +}; + +// Info type (ESP_CMD_GET_INFO_STR) +enum +{ + GET_INFO_COPYRIGHT = 0x00, + GET_INFO_API = 0x01, + GET_INFO_BUILD = 0x02, + GET_INFO_IDF = 0x03, +}; + +// Memory object types (add new types to mem_obj.cpp) +enum +{ + OBJ_TYPE_NONE = 0, + OBJ_TYPE_DATA = 1, // SPIRAM + OBJ_TYPE_DATAF = 2, // SRAM + OBJ_TYPE_ELF = 3, // SPIRAM + OBJ_TYPE_LIB = 4, // Virtual + OBJ_TYPE_XM = 5, // SPIRAM + OBJ_TYPE_WAV = 6, // SPIRAM + OBJ_TYPE_HST = 7, // SPIRAM + OBJ_TYPE_ZIP = 8, // SPIRAM + OBJ_TYPE_XMC = 9, // SPIRAM + OBJ_TYPE_MOD = 10, // SPIRAM + OBJ_TYPE_MDC = 11, // SPIRAM + OBJ_TYPE_S3M = 12, // SPIRAM + OBJ_TYPE_S3C = 13, // SPIRAM + OBJ_TYPE_MBC = 14, // SPIRAM +}; + +// Network state +enum +{ + NETWORK_CLOSED = 0x00, + NETWORK_OPENING = 0x01, + NETWORK_OPEN = 0x02, + NETWORK_CLOSING = 0x03, + NETWORK_UNKNOWN = 0xFF +}; + +// SPI Slave Commands (ESP32) +enum +{ + ESP_SPI_CMD_WR_REGS = 0x01, + ESP_SPI_CMD_RD_REGS = 0x02, + ESP_SPI_CMD_WR_DATA = 0x03, + ESP_SPI_CMD_RD_DATA = 0x04, + ESP_SPI_CMD_W_END = 0x07, + ESP_SPI_CMD_R_END = 0x08, +}; + +enum +{ + OBJ_ST_NONE = 0, + + LIB_OBJ_ST_READY = 0x10, // Library loaded + + TRACK_OBJ_ST_STOPPED = 0x20, // Tracker object context created, idling + TRACK_OBJ_ST_PLAYING = 0x21, // Tracker object playing + + WAV_OBJ_ST_PLAYING = 0x30, // WAV object is used by SFX renderer + + OBJ_ST_DELETING = 0xFE, // Object is being deleted, new users must not attach + OBJ_ST_ERROR = 0xFF // Reserved +}; diff --git a/src/main/fatfs.cpp b/src/main/fatfs.cpp new file mode 100644 index 0000000..8fafdd1 --- /dev/null +++ b/src/main/fatfs.cpp @@ -0,0 +1,618 @@ +#include +#include +#include +#include +#include +#include +#include "esp_console.h" +#include "esp_partition.h" +#include "esp_vfs_fat.h" +#include "diskio_impl.h" +#include "diskio_wl.h" +#include "ff.h" +#include "wear_levelling.h" +#include "fatfs.h" + +bool fs_initialized = false; +bool fs_fs_mounted = false; +char fs_fs_base_path[32] = { 0 }; +char fs_part_label[16] = { 0 }; +wl_handle_t fs_wl_handle = WL_INVALID_HANDLE; +FATFS *fs_fs_fatfs = NULL; +BYTE fs_fs_pdrv = FF_DRV_NOT_USED; +bool fs_fs_vfs_registered = false; +bool fs_fs_diskio_registered = false; +bool fs_fs_fat_mounted = false; +bool fs_fs_no_filesystem = false; +FRESULT fs_fs_last_mount_result = FR_OK; + +#define FS_VFS_MAX_FILES 4 + +int fs_build_full_path(const char *base_path, const char *path, char *full, size_t full_size) +{ + int n; + + if (!base_path || !base_path[0] || !full || full_size < 2) return 0; + + if (!path || !path[0] || strcmp(path, "/") == 0) + { + n = snprintf(full, full_size, "%s", base_path); + return n >= 0 && (size_t)n < full_size; + } + + if (path[0] == '/') + { + n = snprintf(full, full_size, "%s%s", base_path, path); + return n >= 0 && (size_t)n < full_size; + } + + n = snprintf(full, full_size, "%s/%s", base_path, path); + return n >= 0 && (size_t)n < full_size; +} + +const esp_partition_t *fs_find_partition() +{ + return esp_partition_find_first( + ESP_PARTITION_TYPE_DATA, + ESP_PARTITION_SUBTYPE_DATA_FAT, + FS_PART_LABEL); +} + +void fs_clear_mount_state() +{ + fs_initialized = false; + fs_fs_mounted = false; + fs_fs_fatfs = NULL; + fs_fs_pdrv = FF_DRV_NOT_USED; + fs_fs_vfs_registered = false; + fs_fs_diskio_registered = false; + fs_fs_fat_mounted = false; + fs_fs_base_path[0] = 0; + fs_part_label[0] = 0; + fs_wl_handle = WL_INVALID_HANDLE; +} + +void fs_unmount_force() +{ + char drv[3]; + + if (fs_fs_pdrv != FF_DRV_NOT_USED) + { + drv[0] = (char)('0' + fs_fs_pdrv); + drv[1] = ':'; + drv[2] = 0; + + if (fs_fs_fat_mounted) + f_mount(NULL, drv, 0); + } + + if (fs_fs_diskio_registered && fs_fs_pdrv != FF_DRV_NOT_USED) + { + ff_diskio_unregister(fs_fs_pdrv); + if (fs_wl_handle != WL_INVALID_HANDLE) + ff_diskio_clear_pdrv_wl(fs_wl_handle); + } + + if (fs_fs_vfs_registered) + esp_vfs_fat_unregister_path(fs_fs_base_path[0] ? fs_fs_base_path : FS_BASE_PATH); + + if (fs_wl_handle != WL_INVALID_HANDLE) + wl_unmount(fs_wl_handle); + + fs_clear_mount_state(); +} + +esp_err_t fs_register_fat(const esp_partition_t *part, const esp_vfs_fat_mount_config_t *mount_cfg) +{ + char drv[3]; + esp_err_t err; + + if (!part || !mount_cfg) return ESP_ERR_INVALID_ARG; + + err = wl_mount(part, &fs_wl_handle); + if (err != ESP_OK) return err; + + err = ff_diskio_get_drive(&fs_fs_pdrv); + if (err != ESP_OK || fs_fs_pdrv == FF_DRV_NOT_USED) + return ESP_ERR_NO_MEM; + + err = ff_diskio_register_wl_partition(fs_fs_pdrv, fs_wl_handle); + if (err != ESP_OK) return err; + fs_fs_diskio_registered = true; + + drv[0] = (char)('0' + fs_fs_pdrv); + drv[1] = ':'; + drv[2] = 0; + + esp_vfs_fat_conf_t fs_fatfs_conf = { + .base_path = FS_BASE_PATH, + .fat_drive = drv, + .max_files = (size_t)mount_cfg->max_files, + }; + err = esp_vfs_fat_register(&fs_fatfs_conf, &fs_fs_fatfs); + if (err != ESP_OK) return err; + fs_fs_vfs_registered = true; + + fs_fs_last_mount_result = f_mount(fs_fs_fatfs, drv, 1); + if (fs_fs_last_mount_result != FR_OK) + { + fs_fs_no_filesystem = fs_fs_last_mount_result == FR_NO_FILESYSTEM; + return ESP_FAIL; + } + + fs_fs_fat_mounted = true; + return ESP_OK; +} + +size_t fs_get_allocation_unit_size(size_t part_size) +{ + if (part_size >= (16u * 1024u * 1024u)) return 16u * 1024u; + if (part_size >= (4u * 1024u * 1024u)) return 4u * 1024u; + return 4096; +} + +void fs_fill_mount_cfg(esp_vfs_fat_mount_config_t *cfg, bool format_if_mount_failed) +{ + const esp_partition_t *part = fs_find_partition(); + size_t part_size = part ? part->size : 0; + + memset(cfg, 0, sizeof(*cfg)); + cfg->format_if_mount_failed = format_if_mount_failed; + cfg->max_files = FS_VFS_MAX_FILES; + cfg->allocation_unit_size = fs_get_allocation_unit_size(part_size); + cfg->disk_status_check_enable = false; + cfg->use_one_fat = true; +} + + +const char *fs_fat_type_name(BYTE fs_type) +{ + switch (fs_type) + { + case FS_FAT12: return "FAT12"; + case FS_FAT16: return "FAT16"; + case FS_FAT32: return "FAT32"; +#if defined(FF_FS_EXFAT) && FF_FS_EXFAT + case FS_EXFAT: return "exFAT"; +#endif + default: return "unknown"; + } +} + +uint32_t fs_fat_sector_size(FATFS *fat) +{ + if (!fat) return 0; + +#if FF_MAX_SS != FF_MIN_SS + return fat->ssize; +#else + return FF_MIN_SS; +#endif +} + +FRESULT fs_get_mounted_fatfs(FATFS **out_fat, DWORD *out_free_clusters) +{ + if (!out_fat || !out_free_clusters) return FR_INVALID_PARAMETER; + + *out_fat = NULL; + *out_free_clusters = 0; + + FRESULT res = f_getfree("", out_free_clusters, out_fat); + if (res == FR_OK) return res; + + return f_getfree("0:", out_free_clusters, out_fat); +} + +void fs_print_fatfs_details(uint64_t total_bytes, uint64_t free_bytes, esp_err_t usage_err) +{ + FATFS *fat = NULL; + DWORD free_clusters_fatfs = 0; + FRESULT res = fs_get_mounted_fatfs(&fat, &free_clusters_fatfs); + + if (res != FR_OK || !fat) + { + printf(" fatfs : unavailable (FRESULT=%u)\r\n", (unsigned)res); + return; + } + + uint32_t sector_size = fs_fat_sector_size(fat); + uint32_t cluster_size = (uint32_t)fat->csize * sector_size; + uint32_t total_clusters = fat->n_fatent >= 2 ? fat->n_fatent - 2 : 0; + uint32_t free_clusters = (uint32_t)free_clusters_fatfs; + + if (free_clusters > total_clusters) + free_clusters = total_clusters; + + uint32_t used_clusters = total_clusters >= free_clusters ? total_clusters - free_clusters : 0; + uint64_t data_bytes = (uint64_t)total_clusters * cluster_size; + uint64_t fat_bytes = (uint64_t)fat->fsize * sector_size; + + printf(" fat type : %s (%u)\r\n", fs_fat_type_name(fat->fs_type), (unsigned)fat->fs_type); + printf(" fat copies : %u\r\n", (unsigned)fat->n_fats); + printf(" sector : %u bytes\r\n", (unsigned)sector_size); + printf(" cluster : %u sectors, %u bytes\r\n", (unsigned)fat->csize, (unsigned)cluster_size); + printf(" clusters : total=%u used=%u free=%u\r\n", (unsigned)total_clusters, (unsigned)used_clusters, (unsigned)free_clusters); + printf(" data area : %llu bytes\r\n", (unsigned long long)data_bytes); + printf(" fat size : %u sectors, %llu bytes each\r\n", (unsigned)fat->fsize, (unsigned long long)fat_bytes); + printf(" root ents : %u\r\n", (unsigned)fat->n_rootdir); + printf(" vol base : %llu\r\n", (unsigned long long)fat->volbase); + printf(" fat base : %llu\r\n", (unsigned long long)fat->fatbase); + printf(" dir base : %llu\r\n", (unsigned long long)fat->dirbase); + printf(" data base : %llu\r\n", (unsigned long long)fat->database); + + if (usage_err == ESP_OK && total_bytes != data_bytes) + printf(" vfs total : %llu bytes\r\n", (unsigned long long)total_bytes); + + if (usage_err == ESP_OK && cluster_size > 0 && free_bytes != (uint64_t)free_clusters * cluster_size) + printf(" vfs free : %llu bytes\r\n", (unsigned long long)free_bytes); +} + +esp_err_t fs_mount_impl(bool quiet) +{ + const esp_partition_t *part; + esp_err_t err; + + if (fs_fs_mounted) + { + fs_initialized = true; + return ESP_OK; + } + + fs_fs_no_filesystem = false; + fs_fs_last_mount_result = FR_OK; + part = fs_find_partition(); + if (!part) return ESP_ERR_NOT_FOUND; + + esp_vfs_fat_mount_config_t mount_cfg; + fs_fill_mount_cfg(&mount_cfg, false); + + err = fs_register_fat(part, &mount_cfg); + if (err != ESP_OK) + { + fs_unmount_force(); + + if (fs_fs_no_filesystem) + return ESP_ERR_INVALID_STATE; + + if (!quiet) + { + if (fs_fs_last_mount_result != FR_OK) + printf("E: FAT f_mount failed: FRESULT=%u\r\n", (unsigned)fs_fs_last_mount_result); + else + printf("E: FAT mount failed: %s\r\n", esp_err_to_name(err)); + } + return err; + } + + fs_initialized = true; + fs_fs_mounted = true; + fs_fs_no_filesystem = false; + fs_fs_last_mount_result = FR_OK; + snprintf(fs_fs_base_path, sizeof(fs_fs_base_path), "%s", FS_BASE_PATH); + snprintf(fs_part_label, sizeof(fs_part_label), "%s", FS_PART_LABEL); + + return ESP_OK; +} + +esp_err_t fs_mount() +{ + return fs_mount_impl(false); +} + +esp_err_t fs_mount_quiet() +{ + return fs_mount_impl(true); +} + +esp_err_t fs_format() +{ + const esp_partition_t *part = fs_find_partition(); + if (!part) return ESP_ERR_NOT_FOUND; + + if (fs_fs_mounted) + fs_deinit(); + + esp_vfs_fat_mount_config_t format_cfg; + fs_fill_mount_cfg(&format_cfg, true); + + esp_err_t err = esp_vfs_fat_spiflash_format_cfg_rw_wl( + FS_BASE_PATH, + FS_PART_LABEL, + &format_cfg); + if (err != ESP_OK) + { + printf("E: esp_vfs_fat_spiflash_format_cfg_rw_wl failed: %s\r\n", esp_err_to_name(err)); + return err; + } + + return fs_mount(); +} + +esp_err_t fs_delete() +{ + const esp_partition_t *part = fs_find_partition(); + + if (!part) return ESP_ERR_NOT_FOUND; + + fs_deinit(); + esp_err_t err = esp_partition_erase_range(part, 0, part->size); + if (err == ESP_OK) + { + fs_fs_no_filesystem = true; + fs_fs_last_mount_result = FR_NO_FILESYSTEM; + } + + return err; +} + +void fs_deinit() +{ + fs_unmount_force(); + fs_fs_no_filesystem = false; + fs_fs_last_mount_result = FR_OK; +} + +esp_err_t fs_ensure_ready() +{ + return fs_mount(); +} + +esp_err_t fs_ensure_ready_quiet() +{ + return fs_mount_quiet(); +} + +esp_err_t fs_list_dir(const char *base_path, const char *path) +{ + char full[256]; + + if (!fs_build_full_path(base_path, path, full, sizeof(full))) + return ESP_ERR_INVALID_ARG; + + errno = 0; + DIR *d = opendir(full); + if (!d) + { + int saved_errno = errno; + printf("E: opendir('%s') failed, errno=%d\r\n", full, saved_errno); + return ESP_FAIL; + } + + printf("Listing: %s\r\n", full); + + for (;;) + { + struct dirent *e = readdir(d); + if (!e) break; + + if (strcmp(e->d_name, ".") == 0 || strcmp(e->d_name, "..") == 0) + continue; + + char p[256]; + int n = snprintf(p, sizeof(p), "%s/%s", full, e->d_name); + if (n < 0 || (size_t)n >= sizeof(p)) + { + printf(" ? ? %s (path too long)\r\n", e->d_name); + continue; + } + + struct stat st = {}; + if (stat(p, &st) == 0) + { + const char *t = S_ISDIR(st.st_mode) ? "DIR " : "FILE"; + printf(" %s %10" PRIu32 " %s\r\n", t, (uint32_t)st.st_size, e->d_name); + } + else + { + printf(" ? ? %s\r\n", e->d_name); + } + } + + closedir(d); + return ESP_OK; +} + +int fs_info(int argc, char **argv) +{ + const esp_partition_t *part; + uint64_t total = 0; + uint64_t free = 0; + uint64_t used = 0; + esp_err_t err; + + if (argc < 0 || !argv) return 1; + + err = fs_ensure_ready_quiet(); + part = fs_find_partition(); + + printf("FAT info\r\n"); + printf(" label : %s\r\n", FS_PART_LABEL); + printf(" base path : %s\r\n", FS_BASE_PATH); + + if (err != ESP_OK) + { + if (err == ESP_ERR_NOT_FOUND) + { + printf(" state : partition not found\r\n"); + return 0; + } + + if (fs_fs_no_filesystem) + { + printf(" state : no FAT filesystem\r\n"); + if (part) + { + printf(" address : 0x%08" PRIX32 "\r\n", part->address); + printf(" size : 0x%08lx (%lu bytes)\r\n", (unsigned long)part->size, (unsigned long)part->size); + } + return 0; + } + + if (fs_fs_last_mount_result != FR_OK) + printf(" state : unavailable (FRESULT=%u)\r\n", (unsigned)fs_fs_last_mount_result); + else + printf(" state : unavailable (%s)\r\n", esp_err_to_name(err)); + return 1; + } + + err = esp_vfs_fat_info(FS_BASE_PATH, &total, &free); + if (err == ESP_OK) + used = total - free; + + printf(" mounted : %s\r\n", fs_fs_mounted ? "yes" : "no"); + + esp_vfs_fat_mount_config_t cfg; + fs_fill_mount_cfg(&cfg, false); + printf(" cfg alloc : %u bytes\r\n", (unsigned)cfg.allocation_unit_size); + printf(" cfg fats : %u on next format\r\n", cfg.use_one_fat ? 1u : 2u); + printf(" max files : %d\r\n", cfg.max_files); + + if (err == ESP_OK) + { + printf(" total : %llu bytes\r\n", (unsigned long long)total); + printf(" used : %llu bytes\r\n", (unsigned long long)used); + printf(" free : %llu bytes\r\n", (unsigned long long)free); + } + else + { + printf(" usage : unavailable (%s)\r\n", esp_err_to_name(err)); + } + + fs_print_fatfs_details(total, free, err); + + if (part) + { + printf(" address : 0x%08" PRIX32 "\r\n", part->address); + printf(" size : 0x%08lx (%lu bytes)\r\n", (unsigned long)part->size, (unsigned long)part->size); + } + else + { + printf(" partition : not found\r\n"); + } + + if (fs_wl_handle != WL_INVALID_HANDLE) + { + size_t wl_bytes = wl_size(fs_wl_handle); + size_t wl_sector = wl_sector_size(fs_wl_handle); + printf(" wl size : %u bytes\r\n", (unsigned)wl_bytes); + printf(" wl sector : %u bytes\r\n", (unsigned)wl_sector); + printf(" wl handle : %d\r\n", (int)fs_wl_handle); + } + + return 0; +} + +esp_err_t fs_init() +{ + return fs_format(); +} + +int fs_format_cmd(int argc, char **argv) +{ + if (argc < 0 || !argv) return 1; + + const esp_partition_t *part = fs_find_partition(); + if (!part) + { + printf("E: partition '%s' not found\r\n", FS_PART_LABEL); + return 1; + } + + esp_vfs_fat_mount_config_t format_cfg; + fs_fill_mount_cfg(&format_cfg, true); + + esp_err_t err = fs_format(); + if (err != ESP_OK) return 1; + + printf("FAT formatted and mounted: %s -> %s\r\n", FS_PART_LABEL, FS_BASE_PATH); + printf(" address : 0x%08" PRIX32 "\r\n", part->address); + printf(" size : 0x%08lx (%lu bytes)\r\n", (unsigned long)part->size, (unsigned long)part->size); + printf(" alloc unit : %u bytes\r\n", (unsigned)format_cfg.allocation_unit_size); + printf(" fat copies : %u\r\n", format_cfg.use_one_fat ? 1u : 2u); + return 0; +} + +int fs_delete_cmd(int argc, char **argv) +{ + const esp_partition_t *part; + esp_err_t err; + + if (argc < 0 || !argv) return 1; + + part = fs_find_partition(); + if (!part) + { + printf("E: partition '%s' not found\r\n", FS_PART_LABEL); + return 1; + } + + err = fs_delete(); + if (err != ESP_OK) + { + printf("E: FAT erase failed: %s\r\n", esp_err_to_name(err)); + return 1; + } + + printf("FAT erased: %s\r\n", FS_PART_LABEL); + printf(" address : 0x%08" PRIX32 "\r\n", part->address); + printf(" size : 0x%08lx (%lu bytes)\r\n", (unsigned long)part->size, (unsigned long)part->size); + return 0; +} + +int fs_ls(int argc, char **argv) +{ + const char *path = "/"; + + if (argc >= 3) + path = argv[2]; + + esp_err_t err = fs_ensure_ready(); + if (err != ESP_OK) return 1; + + err = fs_list_dir(FS_BASE_PATH, path); + return (err == ESP_OK) ? 0 : 1; +} + +int fs_cmd(int argc, char **argv) +{ + if (argc < 2 || !argv[1]) + { + printf("Usage:\r\n"); + printf(" fat format\r\n"); + printf(" fat info\r\n"); + printf(" fat del\r\n"); + printf(" fat ls [path]\r\n"); + return 0; + } + + const char *op = argv[1]; + + if (!strcmp(op, "format")) + return fs_format_cmd(argc, argv); + + if (!strcmp(op, "info")) + return fs_info(argc, argv); + + if (!strcmp(op, "del")) + return fs_delete_cmd(argc, argv); + + if (!strcmp(op, "ls")) + return fs_ls(argc, argv); + + printf("Unknown subcommand: %s\r\n", op); + return 1; +} + +void fat_console_register_system_commands() +{ + const esp_console_cmd_t cmd = + { + .command = "fat", + .help = "FATFS commands: format/info/del/ls", + .hint = NULL, + .func = &fs_cmd, + .argtable = NULL + }; + + ESP_ERROR_CHECK(esp_console_cmd_register(&cmd)); +} diff --git a/src/main/fatfs.h b/src/main/fatfs.h new file mode 100644 index 0000000..00000d3 --- /dev/null +++ b/src/main/fatfs.h @@ -0,0 +1,35 @@ +#pragma once + +#include +#include +#include +#include "esp_err.h" +#include "wear_levelling.h" + +#define FS_PART_LABEL "fat" +#define FS_BASE_PATH "/fs" + +extern bool fs_initialized; +extern bool fs_fs_mounted; +extern char fs_fs_base_path[32]; +extern char fs_part_label[16]; +extern wl_handle_t fs_wl_handle; + +esp_err_t fs_mount(); +esp_err_t fs_mount_quiet(); +esp_err_t fs_format(); +esp_err_t fs_delete(); +esp_err_t fs_init(); +esp_err_t fs_ensure_ready(); +esp_err_t fs_ensure_ready_quiet(); +void fs_deinit(); +esp_err_t fs_list_dir(const char *base_path, const char *path); +int fs_build_full_path(const char *base_path, const char *path, char *full, size_t full_size); + +int fs_info(int argc, char **argv); +int fs_format_cmd(int argc, char **argv); +int fs_delete_cmd(int argc, char **argv); +int fs_ls(int argc, char **argv); +int fs_cmd(int argc, char **argv); + +void fat_console_register_system_commands(); diff --git a/src/main/font.h b/src/main/font.h new file mode 100644 index 0000000..dd68391 --- /dev/null +++ b/src/main/font.h @@ -0,0 +1,174 @@ +const u8 code_866_fnt[] = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x82, 0xaa, 0x82, + 0x82, 0xba, 0x92, 0x7c, 0x7c, 0xfe, 0xd6, 0xfe, 0xfe, 0xc6, 0xee, 0x7c, + 0x44, 0xee, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x10, 0x38, 0x7c, 0xfe, + 0x7c, 0x38, 0x10, 0x00, 0x38, 0x38, 0xd6, 0xfe, 0xd6, 0x10, 0x38, 0x00, + 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x10, 0x38, 0x00, 0x00, 0x00, 0x38, 0x7c, + 0x7c, 0x38, 0x00, 0x00, 0xfe, 0xfe, 0xc6, 0x82, 0x82, 0xc6, 0xfe, 0xfe, + 0x00, 0x00, 0x38, 0x44, 0x44, 0x38, 0x00, 0x00, 0xfe, 0xfe, 0xc6, 0xba, + 0xba, 0xc6, 0xfe, 0xfe, 0x00, 0x0e, 0x06, 0x7a, 0xd8, 0x88, 0xd8, 0x70, + 0x38, 0x6c, 0x44, 0x6c, 0x38, 0x10, 0x38, 0x10, 0x1e, 0x12, 0x1e, 0x10, + 0x10, 0x70, 0xe0, 0x40, 0x3e, 0x22, 0x3e, 0x22, 0x22, 0x2e, 0xe4, 0x40, + 0x92, 0x7c, 0x6c, 0xc6, 0x6c, 0x7c, 0x92, 0x00, 0x80, 0xe0, 0xf8, 0xfe, + 0xf8, 0xe0, 0x80, 0x00, 0x02, 0x0e, 0x3e, 0xfe, 0x3e, 0x0e, 0x02, 0x00, + 0x10, 0x38, 0x7c, 0x10, 0x10, 0x7c, 0x38, 0x10, 0x6c, 0x6c, 0x6c, 0x6c, + 0x6c, 0x00, 0x6c, 0x00, 0x7e, 0xb6, 0xb6, 0x76, 0x36, 0x36, 0x36, 0x00, + 0x3c, 0x60, 0x3c, 0x66, 0x3c, 0x06, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7c, 0x7c, 0x7c, 0x00, 0x10, 0x38, 0x7c, 0x10, 0x7c, 0x38, 0x10, 0x7c, + 0x10, 0x38, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, + 0x7c, 0x38, 0x10, 0x00, 0x00, 0x08, 0x04, 0x7e, 0x04, 0x08, 0x00, 0x00, + 0x00, 0x10, 0x20, 0x7e, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0x40, 0x7e, 0x00, 0x00, 0x00, 0x28, 0x6c, 0xfe, 0x6c, 0x28, 0x00, 0x00, + 0x10, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0x00, 0xfe, 0x7c, 0x7c, 0x38, + 0x38, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x00, 0x00, 0x6c, 0x24, 0x48, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x7e, 0x24, 0x24, 0x7e, 0x24, 0x00, + 0x18, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x18, 0x00, 0x63, 0x66, 0x0c, 0x18, + 0x30, 0x66, 0xc6, 0x00, 0x00, 0x18, 0x34, 0x18, 0x2c, 0x66, 0x3a, 0x00, + 0x00, 0x18, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x18, + 0x18, 0x0c, 0x06, 0x00, 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, + 0x00, 0x24, 0x18, 0x7e, 0x18, 0x24, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, + 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, + 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x00, + 0x00, 0x3c, 0x66, 0x6e, 0x76, 0x66, 0x3c, 0x00, 0x00, 0x18, 0x38, 0x18, + 0x18, 0x18, 0x18, 0x00, 0x00, 0x3c, 0x66, 0x06, 0x3c, 0x60, 0x7e, 0x00, + 0x00, 0x3c, 0x66, 0x0c, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x66, 0x66, 0x66, + 0x7e, 0x06, 0x06, 0x00, 0x00, 0x7e, 0x60, 0x7c, 0x06, 0x66, 0x3c, 0x00, + 0x00, 0x3c, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x7e, 0x06, 0x06, + 0x0c, 0x18, 0x18, 0x00, 0x00, 0x3c, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00, + 0x00, 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x3c, 0x00, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x10, 0x20, + 0x06, 0x0c, 0x18, 0x30, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x3c, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00, + 0x00, 0x3c, 0x66, 0x06, 0x1c, 0x00, 0x18, 0x00, 0x00, 0x3c, 0x66, 0x5a, + 0x5e, 0x60, 0x3c, 0x00, 0x00, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x00, + 0x00, 0x7c, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x3c, 0x66, 0x60, + 0x60, 0x66, 0x3c, 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, + 0x00, 0x7e, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00, 0x00, 0x7e, 0x60, 0x60, + 0x7c, 0x60, 0x60, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x6e, 0x66, 0x3e, 0x00, + 0x00, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x3c, 0x18, 0x18, + 0x18, 0x18, 0x3c, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x66, 0x3c, 0x00, + 0x00, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0x66, 0x00, 0x00, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x7e, 0x00, 0x00, 0x82, 0xc6, 0xee, 0xd6, 0xc6, 0xc6, 0x00, + 0x00, 0x46, 0x66, 0x76, 0x6e, 0x66, 0x62, 0x00, 0x00, 0x3c, 0x66, 0x66, + 0x66, 0x66, 0x3c, 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x00, + 0x00, 0x3c, 0x66, 0x66, 0x66, 0x6e, 0x3c, 0x06, 0x00, 0x7c, 0x66, 0x66, + 0x7c, 0x66, 0x66, 0x00, 0x00, 0x3c, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00, + 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x3c, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x24, 0x18, 0x00, + 0x00, 0xc6, 0xc6, 0xc6, 0xd6, 0xee, 0x44, 0x00, 0x00, 0x66, 0x66, 0x3c, + 0x66, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x00, + 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00, 0x1e, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x1e, 0x00, 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x03, 0x00, + 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, 0x00, 0x18, 0x3c, 0x66, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x18, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x06, + 0x3e, 0x66, 0x3e, 0x00, 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x00, 0x00, 0x06, 0x06, 0x3e, + 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, + 0x00, 0x1c, 0x36, 0x30, 0x78, 0x30, 0x30, 0x00, 0x00, 0x00, 0x3e, 0x66, + 0x66, 0x3e, 0x06, 0x3c, 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x00, + 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x0c, 0x00, 0x0c, + 0x0c, 0x0c, 0x0c, 0x38, 0x00, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0x00, + 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x1c, 0x00, 0x00, 0x00, 0xfc, 0xd6, + 0xd6, 0xd6, 0xd6, 0x00, 0x00, 0x00, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x7c, 0x66, + 0x66, 0x7c, 0x60, 0x60, 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06, + 0x00, 0x00, 0x3c, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x3c, 0x60, + 0x3c, 0x06, 0x7c, 0x00, 0x00, 0x30, 0x78, 0x30, 0x30, 0x30, 0x1c, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00, 0x00, 0x00, 0x66, 0x66, + 0x66, 0x24, 0x18, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xd6, 0xee, 0x44, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x00, 0x00, 0x00, 0x66, 0x66, + 0x66, 0x3e, 0x06, 0x3c, 0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00, + 0x1c, 0x30, 0x30, 0xe0, 0x30, 0x30, 0x1c, 0x00, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x00, 0x70, 0x18, 0x18, 0x0e, 0x18, 0x18, 0x70, 0x00, + 0x00, 0x34, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x99, 0xa1, + 0xa1, 0x99, 0x42, 0x3c, 0x00, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x00, + 0x00, 0x7c, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x7c, 0x66, 0x7c, + 0x66, 0x66, 0x7c, 0x00, 0x00, 0x7e, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x00, 0x1e, 0x36, 0x66, 0x66, 0x66, 0xff, 0xc3, 0x00, 0x7e, 0x60, 0x78, + 0x60, 0x60, 0x7e, 0x00, 0x00, 0xd6, 0xd6, 0x7c, 0x7c, 0xd6, 0xd6, 0x00, + 0x00, 0x3c, 0x66, 0x0c, 0x06, 0x66, 0x3c, 0x00, 0x00, 0x62, 0x66, 0x6e, + 0x76, 0x66, 0x46, 0x00, 0x04, 0x6a, 0x66, 0x6e, 0x76, 0x66, 0x46, 0x00, + 0x00, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0x66, 0x00, 0x00, 0x1e, 0x36, 0x66, + 0x66, 0x66, 0x66, 0x00, 0x00, 0x82, 0xc6, 0xee, 0xd6, 0xc6, 0xc6, 0x00, + 0x00, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, 0x00, 0x3c, 0x66, 0x66, + 0x66, 0x66, 0x3c, 0x00, 0x00, 0x7e, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, + 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x00, 0x00, 0x3c, 0x66, 0x60, + 0x60, 0x66, 0x3c, 0x00, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x3c, 0x00, 0x00, 0x7c, 0xd6, 0xd6, + 0xd6, 0x7c, 0x10, 0x00, 0x00, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x66, 0x00, + 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7f, 0x01, 0x00, 0x66, 0x66, 0x66, + 0x3e, 0x06, 0x06, 0x00, 0x00, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xfe, 0x00, + 0x00, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xff, 0x01, 0x00, 0xe0, 0x60, 0x7c, + 0x66, 0x66, 0x7c, 0x00, 0x00, 0xc6, 0xc6, 0xf6, 0xde, 0xde, 0xf6, 0x00, + 0x00, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x3c, 0x66, 0x0e, + 0x06, 0x66, 0x3c, 0x00, 0x00, 0xce, 0xdb, 0xfb, 0xdb, 0xdb, 0xce, 0x00, + 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x66, 0x66, 0x00, 0x00, 0x00, 0x3c, 0x06, + 0x3e, 0x66, 0x3e, 0x00, 0x00, 0x3c, 0x60, 0x3c, 0x66, 0x66, 0x3c, 0x00, + 0x00, 0x00, 0x7c, 0x66, 0x7c, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x3c, 0x06, + 0x3c, 0x60, 0x3e, 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x66, 0x3c, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, 0x00, 0x00, 0xd6, 0x7c, + 0x7c, 0xd6, 0xd6, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x0c, 0x66, 0x3c, 0x00, + 0x00, 0x00, 0x62, 0x66, 0x6e, 0x76, 0x66, 0x00, 0x00, 0x04, 0x6a, 0x66, + 0x6e, 0x76, 0x66, 0x00, 0x00, 0x00, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0x00, + 0x00, 0x00, 0x1e, 0x36, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x82, 0xc6, + 0xee, 0xd6, 0xc6, 0x00, 0x00, 0x00, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x7e, 0x66, + 0x66, 0x66, 0x66, 0x00, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, + 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x77, 0xdd, 0x77, 0xdd, + 0x77, 0xdd, 0x77, 0xdd, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, + 0xf8, 0x18, 0x18, 0x18, 0x66, 0x66, 0x66, 0xe6, 0x66, 0x66, 0x66, 0x66, + 0x00, 0x00, 0x00, 0xfe, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0xf8, 0x18, + 0xf8, 0x18, 0x18, 0x18, 0x66, 0x66, 0xe6, 0x06, 0xe6, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0xfe, 0x06, + 0xe6, 0x66, 0x66, 0x66, 0x66, 0x66, 0xe6, 0x06, 0xfe, 0x00, 0x00, 0x00, + 0x66, 0x66, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xf8, 0x18, + 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x66, 0x66, 0x66, 0x67, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x60, 0x7f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0x60, 0x67, 0x66, 0x66, 0x66, 0x66, 0x66, 0xe7, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xe7, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x67, 0x60, 0x67, 0x66, 0x66, 0x66, 0x00, 0x00, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x66, 0x66, 0xe7, 0x00, 0xe7, 0x66, 0x66, 0x66, + 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7f, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x7f, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xff, 0x66, 0x66, 0x66, 0x66, + 0x18, 0x18, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, + 0x00, 0x00, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x7e, 0x18, + 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x3c, + 0x00, 0x00, 0x7c, 0xd6, 0xd6, 0x7c, 0x10, 0x10, 0x00, 0x00, 0x66, 0x66, + 0x3c, 0x66, 0x66, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7f, 0x01, + 0x00, 0x00, 0x66, 0x66, 0x3e, 0x06, 0x06, 0x00, 0x00, 0x00, 0xd6, 0xd6, + 0xd6, 0xd6, 0xfe, 0x00, 0x00, 0x00, 0xd6, 0xd6, 0xd6, 0xd6, 0xff, 0x01, + 0x00, 0x00, 0xe0, 0x60, 0x7c, 0x66, 0x7c, 0x00, 0x00, 0x00, 0xc6, 0xc6, + 0xf6, 0xde, 0xf6, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7c, 0x66, 0x7c, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0x0e, 0x66, 0x3c, 0x00, 0x00, 0x00, 0xce, 0xdb, + 0xfb, 0xdb, 0xce, 0x00, 0x00, 0x00, 0x3e, 0x66, 0x3e, 0x66, 0x66, 0x00, + 0x24, 0x7e, 0x60, 0x78, 0x60, 0x60, 0x7e, 0x00, 0x00, 0x24, 0x3c, 0x66, + 0x7e, 0x60, 0x3c, 0x00, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0x00, + 0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0x7c, 0x00, 0x00, 0x0e, 0x1b, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0x70, 0x00, + 0x00, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00, + 0x76, 0xdc, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0c, 0x0c, 0x6c, 0x3c, 0x1c, 0x00, + 0x8f, 0xcd, 0xef, 0xfc, 0xdc, 0xcc, 0xcc, 0x00, 0x38, 0x6c, 0x18, 0x30, + 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, + 0xaa, 0x54, 0xaa, 0x54, 0xaa, 0x54, 0xaa, 0x00 +}; diff --git a/src/main/ft8xx.cpp b/src/main/ft8xx.cpp new file mode 100644 index 0000000..d602563 --- /dev/null +++ b/src/main/ft8xx.cpp @@ -0,0 +1,8408 @@ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "miniz.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/queue.h" +#include "esp_timer.h" +#include "esp_check.h" +#include "esp_console.h" +#include "esp_err.h" +#include "esp_heap_caps.h" +#include "driver/uart.h" + +#include "main.h" +#include "font.h" +#include "spi_slave.h" +#include "ft8xx.h" +#include "sdmmc.h" +#include "zx_screen.h" +#include "esp_jpeg_dec.h" + +const char TAG[] = "ft8xx"; + +extern const u8 code_866_fnt[]; + +void hexdump(const void *data, size_t len, uint64_t base_off); + +#define CHUNK_PAYLOAD DMA_BUF_SIZE + +// #define FT_DEMO_PIX_W 640 +// #define FT_DEMO_PIX_H 480 +#define FT_DEMO_PIX_W 320 +#define FT_DEMO_PIX_H 240 +#define FT_DEMO_PIX_SIZE (FT_DEMO_PIX_W * FT_DEMO_PIX_H) +#define FT_DEMO_PIX0_ADDR FT_RAM_G +#define FT_DEMO_PIX1_ADDR (FT_RAM_G + FT_DEMO_PIX_SIZE) +#define FT_DEMO_PALETTE_ADDR (FT_DEMO_PIX1_ADDR + FT_DEMO_PIX_SIZE) +#define FT_DEMO_PALETTE_SIZE (256UL * 4UL) + +#define FT_DEMO_TEXT_COLS 80 +#define FT_DEMO_TEXT_ROWS 30 +#define FT_TEXT_ATTR_MAX_COLS 160 +#define FT_TEXT_ATTR_MAX_ROWS 64 +#define FT_TEXT_ATTR_GROUP_ROWS 32 + +#define FT_DEMO_PAL4_PIX_ADDR FT_RAM_G +#define FT_DEMO_PAL4_PAL_HI_ADDR (FT_DEMO_PAL4_PIX_ADDR + ((FT_DEMO_TEXT_COLS * 4UL) * (FT_DEMO_TEXT_ROWS * 8UL))) +#define FT_DEMO_PAL4_PAL_LO_ADDR (FT_DEMO_PAL4_PAL_HI_ADDR + 512UL) +#define FT_DEMO_PAL4_MASK_ADDR 0x002FF82C // Font area, value = 0x10 + +#define FT_TEXT_ATTR_GROUPS_FOR(rows) ((((u32)(rows)) + FT_TEXT_ATTR_GROUP_ROWS - 1U) / FT_TEXT_ATTR_GROUP_ROWS) +#define FT_TEXT_ATTR_GFX_SIZE_FOR(cols, rows) ((u32)(cols) * 256UL * FT_TEXT_ATTR_GROUPS_FOR(rows)) +#define FT_TEXT_ATTR_COLOR_SIZE_FOR(rows) ((u32)(rows) * 256UL) +#define FT_TEXT_ATTR_UPLOAD_SIZE_FOR(cols, rows) (FT_TEXT_ATTR_GFX_SIZE_FOR(cols, rows) + FT_TEXT_ATTR_COLOR_SIZE_FOR(rows)) +#define FT_TEXT_ATTR_GFX_SIZE FT_TEXT_ATTR_GFX_SIZE_FOR(FT_DEMO_TEXT_COLS, FT_DEMO_TEXT_ROWS) +#define FT_TEXT_ATTR_COLOR_SIZE FT_TEXT_ATTR_COLOR_SIZE_FOR(FT_DEMO_TEXT_ROWS) +#define FT_TEXT_ATTR_UPLOAD_SIZE FT_TEXT_ATTR_UPLOAD_SIZE_FOR(FT_DEMO_TEXT_COLS, FT_DEMO_TEXT_ROWS) + +#define FT_DEMO_PIX_GROUP_ADDR(group, col, cols) (FT_RAM_G + ((((u32)(group) * (u32)(cols)) + (u32)(col)) << 8)) +#define FT_DEMO_PIX_ADDR(col) FT_DEMO_PIX_GROUP_ADDR(0, col, FT_DEMO_TEXT_COLS) +#define FT_DEMO_ATTR_ADDR_FOR(cols, rows) (FT_RAM_G + FT_TEXT_ATTR_GFX_SIZE_FOR(cols, rows)) +#define FT_DEMO_ATTR_ADDR FT_DEMO_ATTR_ADDR_FOR(FT_DEMO_TEXT_COLS, FT_DEMO_TEXT_ROWS) +#define FT_TEXT_ATTR_PAL_HI_ADDR_FOR(cols, rows) (FT_RAM_G + FT_TEXT_ATTR_UPLOAD_SIZE_FOR(cols, rows)) +#define FT_TEXT_ATTR_PAL_LO_ADDR_FOR(cols, rows) (FT_TEXT_ATTR_PAL_HI_ADDR_FOR(cols, rows) + 512UL) + +#define FT_DEMO_ZX_SCREEN_X 16 +#define FT_DEMO_ZX_SCREEN_Y 16 +#define FT_DEMO_ZX_PIX_ADDR FT_RAM_G +#define FT_DEMO_ZX_ATTR_ADDR (FT_DEMO_ZX_PIX_ADDR + 6144) +#define FT_DEMO_ZX_PAL_PAPER_ADDR (FT_DEMO_ZX_PIX_ADDR + 0x2000) +#define FT_DEMO_ZX_PAL_INK_ADDR (FT_DEMO_ZX_PAL_PAPER_ADDR + 512) + +#define FT_RGB888_640_480_W 640 +#define FT_RGB888_640_480_H 480 +#define FT_RGB888_640_480_BPP 3UL +#define FT_RGB888_640_480_STRIDE FT_RGB888_640_480_W +#define FT_RGB888_640_480_PLANE_SIZE (FT_RGB888_640_480_STRIDE * FT_RGB888_640_480_H) +#define FT_RGB888_640_480_SIZE (FT_RGB888_640_480_PLANE_SIZE * FT_RGB888_640_480_BPP) +#define FT_RGB888_640_480_ADDR FT_RAM_G + ((1024U * 1024) - (FT_RGB888_640_480_W * FT_RGB888_640_480_H * FT_RGB888_640_480_BPP)) + +#define FT_JPG_MAX_PATH 256 +#define FT_JPG_SCAN_MAX_DEPTH 8 +#define FT_DXP_HEADER_SIZE 8 +#define FT_DXP_RAM_G_SIZE (1024UL * 1024UL) + +typedef struct +{ + char **items; + int count; + int cap; +} FT_JPG_LIST; + +typedef struct +{ + u8 type; + u16 w; + u16 h; + u16 mask_format; + u32 raw_size; +} +FT_DXP_INFO; + +enum +{ + FT_DXP_TYPE_RAW_L2 = 0, + FT_DXP_TYPE_ZLIB_L2, + FT_DXP_TYPE_ZLIB_L4, + FT_DXP_TYPE_RAW_L4 +}; + +enum +{ + FT_JPG_KEY_EXIT = 0, + FT_JPG_KEY_NEXT, + FT_JPG_KEY_PREV +}; + +// ------------- Profiler ------------- + +typedef struct +{ + uint64_t ts_loop_start; + uint64_t ts_show_start; + uint64_t ts_show_end; + uint64_t ts_wait_swap_start; + uint64_t ts_wait_swap_end; + uint64_t ts_upload_start; + uint64_t ts_upload_end; + uint64_t ts_upload_done; + uint64_t ts_render_start; + uint64_t ts_render_end; + uint64_t ts_idle_wait_start; + uint64_t ts_idle_wait_end; + u32 ft_frames_before_wait; + u32 ft_frames_after_wait; + int stop; +} PROFILER_LINE; + +u32 *ft_ccmdb = nullptr; +u16 ft_ccmdp = 0; +EXT_RAM_BSS_ATTR u8 cmdl[8192]; + +#define FT_F_DL_MAX_DWORDS (8192 / 4) + +EXT_RAM_BSS_ATTR u32 ft_f_dl[FT_F_DL_MAX_DWORDS]; +EXT_RAM_BSS_ATTR u16 ft_f_dl_words[FT_F_DL_MAX_DWORDS]; +u16 ft_f_dl_count = 0; +u16 ft_f_dl_items = 0; +u8 ft_f_dl_ready = 0; + +u8 ft_spi_width = 2; +u32 ft_spi_freq_hz = 20000000UL; +int ft_current_mode = -1; + +const FT_MODE ft_modes[] = // | # | visible | Fpll MHz | Fpix MHz | clocks/dl | clocks/line | lines/frame | line kHz | frame Hz | +{ // | -- | -------- | -------- | -------- | --------- | ----------- | ----------- | -------- | -------- | + {6, 2, 16, 96, 48, 640, 11, 2, 31, 480}, // | 0 | 640x480 | 48 | 24 | 1600 | 800 | 524 | 30.000 | 57.252 | + {8, 2, 24, 40, 128, 640, 9, 3, 28, 480}, // | 1 | 640x480 | 64 | 32 | 1664 | 832 | 520 | 38.462 | 73.964 | + {8, 2, 16, 96, 48, 640, 11, 2, 31, 480}, // | 2 | 640x480 | 64 | 32 | 1600 | 800 | 524 | 40.000 | 76.336 | + {5, 1, 40, 128, 88, 800, 1, 4, 23, 600}, // | 3 | 800x600 | 40 | 40 | 1056 | 1056 | 628 | 37.879 | 60.317 | + {10, 2, 40, 128, 88, 800, 1, 4, 23, 600}, // | 4 | 800x600 | 80 | 40 | 2112 | 1056 | 628 | 37.879 | 60.317 | + {6, 1, 56, 120, 64, 800, 37, 6, 23, 600}, // | 5 | 800x600 | 48 | 48 | 1040 | 1040 | 666 | 46.154 | 69.300 | + {7, 1, 32, 64, 152, 800, 1, 3, 27, 600}, // | 6 | 800x600 | 56 | 56 | 1048 | 1048 | 631 | 53.435 | 84.683 | + {8, 1, 24, 136, 160, 1024, 3, 6, 29, 768}, // | 7 | 1024x768 | 64 | 64 | 1344 | 1344 | 806 | 47.619 | 59.081 | + {9, 1, 24, 136, 144, 1024, 3, 6, 29, 768}, // | 8 | 1024x768 | 72 | 72 | 1328 | 1328 | 806 | 54.217 | 67.267 | + {10, 1, 16, 96, 176, 1024, 1, 3, 28, 768}, // | 9 | 1024x768 | 80 | 80 | 1312 | 1312 | 800 | 60.976 | 76.220 | + {7, 1, 24, 56, 124, 640, 1, 3, 38, 1024}, // | 10 | 640x1024 | 56 | 56 | 844 | 844 | 1066 | 66.351 | 62.243 | + {9, 1, 110, 40, 220, 1280, 5, 5, 20, 720}, // | 11 | 1280x720 | 72 | 72 | 1650 | 1650 | 750 | 43.636 | 58.182 | + {9, 1, 93, 40, 187, 1280, 5, 5, 20, 720}, // | 12 | 1280x720 | 72 | 72 | 1600 | 1600 | 750 | 45.000 | 60.000 | +}; + +const u16 sintab[257] = +{ + 0, 402, 804, 1206, 1608, 2010, 2412, 2813, 3215, 3617, 4018, 4419, 4821, 5221, 5622, 6023, + 6423, 6823, 7223, 7622, 8022, 8421, 8819, 9218, 9615, 10013, 10410, 10807, 11203, 11599, 11995, 12390, + 12785, 13179, 13573, 13966, 14358, 14750, 15142, 15533, 15923, 16313, 16702, 17091, 17479, 17866, 18252, 18638, + 19023, 19408, 19791, 20174, 20557, 20938, 21319, 21699, 22078, 22456, 22833, 23210, 23585, 23960, 24334, 24707, + 25079, 25450, 25820, 26189, 26557, 26924, 27290, 27655, 28019, 28382, 28744, 29105, 29465, 29823, 30181, 30537, + 30892, 31247, 31599, 31951, 32302, 32651, 32999, 33346, 33691, 34035, 34378, 34720, 35061, 35400, 35737, 36074, + 36409, 36742, 37075, 37406, 37735, 38063, 38390, 38715, 39039, 39361, 39682, 40001, 40319, 40635, 40950, 41263, + 41574, 41885, 42193, 42500, 42805, 43109, 43411, 43711, 44010, 44307, 44603, 44896, 45189, 45479, 45768, 46055, + 46340, 46623, 46905, 47185, 47463, 47739, 48014, 48287, 48558, 48827, 49094, 49360, 49623, 49885, 50145, 50403, + 50659, 50913, 51165, 51415, 51664, 51910, 52155, 52397, 52638, 52876, 53113, 53347, 53580, 53810, 54039, 54265, + 54490, 54712, 54933, 55151, 55367, 55581, 55793, 56003, 56211, 56416, 56620, 56821, 57021, 57218, 57413, 57606, + 57796, 57985, 58171, 58355, 58537, 58717, 58894, 59069, 59242, 59413, 59582, 59748, 59912, 60074, 60234, 60391, + 60546, 60699, 60849, 60997, 61143, 61287, 61428, 61567, 61704, 61838, 61970, 62100, 62227, 62352, 62474, 62595, + 62713, 62828, 62941, 63052, 63161, 63267, 63370, 63472, 63570, 63667, 63761, 63853, 63942, 64029, 64114, 64196, + 64275, 64353, 64427, 64500, 64570, 64637, 64702, 64765, 64825, 64883, 64938, 64991, 65042, 65090, 65135, 65178, + 65219, 65257, 65293, 65326, 65357, 65385, 65411, 65435, 65456, 65474, 65490, 65504, 65515, 65523, 65530, 65533, + 65535 +}; + +// ---------- Profiler ----------- + +QueueHandle_t profiler_queue = nullptr; +TaskHandle_t profiler_task_handle = nullptr; +TaskHandle_t profiler_done_task = nullptr; + +uint64_t profiler_now() +{ + return (uint64_t)esp_timer_get_time(); +} + +void profiler_task(void *arg) +{ + PROFILER_LINE line; + uint64_t prev_loop_start = 0; + uint64_t loop_dt; + uint64_t dt_upload; + uint64_t dt_render; + + (void)arg; + + while (1) + { + if (xQueueReceive(profiler_queue, &line, portMAX_DELAY) != pdTRUE) + continue; + + if (line.stop) + break; + + loop_dt = prev_loop_start ? (line.ts_loop_start - prev_loop_start) : 0; + prev_loop_start = line.ts_loop_start; + + dt_upload = (line.ts_upload_start && line.ts_upload_done) ? (line.ts_upload_done - line.ts_upload_start) : 0; + dt_render = (line.ts_render_start && line.ts_render_end) ? (line.ts_render_end - line.ts_render_start) : 0; + + printf("us, frame=%llu ", (unsigned long long)loop_dt); + printf("render=%llu ", (unsigned long long)dt_render); + printf("xfer=%llu", (unsigned long long)dt_upload); + printf("\r\n"); + } + + if (profiler_done_task) + xTaskNotifyGive(profiler_done_task); + + vTaskDelete(nullptr); +} + +esp_err_t profiler_start() +{ + if (profiler_queue) + return ESP_OK; + + profiler_queue = xQueueCreate(64, sizeof(PROFILER_LINE)); + if (!profiler_queue) + return ESP_ERR_NO_MEM; + + profiler_done_task = xTaskGetCurrentTaskHandle(); + + if (xTaskCreatePinnedToCore(profiler_task, "profiler_log", 4096, nullptr, tskIDLE_PRIORITY + 1, &profiler_task_handle, 1) != pdPASS) + { + vQueueDelete(profiler_queue); + profiler_queue = nullptr; + profiler_done_task = nullptr; + profiler_task_handle = nullptr; + return ESP_FAIL; + } + + return ESP_OK; +} + +void profiler_push(const PROFILER_LINE *line) +{ + if (!profiler_queue || !line) + return; + + xQueueSend(profiler_queue, line, 0); +} + +void profiler_stop() +{ + PROFILER_LINE line = {}; + QueueHandle_t queue = profiler_queue; + + if (!queue) + return; + + line.stop = 1; + xQueueSend(queue, &line, pdMS_TO_TICKS(1000)); + + if (!ulTaskNotifyTake(pdTRUE, pdMS_TO_TICKS(1000)) && profiler_task_handle) + vTaskDelete(profiler_task_handle); + + profiler_queue = nullptr; + profiler_task_handle = nullptr; + profiler_done_task = nullptr; + + vQueueDelete(queue); +} + +// -------- Aux math --------- + +i16 rsin(i16 r, u16 th) +{ + i16 th4; + u16 s; + i16 p; + + th >>= 6; + th4 = (i16)(th & 511); + + if (th4 & 256) + th4 = 512 - th4; + + s = sintab[(u16)th4]; + p = (i16)(((u32)s * (u32)r) >> 16); + + if (th & 512) + p = -p; + + return p; +} + +i16 rcos(i16 r, u16 th) +{ + return rsin(r, (u16)(th + 0x4000)); +} + +u32 ft_argb32(u8 a, u8 r, u8 g, u8 b) +{ + return ((u32)a << 24) | ((u32)r << 16) | ((u32)g << 8) | (u32)b; +} + +// -------- Display list --------- + +void ft_AlphaFunc(u8 func, u8 ref) +{ + ft_ccmd((9UL << 24) | ((func & 7L) << 8) | ((ref & 255L) << 0)); +} + +void ft_Begin(u8 prim) +{ + ft_ccmd((31UL << 24) | prim); +} + +void ft_BitmapHandle(u8 handle) +{ + ft_ccmd((5UL << 24) | handle); +} + +void ft_BitmapLayout(u8 format, u16 linestride, u16 height) +{ + ft_ccmd((0x28UL << 24) | ((linestride >> 8) & 12L) | ((height >> 9) & 3L)); + ft_ccmd((7UL << 24) | ((format & 31L) << 19) | ((linestride & 1023L) << 9) | ((height & 511L) << 0)); +} + +void ft_BitmapSize(u8 filter, u8 wrapx, u8 wrapy, u16 width, u16 height) +{ + u8 fxy = (filter << 2) | (wrapx << 1) | (wrapy); + ft_ccmd((0x29UL << 24) | ((width >> 7) & 12L) | ((height>> 9) & 3L)); + ft_ccmd((8UL << 24) | ((u32)fxy << 18) | ((width & 511L) << 9) | ((height & 511L) << 0)); +} + +void ft_BitmapSource(u32 addr) +{ + ft_ccmd((1UL << 24) | ((addr & 0x3FFFFFL) << 0)); +} + +void ft_BitmapTransformA(i32 a) +{ + ft_ccmd((21UL << 24) | ((a & 131071L) << 0)); +} + +void ft_BitmapTransformB(i32 b) +{ + ft_ccmd((22UL << 24) | ((b & 131071L) << 0)); +} + +void ft_BitmapTransformC(i32 c) +{ + ft_ccmd((23UL << 24) | ((c & 16777215L) << 0)); +} + +void ft_BitmapTransformD(i32 d) +{ + ft_ccmd((24UL << 24) | ((d & 131071L) << 0)); +} + +void ft_BitmapTransformE(i32 e) +{ + ft_ccmd((25UL << 24) | ((e & 131071L) << 0)); +} + +void ft_BitmapTransformF(i32 f) +{ + ft_ccmd((26UL << 24) | ((f & 16777215L) << 0)); +} + +void ft_BlendFunc(u8 src, u8 dst) +{ + ft_ccmd((11UL << 24) | ((src & 7L) << 3) | ((dst & 7L) << 0)); +} + +void ft_Call(u16 dest) +{ + ft_ccmd((29UL << 24) | ((dest & 2047L) << 0)); +} + +void ft_Cell(u8 cell) +{ + ft_ccmd((6UL << 24) | ((cell & 127L) << 0)); +} + +void ft_ClearColorA(u8 alpha) +{ + ft_ccmd((15UL << 24) | ((alpha & 255L) << 0)); +} + +void ft_ClearColorRGB(u8 red, u8 green, u8 blue) +{ + ft_ccmd((2UL << 24) | ((red & 255L) << 16) | ((green & 255L) << 8) | ((blue & 255L) << 0)); +} + +void ft_ClearColorRGB32(u32 rgb) +{ + ft_ccmd((2UL << 24) | (rgb & 0xffffffL)); +} + +void ft_Clear(u8 c, u8 s, u8 t) +{ + u8 m = (c << 2) | (s << 1) | t; + ft_ccmd((38UL << 24) | m); +} + +void ft_ClearAll() +{ + ft_ccmd((38UL << 24) | 7); +} + +void ft_ClearStencil(u8 s) +{ + ft_ccmd((17UL << 24) | ((s & 255L) << 0)); +} + +void ft_ClearTag(u8 s) +{ + ft_ccmd((18UL << 24) | ((s & 255L) << 0)); +} + +void ft_ColorA(u8 alpha) +{ + ft_ccmd((16UL << 24) | ((alpha & 255L) << 0)); +} + +void ft_ColorMask(u8 r, u8 g, u8 b, u8 a) +{ + ft_ccmd((32UL << 24) | ((r & 1L) << 3) | ((g & 1L) << 2) | ((b & 1L) << 1) | ((a & 1L) << 0)); +} + +void ft_ColorRGB(u8 red, u8 green, u8 blue) +{ + ft_ccmd((4UL << 24) | ((red & 255L) << 16) | ((green & 255L) << 8) | ((blue & 255L) << 0)); +} + +void ft_ColorRGB32(u32 rgb) +{ + ft_ccmd((4UL << 24) | (rgb & 0xffffffL)); +} + +void ft_Display(void) +{ + ft_ccmd(0UL << 24); +} + +void ft_Nop() +{ + ft_ccmd(0x2DUL << 24); +} + +void ft_End(void) +{ + ft_ccmd(33UL << 24); +} + +void ft_Jump(u16 dest) +{ + ft_ccmd((30UL << 24) | ((dest & 2047L) << 0)); +} + +void ft_LineWidth(u16 width) +{ + ft_ccmd((14UL << 24) | ((width & 4095L) << 0)); +} + +void ft_Macro(u8 m) +{ + ft_ccmd((37UL << 24) | ((m & 1L) << 0)); +} + +void ft_PaletteSource(u32 addr) +{ + ft_ccmd((0x2AUL << 24) | ((addr & 0x3FFFFFL) << 0)); +} + +void ft_PointSize(u16 size) +{ + ft_ccmd((13UL << 24) | ((size & 8191L) << 0)); +} + +void ft_RestoreContext(void) +{ + ft_ccmd(35UL << 24); +} + +void ft_Return(void) +{ + ft_ccmd(36UL << 24); +} + +void ft_SaveContext(void) +{ + ft_ccmd(34UL << 24); +} + +void ft_ScissorSize(u16 width, u16 height) +{ + ft_ccmd((28UL << 24) | ((width & 4095L) << 12) | ((height & 4095L) << 0)); +} + +void ft_ScissorXY(u16 x, u16 y) +{ + ft_ccmd((27UL << 24) | ((x & 511L) << 9) | ((y & 511L) << 0)); +} + +void ft_StencilFunc(u8 func, u8 ref, u8 mask) +{ + ft_ccmd((10UL << 24) | ((func & 7L) << 16) | ((ref & 255L) << 8) | ((mask & 255L) << 0)); +} + +void ft_StencilMask(u8 mask) +{ + ft_ccmd((19UL << 24) | ((mask & 255L) << 0)); +} + +void ft_StencilOp(u8 sfail, u8 spass) +{ + ft_ccmd((12UL << 24) | ((sfail & 7L) << 3) | ((spass & 7L) << 0)); +} + +void ft_TagMask(u8 mask) +{ + ft_ccmd((20UL << 24) | ((mask & 1L) << 0)); +} + +void ft_Tag(u8 s) +{ + ft_ccmd((3UL << 24) | s); +} + +void ft_Vertex2f(i16 x, i16 y) +{ + ft_ccmd((1UL << 30) | ((x & 32767L) << 15) | ((y & 32767L) << 0)); +} + +void ft_Vertex2ii(u16 x, u16 y, u8 handle, u8 cell) +{ + ft_ccmd((2UL << 30) | ((x & 511L) << 21) | ((y & 511L) << 12) | ((handle & 31L) << 7) | ((cell & 127L) << 0)); +} + +void ft_VertexFormat(u8 f) +{ + ft_ccmd((0x27UL << 24) | (f & 7L)); +} + +void ft_VertexTranslateX(i32 v) +{ + ft_ccmd((0x2BUL << 24) | ((u32)v & 0x1FFFF)); +} + +void ft_VertexTranslateY(i32 v) +{ + ft_ccmd((0x2CUL << 24) | ((u32)v & 0x1FFFF)); +} + +// Co-processor +void ft_SetBitmap(u32 source, u16 fmt, u16 w, u16 h) +{ + ft_ccmd(FT_CCMD_SETBITMAP); + ft_ccmd(source); + ft_ccmd((((u32)w << 16) | (fmt & 0xffff))); + ft_ccmd(h); +} + +void ft_SetScratch(u32 handle) +{ + ft_ccmd(FT_CCMD_SETSCRATCH); + ft_ccmd(handle); +} + +void ft_Text(i16 x, i16 y, i16 font, u16 options, const char *s) +{ + ft_ccmd(FT_CCMD_TEXT); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)options << 16) | (font & 0xffff))); + ft_cstr(s); +} + +void ft_Number(i16 x, i16 y, i16 font, u16 options, i32 n) +{ + ft_ccmd(FT_CCMD_NUMBER); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)options << 16) | (font & 0xffff))); + ft_ccmd(n); +} + +void ft_LoadIdentity() +{ + ft_ccmd(FT_CCMD_LOADIDENTITY); +} + +void ft_Toggle(i16 x, i16 y, i16 w, i16 font, u16 options, u16 state, const char *s) +{ + ft_ccmd(FT_CCMD_TOGGLE); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)font << 16) | (w & 0xffff))); + ft_ccmd((((u32)state << 16) | options)); + ft_cstr(s); +} + +void ft_Gauge(i16 x, i16 y, i16 r, u16 options, u16 major, u16 minor, u16 val, u16 range) +{ + ft_ccmd(FT_CCMD_GAUGE); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)options << 16) | (r & 0xffff))); + ft_ccmd((((u32)minor << 16) | (major & 0xffff))); + ft_ccmd((((u32)range << 16) | (val & 0xffff))); +} + +void ft_RegRead(u32 ptr, u32 result) +{ + ft_ccmd(FT_CCMD_REGREAD); + ft_ccmd(ptr); + ft_ccmd(result); +} + +void ft_VideoStart() +{ + ft_ccmd(FT_CCMD_VIDEOSTART); +} + +void ft_GetProps(u32 ptr, u32 w, u32 h) +{ + ft_ccmd(FT_CCMD_GETPROPS); + ft_ccmd(ptr); + ft_ccmd(w); + ft_ccmd(h); +} + +void ft_Memcpy(u32 dest, u32 src, u32 num) +{ + ft_ccmd(FT_CCMD_MEMCPY); + ft_ccmd(dest); + ft_ccmd(src); + ft_ccmd(num); +} + +void ft_Spinner(i16 x, i16 y, u16 style, u16 scale) +{ + ft_ccmd(FT_CCMD_SPINNER); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)scale << 16) | (style & 0xffff))); +} + +void ft_BgColor(u32 c) +{ + ft_ccmd(FT_CCMD_BGCOLOR); + ft_ccmd(c); +} + +void ft_Swap() +{ + ft_ccmd(FT_CCMD_SWAP); +} + +void ft_Inflate(u32 ptr) +{ + ft_ccmd(FT_CCMD_INFLATE); + ft_ccmd(ptr); +} + +void ft_Translate(i32 tx, i32 ty) +{ + ft_ccmd(FT_CCMD_TRANSLATE); + ft_ccmd(tx); + ft_ccmd(ty); +} + +void ft_Stop() +{ + ft_ccmd(FT_CCMD_STOP); +} + +void ft_SetBase(u32 base) +{ + ft_ccmd(FT_CCMD_SETBASE); + ft_ccmd(base); +} + +void ft_Slider(i16 x, i16 y, i16 w, i16 h, u16 options, u16 val, u16 range) +{ + ft_ccmd(FT_CCMD_SLIDER); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); + ft_ccmd((((u32)val << 16) | (options & 0xffff))); + ft_ccmd(range); +} + +void ft_VideoFrame(u32 dst, u32 ptr) +{ + ft_ccmd(FT_CCMD_VIDEOFRAME); + ft_ccmd(dst); + ft_ccmd(ptr); +} + +void ft_TouchTransform(i32 x0, i32 y0, i32 x1, i32 y1, i32 x2, i32 y2, i32 tx0, i32 ty0, i32 tx1, i32 ty1, i32 tx2, i32 ty2, u16 result) +{ + ft_ccmd(FT_CCMD_TOUCH_TRANSFORM); + ft_ccmd(x0); + ft_ccmd(y0); + ft_ccmd(x1); + ft_ccmd(y1); + ft_ccmd(x2); + ft_ccmd(y2); + ft_ccmd(tx0); + ft_ccmd(ty0); + ft_ccmd(tx1); + ft_ccmd(ty1); + ft_ccmd(tx2); + ft_ccmd(ty2); + ft_ccmd(result); +} + +void ft_Interrupt(u32 ms) +{ + ft_ccmd(FT_CCMD_INTERRUPT); + ft_ccmd(ms); +} + +void ft_FgColor(u32 c) +{ + ft_ccmd(FT_CCMD_FGCOLOR); + ft_ccmd(c); +} + +void ft_Rotate(i32 a) +{ + ft_ccmd(FT_CCMD_ROTATE); + ft_ccmd(a); +} + +void ft_Button(i16 x, i16 y, i16 w, i16 h, i16 font, u16 options, const char *s) +{ + ft_ccmd(FT_CCMD_BUTTON); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); + ft_ccmd((((u32)options << 16) | (font & 0xffff))); + ft_cstr(s); +} + +void ft_MemWrite(u32 ptr, u32 num) +{ + ft_ccmd(FT_CCMD_MEMWRITE); + ft_ccmd(ptr); + ft_ccmd(num); +} + +void ft_Scrollbar(i16 x, i16 y, i16 w, i16 h, u16 options, u16 val, u16 size, u16 range) +{ + ft_ccmd(FT_CCMD_SCROLLBAR); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); + ft_ccmd((((u32)val << 16) | (options & 0xffff))); + ft_ccmd((((u32)range << 16) | (size & 0xffff))); +} + +void ft_GetMatrix(i32 a, i32 b, i32 c, i32 d, i32 e, i32 f) +{ + ft_ccmd(FT_CCMD_GETMATRIX); + ft_ccmd(a); + ft_ccmd(b); + ft_ccmd(c); + ft_ccmd(d); + ft_ccmd(e); + ft_ccmd(f); +} + +void ft_Sketch(i16 x, i16 y, u16 w, u16 h, u32 ptr, u16 format) +{ + ft_ccmd(FT_CCMD_SKETCH); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); + ft_ccmd(ptr); + ft_ccmd(format); +} + +void ft_RomFont(u32 font, u32 romslot) +{ + ft_ccmd(FT_CCMD_ROMFONT); + ft_ccmd(font); + ft_ccmd(romslot); +} + +void ft_PlayVideo(u32 options) +{ + ft_ccmd(FT_CCMD_PLAYVIDEO); + ft_ccmd(options); +} + +void ft_MemSet(u32 ptr, u32 value, u32 num) +{ + ft_ccmd(FT_CCMD_MEMSET); + ft_ccmd(ptr); + ft_ccmd(value); + ft_ccmd(num); +} + +void ft_GradColor(u32 c) +{ + ft_ccmd(FT_CCMD_GRADCOLOR); + ft_ccmd(c); +} + +void ft_Sync() +{ + ft_ccmd(FT_CCMD_SYNC); +} + +void ft_BitmapTransform(i32 x0, i32 y0, i32 x1, i32 y1, i32 x2, i32 y2, i32 tx0, i32 ty0, i32 tx1, i32 ty1, i32 tx2, i32 ty2, u16 result) +{ + ft_ccmd(FT_CCMD_BITMAP_TRANSFORM); + ft_ccmd(x0); + ft_ccmd(y0); + ft_ccmd(x1); + ft_ccmd(y1); + ft_ccmd(x2); + ft_ccmd(y2); + ft_ccmd(tx0); + ft_ccmd(ty0); + ft_ccmd(tx1); + ft_ccmd(ty1); + ft_ccmd(tx2); + ft_ccmd(ty2); + ft_ccmd(result); +} + +void ft_Calibrate(u32 result) +{ + ft_ccmd(FT_CCMD_CALIBRATE); + ft_ccmd(result); +} + +void ft_SetFont(u32 font, u32 ptr) +{ + ft_ccmd(FT_CCMD_SETFONT); + ft_ccmd(font); + ft_ccmd(ptr); +} + +void ft_Logo() +{ + ft_ccmd(FT_CCMD_LOGO); +} + +void ft_Append(u32 ptr, u32 num) +{ + ft_ccmd(FT_CCMD_APPEND); + ft_ccmd(ptr); + ft_ccmd(num); +} + +void ft_MemZero(u32 ptr, u32 num) +{ + ft_ccmd(FT_CCMD_MEMZERO); + ft_ccmd(ptr); + ft_ccmd(num); +} + +void ft_Scale(i32 sx, i32 sy) +{ + ft_ccmd(FT_CCMD_SCALE); + ft_ccmd(sx); + ft_ccmd(sy); +} + +void ft_Clock(i16 x, i16 y, i16 r, u16 options, u16 h, u16 m, u16 s, u16 ms) +{ + ft_ccmd(FT_CCMD_CLOCK); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)options << 16) | (r & 0xffff))); + ft_ccmd((((u32)m << 16) | (h & 0xffff))); + ft_ccmd((((u32)ms << 16) | (s & 0xffff))); +} + +void ft_Gradient(i16 x0, i16 y0, u32 rgb0, i16 x1, i16 y1, u32 rgb1) +{ + ft_ccmd(FT_CCMD_GRADIENT); + ft_ccmd((((u32)y0 << 16) | (x0 & 0xffff))); + ft_ccmd(rgb0); + ft_ccmd((((u32)y1 << 16) | (x1 & 0xffff))); + ft_ccmd(rgb1); +} + +void ft_SetMatrix() +{ + ft_ccmd(FT_CCMD_SETMATRIX); +} + +void ft_Track(i16 x, i16 y, i16 w, i16 h, i16 tag) +{ + ft_ccmd(FT_CCMD_TRACK); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); + ft_ccmd(tag); +} + +void ft_Int_RAMShared(u32 ptr) +{ + ft_ccmd(FT_CCMD_INT_RAMSHARED); + ft_ccmd(ptr); +} + +void ft_Int_SWLoadImage(u32 ptr, u32 options) +{ + ft_ccmd(FT_CCMD_INT_SWLOADIMAGE); + ft_ccmd(ptr); + ft_ccmd(options); +} + +void ft_GetPtr(u32 result) +{ + ft_ccmd(FT_CCMD_GETPTR); + ft_ccmd(result); +} + +void ft_Progress(i16 x, i16 y, i16 w, i16 h, u16 options, u16 val, u16 range) +{ + ft_ccmd(FT_CCMD_PROGRESS); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); + ft_ccmd((((u32)val << 16) | (options & 0xffff))); + ft_ccmd(range); +} + +void ft_ColdStart() +{ + ft_ccmd(FT_CCMD_COLDSTART); +} + +void ft_MediaFifo(u32 ptr, u32 size) +{ + ft_ccmd(FT_CCMD_MEDIAFIFO); + ft_ccmd(ptr); + ft_ccmd(size); +} + +void ft_Keys(i16 x, i16 y, i16 w, i16 h, i16 font, u16 options, const char *s) +{ + ft_ccmd(FT_CCMD_KEYS); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); + ft_ccmd((((u32)options << 16) | (font & 0xffff))); + ft_cstr(s); +} + +void ft_Dial(i16 x, i16 y, i16 r, u16 options, u16 val) +{ + ft_ccmd(FT_CCMD_DIAL); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)options << 16) | (r & 0xffff))); + ft_ccmd(val); +} + +void ft_Snapshot2(u32 fmt, u32 ptr, i16 x, i16 y, i16 w, i16 h) +{ + ft_ccmd(FT_CCMD_SNAPSHOT2); + ft_ccmd(fmt); + ft_ccmd(ptr); + ft_ccmd((((u32)y << 16) | (x & 0xffff))); + ft_ccmd((((u32)h << 16) | (w & 0xffff))); +} + +void ft_LoadImage(u32 ptr, u32 options) +{ + ft_ccmd(FT_CCMD_LOADIMAGE); + ft_ccmd(ptr); + ft_ccmd(options); +} + +void ft_SetFont2(u32 font, u32 ptr, u32 firstchar) +{ + ft_ccmd(FT_CCMD_SETFONT2); + ft_ccmd(font); + ft_ccmd(ptr); + ft_ccmd(firstchar); +} + +void ft_SetRotate(u32 r) +{ + ft_ccmd(FT_CCMD_SETROTATE); + ft_ccmd(r); +} + +void ft_Dlstart() +{ + ft_ccmd(FT_CCMD_DLSTART); +} + +void ft_Snapshot(u32 ptr) +{ + ft_ccmd(FT_CCMD_SNAPSHOT); + ft_ccmd(ptr); +} + +void ft_ScreenSaver() +{ + ft_ccmd(FT_CCMD_SCREENSAVER); +} + +void ft_MemCrc(u32 ptr, u32 num, u32 result) +{ + ft_ccmd(FT_CCMD_MEMCRC); + ft_ccmd(ptr); + ft_ccmd(num); + ft_ccmd(result); +} + +void ft_FlashAttach() +{ + ft_ccmd(FT_CCMD_FLASHATTACH); +} + +void ft_FlashDetach() +{ + ft_ccmd(FT_CCMD_FLASHDETACH); +} + +void ft_FlashFast(u32 rc) +{ + ft_ccmd(FT_CCMD_FLASHFAST); + ft_ccmd(rc); +} + +void ft_FlashSpiDesel() +{ + ft_ccmd(FT_CCMD_FLASHSPIDESEL); +} + +void ft_FlashTx(u32 num) +{ + ft_ccmd(FT_CCMD_FLASHTX); + ft_ccmd(num); +} + +void ft_FlashRx(u32 ptr, u32 num) +{ + ft_ccmd(FT_CCMD_FLASHRX); + ft_ccmd(ptr); + ft_ccmd(num); +} + +void ft_FlashErase() +{ + ft_ccmd(FT_CCMD_FLASHERASE); +} + +void ft_FlashUpdate(u32 dest, u32 src, u32 num) +{ + ft_ccmd(FT_CCMD_FLASHUPDATE); + ft_ccmd(dest); + ft_ccmd(src); + ft_ccmd(num); +} + +// ------------- System layer --------------- + +void init_ft8xx() +{ +} + +// ------------- Hardware layer --------------- + +esp_err_t ft_apply_spi_width(u8 width) +{ + switch (width) + { + case 1: + ft_wreg8(FT_REG_SPI_WIDTH, FT_SPI_WIDTH_SINGLE); + return spi_master_set_data_lines(1); + + case 2: + ft_wreg8(FT_REG_SPI_WIDTH, FT_SPI_WIDTH_DUAL); + return spi_master_set_data_lines(2); + + case 4: + ft_wreg8(FT_REG_SPI_WIDTH, FT_SPI_WIDTH_QUAD | 4); + return spi_master_set_data_lines(4); + } + + return ESP_ERR_INVALID_ARG; +} + +esp_err_t ft_switch_spi_to_1_bit() +{ + return ft_apply_spi_width(1); +} + +esp_err_t ft_switch_spi_to_2_bit() +{ + return ft_apply_spi_width(2); +} + +esp_err_t ft_switch_spi_to_4_bit() +{ + return ft_apply_spi_width(4); +} + +esp_err_t ft_open_session() +{ + esp_err_t err; + + spi_master_set_clock_hz(ft_spi_freq_hz); + + err = spi_switch_to_master(); + if (err != ESP_OK) return err; + + err = spi_master_set_data_lines(1); + if (err != ESP_OK) + { + spi_switch_to_slave(); + return err; + } + + err = ft_apply_spi_width(ft_spi_width); + if (err != ESP_OK) + { + spi_switch_to_slave(); + return err; + } + + return ESP_OK; +} + +esp_err_t ft_close_session() +{ + esp_err_t err; + esp_err_t err2; + + err = ft_switch_spi_to_1_bit(); + + err2 = spi_switch_to_slave(); + if (err == ESP_OK) + err = err2; + + return err; +} + +esp_err_t ft_xfer(const void *tx, void *rx, size_t size) +{ + return spi_master_xfer((void*)tx, rx, size); +} + +inline void wr16le(u8 *p, u16 v) +{ + p[0] = (u8)(v & 0xFF); + p[1] = (u8)((v >> 8) & 0xFF); +} + +inline void wr32le(u8 *p, u32 v) +{ + p[0] = (u8)(v & 0xFF); + p[1] = (u8)((v >> 8) & 0xFF); + p[2] = (u8)((v >> 16) & 0xFF); + p[3] = (u8)((v >> 24) & 0xFF); +} + +esp_err_t ft_cmdp(u8 a, u8 v) +{ + return spi_master_host_cmd_inline(a, v); +} + +esp_err_t ft_cmd(u8 a) +{ + return ft_cmdp(a, 0); +} + +void ft_wreg8(u32 a, u8 v) +{ + spi_master_write_inline((u8)((FT_RAM_REG >> 16) | 0x80), (u16)a, v, 1); +} + +void ft_wreg16(u32 a, u16 v) +{ + spi_master_write_inline((u8)((FT_RAM_REG >> 16) | 0x80), (u16)a, v, 2); +} + +void ft_wreg32(u32 a, u32 v) +{ + spi_master_write_inline((u8)((FT_RAM_REG >> 16) | 0x80), (u16)a, v, 4); +} + +u8 ft_rreg8(u32 a) +{ + u32 v = 0; + spi_master_read_inline((u8)(FT_RAM_REG >> 16), (u16)a, &v, 1); + return (u8)v; +} + +u16 ft_rreg16(u32 a) +{ + u32 v = 0; + spi_master_read_inline((u8)(FT_RAM_REG >> 16), (u16)a, &v, 2); + return (u16)v; +} + +u32 ft_rreg32(u32 a) +{ + u32 v = 0; + spi_master_read_inline((u8)(FT_RAM_REG >> 16), (u16)a, &v, 4); + return v; +} + +esp_err_t ft_write(const void *addr, u32 ft_addr, u32 size) +{ + if (!addr && size) return ESP_ERR_INVALID_ARG; + if (!size) return ESP_OK; + + const u8 *src = (const u8*)addr; + esp_err_t err = ESP_OK; + u32 a = ft_addr; + u32 left = size; + + while (left) + { + u32 n = left > CHUNK_PAYLOAD ? CHUNK_PAYLOAD : left; + + err = spi_master_write_buf((u8)(((a >> 16) & 0x3F) | 0x80), (u16)a, src, n); + if (err != ESP_OK) + break; + + src += n; + a += n; + left -= n; + } + + return err; +} + +esp_err_t ft_read(void *addr, u32 ft_addr, u32 size) +{ + if (!addr && size) return ESP_ERR_INVALID_ARG; + if (!size) return ESP_OK; + + u8 *dst = (u8*)addr; + esp_err_t err = ESP_OK; + u32 a = ft_addr; + u32 left = size; + + while (left) + { + u32 n = left > CHUNK_PAYLOAD ? CHUNK_PAYLOAD : left; + + err = spi_master_read_buf((u8)((a >> 16) & 0x3F), (u16)a, dst, n); + if (err != ESP_OK) + break; + + dst += n; + a += n; + left -= n; + } + + return err; +} + +esp_err_t ft_write_dl(const void *addr, u32 size_dwords) +{ + return ft_write(addr, FT_RAM_DL, size_dwords << 2); +} + +void ft_ccmd_start(void *addr) +{ + ft_ccmdb = (u32*)addr; + ft_ccmdp = 0; +} + +void ft_ccmd(u32 a) +{ + ft_ccmdb[ft_ccmdp++] = a; +} + +void ft_cstr(const char *s) +{ + u8 *p = (u8*)&ft_ccmdb[ft_ccmdp]; + u16 c = 0; + + while ((p[c++] = (u8)*s++) != 0) + {} + + ft_ccmdp += (c + 3) >> 2; +} + +esp_err_t ft_ccmd_write() +{ + return ft_write((const void*)ft_ccmdb, FT_REG_CMDB_WRITE, (u32)ft_ccmdp << 2); +} + +esp_err_t ft_cp_wait(uint32_t timeout_ms) +{ + int64_t t0 = esp_timer_get_time(); + while (1) + { + u16 space = ft_rreg16(FT_REG_CMDB_SPACE); + + if (space == 0x0FFC) + return ESP_OK; + + if (((esp_timer_get_time() - t0) / 1000) >= (int64_t)timeout_ms) + return ESP_ERR_TIMEOUT; + + vTaskDelay(pdMS_TO_TICKS(1)); + } +} + +esp_err_t ft_cp_reset() +{ + ft_wreg8(FT_REG_CPURESET, 1); + ft_wreg32(FT_REG_CMD_READ, 0); + ft_wreg32(FT_REG_CMD_WRITE, 0); + ft_wreg8(FT_REG_CPURESET, 0); + + return ESP_OK; +} + +void ft_swap() +{ + return ft_wreg8(FT_REG_DLSWAP, FT_DLSWAP_FRAME); +} + +esp_err_t ft_wait_swap(uint32_t timeout_ms) +{ + int64_t t0 = esp_timer_get_time(); + while (1) + { + u8 dlswap = ft_rreg8(FT_REG_DLSWAP); + + if (dlswap == FT_DLSWAP_DONE) + return ESP_OK; + + if (((esp_timer_get_time() - t0) / 1000) >= (int64_t)timeout_ms) + return ESP_ERR_TIMEOUT; + + vTaskDelay(pdMS_TO_TICKS(1)); + } +} + +esp_err_t ft_set_mode(u8 m) +{ + static int last_f_mul = -1; + + if (m > FT_MODE_MAX) + return ESP_ERR_INVALID_ARG; + + const FT_MODE *mode = &ft_modes[m]; + esp_err_t err; + + + err = ft_switch_spi_to_1_bit(); + if (err != ESP_OK) return err; + + if (last_f_mul != mode->f_mul) + { + ft_current_mode = -1; + last_f_mul = -1; + + ft_cmd(FT_CMD_PWRDOWN); + ft_cmd(FT_CMD_ACTIVE); + ft_cmd(FT_CMD_SLEEP); + ft_cmd(FT_CMD_CLKEXT); + ft_cmdp(FT_CMD_CLKSEL, mode->f_mul | 0xC0); + ft_cmd(FT_CMD_ACTIVE); + + int64_t t0 = esp_timer_get_time(); + while (1) + { + u8 id = ft_rreg8(FT_REG_ID); + if (id == FT_ID) break; + + if ((esp_timer_get_time() - t0) > 100000) + { + err = ESP_ERR_TIMEOUT; + goto fail; + } + + vTaskDelay(pdMS_TO_TICKS(1)); + } + + last_f_mul = mode->f_mul; + } + + ft_wreg16(FT_REG_HSYNC0, mode->h_fporch); + ft_wreg16(FT_REG_HSYNC1, mode->h_fporch + mode->h_sync); + ft_wreg16(FT_REG_HOFFSET, mode->h_fporch + mode->h_sync + mode->h_bporch); + ft_wreg16(FT_REG_HCYCLE, mode->h_fporch + mode->h_sync + mode->h_bporch + mode->h_visible); + ft_wreg16(FT_REG_HSIZE, mode->h_visible); + ft_wreg16(FT_REG_VSYNC0, mode->v_fporch - 1); + ft_wreg16(FT_REG_VSYNC1, mode->v_fporch + mode->v_sync - 1); + ft_wreg16(FT_REG_VOFFSET, mode->v_fporch + mode->v_sync + mode->v_bporch - 1); + ft_wreg16(FT_REG_VCYCLE, mode->v_fporch + mode->v_sync + mode->v_bporch + mode->v_visible); + ft_wreg16(FT_REG_VSIZE, mode->v_visible); + ft_wreg8(FT_REG_PCLK_POL, 0); + ft_wreg8(FT_REG_CSPREAD, 0); + ft_wreg8(FT_REG_PCLK, mode->f_div); + ft_wreg8(FT_REG_INT_MASK, FT_INT_SWAP); + ft_wreg8(FT_REG_INT_EN, 1); + + vTaskDelay(pdMS_TO_TICKS(30)); + ft_wreg32(FT_REG_FREQUENCY, mode->f_mul * 8000000UL); + + err = ft_apply_spi_width(ft_spi_width); + if (err != ESP_OK) return err; + + ft_current_mode = m; + return ESP_OK; + +fail: + ft_apply_spi_width(ft_spi_width); + return err; +} + +esp_err_t ft_read_detect(u8 &chip_id, u8 chip_type[4], char datestamp[17]) +{ + chip_id = ft_rreg8(FT_REG_ID); + ft_read(chip_type, FT_ROM_CHIPID, 4); + ft_read(datestamp, FT_REG_DATESTAMP, 16); + datestamp[16] = 0; + + return ESP_OK; +} + +esp_err_t ft_reset_chip() +{ + ft_current_mode = -1; + + esp_err_t err = ft_switch_spi_to_1_bit(); + if (err != ESP_OK) return err; + + ft_cmd(FT_CMD_PWRDOWN); + ft_cmd(FT_CMD_ACTIVE); + ft_cmd(FT_CMD_SLEEP); + ft_cmd(FT_CMD_CLKEXT); + ft_cmd(FT_CMD_ACTIVE); + ft_cmd(FT_CMD_RST_PULSE); + + u8 chip_id; + int64_t t0 = esp_timer_get_time(); + + while ((esp_timer_get_time() - t0) < 100000) + { + chip_id = ft_rreg8(FT_REG_ID); + if (chip_id == FT_ID) break; + vTaskDelay(pdMS_TO_TICKS(1)); + } + + vTaskDelay(pdMS_TO_TICKS(30)); + ft_wreg32(FT_REG_FREQUENCY, 40000000UL); + + err = ft_apply_spi_width(ft_spi_width); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +// ------------- Console --------------- + +u32 ft_parse_num_arg(const char *s, const char *name, int *ok); + +void ft_print_string(const char *s, u16 x, u16 y) +{ + int i = 0; + char c; + + while ((c = s[i++]) != 0) + { + ft_Cell((u8)c); + ft_Vertex2f((i16)x, (i16)y); + x += 9; + } +} + +void ft_print_spi_freq(const char *label, u32 hz) +{ + printf("%s: %lu.%03lu MHz (%lu Hz)\r\n", + label, + (unsigned long)(hz / 1000000UL), + (unsigned long)((hz % 1000000UL) / 1000UL), + (unsigned long)hz); +} + +void ft_print_current_mode() +{ + if (ft_current_mode < 0) + { + printf("FT mode: none\r\n"); + return; + } + + const FT_MODE *mode = &ft_modes[ft_current_mode]; + printf("FT mode: %d, %ux%u\r\n", + ft_current_mode, + (unsigned int)mode->h_visible, + (unsigned int)mode->v_visible); +} + +int ft_mode_cmd(int argc, char **argv) +{ + esp_err_t err; + esp_err_t err2; + u32 mode; + int ok; + + if (argc != 3) + { + printf("Usage:\r\n"); + printf(" ft mode <0-%lu>\r\n", (unsigned long)FT_MODE_MAX); + ft_print_current_mode(); + return 1; + } + + mode = ft_parse_num_arg(argv[2], "mode", &ok); + if (!ok) + return 1; + + if (mode > FT_MODE_MAX) + { + printf("Bad : %lu, allowed 0-%lu\r\n", + (unsigned long)mode, + (unsigned long)FT_MODE_MAX); + return 1; + } + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + err = ft_set_mode((u8)mode); + if (err == ESP_OK) + err = ft_cp_reset(); + + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT mode failed: %d\r\n", (int)err); + return 1; + } + + printf("FT mode set: %lu\r\n", (unsigned long)mode); + return 0; +} + +u32 ft_parse_freq_arg_hz(const char *s, const char *name, int *ok) +{ + char buf[32]; + size_t n; + char *endp = nullptr; + double mhz; + uint64_t hz; + + *ok = 0; + + if (!s) + { + printf("Missing <%s>\r\n", name); + return 0; + } + + n = strlen(s); + if (n >= sizeof(buf)) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + memcpy(buf, s, n + 1); + + if (n && buf[n - 1] == ',') + buf[n - 1] = 0; + + mhz = strtod(buf, &endp); + if (!endp || *endp || mhz <= 0.0) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + hz = (uint64_t)(mhz * 1000000.0 + 0.5); + if (!hz || hz > 0xFFFFFFFFULL) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + *ok = 1; + return (u32)hz; +} + +int ft_spi_cmd(int argc, char **argv) +{ + int ok; + u32 width; + + if (argc < 3) + { + printf("Usage:\r\n"); + printf(" ft spi <1|2|4>\r\n"); + printf("Current FT SPI width: %u-bit\r\n", (unsigned int)ft_spi_width); + return 0; + } + + width = ft_parse_num_arg(argv[2], "width", &ok); + if (!ok) + return 1; + + if (width != 1 && width != 2 && width != 4) + { + printf("Bad : %lu\r\n", (unsigned long)width); + printf("Allowed: 1, 2, 4\r\n"); + return 1; + } + + ft_spi_width = (u8)width; + + printf("FT SPI width set to %u-bit\r\n", (unsigned int)ft_spi_width); + return 0; +} + +int ft_freq_cmd(int argc, char **argv) +{ + esp_err_t err; + esp_err_t err2; + int ok; + u32 actual_hz; + + if (argc > 3) + { + printf("Usage:\r\n"); + printf(" ft freq\r\n"); + printf(" ft freq \r\n"); + return 1; + } + + if (argc == 3) + { + ft_spi_freq_hz = ft_parse_freq_arg_hz(argv[2], "freq", &ok); + if (!ok) return 1; + + ft_print_spi_freq("FT SPI req", ft_spi_freq_hz); + } + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + actual_hz = spi_master_get_actual_freq_hz(); + if (actual_hz) + ft_print_spi_freq("FT SPI actual", actual_hz); + else + printf("FT SPI actual: unavailable\r\n"); + + err2 = ft_close_session(); + if (err2 != ESP_OK) + { + printf("FT close failed: %d\r\n", (int)err2); + return 1; + } + + return 0; +} + +u32 ft_parse_num_arg(const char *s, const char *name, int *ok) +{ + char buf[32]; + size_t n; + char *endp = nullptr; + uint64_t v; + + *ok = 0; + + if (!s) + { + printf("Missing <%s>\r\n", name); + return 0; + } + + n = strlen(s); + if (n >= sizeof(buf)) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + memcpy(buf, s, n + 1); + + if (n && buf[n - 1] == ',') + buf[n - 1] = 0; + + v = strtoull(buf, &endp, 0); + if (!endp || *endp) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + if (v > 0xFFFFFFFFULL) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + *ok = 1; + return (u32)v; +} + +const char *ft_chip_type_name(const u8 chip_type[4]) +{ + if (chip_type[0] != 0x08) return "Unknown"; + + switch (chip_type[1]) + { + case 0x10: return "FT810"; + case 0x11: return "FT811"; + case 0x12: return "FT812"; + case 0x13: return "FT813"; + case 0x15: return "BT815"; + case 0x16: return "BT816"; + case 0x17: return "BT817"; + case 0x18: return "BT818"; + default: return "Unknown"; + } +} + +void ft_print_detect(const u8 chip_id, const u8 chip_type[4], const char *datestamp) +{ + const char *type = ft_chip_type_name(chip_type); + + printf("Chip ID : %02X\r\n", chip_id); + printf("Chip type : %s (%02X %02X %02X %02X)\r\n", + type, + chip_type[0], chip_type[1], chip_type[2], chip_type[3]); + printf("Chip datestamp : %s\r\n", datestamp); +} + +esp_err_t ft_print_info() +{ + u8 chip_id = 0; + u8 chip_type[4] = {}; + char datestamp[17] = {}; + ft_read_detect(chip_id, chip_type, datestamp); + + u8 cpureset = ft_rreg8(FT_REG_CPURESET); + u8 pclk = ft_rreg8(FT_REG_PCLK); + u8 int_en = ft_rreg8(FT_REG_INT_EN); + u8 int_mask = ft_rreg8(FT_REG_INT_MASK); + u8 int_flags = ft_rreg8(FT_REG_INT_FLAGS); + + u16 hcycle = ft_rreg16(FT_REG_HCYCLE); + u16 hoffset = ft_rreg16(FT_REG_HOFFSET); + u16 hsize = ft_rreg16(FT_REG_HSIZE); + u16 hsync0 = ft_rreg16(FT_REG_HSYNC0); + u16 hsync1 = ft_rreg16(FT_REG_HSYNC1); + u16 vcycle = ft_rreg16(FT_REG_VCYCLE); + u16 voffset = ft_rreg16(FT_REG_VOFFSET); + u16 vsize = ft_rreg16(FT_REG_VSIZE); + u16 vsync0 = ft_rreg16(FT_REG_VSYNC0); + u16 vsync1 = ft_rreg16(FT_REG_VSYNC1); + u16 cmdb_space = ft_rreg16(FT_REG_CMDB_SPACE); + + u32 frames = ft_rreg32(FT_REG_FRAMES); + u32 clock = ft_rreg32(FT_REG_CLOCK); + u32 frequency = ft_rreg32(FT_REG_FREQUENCY); + u8 spi_width = ft_rreg8(FT_REG_SPI_WIDTH); + u32 esp_spi_clock = spi_master_get_actual_freq_hz(); + + u16 hfront = hsync0; + u16 hsync = hsync1 - hsync0; + u16 hback = hoffset - hsync1; + + u16 vfront = vsync0 + 1; + u16 vsync = vsync1 - vsync0; + u16 vback = voffset - vsync1; + + u32 pixel_clock = 0; + float line_rate_hz = 0.0f; + float line_rate_khz = 0.0f; + float frame_rate_hz = 0.0f; + + if (pclk) + { + pixel_clock = frequency / pclk; + + if (hcycle) + { + line_rate_hz = (float)pixel_clock / (float)hcycle; + line_rate_khz = line_rate_hz / 1000.0f; + } + + if (hcycle && vcycle) + frame_rate_hz = line_rate_hz / (float)vcycle; + } + + printf("FT812 information:\r\n"); + printf(" Chip ID : %02X\r\n", chip_id); + printf(" Chip type : %s\r\n", ft_chip_type_name(chip_type)); + printf(" Datestamp : %s\r\n", datestamp); + + printf(" PLL frequency : %lu Hz\r\n", (unsigned long)frequency); + printf(" Pixel clock : %lu Hz\r\n", (unsigned long)pixel_clock); + printf(" Pixel divider : %u\r\n", (unsigned)pclk); + + printf(" Resolution : %u x %u\r\n", (unsigned)hsize, (unsigned)vsize); + printf(" Total frame : %u x %u\r\n", (unsigned)hcycle, (unsigned)vcycle); + printf(" Frame rate : %.3f Hz\r\n", frame_rate_hz); + printf(" Line rate : %.3f kHz\r\n", line_rate_khz); + printf(" Horizontal : front=%u sync=%u back=%u active=%u\r\n", (unsigned)hfront, (unsigned)hsync, (unsigned)hback, (unsigned)hsize); + printf(" Vertical : front=%u sync=%u back=%u active=%u\r\n", (unsigned)vfront, (unsigned)vsync, (unsigned)vback, (unsigned)vsize); + + switch (spi_width & 3) + { + case FT_SPI_WIDTH_SINGLE: printf(" Bus width : 1-bit SPI\r\n"); break; + case FT_SPI_WIDTH_DUAL: printf(" Bus width : 2-bit SPI\r\n"); break; + case FT_SPI_WIDTH_QUAD: printf(" Bus width : 4-bit SPI\r\n"); break; + default: printf(" Bus width : ? (%u)\r\n", (unsigned)(spi_width & 3)); break; + } + + printf(" ESP SPI clock : %lu Hz\r\n", (unsigned long)esp_spi_clock); + + printf(" Frame counter : %lu\r\n", (unsigned long)frames); + printf(" Clock counter : %lu\r\n", (unsigned long)clock); + + printf(" Interrupts : enable=%u mask=%02X flags=%02X\r\n", (unsigned)int_en, (unsigned)int_mask, (unsigned)int_flags); + printf(" Command space : %u\r\n", (unsigned)cmdb_space); + printf(" CPU reset flags : %u\r\n", (unsigned)cpureset); + + return ESP_OK; +} + +esp_err_t ft_perf_run(void *buf, int is_read, u32 chunk_size, u32 total_size, int64_t *elapsed_us) +{ + if (!buf || !elapsed_us) return ESP_ERR_INVALID_ARG; + if (!chunk_size || chunk_size > CHUNK_PAYLOAD) return ESP_ERR_INVALID_ARG; + + u32 left = total_size; + int64_t t0 = esp_timer_get_time(); + + while (left) + { + u32 n = left > chunk_size ? chunk_size : left; + esp_err_t err; + + if (is_read) + err = ft_read(buf, FT_RAM_G, n); + else + err = ft_write(buf, FT_RAM_G, n); + + if (err != ESP_OK) return err; + + left -= n; + } + + *elapsed_us = esp_timer_get_time() - t0; + return ESP_OK; +} + +void ft_perf_fill_pattern(u8 *buf, u32 size) +{ + for (u32 i = 0; i < size; ++i) + buf[i] = (u8)(i ^ (i >> 8) ^ 0x5A); +} + +double ft_perf_mb_per_s(u32 bytes, int64_t elapsed_us) +{ + if (elapsed_us <= 0) return 0.0; + + return ((double)bytes * 1000000.0) / ((double)elapsed_us * 1024.0 * 1024.0); +} + +int ft_perf_one(void *buf, const char *name, int is_read, u32 chunk_size, u32 total_size) +{ + if (chunk_size > CHUNK_PAYLOAD) + { + printf("%-20s : skipped, chunk=%lu > CHUNK_PAYLOAD=%u\r\n", + name, + (unsigned long)chunk_size, + (unsigned int)CHUNK_PAYLOAD); + return 0; + } + + if (is_read) + { + esp_err_t err = ft_write(buf, FT_RAM_G, chunk_size); + if (err != ESP_OK) + { + printf("%-20s : prep failed: %s (0x%x)\r\n", + name, + esp_err_to_name(err), + (unsigned int)err); + return 1; + } + } + + int64_t elapsed_us = 0; + esp_err_t err = ft_perf_run(buf, is_read, chunk_size, total_size, &elapsed_us); + if (err != ESP_OK) + { + printf("%-20s : failed: %s (0x%x)\r\n", + name, + esp_err_to_name(err), + (unsigned int)err); + return 1; + } + + printf("%-20s : %7.3f MB/s (%8llu us, chunk=%5lu)\r\n", + name, + ft_perf_mb_per_s(total_size, elapsed_us), + (unsigned long long)elapsed_us, + (unsigned long)chunk_size); + + return 0; +} + +int ft_perf_suite(void *buf, const char *mem_name, u32 total_size) +{ + int failed = 0; + char name[32]; + + printf("\r\n[%s]\r\n", mem_name); + + snprintf(name, sizeof(name), "%s", "write max"); + if (ft_perf_one(buf, name, 0, CHUNK_PAYLOAD, total_size)) failed = 1; + + snprintf(name, sizeof(name), "%s", "write 1024"); + if (ft_perf_one(buf, name, 0, 1024, total_size)) failed = 1; + + snprintf(name, sizeof(name), "%s", "write 128"); + if (ft_perf_one(buf, name, 0, 128, total_size)) failed = 1; + + snprintf(name, sizeof(name), "%s", "write 16"); + if (ft_perf_one(buf, name, 0, 16, total_size)) failed = 1; + + snprintf(name, sizeof(name), "%s", "read max"); + if (ft_perf_one(buf, name, 1, CHUNK_PAYLOAD, total_size)) failed = 1; + + snprintf(name, sizeof(name), "%s", "read 1024"); + if (ft_perf_one(buf, name, 1, 1024, total_size)) failed = 1; + + snprintf(name, sizeof(name), "%s", "read 128"); + if (ft_perf_one(buf, name, 1, 128, total_size)) failed = 1; + + snprintf(name, sizeof(name), "%s", "read 16"); + if (ft_perf_one(buf, name, 1, 16, total_size)) failed = 1; + + return failed; +} + +int ft_perf_cmd(int argc, char **argv) +{ + const u32 total_size = 1024 * 1024; + esp_err_t err; + esp_err_t err2; + int failed = 0; + u8 *perf_buf_int = nullptr; + u8 *perf_buf_spiram = nullptr; + + (void)argv; + + if (argc != 2) + { + printf("Usage:\r\n"); + printf(" ft perf\r\n"); + return 1; + } + + perf_buf_int = (u8*)heap_caps_malloc(CHUNK_PAYLOAD, MALLOC_CAP_INTERNAL); + if (!perf_buf_int) + { + printf("FT perf internal buffer alloc failed, size=%u\r\n", (unsigned int)CHUNK_PAYLOAD); + return 1; + } + + perf_buf_spiram = (u8*)heap_caps_malloc(CHUNK_PAYLOAD, MALLOC_CAP_SPIRAM); + if (!perf_buf_spiram) + { + printf("FT perf SPIRAM buffer alloc failed, size=%u\r\n", (unsigned int)CHUNK_PAYLOAD); + heap_caps_free(perf_buf_int); + return 1; + } + + ft_perf_fill_pattern(perf_buf_int, CHUNK_PAYLOAD); + ft_perf_fill_pattern(perf_buf_spiram, CHUNK_PAYLOAD); + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + heap_caps_free(perf_buf_spiram); + heap_caps_free(perf_buf_int); + return 1; + } + + printf("FT perf: total=%lu bytes, addr=0x%06lX, max_chunk=%u, spi=%u-bit, clk=%lu Hz\r\n", + (unsigned long)total_size, + (unsigned long)FT_RAM_G, + (unsigned int)CHUNK_PAYLOAD, + (unsigned int)ft_spi_width, + (unsigned long)spi_master_get_actual_freq_hz()); + + if (ft_perf_suite(perf_buf_int, "internal", total_size)) failed = 1; + if (ft_perf_suite(perf_buf_spiram, "spiram", total_size)) failed = 1; + + err2 = ft_close_session(); + heap_caps_free(perf_buf_spiram); + heap_caps_free(perf_buf_int); + + if (err2 != ESP_OK) + { + printf("FT close failed: %d\r\n", (int)err2); + return 1; + } + + return failed ? 1 : 0; +} + +int ft_res_cmd(int argc, char **argv) +{ + (void)argc; + (void)argv; + + esp_err_t err; + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + err = ft_reset_chip(); + if (err != ESP_OK) + { + ft_close_session(); + printf("FT reset failed: %d\r\n", (int)err); + return 1; + } + printf("\r\nFT reset done\r\n"); + + u8 chip_id = 0; + u8 chip_type[4] = {}; + char datestamp[17] = {}; + ft_read_detect(chip_id, chip_type, datestamp); + ft_print_detect(chip_id, chip_type, datestamp); + + err = ft_close_session(); + if (err != ESP_OK) + { + printf("FT close failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +int ft_wreg_cmd(int argc, char **argv) +{ + esp_err_t err; + u32 addr; + u32 actual_addr; + u32 value; + int ok; + + if (argc != 4) + { + printf("Usage:\r\n"); + printf(" ft wreg \r\n"); + return 1; + } + + addr = ft_parse_num_arg(argv[2], "addr", &ok); + if (!ok) + return 1; + + value = ft_parse_num_arg(argv[3], "value", &ok); + if (!ok) + return 1; + + actual_addr = ((FT_RAM_REG >> 16) << 16) | (addr & 0xFFFFUL); + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + ft_wreg32(addr, value); + err = ft_close_session(); + + if (err != ESP_OK) + { + printf("FT close failed: %d\r\n", (int)err); + return 1; + } + + printf("FT write: [0x%06lX] = 0x%08lX (%lu)\r\n", + (unsigned long)actual_addr, + (unsigned long)value, + (unsigned long)value); + + return 0; +} + +int ft_wr_cmd(int argc, char **argv) +{ + esp_err_t err; + esp_err_t err2; + u32 addr; + u32 actual_addr; + u32 value; + u32 width = 0; + u8 data[4]; + int ok; + + if (argc != 4) + { + printf("Usage:\r\n"); + printf(" ft wr \r\n"); + printf(" ft wr8 \r\n"); + printf(" ft wr16 \r\n"); + printf(" ft wr32 \r\n"); + return 1; + } + + if (!strcmp(argv[1], "wr8")) + width = 1; + else if (!strcmp(argv[1], "wr16")) + width = 2; + else if (!strcmp(argv[1], "wr32")) + width = 4; + else if (strcmp(argv[1], "wr")) + return 1; + + addr = ft_parse_num_arg(argv[2], "addr", &ok); + if (!ok) + return 1; + + value = ft_parse_num_arg(argv[3], "value", &ok); + if (!ok) + return 1; + + if (!width) + { + width = 1; + if (value > 0xFFUL) + width = 2; + if (value > 0xFFFFUL) + width = 4; + } + + if (width == 1 && value > 0xFFUL) + { + printf("Bad : 0x%08lX > 0xFF\r\n", (unsigned long)value); + return 1; + } + + if (width == 2 && value > 0xFFFFUL) + { + printf("Bad : 0x%08lX > 0xFFFF\r\n", (unsigned long)value); + return 1; + } + + actual_addr = addr & 0x3FFFFFUL; + data[0] = (u8)(value & 0xFF); + if (width >= 2) + wr16le(data, (u16)value); + if (width == 4) + wr32le(data, value); + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + err = ft_write(data, addr, width); + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT write failed: %d\r\n", (int)err); + return 1; + } + + printf("FT write%lu: [0x%06lX] = 0x%08lX (%lu)\r\n", + (unsigned long)(width * 8), + (unsigned long)actual_addr, + (unsigned long)value, + (unsigned long)value); + + return 0; +} + +int ft_info_cmd(int argc, char **argv) +{ + (void)argc; + (void)argv; + + esp_err_t err; + esp_err_t err2; + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + u8 chip_id = 0; + u8 chip_type[4] = {}; + char datestamp[17] = {}; + err = ft_read_detect(chip_id, chip_type, datestamp); + if (err == ESP_OK) + { + printf("\r\n"); + err = ft_print_info(); + } + + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT info read failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +int ft_dump_cmd(int argc, char **argv) +{ + esp_err_t err; + esp_err_t err2; + u8 chip_id = 0; + u8 chip_type[4] = {}; + char datestamp[17] = {}; + u8 b[256]; + u32 addr = 0; + u32 actual_addr; + int ok; + + if (argc > 3) + { + printf("Usage:\r\n"); + printf(" ft dump [addr]\r\n"); + return 1; + } + + if (argc == 3) + { + addr = ft_parse_num_arg(argv[2], "addr", &ok); + if (!ok) + return 1; + } + + actual_addr = addr & 0x3FFFFFUL; + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + err = ft_read_detect(chip_id, chip_type, datestamp); + if (err != ESP_OK) printf("FT detect failed: %d\r\n", (int)err); + + printf("\r\nFT hexdump @ 0x%06lX:\r\n\r\n", (unsigned long)actual_addr); + printf(" 0 1 2 3 4 5 6 7 8 9 A B C D E F\r\n"); + err = ft_read(b, addr, sizeof(b)); + if (err == ESP_OK) + hexdump(b, sizeof(b), actual_addr); + + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT dump failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +esp_err_t ft_draw_calib_frame() +{ + const char *mode_txt = "1024x768@59Hz (64MHz)"; + esp_err_t err; + esp_err_t err2; + u16 i; + u16 j; + + err = ft_open_session(); + if (err != ESP_OK) + return err; + + if (err == ESP_OK) + { + ft_rreg8(FT_REG_INT_FLAGS); + + ft_ccmd_start(cmdl); + ft_Dlstart(); + + ft_VertexFormat(0); + ft_ClearColorRGB(0, 0, 0); + ft_Clear(1, 1, 1); + + ft_ColorRGB(255, 255, 255); + ft_LineWidth(24); + + ft_Begin(FT_LINE_STRIP); + ft_Vertex2f(0, 0); + ft_Vertex2f(1023, 0); + ft_Vertex2f(1023, 767); + ft_Vertex2f(0, 767); + ft_Vertex2f(0, 0); + + ft_Begin(FT_LINE_STRIP); + ft_Vertex2f(0, 0); + ft_Vertex2f(799, 0); + ft_Vertex2f(799, 599); + ft_Vertex2f(0, 599); + ft_Vertex2f(0, 0); + + ft_Begin(FT_LINE_STRIP); + ft_Vertex2f(0, 0); + ft_Vertex2f(639, 0); + ft_Vertex2f(639, 479); + ft_Vertex2f(0, 479); + ft_Vertex2f(0, 0); + + ft_Begin(FT_BITMAPS); + ft_BitmapHandle(18); + + ft_ColorRGB(100, 220, 200); + ft_print_string("Mode:", 10, 8); + + ft_ColorRGB(120, 100, 255); + ft_print_string(mode_txt, 66, 8); + + ft_ColorRGB(120, 100, 255); + ft_print_string("640x480", 572, 461); + ft_print_string("800x600", 732, 581); + ft_print_string("1024x768", 947, 749); + + ft_ColorA(255); + ft_Begin(FT_POINTS); + ft_PointSize(100 << 4); + ft_BlendFunc(FT_SRC_ALPHA, FT_ONE); + + ft_ColorRGB(255, 0, 0); + ft_Vertex2f(rsin(80, 32768) + 320, rcos(80, 32768) + 240); + + ft_ColorRGB(0, 255, 0); + ft_Vertex2f(rsin(80, 21845 + 32768) + 320, rcos(80, 21845 + 32768) + 240); + + ft_ColorRGB(0, 0, 255); + ft_Vertex2f(rsin(80, 43690 - 32768) + 320, rcos(80, 43690 - 32768) + 240); + + ft_ClearColorA(32); + ft_ColorMask(0, 0, 0, 1); + ft_Clear(1, 1, 1); + + ft_BlendFunc(FT_ONE, FT_ONE); + ft_ColorA(20); + + for (i = 120, j = 0; j <= 255; i -= 5, j += 20) + { + ft_PointSize(i << 4); + ft_Vertex2f(320, 240); + } + + ft_ColorRGB(0, 0, 0); + ft_ColorMask(1, 1, 1, 1); + ft_BlendFunc(FT_ONE_MINUS_DST_ALPHA, FT_DST_ALPHA); + ft_Begin(FT_RECTS); + ft_Vertex2f(100, 50); + ft_Vertex2f(539, 429); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err == ESP_OK) + err = ft_cp_wait(1000); + + if (err == ESP_OK) + err = ft_wait_swap(1000); + } + + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + return err; +} + +int ft_demo_bases_cmd() +{ + esp_err_t err; + + const i16 x_pos = 350; + const i16 y_pos = 250; + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + if (err == ESP_OK) + { + ft_rreg8(FT_REG_INT_FLAGS); + + while (1) + { + u32 clock = ft_rreg32(FT_REG_CLOCK); + u32 frames = ft_rreg32(FT_REG_FRAMES); + + ft_ccmd_start(cmdl); + + ft_Dlstart(); + ft_VertexFormat(0); + + ft_ClearColorRGB(0, 0, 0); + ft_ClearColorA(255); + ft_Clear(1, 1, 1); + + ft_ColorA(255); + ft_Begin(FT_POINTS); + + ft_PointSize(100 << 4); + ft_BlendFunc(FT_SRC_ALPHA, FT_ONE); + + ft_ColorRGB(255, 0, 0); + ft_Vertex2f(rsin(80, 0) + x_pos, rcos(80, 0) + y_pos); + + ft_ColorRGB(0, 255, 0); + ft_Vertex2f(rsin(80, 21845) + x_pos, rcos(80, 21845) + y_pos); + + ft_ColorRGB(0, 0, 255); + ft_Vertex2f(rsin(80, 43690) + x_pos, rcos(80, 43690) + y_pos); + + ft_ClearColorA(32); + ft_ColorMask(0, 0, 0, 1); + ft_Clear(1, 1, 1); + + ft_BlendFunc(FT_ONE, FT_ONE); + ft_ColorA(20); + + for (int i = 120, j = 0; j <= 255; i -= 5, j += 20) + { + ft_PointSize(i << 4); + ft_Vertex2f(x_pos, y_pos); + } + + ft_ColorRGB(0, 0, 0); + ft_ColorMask(1, 1, 1, 1); + ft_BlendFunc(FT_ONE_MINUS_DST_ALPHA, FT_DST_ALPHA); + ft_Begin(FT_RECTS); + ft_Vertex2f(0, 0); + ft_Vertex2f(799, 599); + + ft_ColorA(255); + ft_BlendFunc(FT_SRC_ALPHA, FT_ONE_MINUS_SRC_ALPHA); + ft_RomFont(14, 34); + + ft_ColorRGB(255, 0, 0); + ft_Number(100, 80, 14, 0, (i32)clock); + + ft_ColorRGB(0, 200, 240); + ft_Number(100, 220, 14, 0, (i32)frames); + + ft_ColorRGB(0, 200, 0); + ft_Text(100, 50, 31, 0, "Clocks:"); + ft_Text(100, 190, 31, 0, "Frames:"); + + ft_ColorRGB(255, 120, 0); + ft_Text(190, 500, 31, 0, "All your base are belong to us!"); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) + { + printf("FT demo0 error: ft_ccmd_write() failed: %s (0x%x)\r\n", + esp_err_to_name(err), (unsigned int)err); + break; + } + + err = ft_cp_wait(1000); + if (err != ESP_OK) + { + printf("FT demo0 error: ft_cp_wait(1000) failed: %s (0x%x)\r\n", + esp_err_to_name(err), (unsigned int)err); + break; + } + + err = ft_wait_swap(1000); + if (err != ESP_OK) + { + printf("FT demo0 error: ft_wait_swap(1000) failed: %s (0x%x)\r\n", + esp_err_to_name(err), (unsigned int)err); + break; + } + + char c; + if (uart_read_bytes(UART_NUM_0, &c, 1, 0) > 0) + { + printf("FT demo stopped\r\n"); + break; + } + } + } + + err = ft_close_session(); + if (err != ESP_OK) + { + printf("FT close failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +void ft_demo_frac_make_palette(u32 *pal) +{ + if (!pal) return; + + pal[0] = ft_argb32(255, 0, 0, 0); + + for (u32 i = 1; i < 256; i++) + { + u8 r; + u8 g; + u8 b; + + if (i < 64) + { + r = 0; + g = 0; + b = (u8)(i << 2); + } + + else if (i < 128) + { + u8 t = (u8)((i - 64) << 2); + r = 0; + g = t; + b = 255; + } + + else if (i < 192) + { + u8 t = (u8)((i - 128) << 2); + r = t; + g = 255; + b = (u8)(255 - t); + } + + else + { + u8 t = (u8)((i - 192) << 2); + r = 255; + g = (u8)(255 - t); + b = 0; + } + + pal[i] = ft_argb32(255, r, g, b); + } +} + +typedef struct +{ + float *zr; + float *zi; + u8 *alive; +} FT_DEMO_FRAC_STATE; + +int ft_demo_frac_state_init(FT_DEMO_FRAC_STATE *st, u8 *dst) +{ + u32 pixels = FT_DEMO_PIX_W * FT_DEMO_PIX_H; + + if (!st || !dst) + return 0; + + memset(st, 0, sizeof(*st)); + + st->zr = (float*)malloc_spiram(pixels * sizeof(float)); + st->zi = (float*)malloc_spiram(pixels * sizeof(float)); + st->alive = (u8*)malloc_spiram(pixels); + + if (!st->zr || !st->zi || !st->alive) + { + if (st->zr) free(st->zr); + if (st->zi) free(st->zi); + if (st->alive) free(st->alive); + + st->zr = nullptr; + st->zi = nullptr; + st->alive = nullptr; + return 0; + } + + memset(st->zr, 0, pixels * sizeof(float)); + memset(st->zi, 0, pixels * sizeof(float)); + memset(st->alive, 1, pixels); + memset(dst, 0, pixels); + + return 1; +} + +void ft_demo_frac_state_free(FT_DEMO_FRAC_STATE *st) +{ + if (!st) return; + + if (st->zr) free(st->zr); + if (st->zi) free(st->zi); + if (st->alive) free(st->alive); + + st->zr = nullptr; + st->zi = nullptr; + st->alive = nullptr; +} + +void ft_demo_frac_render(FT_DEMO_FRAC_STATE *st, u8 *dst, u32 frame_no) +{ + static u8 offs = 0; + + for (u32 y = 0; y < FT_DEMO_PIX_H; y++) + { + for (u32 x = 0; x < FT_DEMO_PIX_W; x++) + { + u32 idx = y * FT_DEMO_PIX_W + x; + dst[idx] = x * 256 / FT_DEMO_PIX_W + offs; + } + } + + offs++; +} + +void ft_demo_frac_render1(FT_DEMO_FRAC_STATE *st, u8 *dst, u32 frame_no) +{ + if (!st || !dst) return; + if (!frame_no) return; + + u32 iter_mark = frame_no; + + for (u32 y = 0; y < FT_DEMO_PIX_H; y++) + { + float ci = -1.5f + (float)y * 3.0f / (float)FT_DEMO_PIX_H; + + for (u32 x = 0; x < FT_DEMO_PIX_W; x++) + { + u32 idx = y * FT_DEMO_PIX_W + x; + + if (!st->alive[idx]) + continue; + + float cr = -2.0f + (float)x * 3.0f / (float)FT_DEMO_PIX_W; + float zr = st->zr[idx]; + float zi = st->zi[idx]; + + float zr_new = zr * zr - zi * zi + cr; + float zi_new = 2.0f * zr * zi + ci; + float mag2 = zr_new * zr_new + zi_new * zi_new; + + if (mag2 > 4.0f) + { + st->alive[idx] = 0; + dst[idx] = (u8)iter_mark; + } + else + { + st->zr[idx] = zr_new; + st->zi[idx] = zi_new; + } + } + } +} + +esp_err_t ft_demo_frac_upload_bitmap(const void *src, u32 ft_addr) +{ + return ft_write(src, ft_addr, FT_DEMO_PIX_SIZE); +} + +esp_err_t ft_demo_frac_upload_bitmap_bg(const void *src, u32 ft_addr) +{ + return spi_master_write_buf_bg((u8)(((ft_addr >> 16) & 0x3F) | 0x80), (u16)ft_addr, src, FT_DEMO_PIX_SIZE); +} + +esp_err_t ft_demo_frac_show_bitmap(u32 bmp_addr, u32 frame_no) +{ + esp_err_t err; + u32 iters = frame_no; + const u16 screen_w = 800; + const u16 screen_h = 600; + const i32 scale_x = ((i32)FT_DEMO_PIX_W << 8) / screen_w; + const i32 scale_y = ((i32)FT_DEMO_PIX_H << 8) / screen_h; + const u8 bitmap_filter = FT_NEAREST; + // const u8 bitmap_filter = FT_BILINEAR; + + ft_ccmd_start(cmdl); + + ft_Dlstart(); + ft_VertexFormat(0); + + ft_ClearColorRGB(0, 0, 0); + ft_ClearColorA(255); + ft_Clear(1, 1, 1); + + ft_SaveContext(); + + ft_BitmapHandle(0); + ft_BitmapSource(bmp_addr); + ft_BitmapLayout(FT_PALETTED8, (u16)FT_DEMO_PIX_W, (u16)FT_DEMO_PIX_H); + ft_BitmapSize(bitmap_filter, FT_BORDER, FT_BORDER, screen_w, screen_h); + ft_BitmapTransformA(scale_x); + ft_BitmapTransformB(0); + ft_BitmapTransformC(0); + ft_BitmapTransformD(0); + ft_BitmapTransformE(scale_y); + ft_BitmapTransformF(0); + + ft_Begin(FT_BITMAPS); + + ft_BlendFunc(FT_ONE, FT_ZERO); + + ft_ColorMask(0, 0, 0, 1); + ft_PaletteSource(FT_DEMO_PALETTE_ADDR + 3); + ft_Vertex2ii(0, 0, 0, 0); + + ft_BlendFunc(FT_DST_ALPHA, FT_ONE_MINUS_DST_ALPHA); + + ft_ColorMask(1, 0, 0, 0); + ft_PaletteSource(FT_DEMO_PALETTE_ADDR + 2); + ft_Vertex2ii(0, 0, 0, 0); + + ft_ColorMask(0, 1, 0, 0); + ft_PaletteSource(FT_DEMO_PALETTE_ADDR + 1); + ft_Vertex2ii(0, 0, 0, 0); + + ft_ColorMask(0, 0, 1, 0); + ft_PaletteSource(FT_DEMO_PALETTE_ADDR + 0); + ft_Vertex2ii(0, 0, 0, 0); + + ft_RestoreContext(); + + ft_ColorMask(1, 1, 1, 1); + ft_BlendFunc(FT_SRC_ALPHA, FT_ONE_MINUS_SRC_ALPHA); + + ft_ColorRGB(0, 255, 255); + ft_Text(8, screen_h - 32, 18, 0, "Frame:"); + ft_Number(120, screen_h - 32, 18, 0, (i32)frame_no); + + ft_Text(8, screen_h - 16, 18, 0, "Iters:"); + ft_Number(120, screen_h - 16, 18, 0, (i32)iters); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +int ft_demo_frac_cmd() +{ + esp_err_t err; + esp_err_t err2; + FT_DEMO_FRAC_STATE st = {}; + u8 *render_bufs[2] = + { + nullptr, + nullptr + }; + u32 palette[256]; + u32 active_addr = FT_DEMO_PIX0_ADDR; + u32 inactive_addr = FT_DEMO_PIX1_ADDR; + u32 shown_frame = 1; + u32 prepared_frame = 2; + int upload_buf_idx = 1; + + render_bufs[0] = (u8*)heap_caps_malloc(FT_DEMO_PIX_SIZE, MALLOC_CAP_INTERNAL); + render_bufs[1] = (u8*)heap_caps_malloc(FT_DEMO_PIX_SIZE, MALLOC_CAP_INTERNAL); + + if (!render_bufs[0] || !render_bufs[1]) + { + printf("FT demo render buffer alloc failed, size=%lu\r\n", (unsigned long)FT_DEMO_PIX_SIZE); + if (render_bufs[0]) free(render_bufs[0]); + if (render_bufs[1]) free(render_bufs[1]); + return 1; + } + + if (!ft_demo_frac_state_init(&st, render_bufs[0])) + { + printf("FT demo state alloc failed\r\n"); + free(render_bufs[0]); + free(render_bufs[1]); + return 1; + } + + memset(render_bufs[1], 0, FT_DEMO_PIX_SIZE); + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + ft_demo_frac_state_free(&st); + free(render_bufs[0]); + free(render_bufs[1]); + return 1; + } + + ft_demo_frac_make_palette(palette); + err = ft_write(palette, FT_DEMO_PALETTE_ADDR, FT_DEMO_PALETTE_SIZE); + + if (err == ESP_OK) + { + ft_demo_frac_render(&st, render_bufs[0], shown_frame); + ft_demo_frac_render(&st, render_bufs[1], prepared_frame); + err = ft_demo_frac_upload_bitmap_bg(render_bufs[0], active_addr); + } + + if (err == ESP_OK) + err = spi_master_bg_wait_done(portMAX_DELAY); + + if (err == ESP_OK) + err = ft_demo_frac_show_bitmap(active_addr, shown_frame); + + if (err == ESP_OK) + { + ft_rreg8(FT_REG_INT_FLAGS); + err = profiler_start(); + + if (err == ESP_OK) + { + while (1) + { + PROFILER_LINE line = {}; + int render_buf_idx = upload_buf_idx ^ 1; + u32 future_frame = prepared_frame + 1; + int64_t t0 = esp_timer_get_time(); + + while (1) + { + if (ft_rreg8(FT_REG_INT_FLAGS) & FT_INT_SWAP) + break; + + if (((esp_timer_get_time() - t0) / 1000) >= 1000) + { + err = ESP_ERR_TIMEOUT; + break; + } + + vTaskDelay(pdMS_TO_TICKS(1)); + } + if (err != ESP_OK) break; + + line.ts_loop_start = profiler_now(); + + line.ts_upload_start = profiler_now(); + err = ft_demo_frac_upload_bitmap_bg(render_bufs[upload_buf_idx], inactive_addr); + if (err != ESP_OK) break; + + line.ts_render_start = profiler_now(); + ft_demo_frac_render(&st, render_bufs[render_buf_idx], future_frame); + line.ts_render_end = profiler_now(); + + err = spi_master_bg_wait_done(portMAX_DELAY); + line.ts_upload_done = profiler_now(); + if (err != ESP_OK) break; + + err = ft_demo_frac_show_bitmap(inactive_addr, prepared_frame); + if (err != ESP_OK) break; + + profiler_push(&line); + + shown_frame = prepared_frame; + prepared_frame = future_frame; + upload_buf_idx = render_buf_idx; + + u32 tmp = active_addr; + active_addr = inactive_addr; + inactive_addr = tmp; + + char c; + if (uart_read_bytes(UART_NUM_0, &c, 1, 0) > 0) + { + printf("FT demo stopped\r\n"); + break; + } + } + + profiler_stop(); + } + else + printf("Profiler start failed: %s (0x%x)\r\n", esp_err_to_name(err), (unsigned int)err); + } + + err2 = ft_close_session(); + if (err == ESP_OK) + err = err2; + + ft_demo_frac_state_free(&st); + free(render_bufs[0]); + free(render_bufs[1]); + + if (err != ESP_OK) + { + printf("FT demo_frac failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +u8 ft_text_cur_ink = 15; +u8 ft_text_cur_paper = 0; +u8 *ft_text_chars_addr = nullptr; +u8 *ft_text_attrs_addr = nullptr; + +u8 *ft_text_attr_mode_upload = nullptr; +u8 *ft_text_attr_mode_blank_chars = nullptr; +u8 *ft_text_attr_mode_blank_attrs = nullptr; +u16 ft_text_attr_mode_cols = FT_DEMO_TEXT_COLS; +u16 ft_text_attr_mode_rows = FT_DEMO_TEXT_ROWS; +bool ft_text_attr_mode_open = false; +bool ft_text_attr_mode_palette_dirty = false; + +void ft_text_set_attr(u8 ink, u8 paper) +{ + ft_text_cur_ink = (u8)(ink & 15U); + ft_text_cur_paper = (u8)(paper & 15U); +} + +void ft_text_set_addrs(u8 *chars, u8 *attrs) +{ + ft_text_chars_addr = chars; + ft_text_attrs_addr = attrs; +} + +u8 ft_text_attr(u8 ink, u8 paper) +{ + return (u8)(((paper & 15U) << 4) | (ink & 15U)); +} + +void ft_text_clear(u8 ch, u8 attr) +{ + if (!ft_text_chars_addr || !ft_text_attrs_addr) return; + + for (u32 i = 0; i < ((u32)FT_DEMO_TEXT_COLS * (u32)FT_DEMO_TEXT_ROWS); i++) + { + ft_text_chars_addr[i] = ch; + ft_text_attrs_addr[i] = attr; + } +} + +void ft_text_put_raw(int x, int y, u8 ch, u8 attr) +{ + u32 off; + + if (!ft_text_chars_addr || !ft_text_attrs_addr) return; + if (x < 0 || x >= FT_DEMO_TEXT_COLS) return; + if (y < 0 || y >= FT_DEMO_TEXT_ROWS) return; + + off = (u32)y * FT_DEMO_TEXT_COLS + (u32)x; + ft_text_chars_addr[off] = ch; + ft_text_attrs_addr[off] = attr; +} + +void ft_text_putc(int x, int y, u8 ch) +{ + ft_text_put_raw(x, y, ch, ft_text_attr(ft_text_cur_ink, ft_text_cur_paper)); +} + +void ft_text_fill_rect(int x, int y, int w, int h, u8 ch, u8 attr) +{ + if (w <= 0 || h <= 0) return; + + for (int yy = 0; yy < h; yy++) + { + int py = y + yy; + + if (py < 0 || py >= FT_DEMO_TEXT_ROWS) + continue; + + for (int xx = 0; xx < w; xx++) + ft_text_put_raw(x + xx, py, ch, attr); + } +} + +void ft_text_fill_paper(int x, int y, int w, int h, u8 paper) +{ + ft_text_fill_rect(x, y, w, h, ' ', ft_text_attr(15, paper)); +} + +void ft_text_draw_box2(int x, int y, int w, int h) +{ + if (w < 2 || h < 2) return; + + ft_text_putc(x, y, 0xC9); + ft_text_putc(x + w - 1, y, 0xBB); + ft_text_putc(x, y + h - 1, 0xC8); + ft_text_putc(x + w - 1, y + h - 1, 0xBC); + + for (int xx = 1; xx < (w - 1); xx++) + { + ft_text_putc(x + xx, y, 0xCD); + ft_text_putc(x + xx, y + h - 1, 0xCD); + } + + for (int yy = 1; yy < (h - 1); yy++) + { + ft_text_putc(x, y + yy, 0xBA); + ft_text_putc(x + w - 1, y + yy, 0xBA); + } +} + +void ft_text_puts(int x, int y, const char *s) +{ + if (!ft_text_chars_addr || !ft_text_attrs_addr || !s) return; + if (y < 0 || y >= FT_DEMO_TEXT_ROWS) return; + + while (*s && x < FT_DEMO_TEXT_COLS) + { + if (x >= 0) + ft_text_putc(x, y, (u8)*s); + + x++; + s++; + } +} + +char ft_hex_digit(u8 v) +{ + v &= 15; + + if (v < 10) + return (char)('0' + v); + + return (char)('A' + (v - 10)); +} + +void ft_text_put_hex1(int x, int y, u8 v) +{ + ft_text_putc(x, y, (u8)ft_hex_digit(v)); +} + +void ft_text_to_attr_render_size(u8 *gfx, const u8 *chars, u8 *color, const u8 *attrs, u16 cols, u16 rows) +{ + u32 column_pitch = 256; + u32 row_pitch = 256; + int col_count; + int row_count; + + if (!gfx || !chars) return; + + if (cols == 0) cols = FT_DEMO_TEXT_COLS; + if (rows == 0) rows = FT_DEMO_TEXT_ROWS; + if (cols > FT_TEXT_ATTR_MAX_COLS) cols = FT_TEXT_ATTR_MAX_COLS; + if (rows > FT_TEXT_ATTR_MAX_ROWS) rows = FT_TEXT_ATTR_MAX_ROWS; + + col_count = (int)cols; + row_count = (int)rows; + + memset(gfx, 0, (size_t)FT_TEXT_ATTR_GFX_SIZE_FOR(cols, rows)); + + for (int cy = 0; cy < row_count; cy++) + { + u32 group = (u32)cy / FT_TEXT_ATTR_GROUP_ROWS; + u32 local_y = (u32)cy % FT_TEXT_ATTR_GROUP_ROWS; + + for (int cx = 0; cx < col_count; cx++) + { + u32 col_index = group * (u32)cols + (u32)cx; + u8 *col_dst = gfx + col_index * column_pitch; + u8 ch = chars[(u32)cy * (u32)cols + (u32)cx]; + + for (int gy = 0; gy < 8; gy++) + col_dst[local_y * 8U + (u32)gy] = code_866_fnt[(u32)ch * 8U + (u32)gy]; + } + } + + if (!color || !attrs) return; + + memset(color, 0, (size_t)((u32)rows * row_pitch)); + + for (int cy = 0; cy < row_count; cy++) + { + u8 *row_dst = color + (u32)cy * row_pitch; + + for (int cx = 0; cx < col_count; cx++) + row_dst[cx] = attrs[(u32)cy * (u32)cols + (u32)cx]; + } +} + +void ft_text_to_attr_render(u8 *gfx, const u8 *chars, u8 *color, const u8 *attrs) +{ + ft_text_to_attr_render_size(gfx, chars, color, attrs, FT_DEMO_TEXT_COLS, FT_DEMO_TEXT_ROWS); +} + +void ft_text_to_4bpp_render(u8 *dst, const u8 *chars, const u8 *attrs) +{ + if (!dst || !chars || !attrs) return; + + for (int cy = 0; cy < FT_DEMO_TEXT_ROWS; cy++) + { + for (int gy = 0; gy < 8; gy++) + { + u8 *drow = dst + (u32)(cy * 8 + gy) * ((u32)FT_DEMO_TEXT_COLS * 4U); + + for (int cx = 0; cx < FT_DEMO_TEXT_COLS; cx++) + { + u32 off = (u32)cy * FT_DEMO_TEXT_COLS + (u32)cx; + u8 ch = chars[off]; + u8 attr = attrs[off]; + u8 ink = (u8)(attr & 15U); + u8 paper = (u8)((attr >> 4) & 15U); + u8 bits = code_866_fnt[(u32)ch * 8U + (u32)gy]; + u8 *dp = drow + (u32)cx * 4U; + + for (int i = 0; i < 4; i++) + { + u8 p0 = (bits & 0x80U) ? ink : paper; + bits <<= 1; + u8 p1 = (bits & 0x80U) ? ink : paper; + bits <<= 1; + dp[i] = (u8)((p0 << 4) | p1); + } + } + } + } +} + +u16 ft_attr_to_rgb565(u8 c) +{ + u8 level = (c & 8U) ? 255U : 191U; + u8 b = (c & 1U) ? level : 0U; + u8 r = (c & 2U) ? level : 0U; + u8 g = (c & 4U) ? level : 0U; + + return (u16)(((u16)(r & 0xF8U) << 8) | ((u16)(g & 0xFCU) << 3) | ((u16)b >> 3)); +} + +void ft_text_make_palettes(u16 *pal_hi, u16 *pal_lo) +{ + u16 pal4[16]; + + if (!pal_hi || !pal_lo) return; + + for (u32 c = 0; c < 16; c++) + { + u8 intensity = (c & 8U) ? 85U : 0U; + u8 b = (c & 1U) ? (u8)(intensity + 170U) : intensity; + u8 r = (c & 2U) ? (u8)(intensity + 170U) : intensity; + u8 g = (c & 4U) ? (u8)(intensity + 170U) : intensity; + + pal4[c] = (u16)(((u16)(r & 0xF8U) << 8) | ((u16)(g & 0xFCU) << 3) | ((u16)b >> 3)); + } + + for (u32 i = 0; i < 256; i++) + { + pal_hi[i] = pal4[i >> 4]; + pal_lo[i] = pal4[i & 15U]; + } +} + +esp_err_t ft_text_palette_init_at(u32 pal_hi_addr, u32 pal_lo_addr) +{ + esp_err_t err; + u16 pal_hi[256]; + u16 pal_lo[256]; + + ft_text_make_palettes(pal_hi, pal_lo); + + err = ft_write(pal_hi, pal_hi_addr, sizeof(pal_hi)); + if (err != ESP_OK) return err; + + err = ft_write(pal_lo, pal_lo_addr, sizeof(pal_lo)); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +esp_err_t ft_text_palette_init() +{ + return ft_text_palette_init_at(FT_DEMO_PAL4_PAL_HI_ADDR, FT_DEMO_PAL4_PAL_LO_ADDR); +} + +esp_err_t ft_text_attr_mode_palette_init() +{ + esp_err_t err; + + err = ft_text_palette_init_at( + FT_TEXT_ATTR_PAL_HI_ADDR_FOR(ft_text_attr_mode_cols, ft_text_attr_mode_rows), + FT_TEXT_ATTR_PAL_LO_ADDR_FOR(ft_text_attr_mode_cols, ft_text_attr_mode_rows)); + if (err != ESP_OK) return err; + + ft_text_attr_mode_palette_dirty = false; + return ESP_OK; +} + +esp_err_t ft_4bpp_show() +{ + esp_err_t err; + u16 bitmap_w_bytes = (u16)(FT_DEMO_TEXT_COLS * 4); + u16 bitmap_h = (u16)(FT_DEMO_TEXT_ROWS * 8); + u16 screen_w = (u16)(FT_DEMO_TEXT_COLS * 8); + u16 screen_h = (u16)(FT_DEMO_TEXT_ROWS * 16); + u16 screen_x = (u16)((800 - screen_w) / 2); + u16 screen_y = (u16)((600 - screen_h) / 2); + + ft_ccmd_start(cmdl); + + ft_Dlstart(); + + ft_ClearColorRGB(0, 0, 32); + ft_ClearColorA(255); + ft_ClearStencil(0); + ft_Clear(1, 1, 1); + + ft_BitmapHandle(0); + ft_BitmapSource(FT_DEMO_PAL4_PIX_ADDR); + ft_BitmapLayout(FT_PALETTED565, bitmap_w_bytes, bitmap_h); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, screen_w, screen_h); + + ft_BitmapHandle(1); + ft_BitmapSource(FT_DEMO_PAL4_MASK_ADDR); + ft_BitmapLayout(FT_L4, 1, 1); + ft_BitmapSize(FT_NEAREST, FT_REPEAT, FT_REPEAT, screen_w, screen_h); + + ft_BitmapTransformB(0); + ft_BitmapTransformC(0); + ft_BitmapTransformD(0); + ft_BitmapTransformF(0); + + ft_BitmapTransformA(256); + ft_BitmapTransformE(256); + + ft_ColorMask(0, 0, 0, 0); + ft_StencilMask(255); + ft_AlphaFunc(FT_GREATER, 0); + ft_StencilFunc(FT_ALWAYS, 1, 255); + ft_StencilOp(FT_KEEP, FT_REPLACE); + ft_Begin(FT_BITMAPS); + ft_Vertex2ii(screen_x, screen_y, 1, 0); + + ft_ColorMask(1, 1, 1, 0); + ft_StencilMask(0); + ft_AlphaFunc(FT_ALWAYS, 0); + ft_BlendFunc(FT_ONE, FT_ZERO); + + ft_BitmapTransformA(128); + ft_BitmapTransformE(128); + + ft_StencilFunc(FT_EQUAL, 1, 255); + ft_PaletteSource(FT_DEMO_PAL4_PAL_HI_ADDR); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_StencilFunc(FT_EQUAL, 0, 255); + ft_PaletteSource(FT_DEMO_PAL4_PAL_LO_ADDR); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) return err; + + err = ft_cp_wait(1000); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +esp_err_t ft_attr_show() +{ + esp_err_t err; + u16 bitmap_h = FT_DEMO_TEXT_ROWS; + u16 screen_w = (u16)(FT_DEMO_TEXT_COLS * 8); + u16 screen_h = (u16)(FT_DEMO_TEXT_ROWS * 16); + u16 screen_x = (u16)((800 - screen_w) / 2); + u16 screen_y = (u16)((600 - screen_h) / 2); + + ft_ccmd_start(cmdl); + + ft_Dlstart(); + + ft_ClearColorRGB(0, 0, 32); + ft_ClearColorA(255); + ft_ClearStencil(0); + ft_Clear(1, 1, 1); + + ft_BitmapHandle(0); + ft_BitmapSource(FT_DEMO_ATTR_ADDR); + ft_BitmapLayout(FT_PALETTED565, 256, bitmap_h); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, screen_w, screen_h); + + ft_BitmapHandle(1); + ft_BitmapSource(FT_DEMO_PIX_ADDR(0)); + ft_BitmapLayout(FT_L1, 1, 256); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, 8, screen_h); + + ft_BitmapTransformB(0); + ft_BitmapTransformC(0); + ft_BitmapTransformD(0); + ft_BitmapTransformF(0); + + ft_BitmapTransformA(256); + ft_BitmapTransformE(128); + + ft_ColorMask(0, 0, 0, 0); + ft_StencilMask(255); + ft_AlphaFunc(FT_GREATER, 0); + ft_StencilFunc(FT_ALWAYS, 1, 255); + ft_StencilOp(FT_KEEP, FT_REPLACE); + + ft_Begin(FT_BITMAPS); + + ft_VertexTranslateX((i32)screen_x * 16); + ft_VertexTranslateY((i32)screen_y * 16); + + for (int cx = 0; cx < 64; cx++) + ft_Vertex2ii((u16)(cx * 8), 0, 1, (u8)cx); + + ft_VertexTranslateX((i32)(screen_x + 64 * 8) * 16); + + for (int cx = 64; cx < FT_DEMO_TEXT_COLS; cx++) + ft_Vertex2ii((u16)((cx - 64) * 8), 0, 1, (u8)cx); + + ft_VertexTranslateX(0); + ft_VertexTranslateY(0); + + ft_ColorMask(1, 1, 1, 0); + ft_StencilMask(0); + ft_AlphaFunc(FT_ALWAYS, 0); + ft_BlendFunc(FT_ONE, FT_ZERO); + + ft_BitmapTransformA(32); + ft_BitmapTransformE(16); + + ft_StencilFunc(FT_EQUAL, 0, 255); + ft_PaletteSource(FT_DEMO_PAL4_PAL_HI_ADDR); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_StencilFunc(FT_EQUAL, 1, 255); + ft_PaletteSource(FT_DEMO_PAL4_PAL_LO_ADDR); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) return err; + + err = ft_cp_wait(1000); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +void ft_text_attr_mode_calc_size(u16 *cols, u16 *rows, u16 *visible_w, u16 *visible_h) +{ + u16 w = 640; + u16 h = 480; + u16 c; + u16 r; + + if (ft_current_mode >= 0 && ft_current_mode < FT_MODE_MAX) + { + w = ft_modes[ft_current_mode].h_visible; + h = ft_modes[ft_current_mode].v_visible; + } + + c = (u16)(w / 8U); + r = (u16)(h / 16U); + + if (c == 0) c = FT_DEMO_TEXT_COLS; + if (r == 0) r = FT_DEMO_TEXT_ROWS; + if (c > FT_TEXT_ATTR_MAX_COLS) c = FT_TEXT_ATTR_MAX_COLS; + if (r > FT_TEXT_ATTR_MAX_ROWS) r = FT_TEXT_ATTR_MAX_ROWS; + + if (cols) *cols = c; + if (rows) *rows = r; + if (visible_w) *visible_w = w; + if (visible_h) *visible_h = h; +} + +void ft_text_attr_mode_get_size(uint16_t *cols, uint16_t *rows) +{ + u16 c; + u16 r; + + if (ft_text_attr_mode_open) + { + c = ft_text_attr_mode_cols; + r = ft_text_attr_mode_rows; + } + else + ft_text_attr_mode_calc_size(&c, &r, nullptr, nullptr); + + if (cols) *cols = c; + if (rows) *rows = r; +} + +esp_err_t ft_text_attr_mode_show() +{ + esp_err_t err; + u16 cols = ft_text_attr_mode_cols; + u16 rows = ft_text_attr_mode_rows; + u16 bitmap_h = rows; + u16 text_w = (u16)(cols * 8U); + u16 text_h = (u16)(rows * 16U); + u16 visible_w; + u16 visible_h; + u16 screen_x = 0; + u16 screen_y = 0; + int col_count = (int)cols; + + ft_text_attr_mode_calc_size(nullptr, nullptr, &visible_w, &visible_h); + + if (ft_text_attr_mode_palette_dirty) + { + err = ft_text_attr_mode_palette_init(); + if (err != ESP_OK) return err; + } + + if (visible_w > text_w) + screen_x = (u16)((visible_w - text_w) / 2U); + + if (visible_h > text_h) + screen_y = (u16)((visible_h - text_h) / 2U); + + ft_ccmd_start(cmdl); + + ft_Dlstart(); + + ft_ClearColorRGB(0, 0, 32); + ft_ClearColorA(255); + ft_ClearStencil(0); + ft_Clear(1, 1, 1); + + ft_BitmapHandle(0); + ft_BitmapSource(FT_DEMO_ATTR_ADDR_FOR(cols, rows)); + ft_BitmapLayout(FT_PALETTED565, 256, bitmap_h); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, text_w, text_h); + + ft_BitmapHandle(1); + + ft_BitmapTransformB(0); + ft_BitmapTransformC(0); + ft_BitmapTransformD(0); + ft_BitmapTransformF(0); + + ft_BitmapTransformA(256); + ft_BitmapTransformE(128); + + ft_ColorMask(0, 0, 0, 0); + ft_StencilMask(255); + ft_AlphaFunc(FT_GREATER, 0); + ft_StencilFunc(FT_ALWAYS, 1, 255); + ft_StencilOp(FT_KEEP, FT_REPLACE); + + ft_Begin(FT_BITMAPS); + + for (u32 group = 0; group < FT_TEXT_ATTR_GROUPS_FOR(rows); group++) + { + u32 row0 = group * FT_TEXT_ATTR_GROUP_ROWS; + u32 group_rows = (u32)rows - row0; + u16 group_text_h; + + if (group_rows > FT_TEXT_ATTR_GROUP_ROWS) + group_rows = FT_TEXT_ATTR_GROUP_ROWS; + + group_text_h = (u16)(group_rows * 16U); + + ft_BitmapLayout(FT_L1, 1, 256); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, 8, group_text_h); + + for (int start = 0; start < col_count; start += 64) + { + int count = col_count - start; + if (count > 64) count = 64; + + ft_BitmapSource(FT_DEMO_PIX_GROUP_ADDR(group, start, cols)); + ft_VertexTranslateX((i32)(screen_x + start * 8) * 16); + ft_VertexTranslateY((i32)(screen_y + row0 * 16U) * 16); + + for (int cx = 0; cx < count; cx++) + ft_Vertex2ii((u16)(cx * 8), 0, 1, (u8)cx); + } + } + + ft_VertexTranslateX(0); + ft_VertexTranslateY(0); + + ft_ColorMask(1, 1, 1, 0); + ft_StencilMask(0); + ft_AlphaFunc(FT_ALWAYS, 0); + ft_BlendFunc(FT_ONE, FT_ZERO); + + ft_BitmapTransformA(32); + ft_BitmapTransformE(16); + + ft_BitmapHandle(0); + ft_BitmapSource(FT_DEMO_ATTR_ADDR_FOR(cols, rows)); + + ft_StencilFunc(FT_EQUAL, 0, 255); + ft_PaletteSource(FT_TEXT_ATTR_PAL_HI_ADDR_FOR(cols, rows)); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_StencilFunc(FT_EQUAL, 1, 255); + ft_PaletteSource(FT_TEXT_ATTR_PAL_LO_ADDR_FOR(cols, rows)); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) return err; + + err = ft_cp_wait(1000); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +esp_err_t ft_text_attr_mode_present(const u8 *chars, const u8 *attrs) +{ + esp_err_t err; + u32 gfx_size; + u32 upload_size; + + if (!chars || !attrs) return ESP_ERR_INVALID_ARG; + if (!ft_text_attr_mode_open) return ESP_ERR_INVALID_STATE; + if (!ft_text_attr_mode_upload) return ESP_ERR_INVALID_STATE; + + gfx_size = FT_TEXT_ATTR_GFX_SIZE_FOR(ft_text_attr_mode_cols, ft_text_attr_mode_rows); + upload_size = FT_TEXT_ATTR_UPLOAD_SIZE_FOR(ft_text_attr_mode_cols, ft_text_attr_mode_rows); + + u8 *gfx = ft_text_attr_mode_upload; + u8 *color = ft_text_attr_mode_upload + gfx_size; + + ft_text_to_attr_render_size(gfx, chars, color, attrs, ft_text_attr_mode_cols, ft_text_attr_mode_rows); + + err = ft_write(ft_text_attr_mode_upload, FT_DEMO_PIX_ADDR(0), upload_size); + if (err != ESP_OK) return err; + + if (ft_text_attr_mode_palette_dirty) + return ft_text_attr_mode_palette_init(); + + return ESP_OK; +} + +esp_err_t ft_text_attr_mode_clear(u8 ch, u8 attr) +{ + u32 text_cells = (u32)ft_text_attr_mode_cols * (u32)ft_text_attr_mode_rows; + + if (!ft_text_attr_mode_open) return ESP_ERR_INVALID_STATE; + if (!ft_text_attr_mode_blank_chars || !ft_text_attr_mode_blank_attrs) return ESP_ERR_INVALID_STATE; + + if (ch == 0) + ch = ' '; + + memset(ft_text_attr_mode_blank_chars, ch, text_cells); + memset(ft_text_attr_mode_blank_attrs, attr, text_cells); + + return ft_text_attr_mode_present(ft_text_attr_mode_blank_chars, ft_text_attr_mode_blank_attrs); +} + +void ft_text_attr_mode_free() +{ + if (ft_text_attr_mode_upload) free(ft_text_attr_mode_upload); + if (ft_text_attr_mode_blank_chars) free(ft_text_attr_mode_blank_chars); + if (ft_text_attr_mode_blank_attrs) free(ft_text_attr_mode_blank_attrs); + + ft_text_attr_mode_upload = nullptr; + ft_text_attr_mode_blank_chars = nullptr; + ft_text_attr_mode_blank_attrs = nullptr; + ft_text_attr_mode_cols = FT_DEMO_TEXT_COLS; + ft_text_attr_mode_rows = FT_DEMO_TEXT_ROWS; + ft_text_attr_mode_palette_dirty = false; +} + +esp_err_t ft_text_attr_mode_begin() +{ + esp_err_t err; + u32 text_cells; + u32 upload_size; + + if (ft_text_attr_mode_open) return ESP_OK; + + ft_text_attr_mode_calc_size(&ft_text_attr_mode_cols, &ft_text_attr_mode_rows, nullptr, nullptr); + text_cells = (u32)ft_text_attr_mode_cols * (u32)ft_text_attr_mode_rows; + upload_size = FT_TEXT_ATTR_UPLOAD_SIZE_FOR(ft_text_attr_mode_cols, ft_text_attr_mode_rows); + + ft_text_attr_mode_upload = (u8*)heap_caps_malloc(upload_size, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + ft_text_attr_mode_blank_chars = (u8*)heap_caps_malloc(text_cells, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + ft_text_attr_mode_blank_attrs = (u8*)heap_caps_malloc(text_cells, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + + if (!ft_text_attr_mode_upload || !ft_text_attr_mode_blank_chars || !ft_text_attr_mode_blank_attrs) + { + ft_text_attr_mode_free(); + return ESP_ERR_NO_MEM; + } + + err = ft_open_session(); + if (err != ESP_OK) + { + ft_text_attr_mode_free(); + return err; + } + + ft_text_attr_mode_open = true; + + err = ft_text_attr_mode_palette_init(); + if (err == ESP_OK) + err = ft_text_attr_mode_clear(' ', 0x0f); + + if (err == ESP_OK) + err = ft_text_attr_mode_show(); + + if (err == ESP_OK) + err = ft_wait_swap(1000); + + if (err != ESP_OK) + { + ft_text_attr_mode_open = false; + ft_close_session(); + ft_text_attr_mode_free(); + return err; + } + + return ESP_OK; +} + +void ft_text_attr_mode_end() +{ + if (ft_text_attr_mode_open) + ft_close_session(); + + ft_text_attr_mode_open = false; + ft_text_attr_mode_free(); +} + +void ft_demo_text_fill(const char *title, const char *subtitle) +{ + const int left_x = 2; + const int right_x = 42; + + if (!ft_text_chars_addr || !ft_text_attrs_addr) return; + + ft_text_clear(' ', ft_text_attr(15, 0)); + ft_text_fill_paper(0, 0, FT_DEMO_TEXT_COLS, FT_DEMO_TEXT_ROWS, 0); + + ft_text_set_attr(15, 0); + ft_text_draw_box2(0, 0, FT_DEMO_TEXT_COLS, FT_DEMO_TEXT_ROWS); + + ft_text_set_attr(14, 0); + ft_text_puts(left_x, 1, title); + + ft_text_set_attr(11, 0); + ft_text_puts(left_x, 2, subtitle); + + { + int x0 = left_x; + int y0 = 11; + + ft_text_set_attr(15, 0); + for (int ink = 0; ink < 16; ink++) + ft_text_put_hex1(x0 + 4 + ink * 2, y0, (u8)ink); + + for (int paper = 0; paper < 16; paper++) + { + ft_text_set_attr(15, (u8)paper); + ft_text_put_hex1(x0 + 1, y0 + 1 + paper, (u8)paper); + + for (int ink = 0; ink < 16; ink++) + { + ft_text_set_attr((u8)ink, (u8)paper); + ft_text_putc(x0 + 4 + ink * 2, y0 + 1 + paper, 'A'); + } + } + } + + { + int x0 = right_x; + int y0 = 11; + + ft_text_set_attr(15, 0); + for (int col = 0; col < 16; col++) + ft_text_put_hex1(x0 + 3 + col * 2, y0, (u8)col); + + for (int row = 0; row < 16; row++) + { + ft_text_put_hex1(x0 + 1, y0 + 1 + row, (u8)row); + + ft_text_set_attr(7, 0); + for (int col = 0; col < 16; col++) + ft_text_putc(x0 + 3 + col * 2, y0 + 1 + row, (u8)(row * 16 + col)); + + ft_text_set_attr(15, 0); + } + } +} + +esp_err_t ft_rgb888_640x480_load_mode(u32 rgb_addr, bool stretch, bool swap); +esp_err_t ft_rgb888_640x480_show_mode(u32 rgb_addr, bool stretch); +esp_err_t ft_dxp_show_mode(const FT_DXP_INFO *info); + +int ft_jpg_ext_match(const char *name) +{ + const char *dot = strrchr(name, '.'); + if (!dot) return 0; + + char ext[6] = {}; + size_t n = strlen(dot); + if (n >= sizeof(ext)) return 0; + + for (size_t i = 0; i < n; i++) + ext[i] = (char)tolower((unsigned char)dot[i]); + + return !strcmp(ext, ".jpg") || !strcmp(ext, ".jpeg"); +} + +int ft_dxp_ext_match(const char *name) +{ + const char *dot = strrchr(name, '.'); + if (!dot) return 0; + + char ext[6] = {}; + size_t n = strlen(dot); + if (n >= sizeof(ext)) return 0; + + for (size_t i = 0; i < n; i++) + ext[i] = (char)tolower((unsigned char)dot[i]); + + return !strcmp(ext, ".dxp"); +} + +char *ft_jpg_strdup(const char *s) +{ + if (!s) return nullptr; + + size_t len = strlen(s) + 1; + char *d = (char*)malloc(len); + if (!d) return nullptr; + + memcpy(d, s, len); + return d; +} + +void ft_jpg_list_free(FT_JPG_LIST *lst) +{ + if (!lst) return; + + for (int i = 0; i < lst->count; i++) + free(lst->items[i]); + + free(lst->items); + lst->items = nullptr; + lst->count = 0; + lst->cap = 0; +} + +int ft_jpg_list_add(FT_JPG_LIST *lst, const char *path) +{ + if (!lst || !path || !path[0]) return 0; + + if (lst->count >= lst->cap) + { + int new_cap = lst->cap ? lst->cap * 2 : 16; + char **new_items = (char**)realloc(lst->items, (size_t)new_cap * sizeof(char*)); + if (!new_items) return 0; + + lst->items = new_items; + lst->cap = new_cap; + } + + lst->items[lst->count] = ft_jpg_strdup(path); + if (!lst->items[lst->count]) return 0; + + lst->count++; + return 1; +} + +int ft_jpg_list_cmp(const void *a, const void *b) +{ + const char *pa = *(const char * const *)a; + const char *pb = *(const char * const *)b; + return strcmp(pa, pb); +} + +int ft_jpg_join_rel(char *dst, size_t dst_size, const char *dir, const char *name) +{ + int n; + + if (!dst || !dst_size || !name || !name[0]) return 0; + + if (!dir || !dir[0] || !strcmp(dir, "/")) + n = snprintf(dst, dst_size, "/%s", name); + else if (dir[strlen(dir) - 1] == '/') + n = snprintf(dst, dst_size, "%s%s", dir, name); + else + n = snprintf(dst, dst_size, "%s/%s", dir, name); + + return n >= 0 && (size_t)n < dst_size; +} + +esp_err_t ft_jpg_scan_dir(const char *base, const char *rel, FT_JPG_LIST *lst, int depth) +{ + char full[FT_JPG_MAX_PATH]; + + if (depth > FT_JPG_SCAN_MAX_DEPTH) return ESP_OK; + + if (!sd_fs_build_full_path(base, rel, full, sizeof(full))) + { + printf("E: path too long: %s\r\n", rel ? rel : "-"); + return ESP_ERR_INVALID_ARG; + } + + DIR *d = opendir(full); + if (!d) + { + int saved_errno = errno; + printf("E: opendir('%s') failed, errno=%d\r\n", full, saved_errno); + if (sd_has_retryable_errno(saved_errno)) return ESP_ERR_INVALID_STATE; + return ESP_FAIL; + } + + for (;;) + { + struct dirent *e = readdir(d); + if (!e) break; + + if (!strcmp(e->d_name, ".") || !strcmp(e->d_name, "..")) + continue; + + char child_rel[FT_JPG_MAX_PATH]; + char child_full[FT_JPG_MAX_PATH]; + + if (!ft_jpg_join_rel(child_rel, sizeof(child_rel), rel, e->d_name)) + { + printf("W: skip long path: %s/%s\r\n", rel ? rel : "", e->d_name); + continue; + } + + if (!sd_fs_build_full_path(base, child_rel, child_full, sizeof(child_full))) + { + printf("W: skip long full path: %s\r\n", child_rel); + continue; + } + + struct stat st = {}; + if (stat(child_full, &st) != 0) + { + printf("W: stat('%s') failed, errno=%d\r\n", child_full, errno); + continue; + } + + if (S_ISDIR(st.st_mode)) + { + esp_err_t err = ft_jpg_scan_dir(base, child_rel, lst, depth + 1); + if (err != ESP_OK) + { + closedir(d); + return err; + } + continue; + } + + if (!S_ISREG(st.st_mode)) continue; + if (!ft_jpg_ext_match(e->d_name)) continue; + + if (!ft_jpg_list_add(lst, child_rel)) + { + closedir(d); + return ESP_ERR_NO_MEM; + } + } + + closedir(d); + return ESP_OK; +} + +esp_err_t ft_jpg_collect(const char *path, FT_JPG_LIST *lst) +{ + const char *base = "/sd"; + char full[FT_JPG_MAX_PATH]; + sdmmc_card_t *card = nullptr; + + if (!path || !path[0]) return ESP_ERR_INVALID_ARG; + if (!lst) return ESP_ERR_INVALID_ARG; + + esp_err_t err = sd_fs_mount(base, &card); + if (err != ESP_OK && sd_error_needs_reinit(err)) + { + printf("W: SD mount failed: %s, retry\r\n", esp_err_to_name(err)); + sd_deinit(); + err = sd_fs_mount(base, &card); + } + if (err != ESP_OK) return err; + + if (!sd_fs_build_full_path(base, path, full, sizeof(full))) + { + sd_fs_unmount(base, card); + return ESP_ERR_INVALID_ARG; + } + + struct stat st = {}; + if (stat(full, &st) != 0) + { + int saved_errno = errno; + printf("E: stat('%s') failed, errno=%d\r\n", full, saved_errno); + sd_fs_unmount(base, card); + if (sd_has_retryable_errno(saved_errno)) return ESP_ERR_INVALID_STATE; + return ESP_FAIL; + } + + if (S_ISDIR(st.st_mode)) + err = ft_jpg_scan_dir(base, path, lst, 0); + else if (S_ISREG(st.st_mode) && ft_jpg_ext_match(path)) + err = ft_jpg_list_add(lst, path) ? ESP_OK : ESP_ERR_NO_MEM; + else + { + printf("E: no JPEG files at '%s'\r\n", path); + err = ESP_ERR_NOT_FOUND; + } + + sd_fs_unmount(base, card); + + if (err == ESP_OK && lst->count > 1) + qsort(lst->items, (size_t)lst->count, sizeof(char*), ft_jpg_list_cmp); + + return err; +} + + +int ft_jpg_is_sof_marker(u8 marker) +{ + if (marker < 0xC0 || marker > 0xCF) return 0; + if (marker == 0xC4 || marker == 0xC8 || marker == 0xCC) return 0; + return 1; +} + +int ft_jpg_read_sof(const u8 *jpg, size_t size, u8 *out_marker, u16 *out_w, u16 *out_h) +{ + if (!jpg || size < 4) return 0; + if (jpg[0] != 0xFF || jpg[1] != 0xD8) return 0; + + size_t pos = 2; + while (pos + 4 <= size) + { + if (jpg[pos] != 0xFF) + { + pos++; + continue; + } + + while (pos < size && jpg[pos] == 0xFF) + pos++; + + if (pos >= size) return 0; + + u8 marker = jpg[pos++]; + if (marker == 0x00) continue; + if (marker == 0xD9 || marker == 0xDA) return 0; + if (marker >= 0xD0 && marker <= 0xD7) continue; + if (pos + 2 > size) return 0; + + size_t seg_len = ((size_t)jpg[pos] << 8) | jpg[pos + 1]; + if (seg_len < 2 || pos + seg_len > size) return 0; + + if (ft_jpg_is_sof_marker(marker)) + { + if (seg_len < 8) return 0; + if (out_marker) *out_marker = marker; + if (out_h) *out_h = ((u16)jpg[pos + 3] << 8) | jpg[pos + 4]; + if (out_w) *out_w = ((u16)jpg[pos + 5] << 8) | jpg[pos + 6]; + return 1; + } + + pos += seg_len; + } + + return 0; +} + +void ft_jpg_copy_to_screen(u8 *screen, const u8 *img, u16 img_w, u16 img_h) +{ + if (!screen || !img) return; + + memset(screen, 0, FT_RGB888_640_480_SIZE); + + u16 copy_w = img_w > FT_RGB888_640_480_W ? FT_RGB888_640_480_W : img_w; + u16 copy_h = img_h > FT_RGB888_640_480_H ? FT_RGB888_640_480_H : img_h; + u16 dst_x = img_w < FT_RGB888_640_480_W ? (u16)((FT_RGB888_640_480_W - img_w) / 2U) : 0; + u16 dst_y = img_h < FT_RGB888_640_480_H ? (u16)((FT_RGB888_640_480_H - img_h) / 2U) : 0; + + u8 *dst_r0 = screen; + u8 *dst_g0 = screen + FT_RGB888_640_480_PLANE_SIZE; + u8 *dst_b0 = screen + (FT_RGB888_640_480_PLANE_SIZE * 2UL); + + for (u16 y = 0; y < copy_h; y++) + { + const u8 *src = img + ((size_t)y * img_w * FT_RGB888_640_480_BPP); + u8 *dst_r = dst_r0 + (((size_t)dst_y + y) * FT_RGB888_640_480_STRIDE) + dst_x; + u8 *dst_g = dst_g0 + (((size_t)dst_y + y) * FT_RGB888_640_480_STRIDE) + dst_x; + u8 *dst_b = dst_b0 + (((size_t)dst_y + y) * FT_RGB888_640_480_STRIDE) + dst_x; + + for (u16 x = 0; x < copy_w; x++) + { + const u8 *px = src + ((size_t)x * FT_RGB888_640_480_BPP); + dst_r[x] = px[0]; + dst_g[x] = px[1]; + dst_b[x] = px[2]; + } + } +} + +esp_err_t ft_jpg_read_whole_file(const char *path, u8 **out_data, size_t *out_size) +{ + FILE *fp; + long file_size; + u8 *data; + size_t got; + size_t sd_size = 0; + esp_err_t err; + + if (!path || !out_data || !out_size) return ESP_ERR_INVALID_ARG; + + *out_data = nullptr; + *out_size = 0; + + fp = fopen(path, "rb"); + if (fp) + { + if (fseek(fp, 0, SEEK_END) != 0) + { + fclose(fp); + return ESP_FAIL; + } + + file_size = ftell(fp); + if (file_size <= 0 || file_size > INT_MAX) + { + fclose(fp); + return ESP_ERR_INVALID_SIZE; + } + + if (fseek(fp, 0, SEEK_SET) != 0) + { + fclose(fp); + return ESP_FAIL; + } + + data = (u8*)heap_caps_malloc((size_t)file_size, MALLOC_CAP_SPIRAM); + if (!data) + { + fclose(fp); + return ESP_ERR_NO_MEM; + } + + got = fread(data, 1, (size_t)file_size, fp); + if (got != (size_t)file_size) + { + free(data); + fclose(fp); + return ESP_FAIL; + } + + fclose(fp); + *out_data = data; + *out_size = (size_t)file_size; + return ESP_OK; + } + + err = sd_fs_read_file("/sd", path, NULL, 0, &sd_size); + if (err != ESP_OK) return err; + if (sd_size == 0 || sd_size > INT_MAX) return ESP_ERR_INVALID_SIZE; + + data = (u8*)heap_caps_malloc(sd_size, MALLOC_CAP_SPIRAM); + if (!data) return ESP_ERR_NO_MEM; + + err = sd_fs_read_file("/sd", path, data, sd_size, NULL); + if (err != ESP_OK) + { + free(data); + return err; + } + + *out_data = data; + *out_size = sd_size; + return ESP_OK; +} + +esp_err_t ft_jpg_decode_to_screen(const char *path, u8 *screen, u16 *out_w, u16 *out_h, bool quiet) +{ + size_t jpg_size = 0; + u8 *jpg = nullptr; + u8 *decoded = nullptr; + jpeg_dec_handle_t dec = NULL; + jpeg_dec_io_t *io = NULL; + jpeg_dec_header_info_t *info = NULL; + jpeg_dec_config_t cfg = DEFAULT_JPEG_DEC_CONFIG(); + jpeg_error_t jerr = JPEG_ERR_OK; + int output_len = 0; + u8 sof_marker = 0; + u16 sof_w = 0; + u16 sof_h = 0; + + if (!path || !screen) return ESP_ERR_INVALID_ARG; + + esp_err_t err = ft_jpg_read_whole_file(path, &jpg, &jpg_size); + if (err != ESP_OK) return err; + + if (ft_jpg_read_sof(jpg, jpg_size, &sof_marker, &sof_w, &sof_h)) + { + if (sof_marker == 0xC2) + { + if (!quiet) + { + printf("E: progressive JPEG is not supported by esp_new_jpeg: '%s' (%ux%u, SOF2)\r\n", + path, (unsigned)sof_w, (unsigned)sof_h); + } + free(jpg); + return ESP_ERR_NOT_SUPPORTED; + } + + if (sof_marker != 0xC0) + { + if (!quiet) + { + printf("E: unsupported JPEG SOF marker 0x%02X: '%s' (%ux%u)\r\n", + (unsigned)sof_marker, path, (unsigned)sof_w, (unsigned)sof_h); + } + free(jpg); + return ESP_ERR_NOT_SUPPORTED; + } + } + + cfg.output_type = JPEG_PIXEL_FORMAT_RGB888; + cfg.rotate = JPEG_ROTATE_0D; + + jerr = jpeg_dec_open(&cfg, &dec); + if (jerr != JPEG_ERR_OK) + { + if (!quiet) + printf("E: jpeg_dec_open failed for '%s': %d\r\n", path, (int)jerr); + free(jpg); + return jerr == JPEG_ERR_NO_MEM ? ESP_ERR_NO_MEM : ESP_FAIL; + } + + io = (jpeg_dec_io_t*)calloc(1, sizeof(jpeg_dec_io_t)); + info = (jpeg_dec_header_info_t*)calloc(1, sizeof(jpeg_dec_header_info_t)); + if (!io || !info) + { + if (!quiet) + printf("E: JPEG decoder helper alloc failed\r\n"); + err = ESP_ERR_NO_MEM; + goto done; + } + + io->inbuf = jpg; + io->inbuf_len = (int)jpg_size; + + jerr = jpeg_dec_parse_header(dec, io, info); + if (jerr != JPEG_ERR_OK) + { + if (!quiet) + printf("E: JPEG header parse failed for '%s': %d\r\n", path, (int)jerr); + err = jerr == JPEG_ERR_NO_MEM ? ESP_ERR_NO_MEM : ESP_FAIL; + goto done; + } + + if (info->width == 0 || info->height == 0) + { + if (!quiet) + { + printf("E: bad JPEG info for '%s': %ux%u\r\n", + path, (unsigned)info->width, (unsigned)info->height); + } + err = ESP_FAIL; + goto done; + } + + jerr = jpeg_dec_get_outbuf_len(dec, &output_len); + if (jerr != JPEG_ERR_OK || output_len <= 0) + { + if (!quiet) + { + printf("E: JPEG outbuf len failed for '%s': %d len=%d\r\n", + path, (int)jerr, output_len); + } + err = jerr == JPEG_ERR_NO_MEM ? ESP_ERR_NO_MEM : ESP_FAIL; + goto done; + } + + decoded = (u8*)jpeg_calloc_align((size_t)output_len, 16); + if (!decoded) + { + if (!quiet) + { + printf("E: JPEG output alloc failed: %ux%u, size=%d\r\n", + (unsigned)info->width, (unsigned)info->height, output_len); + } + err = ESP_ERR_NO_MEM; + goto done; + } + + io->outbuf = decoded; + + jerr = jpeg_dec_process(dec, io); + if (jerr != JPEG_ERR_OK) + { + if (!quiet) + printf("E: JPEG decode failed for '%s': %d\r\n", path, (int)jerr); + err = jerr == JPEG_ERR_NO_MEM ? ESP_ERR_NO_MEM : ESP_FAIL; + goto done; + } + + ft_jpg_copy_to_screen(screen, decoded, info->width, info->height); + + if (out_w) *out_w = info->width; + if (out_h) *out_h = info->height; + + err = ESP_OK; + +done: + if (dec) jpeg_dec_close(dec); + if (decoded) jpeg_free_align(decoded); + if (info) free(info); + if (io) free(io); + if (jpg) free(jpg); + return err; +} + +u16 ft_dxp_read_le16(const u8 *p) +{ + return (u16)p[0] | ((u16)p[1] << 8); +} + +esp_err_t ft_dxp_parse_header(const u8 *data, size_t size, FT_DXP_INFO *info, bool quiet) +{ + u32 color_size; + u32 mask_stride; + u32 mask_size; + + if (!data || !info) return ESP_ERR_INVALID_ARG; + if (size < FT_DXP_HEADER_SIZE) return ESP_ERR_INVALID_SIZE; + if (data[0] != 'D' || data[1] != 'X' || data[2] != 'P') return ESP_ERR_INVALID_RESPONSE; + + memset(info, 0, sizeof(*info)); + info->type = data[3]; + info->w = ft_dxp_read_le16(&data[4]); + info->h = ft_dxp_read_le16(&data[6]); + + if (info->w == 0 || info->h == 0) return ESP_ERR_INVALID_SIZE; + if ((info->w & 3) || (info->h & 3)) return ESP_ERR_INVALID_SIZE; + + switch (info->type) + { + case FT_DXP_TYPE_RAW_L2: + case FT_DXP_TYPE_ZLIB_L2: + info->mask_format = FT_L2; + mask_stride = (u32)info->w >> 2; + break; + + case FT_DXP_TYPE_ZLIB_L4: + case FT_DXP_TYPE_RAW_L4: + info->mask_format = FT_L4; + mask_stride = (u32)info->w >> 1; + break; + + default: + if (!quiet) + printf("E: unsupported DXP type %u\r\n", (unsigned)info->type); + return ESP_ERR_NOT_SUPPORTED; + } + + color_size = ((u32)info->w >> 2) * ((u32)info->h >> 2) * 2UL; + mask_size = mask_stride * (u32)info->h; + info->raw_size = color_size + color_size + mask_size; + + if (info->raw_size == 0 || info->raw_size > FT_DXP_RAM_G_SIZE) return ESP_ERR_INVALID_SIZE; + return ESP_OK; +} + +bool ft_dxp_type_is_raw(u8 type) +{ + return type == FT_DXP_TYPE_RAW_L2 || type == FT_DXP_TYPE_RAW_L4; +} + +esp_err_t ft_dxp_inflate_zlib(const u8 *src, size_t src_size, u8 *dst, size_t dst_size, bool quiet) +{ + tinfl_decompressor *decomp; + size_t inbytes; + size_t outbytes; + tinfl_status decomp_status; + esp_err_t err = ESP_OK; + + if (!src || !dst) return ESP_ERR_INVALID_ARG; + if (!src_size || !dst_size) return ESP_ERR_INVALID_SIZE; + + decomp = (tinfl_decompressor*)heap_caps_malloc( + sizeof(tinfl_decompressor), + MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT); + if (!decomp) return ESP_ERR_NO_MEM; + + inbytes = src_size; + outbytes = dst_size; + + tinfl_init(decomp); + + decomp_status = tinfl_decompress( + decomp, + src, + &inbytes, + dst, + dst, + &outbytes, + TINFL_FLAG_PARSE_ZLIB_HEADER | TINFL_FLAG_USING_NON_WRAPPING_OUTPUT_BUF); + +#ifdef VERBOSE + printf("DXP inflate status=%d, inbytes=%u, outbytes=%u\r\n", + (int)decomp_status, + (unsigned)inbytes, + (unsigned)outbytes); +#endif + + if (decomp_status != TINFL_STATUS_DONE || outbytes != dst_size) + { + if (!quiet) + { + printf("E: DXP inflate failed: status=%d in=%u/%u out=%u/%u\r\n", + (int)decomp_status, + (unsigned)inbytes, + (unsigned)src_size, + (unsigned)outbytes, + (unsigned)dst_size); + } + err = ESP_FAIL; + } + + free(decomp); + return err; +} + +esp_err_t ft_dxp_prepare_raw(const u8 *data, size_t size, const FT_DXP_INFO *info, + const u8 **out_raw, u8 **out_alloc, bool quiet) +{ + const u8 *payload; + size_t payload_size; + esp_err_t err; + + if (!data || !info || !out_raw || !out_alloc) return ESP_ERR_INVALID_ARG; + if (size < FT_DXP_HEADER_SIZE) return ESP_ERR_INVALID_SIZE; + + *out_raw = nullptr; + *out_alloc = nullptr; + payload = data + FT_DXP_HEADER_SIZE; + payload_size = size - FT_DXP_HEADER_SIZE; + + if (ft_dxp_type_is_raw(info->type)) + { + if (payload_size < info->raw_size) return ESP_ERR_INVALID_SIZE; + *out_raw = payload; + return ESP_OK; + } + + u8 *raw = (u8*)heap_caps_malloc(info->raw_size, MALLOC_CAP_SPIRAM); + if (!raw) return ESP_ERR_NO_MEM; + + err = ft_dxp_inflate_zlib(payload, payload_size, raw, info->raw_size, quiet); + if (err != ESP_OK) + { + free(raw); + return err; + } + + *out_raw = raw; + *out_alloc = raw; + return ESP_OK; +} + +void ft_dxp_dl(const FT_DXP_INFO *info, u16 x, u16 y) +{ + u32 mask_addr; + + if (!info) return; + + mask_addr = FT_RAM_G + ((u32)info->w * ((u32)info->h >> 2)); + + ft_BitmapHandle(0); + ft_SetBitmap(mask_addr, info->mask_format, info->w, info->h); + ft_BitmapHandle(1); + ft_SetBitmap(FT_RAM_G, FT_RGB565, info->w >> 2, info->h >> 2); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, info->w, info->h); + + ft_Begin(FT_BITMAPS); + ft_ColorA(255); + ft_BlendFunc(FT_ONE, FT_ZERO); + ft_Vertex2ii(x, y, 0, 0); + + ft_ColorMask(1, 1, 1, 0); + ft_BitmapTransformA(64); + ft_BitmapTransformE(64); + ft_BlendFunc(FT_ONE_MINUS_DST_ALPHA, FT_ZERO); + ft_Vertex2ii(x, y, 1, 0); + ft_BlendFunc(FT_DST_ALPHA, FT_ONE); + ft_Vertex2ii(x, y, 1, 1); +} + +esp_err_t ft_dxp_show_mode(const FT_DXP_INFO *info) +{ + esp_err_t err; + u16 screen_w = 1024; + u16 screen_h = 768; + u16 x = 0; + u16 y = 0; + + if (!info) return ESP_ERR_INVALID_ARG; + + if (ft_current_mode >= 0 && ft_current_mode < FT_MODE_MAX) + { + screen_w = ft_modes[ft_current_mode].h_visible; + screen_h = ft_modes[ft_current_mode].v_visible; + } + + if (screen_w > info->w) + x = (u16)((screen_w - info->w) >> 1); + + if (screen_h > info->h) + y = (u16)((screen_h - info->h) >> 1); + + ft_ccmd_start(cmdl); + ft_Dlstart(); + ft_ClearColorRGB(0, 0, 0); + ft_ClearColorA(255); + ft_Clear(1, 1, 1); + + ft_dxp_dl(info, x, y); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) return err; + + err = ft_cp_wait(1000); + if (err != ESP_OK) return err; + + return ft_wait_swap(1000); +} + +esp_err_t ft_dxp_show_file_mode(const char *path, bool quiet) +{ + u8 *data = nullptr; + size_t size = 0; + const u8 *raw = nullptr; + u8 *raw_alloc = nullptr; + FT_DXP_INFO info; + esp_err_t err; + esp_err_t err2; + bool keep_session = false; + + if (!path) return ESP_ERR_INVALID_ARG; + + int64_t t0 = esp_timer_get_time(); + err = ft_jpg_read_whole_file(path, &data, &size); + if (err != ESP_OK) return err; + + err = ft_dxp_parse_header(data, size, &info, quiet); + if (err != ESP_OK) goto done_no_session; + + err = ft_dxp_prepare_raw(data, size, &info, &raw, &raw_alloc, quiet); + if (err != ESP_OK) goto done_no_session; + + keep_session = ft_text_attr_mode_open; + + err = ft_open_session(); + if (err != ESP_OK) + { + if (!quiet) + printf("FT open failed: %d\r\n", (int)err); + goto done_no_session; + } + + err = ft_dxp_show_mode(&info); + if (err == ESP_OK) + { + err = ft_write(raw, FT_RAM_G, info.raw_size); + if (err == ESP_OK) ft_text_attr_mode_palette_dirty = true; + } + + if (!keep_session) + { + err2 = ft_close_session(); + if (err == ESP_OK) err = err2; + } + + if (err == ESP_OK && !quiet) + { + int64_t t1 = esp_timer_get_time(); + printf("DXP: %s %ux%u type=%u raw=%lu load=%lldus\r\n", + path, (unsigned)info.w, (unsigned)info.h, (unsigned)info.type, + (unsigned long)info.raw_size, (long long)(t1 - t0)); + } + +done_no_session: + if (raw_alloc) free(raw_alloc); + if (data) free(data); + return err; +} + +esp_err_t ft_dxp_show_file(const char *path) +{ + return ft_dxp_show_file_mode(path, false); +} + +esp_err_t ft_jpg_show_file_mode(const char *path, bool stretch, bool quiet) +{ + esp_err_t err; + esp_err_t err2; + u16 img_w = 0; + u16 img_h = 0; + + u8 *screen = (u8*)heap_caps_malloc(FT_RGB888_640_480_SIZE, MALLOC_CAP_SPIRAM); + if (!screen) + { + if (!quiet) + printf("E: RGB888 screen alloc failed, size=%lu\r\n", (unsigned long)FT_RGB888_640_480_SIZE); + return ESP_ERR_NO_MEM; + } + + int64_t t0 = esp_timer_get_time(); + err = ft_jpg_decode_to_screen(path, screen, &img_w, &img_h, quiet); + int64_t t1 = esp_timer_get_time(); + if (err != ESP_OK) + { + free(screen); + return err; + } + + bool keep_session = ft_text_attr_mode_open; + + err = ft_open_session(); + if (err != ESP_OK) + { + if (!quiet) + printf("FT open failed: %d\r\n", (int)err); + free(screen); + return err; + } + + err = ft_rgb888_640x480_show_mode(FT_RGB888_640_480_ADDR, stretch); + if (err == ESP_OK) + { + err = ft_write(screen, FT_RGB888_640_480_ADDR, FT_RGB888_640_480_SIZE); + if (err == ESP_OK) ft_text_attr_mode_palette_dirty = true; + } + + if (!keep_session) + { + err2 = ft_close_session(); + if (err == ESP_OK) + err = err2; + } + + free(screen); + + if (err != ESP_OK) + return err; + + if (!quiet) + { + printf("JPEG: %s %ux%u -> 640x480 decode=%lldus\r\n", + path, (unsigned)img_w, (unsigned)img_h, (long long)(t1 - t0)); + } + + return ESP_OK; +} + +esp_err_t ft_jpg_show_file(const char *path) +{ + return ft_jpg_show_file_mode(path, false, false); +} + +int ft_jpg_wait_key() +{ + u8 c; + + if (uart_read_bytes(UART_NUM_0, &c, 1, portMAX_DELAY) <= 0) + return FT_JPG_KEY_EXIT; + + if (c != 0x1B) + return FT_JPG_KEY_EXIT; + + u8 seq[2] = {}; + if (uart_read_bytes(UART_NUM_0, &seq[0], 1, pdMS_TO_TICKS(50)) <= 0) + return FT_JPG_KEY_EXIT; + + if (seq[0] != '[') + return FT_JPG_KEY_EXIT; + + if (uart_read_bytes(UART_NUM_0, &seq[1], 1, pdMS_TO_TICKS(50)) <= 0) + return FT_JPG_KEY_EXIT; + + if (seq[1] == 'C') return FT_JPG_KEY_NEXT; + if (seq[1] == 'D') return FT_JPG_KEY_PREV; + + return FT_JPG_KEY_EXIT; +} + +int ft_dxp_cmd(int argc, char **argv) +{ + if (argc != 3) + { + printf("Usage:\r\n"); + printf(" ft dxp \r\n"); + return 1; + } + + esp_err_t err = ft_dxp_show_file(argv[2]); + if (err != ESP_OK) + { + printf("E: DXP show failed: %s (0x%x)\r\n", esp_err_to_name(err), (unsigned int)err); + return 1; + } + + return 0; +} + +int ft_jpg_cmd(int argc, char **argv) +{ + if (argc != 3) + { + printf("Usage:\r\n"); + printf(" ft jpg \r\n"); + return 1; + } + + FT_JPG_LIST lst = {}; + esp_err_t err = ft_jpg_collect(argv[2], &lst); + if (err != ESP_OK) + { + ft_jpg_list_free(&lst); + return 1; + } + + if (lst.count <= 0) + { + printf("No JPEG files found: %s\r\n", argv[2]); + ft_jpg_list_free(&lst); + return 1; + } + + printf("JPEG files: %d\r\n", lst.count); + printf("Controls: Right=next, Left=prev, other key=exit\r\n"); + + int idx = 0; + for (;;) + { + printf("[%d/%d] %s\r\n", idx + 1, lst.count, lst.items[idx]); + + err = ft_jpg_show_file(lst.items[idx]); + if (err != ESP_OK) + printf("E: show failed: %s\r\n", esp_err_to_name(err)); + + int key = ft_jpg_wait_key(); + if (key == FT_JPG_KEY_NEXT) + { + idx++; + if (idx >= lst.count) idx = 0; + continue; + } + + if (key == FT_JPG_KEY_PREV) + { + idx--; + if (idx < 0) idx = lst.count - 1; + continue; + } + + break; + } + + ft_jpg_list_free(&lst); + return 0; +} + +void ft_rgb888_640x480_dl(u32 rgb_addr, u16 screen_x, u16 screen_y, u16 draw_w, u16 draw_h, u8 filter) +{ + i32 scale_x; + i32 scale_y; + + if (draw_w == 0) draw_w = FT_RGB888_640_480_W; + if (draw_h == 0) draw_h = FT_RGB888_640_480_H; + + scale_x = (i32)(((u32)FT_RGB888_640_480_W * 256U + ((u32)draw_w / 2U)) / draw_w); + scale_y = (i32)(((u32)FT_RGB888_640_480_H * 256U + ((u32)draw_h / 2U)) / draw_h); + + ft_SaveContext(); + + ft_BitmapHandle(0); + ft_BitmapLayout(FT_L8, (u16)FT_RGB888_640_480_STRIDE, FT_RGB888_640_480_H); + ft_BitmapSize(filter, FT_BORDER, FT_BORDER, draw_w, draw_h); + + ft_BitmapTransformA(scale_x); + ft_BitmapTransformB(0); + ft_BitmapTransformC(0); + ft_BitmapTransformD(0); + ft_BitmapTransformE(scale_y); + ft_BitmapTransformF(0); + + ft_BlendFunc(FT_SRC_ALPHA, FT_ONE); + ft_ColorA(255); + ft_ColorMask(1, 1, 1, 0); + ft_Begin(FT_BITMAPS); + + ft_ColorRGB(255, 0, 0); + ft_BitmapSource(rgb_addr); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_ColorRGB(0, 255, 0); + ft_BitmapSource(rgb_addr + FT_RGB888_640_480_PLANE_SIZE); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_ColorRGB(0, 0, 255); + ft_BitmapSource(rgb_addr + (FT_RGB888_640_480_PLANE_SIZE * 2UL)); + ft_Vertex2ii(screen_x, screen_y, 0, 0); + + ft_End(); + + ft_RestoreContext(); +} + +esp_err_t ft_rgb888_640x480_load_mode(u32 rgb_addr, bool stretch, bool swap) +{ + esp_err_t err; + u16 screen_x = 0; + u16 screen_y = 0; + u16 screen_w = FT_RGB888_640_480_W; + u16 screen_h = FT_RGB888_640_480_H; + u16 draw_w = FT_RGB888_640_480_W; + u16 draw_h = FT_RGB888_640_480_H; + u8 filter = FT_NEAREST; + + if (ft_current_mode >= 0 && ft_current_mode < FT_MODE_MAX) + { + screen_w = ft_modes[ft_current_mode].h_visible; + screen_h = ft_modes[ft_current_mode].v_visible; + } + + if (stretch) + { + draw_w = screen_w; + draw_h = screen_h; + filter = FT_BILINEAR; + } + else + { + if (screen_w > FT_RGB888_640_480_W) + screen_x = (u16)((screen_w - FT_RGB888_640_480_W) / 2); + + if (screen_h > FT_RGB888_640_480_H) + screen_y = (u16)((screen_h - FT_RGB888_640_480_H) / 2); + } + + ft_ccmd_start(cmdl); + + ft_Dlstart(); + ft_ClearColorRGB(0, 0, 0); + ft_ClearColorA(255); + ft_Clear(1, 1, 1); + + ft_rgb888_640x480_dl(rgb_addr, screen_x, screen_y, draw_w, draw_h, filter); + + ft_Display(); + if (swap) ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) return err; + + err = ft_cp_wait(1000); + if (err != ESP_OK) return err; + + if (!swap) return ESP_OK; + + return ft_wait_swap(1000); +} + +esp_err_t ft_rgb888_640x480_show_mode(u32 rgb_addr, bool stretch) +{ + return ft_rgb888_640x480_load_mode(rgb_addr, stretch, true); +} + +esp_err_t ft_rgb888_640x480_show(u32 rgb_addr) +{ + return ft_rgb888_640x480_show_mode(rgb_addr, false); +} + +esp_err_t ft_rgb888_640x480_show_current(bool stretch) +{ + esp_err_t err; + esp_err_t err2; + bool keep_session = ft_text_attr_mode_open; + + err = ft_open_session(); + if (err != ESP_OK) return err; + + err = ft_rgb888_640x480_show_mode(FT_RGB888_640_480_ADDR, stretch); + + if (!keep_session) + { + err2 = ft_close_session(); + if (err == ESP_OK) err = err2; + } + + return err; +} + +int ft_demo_rgb888_cmd() +{ + esp_err_t err; + esp_err_t err2; + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + err = ft_rgb888_640x480_show_mode(FT_RGB888_640_480_ADDR, false); + + err2 = ft_close_session(); + if (err == ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT demo RGB888 failed: %d\r\n", (int)err); + return 1; + } + + printf("FT RGB888 640x480 shown from 0x%06lX, size=%lu\r\n", + (unsigned long)FT_RGB888_640_480_ADDR, + (unsigned long)FT_RGB888_640_480_SIZE); + + return 0; +} + +int ft_demo_attr_mode_cmd() +{ + esp_err_t err; + esp_err_t err2; + u8 *chars = nullptr; + u8 *attrs = nullptr; + u8 *gfx = nullptr; + u8 *color = nullptr; + u32 text_cells = (u32)FT_DEMO_TEXT_COLS * (u32)FT_DEMO_TEXT_ROWS; + u32 gfx_size = (u32)FT_DEMO_TEXT_COLS * 256U; + u32 color_size = (u32)FT_DEMO_TEXT_ROWS * 256U; + + chars = (u8*)heap_caps_malloc(text_cells, MALLOC_CAP_SPIRAM); + attrs = (u8*)heap_caps_malloc(text_cells, MALLOC_CAP_SPIRAM); + gfx = (u8*)heap_caps_malloc(gfx_size, MALLOC_CAP_SPIRAM); + color = (u8*)heap_caps_malloc(color_size, MALLOC_CAP_SPIRAM); + + if (!chars || !attrs || !gfx || !color) + { + printf("FT demo_attr_mode alloc failed: chars=%u attrs=%u gfx=%lu color=%lu\r\n", + (unsigned int)text_cells, + (unsigned int)text_cells, + (unsigned long)gfx_size, + (unsigned long)color_size); + if (chars) free(chars); + if (attrs) free(attrs); + if (gfx) free(gfx); + if (color) free(color); + return 1; + } + + ft_text_set_addrs(chars, attrs); + ft_demo_text_fill("Attribute mode text demo", "80x30 chars -> FT812 640x480"); + ft_text_to_attr_render(gfx, chars, color, attrs); + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + free(chars); + free(attrs); + free(gfx); + free(color); + return 1; + } + + if (err == ESP_OK) + err = ft_write(gfx, FT_DEMO_PIX_ADDR(0), gfx_size); + + if (err == ESP_OK) + err = ft_write(color, FT_DEMO_ATTR_ADDR, color_size); + + if (err == ESP_OK) + err = ft_text_palette_init(); + + if (err == ESP_OK) + { + ft_rreg8(FT_REG_INT_FLAGS); + err = ft_attr_show(); + } + + if (err == ESP_OK) + err = ft_wait_swap(1000); + + err2 = ft_close_session(); + if (err == ESP_OK) + err = err2; + + free(chars); + free(attrs); + free(gfx); + free(color); + + if (err != ESP_OK) + { + printf("FT demo_attr_mode failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +int ft_demo_4bpp_mode_cmd() +{ + esp_err_t err; + esp_err_t err2; + u8 *chars = nullptr; + u8 *attrs = nullptr; + u8 *bitmap = nullptr; + + u32 text_cells = (u32)FT_DEMO_TEXT_COLS * (u32)FT_DEMO_TEXT_ROWS; + u32 bitmap_size = ((u32)FT_DEMO_TEXT_COLS * 4U) * ((u32)FT_DEMO_TEXT_ROWS * 8U); + + chars = (u8*)heap_caps_malloc(text_cells, MALLOC_CAP_SPIRAM); + attrs = (u8*)heap_caps_malloc(text_cells, MALLOC_CAP_SPIRAM); + bitmap = (u8*)heap_caps_malloc(bitmap_size, MALLOC_CAP_SPIRAM); + + if (!chars || !attrs || !bitmap) + { + printf("FT demo_4bpp_mode alloc failed: chars=%u attrs=%u bitmap=%lu\r\n", + (unsigned int)text_cells, + (unsigned int)text_cells, + (unsigned long)bitmap_size); + if (chars) free(chars); + if (attrs) free(attrs); + if (bitmap) free(bitmap); + return 1; + } + + ft_text_set_addrs(chars, attrs); + ft_demo_text_fill("4bpp paletted text demo", "80x30 chars -> FT812 640x480"); + ft_text_to_4bpp_render(bitmap, chars, attrs); + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + free(chars); + free(attrs); + free(bitmap); + return 1; + } + + if (err == ESP_OK) + err = ft_write(bitmap, FT_DEMO_PAL4_PIX_ADDR, bitmap_size); + + if (err == ESP_OK) + err = ft_text_palette_init(); + + if (err == ESP_OK) + { + ft_rreg8(FT_REG_INT_FLAGS); + err = ft_4bpp_show(); + } + + if (err == ESP_OK) + err = ft_wait_swap(1000); + + err2 = ft_close_session(); + if (err == ESP_OK) + err = err2; + + free(chars); + free(attrs); + free(bitmap); + + if (err != ESP_OK) + { + printf("FT demo_4bpp_mode failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +u8 ft_zx_color_from_attr(u8 attr, u8 paper) +{ + u8 color; + u8 bright; + + attr &= 0x7FU; + bright = (attr & 0x40U) ? 8U : 0U; + + if (paper) + color = (u8)((attr >> 3) & 7U); + else + color = (u8)(attr & 7U); + + if (color) + color |= bright; + + return color; +} + +esp_err_t ft_zx_palette_init() +{ + esp_err_t err; + u16 pal_paper[256]; + u16 pal_ink[256]; + + for (u32 attr = 0; attr < 256; attr++) + { + pal_paper[attr] = ft_attr_to_rgb565(ft_zx_color_from_attr((u8)attr, 1)); + pal_ink[attr] = ft_attr_to_rgb565(ft_zx_color_from_attr((u8)attr, 0)); + } + + err = ft_write(pal_paper, FT_DEMO_ZX_PAL_PAPER_ADDR, sizeof(pal_paper)); + if (err != ESP_OK) return err; + + err = ft_write(pal_ink, FT_DEMO_ZX_PAL_INK_ADDR, sizeof(pal_ink)); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +esp_err_t ft_zx_show(u8 scale = 2) +{ + esp_err_t err; + u16 screen_x = FT_DEMO_ZX_SCREEN_X; + u16 screen_y = FT_DEMO_ZX_SCREEN_Y; + + ft_ccmd_start(cmdl); + + ft_Dlstart(); + + ft_ClearColorRGB(0, 0, 32); + ft_ClearColorA(255); + ft_ClearStencil(0); + ft_Clear(1, 1, 1); + + for (int h = 0; h < 8; h++) + { + ft_BitmapHandle(h); + ft_BitmapSource(FT_DEMO_ZX_PIX_ADDR + h * 32); + ft_BitmapLayout(FT_L1, 256, 8); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, 256 * scale, 8 * scale); + } + + ft_BitmapHandle(8); + ft_BitmapSource(FT_DEMO_ZX_ATTR_ADDR); + ft_BitmapLayout(FT_PALETTED565, 32, 24); + ft_BitmapSize(FT_NEAREST, FT_BORDER, FT_BORDER, 256 * scale, 192 * scale); + + ft_BitmapTransformB(0); + ft_BitmapTransformC(0); + ft_BitmapTransformD(0); + ft_BitmapTransformF(0); + + ft_BitmapTransformA(256 / scale); + ft_BitmapTransformE(256 / scale); + + ft_ColorMask(0, 0, 0, 0); + ft_StencilMask(255); + ft_AlphaFunc(FT_GREATER, 0); + ft_StencilFunc(FT_ALWAYS, 1, 255); + ft_StencilOp(FT_KEEP, FT_REPLACE); + + ft_Begin(FT_BITMAPS); + + ft_VertexTranslateX((i32)screen_x * 16); + ft_VertexTranslateY((i32)screen_y * 16); + + for (u8 bank = 0; bank < 3; bank++) + for (u8 row = 0; row < 8; row++) + ft_Vertex2ii(0, (bank * 64 + row * 8) * scale, row, bank); + + ft_ColorMask(1, 1, 1, 0); + ft_StencilMask(0); + ft_AlphaFunc(FT_ALWAYS, 0); + ft_BlendFunc(FT_ONE, FT_ZERO); + + ft_BitmapTransformA(32 / scale); + ft_BitmapTransformE(32 / scale); + + ft_StencilFunc(FT_EQUAL, 0, 255); + ft_PaletteSource(FT_DEMO_ZX_PAL_PAPER_ADDR); + ft_Vertex2ii(0, 0, 8, 0); + + ft_StencilFunc(FT_EQUAL, 1, 255); + ft_PaletteSource(FT_DEMO_ZX_PAL_INK_ADDR); + ft_Vertex2ii(0, 0, 8, 0); + + ft_Display(); + ft_Swap(); + + err = ft_ccmd_write(); + if (err != ESP_OK) return err; + + err = ft_cp_wait(1000); + if (err != ESP_OK) return err; + + return ESP_OK; +} + +int ft_demo_zx_mode_cmd() +{ + esp_err_t err; + esp_err_t err2; + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + err = ft_write(zx_screen, FT_DEMO_ZX_PIX_ADDR, 6912); + + if (err == ESP_OK) + err = ft_zx_palette_init(); + + if (err == ESP_OK) + { + ft_rreg8(FT_REG_INT_FLAGS); + err = ft_zx_show(); + } + + if (err == ESP_OK) + err = ft_wait_swap(1000); + + err2 = ft_close_session(); + if (err == ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT demo_zx_mode failed: %d\r\n", (int)err); + return 1; + } + + return 0; +} + +// -------- Display list decoder --------- + +#define FT_DL_READ_SIZE FT_DL_SIZE +#define FT_DL_DEFAULT_VERTEX_FORMAT 4 +#define FT_DL_CONTEXT_STACK_SIZE 4 + +u32 ft_rd32le(const u8 *p) +{ + return (u32)p[0] | ((u32)p[1] << 8) | ((u32)p[2] << 16) | ((u32)p[3] << 24); +} + +i32 ft_dl_sx(u32 v, u8 bits) +{ + u32 m = 1UL << (bits - 1); + return (i32)((v ^ m) - m); +} + + +typedef struct +{ + u8 vertex_format; + u8 stack[FT_DL_CONTEXT_STACK_SIZE]; + u8 stack_depth; +} FT_DL_DECODE_CONTEXT; + +void ft_dl_context_init(FT_DL_DECODE_CONTEXT *ctx) +{ + ctx->vertex_format = FT_DL_DEFAULT_VERTEX_FORMAT; + ctx->stack_depth = 0; +} + +void ft_dl_context_save(FT_DL_DECODE_CONTEXT *ctx) +{ + if (ctx->stack_depth < FT_DL_CONTEXT_STACK_SIZE) + { + ctx->stack[ctx->stack_depth++] = ctx->vertex_format; + return; + } + + for (u32 i = 1; i < FT_DL_CONTEXT_STACK_SIZE; i++) + ctx->stack[i - 1] = ctx->stack[i]; + + ctx->stack[FT_DL_CONTEXT_STACK_SIZE - 1] = ctx->vertex_format; +} + +void ft_dl_context_restore(FT_DL_DECODE_CONTEXT *ctx) +{ + if (ctx->stack_depth) + { + ctx->vertex_format = ctx->stack[--ctx->stack_depth]; + return; + } + + ctx->vertex_format = FT_DL_DEFAULT_VERTEX_FORMAT; +} + +void ft_dl_print_fixed(i32 v, u8 frac) +{ + u32 uv; + u32 ip; + u32 rem; + u32 den; + u32 dec; + char dec_txt[16]; + int n; + + if (frac > 4) + frac = 4; + + if (v < 0) + { + printf("-"); + uv = (u32)(-(v + 1)) + 1UL; + } + else + { + uv = (u32)v; + } + + den = 1UL << frac; + ip = uv >> frac; + rem = uv & (den - 1); + + printf("%lu", (unsigned long)ip); + + if (!frac || !rem) + return; + + dec = (rem * 10000UL) / den; + snprintf(dec_txt, sizeof(dec_txt), "%04lu", (unsigned long)dec); + + n = 3; + while (n > 0 && dec_txt[n] == '0') + dec_txt[n--] = 0; + + printf(".%s", dec_txt); +} + +void ft_dl_print_fixed_cmd_1(u32 line, const char *name, i32 v, u8 frac) +{ + printf("%04lX %s(", (unsigned long)line, name); + ft_dl_print_fixed(v, frac); + printf(")\r\n"); +} + +const char *ft_dl_format_name(u32 v) +{ + switch (v) + { + case FT_ARGB1555: return "ARGB1555"; + case FT_L1: return "L1"; + case FT_L4: return "L4"; + case FT_L8: return "L8"; + case FT_RGB332: return "RGB332"; + case FT_ARGB2: return "ARGB2"; + case FT_ARGB4: return "ARGB4"; + case FT_RGB565: return "RGB565"; + case FT_TEXT8X8: return "TEXT8X8"; + case FT_TEXTVGA: return "TEXTVGA"; + case FT_BARGRAPH: return "BARGRAPH"; + case FT_PALETTED565: return "PALETTED565"; + case FT_PALETTED4444: return "PALETTED4444"; + case FT_PALETTED8: return "PALETTED8"; + case FT_L2: return "L2"; + default: return "?"; + } +} + +const char *ft_dl_blend_name(u32 v) +{ + switch (v) + { + case FT_ZERO: return "ZERO"; + case FT_ONE: return "ONE"; + case FT_SRC_ALPHA: return "SRC_ALPHA"; + case FT_DST_ALPHA: return "DST_ALPHA"; + case FT_ONE_MINUS_SRC_ALPHA: return "ONE_MINUS_SRC_ALPHA"; + case FT_ONE_MINUS_DST_ALPHA: return "ONE_MINUS_DST_ALPHA"; + default: return "?"; + } +} + +const char *ft_dl_test_name(u32 v) +{ + switch (v) + { + case FT_NEVER: return "NEVER"; + case FT_LESS: return "LESS"; + case FT_LEQUAL: return "LEQUAL"; + case FT_GREATER: return "GREATER"; + case FT_GEQUAL: return "GEQUAL"; + case FT_EQUAL: return "EQUAL"; + case FT_NOTEQUAL: return "NOTEQUAL"; + case FT_ALWAYS: return "ALWAYS"; + default: return "?"; + } +} + +const char *ft_dl_stencil_op_name(u32 v) +{ + switch (v) + { + case 0: return "ZERO"; + case FT_KEEP: return "KEEP"; + case FT_REPLACE: return "REPLACE"; + case FT_INCR: return "INCR"; + case FT_DECR: return "DECR"; + case FT_INVERT: return "INVERT"; + case FT_INCR_WRAP: return "INCR_WRAP"; + case FT_DECR_WRAP: return "DECR_WRAP"; + default: return "?"; + } +} + +const char *ft_dl_filter_name(u32 v) +{ + switch (v) + { + case FT_NEAREST: return "NEAREST"; + case FT_BILINEAR: return "BILINEAR"; + default: return "?"; + } +} + +const char *ft_dl_wrap_name(u32 v) +{ + switch (v) + { + case FT_BORDER: return "BORDER"; + case FT_REPEAT: return "REPEAT"; + default: return "?"; + } +} + +const char *ft_dl_prim_name(u32 v) +{ + switch (v) + { + case FT_BITMAPS: return "BITMAPS"; + case FT_POINTS: return "POINTS"; + case FT_LINES: return "LINES"; + case FT_LINE_STRIP: return "LINE_STRIP"; + case FT_EDGE_STRIP_R: return "EDGE_STRIP_R"; + case FT_EDGE_STRIP_L: return "EDGE_STRIP_L"; + case FT_EDGE_STRIP_A: return "EDGE_STRIP_A"; + case FT_EDGE_STRIP_B: return "EDGE_STRIP_B"; + case FT_RECTS: return "RECTS"; + default: return "?"; + } +} + +void ft_dl_print_num_or_name(const char *name, u32 v) +{ + if (name && strcmp(name, "?")) + printf("%s", name); + else + printf("%lu", (unsigned long)v); +} + +void ft_dl_print_bitmap_layout(u32 line, u32 w, u32 hi, int has_hi) +{ + u32 format = (w >> 19) & 31UL; + u32 stride = (w >> 9) & 1023UL; + u32 height = w & 511UL; + + if (has_hi) + { + stride |= (hi & 12UL) << 8; + height |= (hi & 3UL) << 9; + } + + printf("%04lX BITMAP_LAYOUT(", (unsigned long)line); + ft_dl_print_num_or_name(ft_dl_format_name(format), format); + printf(", %lu, %lu)\r\n", (unsigned long)stride, (unsigned long)height); +} + +void ft_dl_print_bitmap_size(u32 line, u32 w, u32 hi, int has_hi) +{ + u32 fxy = (w >> 18) & 7UL; + u32 filter = (fxy >> 2) & 1UL; + u32 wrapx = (fxy >> 1) & 1UL; + u32 wrapy = fxy & 1UL; + u32 width = (w >> 9) & 511UL; + u32 height = w & 511UL; + + if (has_hi) + { + width |= (hi & 12UL) << 7; + height |= (hi & 3UL) << 9; + } + + printf("%04lX BITMAP_SIZE(", (unsigned long)line); + ft_dl_print_num_or_name(ft_dl_filter_name(filter), filter); + printf(", "); + ft_dl_print_num_or_name(ft_dl_wrap_name(wrapx), wrapx); + printf(", "); + ft_dl_print_num_or_name(ft_dl_wrap_name(wrapy), wrapy); + printf(", %lu, %lu)\r\n", (unsigned long)width, (unsigned long)height); +} + +void ft_dl_print_bitmap_layout_h(u32 line, u32 w) +{ + printf("%04lX BITMAP_LAYOUT_H(%lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w & 12UL) >> 2), + (unsigned long)(w & 3UL)); +} + +void ft_dl_print_bitmap_size_h(u32 line, u32 w) +{ + printf("%04lX BITMAP_SIZE_H(%lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w & 12UL) >> 2), + (unsigned long)(w & 3UL)); +} + +int ft_dl_print_word(FT_DL_DECODE_CONTEXT *ctx, u32 line, u32 w) +{ + u32 op = w >> 24; + u32 v; + + if ((w & 0xC0000000UL) == 0x40000000UL) + { + printf("%04lX VERTEX2F(", (unsigned long)line); + ft_dl_print_fixed(ft_dl_sx((w >> 15) & 32767UL, 15), ctx->vertex_format); + printf(", "); + ft_dl_print_fixed(ft_dl_sx(w & 32767UL, 15), ctx->vertex_format); + printf(")\r\n"); + return 0; + } + + if ((w & 0xC0000000UL) == 0x80000000UL) + { + printf("%04lX VERTEX2II(%lu, %lu, %lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w >> 21) & 511UL), + (unsigned long)((w >> 12) & 511UL), + (unsigned long)((w >> 7) & 31UL), + (unsigned long)(w & 127UL)); + return 0; + } + + switch (op) + { + case 0: + printf("%04lX DISPLAY()\r\n", (unsigned long)line); + return 1; + + case 1: + printf("%04lX BITMAP_SOURCE(0x%06lX)\r\n", (unsigned long)line, (unsigned long)(w & 0x3FFFFFUL)); + return 0; + + case 2: + printf("%04lX CLEAR_COLOR_RGB(%lu, %lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w >> 16) & 255UL), + (unsigned long)((w >> 8) & 255UL), + (unsigned long)(w & 255UL)); + return 0; + + case 3: + printf("%04lX TAG(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 255UL)); + return 0; + + case 4: + printf("%04lX COLOR_RGB(%lu, %lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w >> 16) & 255UL), + (unsigned long)((w >> 8) & 255UL), + (unsigned long)(w & 255UL)); + return 0; + + case 5: + printf("%04lX BITMAP_HANDLE(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 31UL)); + return 0; + + case 6: + printf("%04lX CELL(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 127UL)); + return 0; + + case 7: + ft_dl_print_bitmap_layout(line, w, 0, 0); + return 0; + + case 8: + ft_dl_print_bitmap_size(line, w, 0, 0); + return 0; + + case 9: + printf("%04lX ALPHA_FUNC(", (unsigned long)line); + ft_dl_print_num_or_name(ft_dl_test_name((w >> 8) & 7UL), (w >> 8) & 7UL); + printf(", %lu)\r\n", (unsigned long)(w & 255UL)); + return 0; + + case 10: + printf("%04lX STENCIL_FUNC(", (unsigned long)line); + ft_dl_print_num_or_name(ft_dl_test_name((w >> 16) & 7UL), (w >> 16) & 7UL); + printf(", %lu, %lu)\r\n", (unsigned long)((w >> 8) & 255UL), (unsigned long)(w & 255UL)); + return 0; + + case 11: + printf("%04lX BLEND_FUNC(", (unsigned long)line); + ft_dl_print_num_or_name(ft_dl_blend_name((w >> 3) & 7UL), (w >> 3) & 7UL); + printf(", "); + ft_dl_print_num_or_name(ft_dl_blend_name(w & 7UL), w & 7UL); + printf(")\r\n"); + return 0; + + case 12: + printf("%04lX STENCIL_OP(", (unsigned long)line); + ft_dl_print_num_or_name(ft_dl_stencil_op_name((w >> 3) & 7UL), (w >> 3) & 7UL); + printf(", "); + ft_dl_print_num_or_name(ft_dl_stencil_op_name(w & 7UL), w & 7UL); + printf(")\r\n"); + return 0; + + case 13: + ft_dl_print_fixed_cmd_1(line, "POINT_SIZE", (i32)(w & 8191UL), 4); + return 0; + + case 14: + ft_dl_print_fixed_cmd_1(line, "LINE_WIDTH", (i32)(w & 4095UL), 4); + return 0; + + case 15: + printf("%04lX CLEAR_COLOR_A(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 255UL)); + return 0; + + case 16: + printf("%04lX COLOR_A(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 255UL)); + return 0; + + case 17: + printf("%04lX CLEAR_STENCIL(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 255UL)); + return 0; + + case 18: + printf("%04lX CLEAR_TAG(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 255UL)); + return 0; + + case 19: + printf("%04lX STENCIL_MASK(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 255UL)); + return 0; + + case 20: + printf("%04lX TAG_MASK(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 1UL)); + return 0; + + case 21: + printf("%04lX BITMAP_TRANSFORM_A(%ld)\r\n", (unsigned long)line, (long)ft_dl_sx(w & 131071UL, 17)); + return 0; + + case 22: + printf("%04lX BITMAP_TRANSFORM_B(%ld)\r\n", (unsigned long)line, (long)ft_dl_sx(w & 131071UL, 17)); + return 0; + + case 23: + printf("%04lX BITMAP_TRANSFORM_C(%ld)\r\n", (unsigned long)line, (long)ft_dl_sx(w & 16777215UL, 24)); + return 0; + + case 24: + printf("%04lX BITMAP_TRANSFORM_D(%ld)\r\n", (unsigned long)line, (long)ft_dl_sx(w & 131071UL, 17)); + return 0; + + case 25: + printf("%04lX BITMAP_TRANSFORM_E(%ld)\r\n", (unsigned long)line, (long)ft_dl_sx(w & 131071UL, 17)); + return 0; + + case 26: + printf("%04lX BITMAP_TRANSFORM_F(%ld)\r\n", (unsigned long)line, (long)ft_dl_sx(w & 16777215UL, 24)); + return 0; + + case 27: + printf("%04lX SCISSOR_XY(%lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w >> 9) & 511UL), + (unsigned long)(w & 511UL)); + return 0; + + case 28: + printf("%04lX SCISSOR_SIZE(%lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w >> 12) & 4095UL), + (unsigned long)(w & 4095UL)); + return 0; + + case 29: + printf("%04lX CALL(0x%03lX)\r\n", (unsigned long)line, (unsigned long)(w & 2047UL)); + return 0; + + case 30: + printf("%04lX JUMP(0x%03lX)\r\n", (unsigned long)line, (unsigned long)(w & 2047UL)); + return 0; + + case 31: + v = w & 15UL; + printf("%04lX BEGIN(", (unsigned long)line); + ft_dl_print_num_or_name(ft_dl_prim_name(v), v); + printf(")\r\n"); + return 0; + + case 32: + printf("%04lX COLOR_MASK(%lu, %lu, %lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w >> 3) & 1UL), + (unsigned long)((w >> 2) & 1UL), + (unsigned long)((w >> 1) & 1UL), + (unsigned long)(w & 1UL)); + return 0; + + case 33: + printf("%04lX END()\r\n", (unsigned long)line); + return 0; + + case 34: + ft_dl_context_save(ctx); + printf("%04lX SAVE_CONTEXT()\r\n", (unsigned long)line); + return 0; + + case 35: + ft_dl_context_restore(ctx); + printf("%04lX RESTORE_CONTEXT()\r\n", (unsigned long)line); + return 0; + + case 36: + printf("%04lX RETURN()\r\n", (unsigned long)line); + return 0; + + case 37: + printf("%04lX MACRO(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 1UL)); + return 0; + + case 38: + printf("%04lX CLEAR(%lu, %lu, %lu)\r\n", + (unsigned long)line, + (unsigned long)((w >> 2) & 1UL), + (unsigned long)((w >> 1) & 1UL), + (unsigned long)(w & 1UL)); + return 0; + + case 39: + ctx->vertex_format = (u8)(w & 7UL); + printf("%04lX VERTEX_FORMAT(%lu)\r\n", (unsigned long)line, (unsigned long)(w & 7UL)); + return 0; + + case 40: + ft_dl_print_bitmap_layout_h(line, w); + return 0; + + case 41: + ft_dl_print_bitmap_size_h(line, w); + return 0; + + case 42: + printf("%04lX PALETTE_SOURCE(0x%06lX)\r\n", (unsigned long)line, (unsigned long)(w & 0x3FFFFFUL)); + return 0; + + case 43: + ft_dl_print_fixed_cmd_1(line, "VERTEX_TRANSLATE_X", ft_dl_sx(w & 131071UL, 17), 4); + return 0; + + case 44: + ft_dl_print_fixed_cmd_1(line, "VERTEX_TRANSLATE_Y", ft_dl_sx(w & 131071UL, 17), 4); + return 0; + + case 45: + printf("%04lX NOP()\r\n", (unsigned long)line); + return 0; + } + + printf("%04lX UNKNOWN(0x%08lX)\r\n", (unsigned long)line, (unsigned long)w); + return 0; +} + +void ft_dl_flush_pending(u32 *line, int *has_layout_hi, u32 layout_hi, int *has_size_hi, u32 size_hi) +{ + if (*has_layout_hi) + { + ft_dl_print_bitmap_layout_h(*line, layout_hi); + (*line)++; + *has_layout_hi = 0; + } + + if (*has_size_hi) + { + ft_dl_print_bitmap_size_h(*line, size_hi); + (*line)++; + *has_size_hi = 0; + } +} + +void ft_dl_decode(const u8 *buf, u32 bytes) +{ + FT_DL_DECODE_CONTEXT ctx; + u32 out_line = 0; + u32 raw_line; + u32 layout_hi = 0; + u32 size_hi = 0; + int has_layout_hi = 0; + int has_size_hi = 0; + + ft_dl_context_init(&ctx); + + for (raw_line = 0; raw_line < bytes / 4; raw_line++) + { + u32 w = ft_rd32le(buf + raw_line * 4); + u32 op = w >> 24; + + if (op == 40) + { + if (has_layout_hi) + ft_dl_flush_pending(&out_line, &has_layout_hi, layout_hi, &has_size_hi, size_hi); + + layout_hi = w; + has_layout_hi = 1; + continue; + } + + if (op == 41) + { + if (has_size_hi) + ft_dl_flush_pending(&out_line, &has_layout_hi, layout_hi, &has_size_hi, size_hi); + + size_hi = w; + has_size_hi = 1; + continue; + } + + if (op == 7 && has_layout_hi) + { + if (has_size_hi) + ft_dl_flush_pending(&out_line, &has_layout_hi, layout_hi, &has_size_hi, size_hi); + + ft_dl_print_bitmap_layout(out_line, w, layout_hi, 1); + out_line++; + has_layout_hi = 0; + continue; + } + + if (op == 8 && has_size_hi) + { + if (has_layout_hi) + ft_dl_flush_pending(&out_line, &has_layout_hi, layout_hi, &has_size_hi, size_hi); + + ft_dl_print_bitmap_size(out_line, w, size_hi, 1); + out_line++; + has_size_hi = 0; + continue; + } + + ft_dl_flush_pending(&out_line, &has_layout_hi, layout_hi, &has_size_hi, size_hi); + + if (ft_dl_print_word(&ctx, out_line, w)) + break; + + out_line++; + } +} + +esp_err_t ft_dl_line_swap_wait() +{ + ft_wreg8(FT_REG_DLSWAP, FT_DLSWAP_LINE); + return ft_wait_swap(1000); +} + +esp_err_t ft_dl_read_current(void *buf, u32 bytes) +{ + esp_err_t err; + esp_err_t err_restore; + + err = ft_dl_line_swap_wait(); + if (err != ESP_OK) return err; + + err = ft_read(buf, FT_RAM_DL, bytes); + + err_restore = ft_dl_line_swap_wait(); + if (err == ESP_OK) + err = err_restore; + + return err; +} + +int ft_swap_cmd(int argc, char **) +{ + esp_err_t err; + esp_err_t err2; + + if (argc != 2) + { + printf("Usage:\r\n"); + printf(" ft swap\r\n"); + return 1; + } + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + ft_wreg8(FT_REG_DLSWAP, FT_DLSWAP_FRAME); + + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT swap failed: %d\r\n", (int)err); + return 1; + } + + printf("FT swap: DLSWAP=%u\r\n", (unsigned)FT_DLSWAP_FRAME); + return 0; +} + +int ft_dl_cmd(int argc, char **argv) +{ + esp_err_t err; + esp_err_t err2; + u32 dl = 0; + int current = 1; + int ok; + + if (argc > 3) + { + printf("Usage:\r\n"); + printf(" ft dl\r\n"); + printf(" ft dl 0\r\n"); + printf(" ft dl 1\r\n"); + return 1; + } + + if (argc == 3) + { + dl = ft_parse_num_arg(argv[2], "dl", &ok); + if (!ok) + return 1; + + if (dl > 1) + { + printf("Bad

: %lu, allowed 0-1\r\n", (unsigned long)dl); + return 1; + } + + current = dl == 0; + } + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return 1; + } + + if (current) + err = ft_dl_read_current(cmdl, FT_DL_READ_SIZE); + else + err = ft_read(cmdl, FT_RAM_DL, FT_DL_READ_SIZE); + + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + if (err != ESP_OK) + { + printf("FT dl read failed: %d\r\n", (int)err); + return 1; + } + + if (current) + printf("\r\nFT DL current:\r\n"); + else + printf("\r\nFT DL staging:\r\n"); + + ft_dl_decode(cmdl, FT_DL_READ_SIZE); + + return 0; +} + +typedef struct +{ + const char *name; + u32 value; +} +FT_F_VALUE_DEF; + +typedef struct +{ + const char *name; + const char *aliases; + u8 id; + u8 min_args; + u8 max_args; +} +FT_F_CMD_DEF; + +enum +{ + FT_F_ALPHA_FUNC = 0, + FT_F_BEGIN, + FT_F_BITMAPS_CMD, + FT_F_POINTS_CMD, + FT_F_LINES_CMD, + FT_F_LINE_STRIP_CMD, + FT_F_EDGE_STRIP_R_CMD, + FT_F_EDGE_STRIP_L_CMD, + FT_F_EDGE_STRIP_A_CMD, + FT_F_EDGE_STRIP_B_CMD, + FT_F_RECTS_CMD, + FT_F_BITMAP_HANDLE, + FT_F_BITMAP_LAYOUT, + FT_F_BITMAP_SIZE, + FT_F_BITMAP_SOURCE, + FT_F_BITMAP_TRANSFORM_A, + FT_F_BITMAP_TRANSFORM_B, + FT_F_BITMAP_TRANSFORM_C, + FT_F_BITMAP_TRANSFORM_D, + FT_F_BITMAP_TRANSFORM_E, + FT_F_BITMAP_TRANSFORM_F, + FT_F_BLEND_FUNC, + FT_F_CALL, + FT_F_CELL, + FT_F_CLEAR_COLOR_A, + FT_F_CLEAR_COLOR_RGB, + FT_F_CLEAR, + FT_F_CLEAR_ALL, + FT_F_CLEAR_STENCIL, + FT_F_CLEAR_TAG, + FT_F_COLOR_A, + FT_F_COLOR_MASK, + FT_F_COLOR_RGB, + FT_F_NOP, + FT_F_DISPLAY, + FT_F_END, + FT_F_JUMP, + FT_F_LINE_WIDTH, + FT_F_MACRO, + FT_F_PALETTE_SOURCE, + FT_F_POINT_SIZE, + FT_F_RESTORE_CONTEXT, + FT_F_RETURN, + FT_F_SAVE_CONTEXT, + FT_F_SCISSOR_SIZE, + FT_F_SCISSOR_XY, + FT_F_STENCIL_FUNC, + FT_F_STENCIL_MASK, + FT_F_STENCIL_OP, + FT_F_TAG_MASK, + FT_F_TAG, + FT_F_VERTEX_2F, + FT_F_VERTEX_2II, + FT_F_VERTEX_FORMAT, + FT_F_VERTEX_TRANSLATE_X, + FT_F_VERTEX_TRANSLATE_Y +}; + +const FT_F_VALUE_DEF ft_f_values[] = +{ + {"bitmaps", FT_BITMAPS}, {"b", FT_BITMAPS}, + {"points", FT_POINTS}, {"p", FT_POINTS}, + {"rects", FT_RECTS}, {"r", FT_RECTS}, + {"lines", FT_LINES}, {"l", FT_LINES}, + {"line_strip", FT_LINE_STRIP}, {"ls", FT_LINE_STRIP}, + {"edge_strip_r", FT_EDGE_STRIP_R}, {"esr", FT_EDGE_STRIP_R}, + {"edge_strip_l", FT_EDGE_STRIP_L}, {"esl", FT_EDGE_STRIP_L}, + {"edge_strip_a", FT_EDGE_STRIP_A}, {"esa", FT_EDGE_STRIP_A}, + {"edge_strip_b", FT_EDGE_STRIP_B}, {"esb", FT_EDGE_STRIP_B}, + {"l1", FT_L1}, + {"l2", FT_L2}, + {"l4", FT_L4}, + {"l8", FT_L8}, + {"argb1555", FT_ARGB1555}, + {"rgb332", FT_RGB332}, + {"argb2", FT_ARGB2}, + {"argb4", FT_ARGB4}, + {"rgb565", FT_RGB565}, + {"paletted565", FT_PALETTED565}, {"p565", FT_PALETTED565}, + {"paletted4444", FT_PALETTED4444}, {"p4444", FT_PALETTED4444}, + {"paletted8", FT_PALETTED8}, {"p8", FT_PALETTED8}, + {"text8x8", FT_TEXT8X8}, {"t8", FT_TEXT8X8}, + {"textvga", FT_TEXTVGA}, {"tv", FT_TEXTVGA}, + {"bargraph", FT_BARGRAPH}, + {"zero", FT_ZERO}, + {"one", FT_ONE}, + {"src_alpha", FT_SRC_ALPHA}, + {"dst_alpha", FT_DST_ALPHA}, + {"one_minus_src_alpha", FT_ONE_MINUS_SRC_ALPHA}, + {"one_minus_dst_alpha", FT_ONE_MINUS_DST_ALPHA}, + {"never", FT_NEVER}, + {"less", FT_LESS}, + {"lequal", FT_LEQUAL}, + {"greater", FT_GREATER}, + {"gequal", FT_GEQUAL}, + {"equal", FT_EQUAL}, + {"notequal", FT_NOTEQUAL}, + {"always", FT_ALWAYS}, + {"keep", FT_KEEP}, + {"replace", FT_REPLACE}, + {"incr", FT_INCR}, + {"decr", FT_DECR}, + {"invert", FT_INVERT}, + {"incr_wrap", FT_INCR_WRAP}, + {"decr_wrap", FT_DECR_WRAP}, + {"repeat", FT_REPEAT}, + {"border", FT_BORDER}, + {"nearest", FT_NEAREST}, + {"bilinear", FT_BILINEAR} +}; + +const FT_F_CMD_DEF ft_f_cmds[] = +{ + {"alpha_func", "af", FT_F_ALPHA_FUNC, 2, 2}, + {"begin", "bg", FT_F_BEGIN, 1, 1}, + {"bitmap", "b", FT_F_BITMAPS_CMD, 0, 0}, + {"points", "p", FT_F_POINTS_CMD, 0, 0}, + {"lines", "l", FT_F_LINES_CMD, 0, 0}, + {"line_strip", "ls", FT_F_LINE_STRIP_CMD, 0, 0}, + {"edge_strip_r", "esr", FT_F_EDGE_STRIP_R_CMD, 0, 0}, + {"edge_strip_l", "esl", FT_F_EDGE_STRIP_L_CMD, 0, 0}, + {"edge_strip_a", "esa", FT_F_EDGE_STRIP_A_CMD, 0, 0}, + {"edge_strip_b", "esb", FT_F_EDGE_STRIP_B_CMD, 0, 0}, + {"rects", "r", FT_F_RECTS_CMD, 0, 0}, + {"bitmap_handle", "bh", FT_F_BITMAP_HANDLE, 1, 1}, + {"bitmap_layout", "bl", FT_F_BITMAP_LAYOUT, 3, 3}, + {"bitmap_size", "bsz", FT_F_BITMAP_SIZE, 5, 5}, + {"bitmap_source", "bs", FT_F_BITMAP_SOURCE, 1, 1}, + {"bitmap_transform_a", "bta", FT_F_BITMAP_TRANSFORM_A, 1, 1}, + {"bitmap_transform_b", "btb", FT_F_BITMAP_TRANSFORM_B, 1, 1}, + {"bitmap_transform_c", "btc", FT_F_BITMAP_TRANSFORM_C, 1, 1}, + {"bitmap_transform_d", "btd", FT_F_BITMAP_TRANSFORM_D, 1, 1}, + {"bitmap_transform_e", "bte", FT_F_BITMAP_TRANSFORM_E, 1, 1}, + {"bitmap_transform_f", "btf", FT_F_BITMAP_TRANSFORM_F, 1, 1}, + {"blend_func", "bf", FT_F_BLEND_FUNC, 2, 2}, + {"call", "cal", FT_F_CALL, 1, 1}, + {"cell", "c", FT_F_CELL, 1, 1}, + {"clear_color_a", "cca", FT_F_CLEAR_COLOR_A, 1, 1}, + {"clear_color_rgb", "ccr", FT_F_CLEAR_COLOR_RGB, 1, 3}, + {"clear", "cl", FT_F_CLEAR, 3, 3}, + {"clear_all", "cla", FT_F_CLEAR_ALL, 0, 0}, + {"clear_stencil", "cls", FT_F_CLEAR_STENCIL, 1, 1}, + {"clear_tag", "clt", FT_F_CLEAR_TAG, 1, 1}, + {"color_a", "ca", FT_F_COLOR_A, 1, 1}, + {"color_mask", "cm", FT_F_COLOR_MASK, 4, 4}, + {"color_rgb", "cr", FT_F_COLOR_RGB, 1, 3}, + {"nop", "n", FT_F_NOP, 0, 0}, + {"display", "d", FT_F_DISPLAY, 0, 0}, + {"end", "e", FT_F_END, 0, 0}, + {"jump", "j", FT_F_JUMP, 1, 1}, + {"line_width", "lw", FT_F_LINE_WIDTH, 1, 1}, + {"macro", "m", FT_F_MACRO, 1, 1}, + {"palette_source", "ps", FT_F_PALETTE_SOURCE, 1, 1}, + {"point_size", "psz", FT_F_POINT_SIZE, 1, 1}, + {"restore_context", "rc", FT_F_RESTORE_CONTEXT, 0, 0}, + {"return", "ret", FT_F_RETURN, 0, 0}, + {"save_context", "sc", FT_F_SAVE_CONTEXT, 0, 0}, + {"scissor_size", "ssz", FT_F_SCISSOR_SIZE, 2, 2}, + {"scissor_xy", "sxy", FT_F_SCISSOR_XY, 2, 2}, + {"stencil_func", "sf", FT_F_STENCIL_FUNC, 3, 3}, + {"stencil_mask", "sm", FT_F_STENCIL_MASK, 1, 1}, + {"stencil_op", "so", FT_F_STENCIL_OP, 2, 2}, + {"tag_mask", "tm", FT_F_TAG_MASK, 1, 1}, + {"tag", "t", FT_F_TAG, 1, 1}, + {"vertex_2f", "vf", FT_F_VERTEX_2F, 2, 2}, + {"vertex_2ii", "vi", FT_F_VERTEX_2II, 4, 4}, + {"vertex_format", "vfm", FT_F_VERTEX_FORMAT, 1, 1}, + {"vertex_translate_x", "vtx", FT_F_VERTEX_TRANSLATE_X, 1, 1}, + {"vertex_translate_y", "vty", FT_F_VERTEX_TRANSLATE_Y, 1, 1} +}; + +void ft_f_norm_name(const char *src, char *dst, size_t dst_size) +{ + size_t j = 0; + + if (!dst_size) return; + + while (src && *src && j + 1 < dst_size) + { + unsigned char c = (unsigned char)*src++; + if (c == '_' || c == '-' || c == ' ') + continue; + + dst[j++] = (char)tolower(c); + } + + dst[j] = 0; +} + +int ft_f_name_equals(const char *a, const char *b) +{ + char na[48]; + char nb[48]; + + ft_f_norm_name(a, na, sizeof(na)); + ft_f_norm_name(b, nb, sizeof(nb)); + return strcmp(na, nb) == 0; +} + +int ft_f_name_starts_with(const char *name, const char *prefix) +{ + char n[48]; + char p[48]; + + ft_f_norm_name(name, n, sizeof(n)); + ft_f_norm_name(prefix, p, sizeof(p)); + return p[0] && !strncmp(n, p, strlen(p)); +} + +int ft_f_alias_matches(const char *aliases, const char *name, int prefix) +{ + char item[48]; + size_t j = 0; + + if (!aliases) return 0; + + while (1) + { + char c = *aliases++; + if (c && c != ' ') + { + if (j + 1 < sizeof(item)) + item[j++] = c; + continue; + } + + if (j) + { + item[j] = 0; + if (prefix) + { + if (ft_f_name_starts_with(item, name)) + return 1; + } + else + { + if (ft_f_name_equals(item, name)) + return 1; + } + j = 0; + } + + if (!c) break; + } + + return 0; +} + +const FT_F_CMD_DEF *ft_f_find_cmd(const char *name, int *ambiguous) +{ + const FT_F_CMD_DEF *match = nullptr; + int matches = 0; + + *ambiguous = 0; + + for (size_t i = 0; i < sizeof(ft_f_cmds) / sizeof(ft_f_cmds[0]); ++i) + { + const FT_F_CMD_DEF *cmd = &ft_f_cmds[i]; + if (ft_f_name_equals(cmd->name, name) || ft_f_alias_matches(cmd->aliases, name, 0)) + { + match = cmd; + matches++; + } + } + + if (matches == 1) return match; + if (matches > 1) + { + *ambiguous = 1; + return nullptr; + } + + for (size_t i = 0; i < sizeof(ft_f_cmds) / sizeof(ft_f_cmds[0]); ++i) + { + const FT_F_CMD_DEF *cmd = &ft_f_cmds[i]; + if (ft_f_name_starts_with(cmd->name, name) || ft_f_alias_matches(cmd->aliases, name, 1)) + { + match = cmd; + matches++; + } + } + + if (matches == 1) return match; + if (matches > 1) *ambiguous = 1; + return nullptr; +} + +int ft_f_named_value(const char *name, u32 *out) +{ + for (size_t i = 0; i < sizeof(ft_f_values) / sizeof(ft_f_values[0]); ++i) + { + if (ft_f_name_equals(ft_f_values[i].name, name)) + { + *out = ft_f_values[i].value; + return 1; + } + } + + return 0; +} + +u32 ft_f_parse_arg(const char *s, const char *name, int *ok) +{ + char buf[48]; + size_t n; + char *endp = nullptr; + u32 named; + + *ok = 0; + + if (!s) + { + printf("Missing <%s>\r\n", name); + return 0; + } + + n = strlen(s); + if (n >= sizeof(buf)) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + memcpy(buf, s, n + 1); + + if (n && buf[n - 1] == ',') + buf[n - 1] = 0; + + if (ft_f_named_value(buf, &named)) + { + *ok = 1; + return named; + } + + if (buf[0] == '-') + { + long long v = strtoll(buf, &endp, 0); + if (!endp || *endp || v < -2147483647LL - 1LL || v > 2147483647LL) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + *ok = 1; + return (u32)(i32)v; + } + + unsigned long long v = strtoull(buf, &endp, 0); + if (!endp || *endp || v > 0xFFFFFFFFULL) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + *ok = 1; + return (u32)v; +} + +int ft_f_parse_repeat(const char *s, u32 *repeat_count) +{ + char *endp = nullptr; + unsigned long long v; + + if (!s || !*s) return 0; + if (!isdigit((unsigned char)s[0])) return 0; + + v = strtoull(s, &endp, 0); + if (!endp || *endp || !v || v > 0xFFFFULL) + { + printf("Bad repeat count: %s\r\n", s); + return -1; + } + + *repeat_count = (u32)v; + return 1; +} + +void ft_f_emit(const FT_F_CMD_DEF *cmd, const u32 *a) +{ + switch (cmd->id) + { + case FT_F_ALPHA_FUNC: ft_AlphaFunc((u8)a[0], (u8)a[1]); break; + case FT_F_BEGIN: ft_Begin((u8)a[0]); break; + case FT_F_BITMAPS_CMD: ft_Begin(FT_BITMAPS); break; + case FT_F_POINTS_CMD: ft_Begin(FT_POINTS); break; + case FT_F_LINES_CMD: ft_Begin(FT_LINES); break; + case FT_F_LINE_STRIP_CMD: ft_Begin(FT_LINE_STRIP); break; + case FT_F_EDGE_STRIP_R_CMD: ft_Begin(FT_EDGE_STRIP_R); break; + case FT_F_EDGE_STRIP_L_CMD: ft_Begin(FT_EDGE_STRIP_L); break; + case FT_F_EDGE_STRIP_A_CMD: ft_Begin(FT_EDGE_STRIP_A); break; + case FT_F_EDGE_STRIP_B_CMD: ft_Begin(FT_EDGE_STRIP_B); break; + case FT_F_RECTS_CMD: ft_Begin(FT_RECTS); break; + case FT_F_BITMAP_HANDLE: ft_BitmapHandle((u8)a[0]); break; + case FT_F_BITMAP_LAYOUT: ft_BitmapLayout((u8)a[0], (u16)a[1], (u16)a[2]); break; + case FT_F_BITMAP_SIZE: ft_BitmapSize((u8)a[0], (u8)a[1], (u8)a[2], (u16)a[3], (u16)a[4]); break; + case FT_F_BITMAP_SOURCE: ft_BitmapSource(a[0]); break; + case FT_F_BITMAP_TRANSFORM_A: ft_BitmapTransformA((i32)a[0]); break; + case FT_F_BITMAP_TRANSFORM_B: ft_BitmapTransformB((i32)a[0]); break; + case FT_F_BITMAP_TRANSFORM_C: ft_BitmapTransformC((i32)a[0]); break; + case FT_F_BITMAP_TRANSFORM_D: ft_BitmapTransformD((i32)a[0]); break; + case FT_F_BITMAP_TRANSFORM_E: ft_BitmapTransformE((i32)a[0]); break; + case FT_F_BITMAP_TRANSFORM_F: ft_BitmapTransformF((i32)a[0]); break; + case FT_F_BLEND_FUNC: ft_BlendFunc((u8)a[0], (u8)a[1]); break; + case FT_F_CALL: ft_Call((u16)a[0]); break; + case FT_F_CELL: ft_Cell((u8)a[0]); break; + case FT_F_CLEAR_COLOR_A: ft_ClearColorA((u8)a[0]); break; + case FT_F_CLEAR_COLOR_RGB: ft_ClearColorRGB((u8)a[0], (u8)a[1], (u8)a[2]); break; + case FT_F_CLEAR: ft_Clear((u8)a[0], (u8)a[1], (u8)a[2]); break; + case FT_F_CLEAR_ALL: ft_ClearAll(); break; + case FT_F_CLEAR_STENCIL: ft_ClearStencil((u8)a[0]); break; + case FT_F_CLEAR_TAG: ft_ClearTag((u8)a[0]); break; + case FT_F_COLOR_A: ft_ColorA((u8)a[0]); break; + case FT_F_COLOR_MASK: ft_ColorMask((u8)a[0], (u8)a[1], (u8)a[2], (u8)a[3]); break; + case FT_F_COLOR_RGB: ft_ColorRGB((u8)a[0], (u8)a[1], (u8)a[2]); break; + case FT_F_NOP: ft_Nop(); break; + case FT_F_DISPLAY: ft_Display(); break; + case FT_F_END: ft_End(); break; + case FT_F_JUMP: ft_Jump((u16)a[0]); break; + case FT_F_LINE_WIDTH: ft_LineWidth((u16)a[0]); break; + case FT_F_MACRO: ft_Macro((u8)a[0]); break; + case FT_F_PALETTE_SOURCE: ft_PaletteSource(a[0]); break; + case FT_F_POINT_SIZE: ft_PointSize((u16)a[0]); break; + case FT_F_RESTORE_CONTEXT: ft_RestoreContext(); break; + case FT_F_RETURN: ft_Return(); break; + case FT_F_SAVE_CONTEXT: ft_SaveContext(); break; + case FT_F_SCISSOR_SIZE: ft_ScissorSize((u16)a[0], (u16)a[1]); break; + case FT_F_SCISSOR_XY: ft_ScissorXY((u16)a[0], (u16)a[1]); break; + case FT_F_STENCIL_FUNC: ft_StencilFunc((u8)a[0], (u8)a[1], (u8)a[2]); break; + case FT_F_STENCIL_MASK: ft_StencilMask((u8)a[0]); break; + case FT_F_STENCIL_OP: ft_StencilOp((u8)a[0], (u8)a[1]); break; + case FT_F_TAG_MASK: ft_TagMask((u8)a[0]); break; + case FT_F_TAG: ft_Tag((u8)a[0]); break; + case FT_F_VERTEX_2F: ft_Vertex2f((i16)a[0], (i16)a[1]); break; + case FT_F_VERTEX_2II: ft_Vertex2ii((u16)a[0], (u16)a[1], (u8)a[2], (u8)a[3]); break; + case FT_F_VERTEX_FORMAT: ft_VertexFormat((u8)a[0]); break; + case FT_F_VERTEX_TRANSLATE_X: ft_VertexTranslateX((i32)a[0]); break; + case FT_F_VERTEX_TRANSLATE_Y: ft_VertexTranslateY((i32)a[0]); break; + } +} + +void ft_f_emit_rgb(const FT_F_CMD_DEF *cmd, const u32 *a, u8 arg_count) +{ + if (cmd->id == FT_F_CLEAR_COLOR_RGB) + { + if (arg_count == 1) + ft_ClearColorRGB32(a[0]); + else + ft_ClearColorRGB((u8)a[0], (u8)a[1], (u8)a[2]); + return; + } + + if (cmd->id == FT_F_COLOR_RGB) + { + if (arg_count == 1) + ft_ColorRGB32(a[0]); + else + ft_ColorRGB((u8)a[0], (u8)a[1], (u8)a[2]); + return; + } + + ft_f_emit(cmd, a); +} + +esp_err_t ft_f_apply() +{ + esp_err_t err; + esp_err_t err2; + u32 words = (u32)ft_f_dl_count + 1; + + ft_f_dl[ft_f_dl_count] = 0; + + err = ft_open_session(); + if (err != ESP_OK) + { + printf("FT open failed: %d\r\n", (int)err); + return err; + } + + err = ft_write_dl(ft_f_dl, words); + if (err == ESP_OK) + { + ft_wreg8(FT_REG_DLSWAP, FT_DLSWAP_FRAME); + err = ft_wait_swap(1000); + } + + err2 = ft_close_session(); + if (err == ESP_OK && err2 != ESP_OK) + err = err2; + + return err; +} + +void ft_f_reset() +{ + ft_f_dl_count = 0; + ft_f_dl_items = 0; + ft_f_dl_ready = 1; +} + +int ft_f_pop() +{ + esp_err_t err; + u16 words; + + if (!ft_f_dl_ready) + ft_f_reset(); + + if (!ft_f_dl_items) + { + printf("fd: no DL elements\r\n"); + return 1; + } + + words = ft_f_dl_words[ft_f_dl_items - 1]; + if (!words || words > ft_f_dl_count) + { + ft_f_reset(); + printf("fd: internal DL stack error, reset\r\n"); + return 1; + } + + ft_f_dl_count -= words; + ft_f_dl_items--; + + err = ft_f_apply(); + if (err != ESP_OK) + { + printf("fd failed: %s (0x%x)\r\n", esp_err_to_name(err), (unsigned int)err); + return 1; + } + + printf("fd: removed last, dl_words=%u\r\n", (unsigned int)(ft_f_dl_count + 1)); + return 0; +} + +const char *ft_f_cmd_args(const FT_F_CMD_DEF *cmd) +{ + switch (cmd->id) + { + case FT_F_ALPHA_FUNC: return " "; + case FT_F_BEGIN: return ""; + case FT_F_BITMAPS_CMD: return ""; + case FT_F_POINTS_CMD: return ""; + case FT_F_LINES_CMD: return ""; + case FT_F_LINE_STRIP_CMD: return ""; + case FT_F_EDGE_STRIP_R_CMD: return ""; + case FT_F_EDGE_STRIP_L_CMD: return ""; + case FT_F_EDGE_STRIP_A_CMD: return ""; + case FT_F_EDGE_STRIP_B_CMD: return ""; + case FT_F_RECTS_CMD: return ""; + case FT_F_BITMAP_HANDLE: return ""; + case FT_F_BITMAP_LAYOUT: return " "; + case FT_F_BITMAP_SIZE: return " "; + case FT_F_BITMAP_SOURCE: return ""; + case FT_F_BITMAP_TRANSFORM_A: return ""; + case FT_F_BITMAP_TRANSFORM_B: return ""; + case FT_F_BITMAP_TRANSFORM_C: return ""; + case FT_F_BITMAP_TRANSFORM_D: return ""; + case FT_F_BITMAP_TRANSFORM_E: return ""; + case FT_F_BITMAP_TRANSFORM_F: return ""; + case FT_F_BLEND_FUNC: return " "; + case FT_F_CALL: return ""; + case FT_F_CELL: return ""; + case FT_F_CLEAR_COLOR_A: return ""; + case FT_F_CLEAR_COLOR_RGB: return " | "; + case FT_F_CLEAR: return " "; + case FT_F_CLEAR_ALL: return ""; + case FT_F_CLEAR_STENCIL: return ""; + case FT_F_CLEAR_TAG: return ""; + case FT_F_COLOR_A: return ""; + case FT_F_COLOR_MASK: return " "; + case FT_F_COLOR_RGB: return " | "; + case FT_F_NOP: return ""; + case FT_F_DISPLAY: return ""; + case FT_F_END: return ""; + case FT_F_JUMP: return ""; + case FT_F_LINE_WIDTH: return ""; + case FT_F_MACRO: return ""; + case FT_F_PALETTE_SOURCE: return ""; + case FT_F_POINT_SIZE: return ""; + case FT_F_RESTORE_CONTEXT: return ""; + case FT_F_RETURN: return ""; + case FT_F_SAVE_CONTEXT: return ""; + case FT_F_SCISSOR_SIZE: return " "; + case FT_F_SCISSOR_XY: return " "; + case FT_F_STENCIL_FUNC: return " "; + case FT_F_STENCIL_MASK: return ""; + case FT_F_STENCIL_OP: return " "; + case FT_F_TAG_MASK: return ""; + case FT_F_TAG: return ""; + case FT_F_VERTEX_2F: return " "; + case FT_F_VERTEX_2II: return " "; + case FT_F_VERTEX_FORMAT: return ""; + case FT_F_VERTEX_TRANSLATE_X: return ""; + case FT_F_VERTEX_TRANSLATE_Y: return ""; + } + + return ""; +} + +int ft_f_cmd_help() +{ + printf("Usage:\r\n"); + printf(" fd show this help\r\n"); + printf(" fd ; reset display list\r\n"); + printf(" fd [args...]\r\n"); + printf(" fd ; ; ...\r\n"); + printf(" fd - remove last DL element\r\n"); + printf("Values:\r\n"); + printf(" primitives: bitmaps/b, points/p, lines/l, line_strip/ls, rects/r\r\n"); + printf(" formats: l1 l2 l4 l8 rgb565 argb1555 rgb332 paletted565/p565 paletted8/p8\r\n"); + printf("Commands:\r\n"); + + for (size_t i = 0; i < sizeof(ft_f_cmds) / sizeof(ft_f_cmds[0]); ++i) + { + const FT_F_CMD_DEF *cmd = &ft_f_cmds[i]; + printf(" %-20s %-10s %s\r\n", + cmd->name, + cmd->aliases ? cmd->aliases : "", + ft_f_cmd_args(cmd)); + } + + return 0; +} + +int ft_f_reset_cmd() +{ + esp_err_t err; + + ft_f_reset(); + err = ft_f_apply(); + if (err != ESP_OK) + { + printf("fd failed: %s (0x%x)\r\n", esp_err_to_name(err), (unsigned int)err); + return 1; + } + + printf("fd: reset, dl_words=%u\r\n", (unsigned int)(ft_f_dl_count + 1)); + return 0; +} + +int ft_f_exec(int argc, char **argv) +{ + const FT_F_CMD_DEF *cmd; + u32 args[8] = {}; + u32 tmp[4] = {}; + u32 repeat_count = 1; + u32 add_words; + u8 arg_count; + int ambiguous; + int cmd_arg = 1; + int repeat_parse; + esp_err_t err; + + if (argc == 1 || (argc == 2 && (!strcmp(argv[1], "?") || !strcmp(argv[1], "help")))) + return ft_f_cmd_help(); + + if (!strcmp(argv[1], "-")) + { + if (argc != 2) + { + printf("Usage: fd -\r\n"); + return 1; + } + + return ft_f_pop(); + } + + repeat_parse = ft_f_parse_repeat(argv[1], &repeat_count); + if (repeat_parse < 0) return 1; + if (repeat_parse > 0) + { + if (argc < 3) + { + printf("Usage: fd [] []\r\n"); + return 1; + } + + cmd_arg = 2; + } + + cmd = ft_f_find_cmd(argv[cmd_arg], &ambiguous); + if (!cmd) + { + if (ambiguous) + printf("Ambiguous DL element: %s\r\n", argv[cmd_arg]); + else + printf("Unknown DL element: %s\r\n", argv[cmd_arg]); + return 1; + } + + arg_count = (u8)(argc - cmd_arg - 1); + if (arg_count < cmd->min_args || arg_count > cmd->max_args || + ((cmd->id == FT_F_CLEAR_COLOR_RGB || cmd->id == FT_F_COLOR_RGB) && arg_count == 2)) + { + printf("Bad argument count for %s: %u, expected ", cmd->name, (unsigned int)arg_count); + if (cmd->min_args == cmd->max_args) + printf("%u\r\n", (unsigned int)cmd->min_args); + else + printf("%u..%u\r\n", (unsigned int)cmd->min_args, (unsigned int)cmd->max_args); + return 1; + } + + for (u8 i = 0; i < arg_count; ++i) + { + char name[16]; + int ok; + + snprintf(name, sizeof(name), "arg%u", (unsigned int)i); + args[i] = ft_f_parse_arg(argv[cmd_arg + 1 + i], name, &ok); + if (!ok) return 1; + } + + if (!ft_f_dl_ready) + ft_f_reset(); + + ft_ccmd_start(tmp); + ft_f_emit_rgb(cmd, args, arg_count); + + if (ft_ccmdp > sizeof(tmp) / sizeof(tmp[0])) + { + printf("Internal fd command overflow: %s\r\n", cmd->name); + return 1; + } + + add_words = (u32)ft_ccmdp * repeat_count; + if ((u32)ft_f_dl_count + add_words + 1 > FT_F_DL_MAX_DWORDS) + { + printf("DL is full: used=%u add=%u max=%u\r\n", + (unsigned int)ft_f_dl_count, + (unsigned int)add_words, + (unsigned int)FT_F_DL_MAX_DWORDS); + return 1; + } + + if ((u32)ft_f_dl_items + repeat_count > FT_F_DL_MAX_DWORDS) + { + printf("DL element stack is full: used=%u add=%u max=%u\r\n", + (unsigned int)ft_f_dl_items, + (unsigned int)repeat_count, + (unsigned int)FT_F_DL_MAX_DWORDS); + return 1; + } + + for (u32 i = 0; i < repeat_count; ++i) + { + memcpy(&ft_f_dl[ft_f_dl_count], tmp, (size_t)ft_ccmdp * sizeof(tmp[0])); + ft_f_dl_words[ft_f_dl_items++] = ft_ccmdp; + ft_f_dl_count += ft_ccmdp; + } + + err = ft_f_apply(); + if (err != ESP_OK) + { + printf("fd failed: %s (0x%x)\r\n", esp_err_to_name(err), (unsigned int)err); + return 1; + } + + if (repeat_count == 1) + printf("fd: added %s, dl_words=%u\r\n", cmd->name, (unsigned int)(ft_f_dl_count + 1)); + else + printf("fd: added %u x %s, dl_words=%u\r\n", + (unsigned int)repeat_count, + cmd->name, + (unsigned int)(ft_f_dl_count + 1)); + + return 0; +} + +int ft_f_has_separator(int argc, char **argv) +{ + for (int i = 0; i < argc; ++i) + { + if (argv[i] && strchr(argv[i], ';')) return 1; + } + + return 0; +} + +char *ft_f_skip_spaces(char *s) +{ + while (s && (*s == ' ' || *s == '\t' || *s == '\r' || *s == '\n')) + s++; + + return s; +} + +int ft_f_split_words(char *s, char **argv, int max_argc) +{ + int argc = 0; + + s = ft_f_skip_spaces(s); + while (s && *s) + { + if (argc >= max_argc) + { + printf("Too many fd command arguments\r\n"); + return -1; + } + + argv[argc++] = s; + while (*s && *s != ' ' && *s != '\t' && *s != '\r' && *s != '\n') + s++; + + if (!*s) break; + *s++ = 0; + s = ft_f_skip_spaces(s); + } + + return argc; +} + +int ft_f_exec_segment(char *segment) +{ + char *args[32]; + char *argv[33]; + int argc; + + argc = ft_f_split_words(segment, args, (int)(sizeof(args) / sizeof(args[0]))); + if (argc < 0) return 1; + if (!argc) return 0; + + if (ft_f_name_equals(args[0], "fd")) + { + if (argc == 1) return ft_f_reset_cmd(); + return ft_f_exec(argc, args); + } + + argv[0] = (char *)"fd"; + for (int i = 0; i < argc; ++i) + argv[i + 1] = args[i]; + + return ft_f_exec(argc + 1, argv); +} + +int ft_f_cmd_list(int argc, char **argv) +{ + char line[512]; + size_t pos = 0; + char *seg; + char *next; + int ret = 0; + + line[0] = 0; + for (int i = 0; i < argc; ++i) + { + size_t n; + + if (!argv[i]) continue; + + n = strlen(argv[i]); + if (pos + n + (pos ? 1 : 0) + 1 > sizeof(line)) + { + printf("fd command line is too long\r\n"); + return 1; + } + + if (pos) + line[pos++] = ' '; + memcpy(&line[pos], argv[i], n); + pos += n; + line[pos] = 0; + } + + seg = line; + while (seg) + { + next = strchr(seg, ';'); + if (next) + *next++ = 0; + + ret = ft_f_exec_segment(seg); + if (ret) return ret; + + seg = next; + } + + return 0; +} + +int ft_f_cmd(int argc, char **argv) +{ + if (ft_f_has_separator(argc, argv)) + return ft_f_cmd_list(argc, argv); + + return ft_f_exec(argc, argv); +} + + +#define FT_FC_RAM_G_SIZE (1024UL * 1024UL) +#define FT_FC_TS_COUNT 256 +#define FT_FC_SCRATCH_SIZE 256 +#define FT_FC_TS_ADDR (FT_RAM_G + FT_FC_RAM_G_SIZE - (FT_FC_TS_COUNT * 4UL)) +#define FT_FC_SCRATCH_ADDR (FT_FC_TS_ADDR - FT_FC_SCRATCH_SIZE) +#define FT_FC_CMD_MAX_BYTES (FT_CMD_FIFO_SIZE - FT_CMD_SIZE) +#define FT_FC_LINE_MAX 4096 +#define FT_FC_ARG_MAX 128 +#define FT_FC_RAW_ARG_MAX 64 +#define FT_FC_OUT_REC_MAX (FT_FC_TS_COUNT + (FT_FC_SCRATCH_SIZE / 4)) + +#define FT_FC_OUT(n) (1UL << (n)) + +typedef struct +{ + const char *name; + const char *aliases; + u32 value; +} +FT_FC_VALUE_DEF; + +typedef enum +{ + FT_FC_FMT_RAW = 0, + FT_FC_FMT_MEMWRITE, + FT_FC_FMT_TEXT, + FT_FC_FMT_BUTTON, + FT_FC_FMT_TOGGLE, + FT_FC_FMT_NUMBER, + FT_FC_FMT_CLOCK, + FT_FC_FMT_GAUGE, + FT_FC_FMT_SLIDER_PROGRESS, + FT_FC_FMT_SCROLLBAR, + FT_FC_FMT_DIAL, + FT_FC_FMT_GRADIENT, + FT_FC_FMT_TRACK, + FT_FC_FMT_SNAPSHOT2, + FT_FC_FMT_SKETCH, + FT_FC_FMT_CSKETCH, + FT_FC_FMT_SETBITMAP, + FT_FC_FMT_SPINNER +} +FT_FC_FMT; + +typedef struct +{ + const char *name; + const char *aliases; + u32 code; + u8 min_args; + u8 max_args; + u8 fmt; + u32 out_mask; +} +FT_FC_CMD_DEF; + +typedef enum +{ + FT_FC_DST_NONE = 0, + FT_FC_DST_SCRATCH, + FT_FC_DST_TS +} +FT_FC_DST; + +typedef struct +{ + u8 cmd[FT_CMD_FIFO_SIZE]; + char line[FT_FC_LINE_MAX]; + char *argv[FT_FC_ARG_MAX]; + u32 args[FT_FC_RAW_ARG_MAX]; + u8 ts[FT_FC_TS_COUNT * 4]; + u8 scratch[FT_FC_SCRATCH_SIZE]; + u32 out_dst_off[FT_FC_RAW_ARG_MAX]; + u32 out_offs[FT_FC_RAW_ARG_MAX]; + u8 out_dst_type[FT_FC_RAW_ARG_MAX]; + u8 out_save[FT_FC_RAW_ARG_MAX]; + u32 save_src_off[FT_FC_OUT_REC_MAX]; + u32 save_dst_off[FT_FC_OUT_REC_MAX]; + u8 save_dst_type[FT_FC_OUT_REC_MAX]; + u32 save_count; + u32 pos; + u32 ts_pos; + u32 sp; +} +FT_FC_WORKSPACE; + +EXT_RAM_BSS_ATTR FT_FC_WORKSPACE ft_fc_ws; + +const FT_FC_VALUE_DEF ft_fc_values[] = +{ + {"ram_g", "ramg rg", FT_RAM_G}, + {"ram_dl", "ramdl rd", FT_RAM_DL}, + {"ram_cmd", "ramcmd rc", FT_RAM_CMD}, + {"scratch", "scratchpad", FT_FC_SCRATCH_ADDR}, + {"timestamps", "timestamp tsbase", FT_FC_TS_ADDR}, + {"opt_center", "center", FT_OPT_CENTER}, + {"opt_centerx", "centerx", FT_OPT_CENTERX}, + {"opt_centery", "centery", FT_OPT_CENTERY}, + {"opt_flat", "flat", FT_OPT_FLAT}, + {"opt_mono", "mono", FT_OPT_MONO}, + {"opt_noback", "noback", FT_OPT_NOBACK}, + {"opt_nodl", "nodl", FT_OPT_NODL}, + {"opt_nohands", "nohands", FT_OPT_NOHANDS}, + {"opt_nohm", "nohm", FT_OPT_NOHM}, + {"opt_nopointer", "nopointer", FT_OPT_NOPOINTER}, + {"opt_nosecs", "nosecs", FT_OPT_NOSECS}, + {"opt_noticks", "noticks", FT_OPT_NOTICKS}, + {"opt_rightx", "rightx", FT_OPT_RIGHTX}, + {"opt_signed", "signed", FT_OPT_SIGNED}, + {"opt_notear", "notear", OPT_NOTEAR}, + {"opt_fullscreen", "fullscreen", OPT_FULLSCREEN}, + {"opt_mediafifo", "mediafifo", OPT_MEDIAFIFO}, + {"opt_sound", "sound", OPT_SOUND}, + {"reg_id", "id", FT_REG_ID}, + {"reg_frames", "frames", FT_REG_FRAMES}, + {"reg_clock", "clock", FT_REG_CLOCK}, + {"reg_frequency", "frequency freq", FT_REG_FREQUENCY}, + {"reg_cpureset", "cpureset", FT_REG_CPURESET}, + {"reg_cmd_read", "cmd_read cmdread", FT_REG_CMD_READ}, + {"reg_cmd_write", "cmd_write cmdwrite", FT_REG_CMD_WRITE}, + {"reg_cmd_dl", "cmd_dl cmddl", FT_REG_CMD_DL}, + {"reg_cmd_wp", "cmd_wp cmdwp", FT_REG_CMD_WRITE}, + {"reg_cmd_rp", "cmd_rp cmdrp", FT_REG_CMD_READ}, + {"reg_cmd_space", "cmd_space cmdspace", FT_REG_CMDB_SPACE}, + {"reg_cmdb_write", "cmdb_write cmdbwrite", FT_REG_CMDB_WRITE}, + {"reg_dlswap", "dlswap", FT_REG_DLSWAP}, + {"reg_hcycle", "hcycle", FT_REG_HCYCLE}, + {"reg_hoffset", "hoffset", FT_REG_HOFFSET}, + {"reg_hsize", "hsize", FT_REG_HSIZE}, + {"reg_hsync0", "hsync0", FT_REG_HSYNC0}, + {"reg_hsync1", "hsync1", FT_REG_HSYNC1}, + {"reg_vcycle", "vcycle", FT_REG_VCYCLE}, + {"reg_voffset", "voffset", FT_REG_VOFFSET}, + {"reg_vsize", "vsize", FT_REG_VSIZE}, + {"reg_vsync0", "vsync0", FT_REG_VSYNC0}, + {"reg_vsync1", "vsync1", FT_REG_VSYNC1}, + {"reg_pclk", "pclk", FT_REG_PCLK}, + {"reg_pclk_pol", "pclk_pol pclkpol", FT_REG_PCLK_POL}, + {"reg_swizzle", "swizzle", FT_REG_SWIZZLE}, + {"reg_cspread", "cspread", FT_REG_CSPREAD}, + {"reg_pwm_duty", "pwm_duty pwmduty", FT_REG_PWM_DUTY}, + {"reg_pwm_hz", "pwm_hz pwmhz", FT_REG_PWM_HZ}, + {"reg_gpio", "gpio", FT_REG_GPIO}, + {"reg_gpio_dir", "gpio_dir gpiodir", FT_REG_GPIO_DIR}, + {"reg_int_flags", "int_flags intflags", FT_REG_INT_FLAGS}, + {"reg_int_en", "int_en inten", FT_REG_INT_EN}, + {"reg_int_mask", "int_mask intmask", FT_REG_INT_MASK}, + {"reg_touch_mode", "touch_mode touchmode", FT_REG_TOUCH_MODE}, + {"reg_touch_adc_mode", "touch_adc_mode touchadcmode", FT_REG_TOUCH_ADC_MODE}, + {"reg_touch_charge", "touch_charge touchcharge", FT_REG_TOUCH_CHARGE}, + {"reg_touch_settle", "touch_settle touchsettle", FT_REG_TOUCH_SETTLE}, + {"reg_touch_oversample", "touch_oversample touchoversample", FT_REG_TOUCH_OVERSAMPLE}, + {"reg_touch_rzthresh", "touch_rzthresh touchrzthresh", FT_REG_TOUCH_RZTHRESH}, + {"reg_touch_raw_xy", "touch_raw_xy touchrawxy", FT_REG_TOUCH_RAW_XY}, + {"reg_touch_rz", "touch_rz touchrz", FT_REG_TOUCH_RZ}, + {"reg_touch_screen_xy", "touch_screen_xy touchscreenxy", FT_REG_TOUCH_SCREEN_XY}, + {"reg_touch_tag_xy", "touch_tag_xy touchtagxy", FT_REG_TOUCH_TAG_XY}, + {"reg_touch_tag", "touch_tag touchtag", FT_REG_TOUCH_TAG}, + {"reg_tracker", "tracker", FT_REG_TRACKER}, + {"reg_tracker_1", "tracker1 tracker_1", FT_REG_TRACKER_1}, + {"reg_tracker_2", "tracker2 tracker_2", FT_REG_TRACKER_2}, + {"reg_tracker_3", "tracker3 tracker_3", FT_REG_TRACKER_3}, + {"reg_tracker_4", "tracker4 tracker_4", FT_REG_TRACKER_4}, + {"reg_mediafifo_read", "mediafifo_read mediafiforead", FT_REG_MEDIAFIFO_READ}, + {"reg_mediafifo_write", "mediafifo_write mediafifowrite", FT_REG_MEDIAFIFO_WRITE}, + {"reg_flash_status", "flash_status flashstatus", FT_REG_FLASH_STATUS}, + {"reg_flash_size", "flash_size flashsize", FT_REG_FLASH_SIZE} +}; + +const FT_FC_CMD_DEF ft_fc_cmds[] = +{ + {"append", "ap", FT_CCMD_APPEND, 2, 2, FT_FC_FMT_RAW, 0}, + {"bgcolor", "bgc bc", FT_CCMD_BGCOLOR, 1, 1, FT_FC_FMT_RAW, 0}, + {"bitmap_transform", "bt", FT_CCMD_BITMAP_TRANSFORM, 13, 13, FT_FC_FMT_RAW, FT_FC_OUT(12)}, + {"button", "bu", FT_CCMD_BUTTON, 7, 7, FT_FC_FMT_BUTTON, 0}, + {"calibrate", "cal cb", FT_CCMD_CALIBRATE, 1, 1, FT_FC_FMT_RAW, FT_FC_OUT(0)}, + {"clock", "clk", FT_CCMD_CLOCK, 8, 8, FT_FC_FMT_CLOCK, 0}, + {"coldstart", "cold cs", FT_CCMD_COLDSTART, 0, 0, FT_FC_FMT_RAW, 0}, + {"crc", "crc", FT_CCMD_CRC, 3, 3, FT_FC_FMT_RAW, FT_FC_OUT(2)}, + {"csketch", "csk", FT_CCMD_CSKETCH, 7, 7, FT_FC_FMT_CSKETCH, 0}, + {"dial", "di", FT_CCMD_DIAL, 5, 5, FT_FC_FMT_DIAL, 0}, + {"dlstart", "dl", FT_CCMD_DLSTART, 0, 0, FT_FC_FMT_RAW, 0}, + {"execute", "ex", FT_CCMD_EXECUTE, 0, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"fgcolor", "fgc", FT_CCMD_FGCOLOR, 1, 1, FT_FC_FMT_RAW, 0}, + {"flashattach", "fla", FT_CCMD_FLASHATTACH, 0, 0, FT_FC_FMT_RAW, 0}, + {"flashdetach", "fld", FT_CCMD_FLASHDETACH, 0, 0, FT_FC_FMT_RAW, 0}, + {"flasherase", "fle", FT_CCMD_FLASHERASE, 0, 0, FT_FC_FMT_RAW, 0}, + {"flashfast", "flf", FT_CCMD_FLASHFAST, 1, 1, FT_FC_FMT_RAW, FT_FC_OUT(0)}, + {"flashrx", "flr", FT_CCMD_FLASHRX, 2, 2, FT_FC_FMT_RAW, 0}, + {"flashsource", "fls", FT_CCMD_FLASHSOURCE, 1, 1, FT_FC_FMT_RAW, 0}, + {"flashspidesel", "fsd", FT_CCMD_FLASHSPIDESEL, 0, 0, FT_FC_FMT_RAW, 0}, + {"flashtx", "flt", FT_CCMD_FLASHTX, 1, 1, FT_FC_FMT_RAW, 0}, + {"flashupdate", "flu", FT_CCMD_FLASHUPDATE, 3, 3, FT_FC_FMT_RAW, 0}, + {"gauge", "ga", FT_CCMD_GAUGE, 8, 8, FT_FC_FMT_GAUGE, 0}, + {"getmatrix", "gm", FT_CCMD_GETMATRIX, 6, 6, FT_FC_FMT_RAW, FT_FC_OUT(0) | FT_FC_OUT(1) | FT_FC_OUT(2) | FT_FC_OUT(3) | FT_FC_OUT(4) | FT_FC_OUT(5)}, + {"getpoint", "gp", FT_CCMD_GETPOINT, 0, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"getprops", "gpr", FT_CCMD_GETPROPS, 3, 3, FT_FC_FMT_RAW, FT_FC_OUT(1) | FT_FC_OUT(2)}, + {"getptr", "gpt", FT_CCMD_GETPTR, 1, 1, FT_FC_FMT_RAW, FT_FC_OUT(0)}, + {"gradcolor", "gc", FT_CCMD_GRADCOLOR, 1, 1, FT_FC_FMT_RAW, 0}, + {"gradient", "gr", FT_CCMD_GRADIENT, 6, 6, FT_FC_FMT_GRADIENT, 0}, + {"hammeraux", "ha", FT_CCMD_HAMMERAUX, 0, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"idct_deleted", "idct", FT_CCMD_IDCT_DELETED, 0, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"inflate", "inf", FT_CCMD_INFLATE, 1, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"interrupt", "intr in", FT_CCMD_INTERRUPT, 1, 1, FT_FC_FMT_RAW, 0}, + {"int_ramshared", "irs", FT_CCMD_INT_RAMSHARED, 1, 1, FT_FC_FMT_RAW, 0}, + {"int_swloadimage", "isl", FT_CCMD_INT_SWLOADIMAGE, 2, 2, FT_FC_FMT_RAW, 0}, + {"keys", "ke", FT_CCMD_KEYS, 7, 7, FT_FC_FMT_BUTTON, 0}, + {"loadidentity", "li", FT_CCMD_LOADIDENTITY, 0, 0, FT_FC_FMT_RAW, 0}, + {"loadimage", "limg", FT_CCMD_LOADIMAGE, 2, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"logo", "lo", FT_CCMD_LOGO, 0, 0, FT_FC_FMT_RAW, 0}, + {"march", "ma", FT_CCMD_MARCH, 0, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"mediafifo", "mf", FT_CCMD_MEDIAFIFO, 2, 2, FT_FC_FMT_RAW, 0}, + {"memcpy", "mc", FT_CCMD_MEMCPY, 3, 3, FT_FC_FMT_RAW, 0}, + {"memcrc", "mcrc", FT_CCMD_MEMCRC, 3, 3, FT_FC_FMT_RAW, FT_FC_OUT(2)}, + {"memset", "ms", FT_CCMD_MEMSET, 3, 3, FT_FC_FMT_RAW, 0}, + {"memwrite", "mw", FT_CCMD_MEMWRITE, 2, FT_FC_RAW_ARG_MAX, FT_FC_FMT_MEMWRITE, 0}, + {"memzero", "mz", FT_CCMD_MEMZERO, 2, 2, FT_FC_FMT_RAW, 0}, + {"number", "num nb", FT_CCMD_NUMBER, 5, 5, FT_FC_FMT_NUMBER, 0}, + {"playvideo", "pv", FT_CCMD_PLAYVIDEO, 1, FT_FC_RAW_ARG_MAX, FT_FC_FMT_RAW, 0}, + {"progress", "pr", FT_CCMD_PROGRESS, 7, 7, FT_FC_FMT_SLIDER_PROGRESS, 0}, + {"regread", "rr", FT_CCMD_REGREAD, 2, 2, FT_FC_FMT_RAW, FT_FC_OUT(1)}, + {"romfont", "rf", FT_CCMD_ROMFONT, 2, 2, FT_FC_FMT_RAW, 0}, + {"rotate", "rot", FT_CCMD_ROTATE, 1, 1, FT_FC_FMT_RAW, 0}, + {"scale", "sca", FT_CCMD_SCALE, 2, 2, FT_FC_FMT_RAW, 0}, + {"screensaver", "ss", FT_CCMD_SCREENSAVER, 0, 0, FT_FC_FMT_RAW, 0}, + {"scrollbar", "sb", FT_CCMD_SCROLLBAR, 8, 8, FT_FC_FMT_SCROLLBAR, 0}, + {"setbase", "sbase", FT_CCMD_SETBASE, 1, 1, FT_FC_FMT_RAW, 0}, + {"setbitmap", "sbit", FT_CCMD_SETBITMAP, 4, 4, FT_FC_FMT_SETBITMAP, 0}, + {"setfont", "sfnt", FT_CCMD_SETFONT, 2, 2, FT_FC_FMT_RAW, 0}, + {"setfont2", "sf2", FT_CCMD_SETFONT2, 3, 3, FT_FC_FMT_RAW, 0}, + {"setmatrix", "smat", FT_CCMD_SETMATRIX, 0, 0, FT_FC_FMT_RAW, 0}, + {"setrotate", "sr", FT_CCMD_SETROTATE, 1, 1, FT_FC_FMT_RAW, 0}, + {"setscratch", "sscr", FT_CCMD_SETSCRATCH, 1, 1, FT_FC_FMT_RAW, 0}, + {"sketch", "sk", FT_CCMD_SKETCH, 6, 6, FT_FC_FMT_SKETCH, 0}, + {"slider", "sl", FT_CCMD_SLIDER, 7, 7, FT_FC_FMT_SLIDER_PROGRESS, 0}, + {"snapshot", "snap", FT_CCMD_SNAPSHOT, 1, 1, FT_FC_FMT_RAW, 0}, + {"snapshot2", "snap2", FT_CCMD_SNAPSHOT2, 6, 6, FT_FC_FMT_SNAPSHOT2, 0}, + {"spinner", "spn", FT_CCMD_SPINNER, 4, 4, FT_FC_FMT_SPINNER, 0}, + {"stop", "st", FT_CCMD_STOP, 0, 0, FT_FC_FMT_RAW, 0}, + {"swap", "sw", FT_CCMD_SWAP, 0, 0, FT_FC_FMT_RAW, 0}, + {"sync", "sy", FT_CCMD_SYNC, 0, 0, FT_FC_FMT_RAW, 0}, + {"text", "tx", FT_CCMD_TEXT, 5, 5, FT_FC_FMT_TEXT, 0}, + {"toggle", "tg", FT_CCMD_TOGGLE, 7, 7, FT_FC_FMT_TOGGLE, 0}, + {"touch_transform", "tt", FT_CCMD_TOUCH_TRANSFORM, 13, 13, FT_FC_FMT_RAW, FT_FC_OUT(12)}, + {"track", "trk", FT_CCMD_TRACK, 5, 5, FT_FC_FMT_TRACK, 0}, + {"translate", "tr", FT_CCMD_TRANSLATE, 2, 2, FT_FC_FMT_RAW, 0}, + {"videoframe", "vf", FT_CCMD_VIDEOFRAME, 2, 2, FT_FC_FMT_RAW, 0}, + {"videostart", "vs", FT_CCMD_VIDEOSTART, 0, 0, FT_FC_FMT_RAW, 0} +}; + +int ft_fc_named_value(const char *name, u32 *out) +{ + for (size_t i = 0; i < sizeof(ft_fc_values) / sizeof(ft_fc_values[0]); ++i) + { + if (ft_f_name_equals(ft_fc_values[i].name, name) || ft_f_alias_matches(ft_fc_values[i].aliases, name, 0)) + { + *out = ft_fc_values[i].value; + return 1; + } + } + + return ft_f_named_value(name, out); +} + +const FT_FC_CMD_DEF *ft_fc_find_cmd(const char *name, int *ambiguous) +{ + const FT_FC_CMD_DEF *match = nullptr; + int matches = 0; + + *ambiguous = 0; + + for (size_t i = 0; i < sizeof(ft_fc_cmds) / sizeof(ft_fc_cmds[0]); ++i) + { + const FT_FC_CMD_DEF *cmd = &ft_fc_cmds[i]; + if (ft_f_name_equals(cmd->name, name) || ft_f_alias_matches(cmd->aliases, name, 0)) + { + match = cmd; + matches++; + } + } + + if (matches == 1) return match; + if (matches > 1) + { + *ambiguous = 1; + return nullptr; + } + + for (size_t i = 0; i < sizeof(ft_fc_cmds) / sizeof(ft_fc_cmds[0]); ++i) + { + const FT_FC_CMD_DEF *cmd = &ft_fc_cmds[i]; + if (ft_f_name_starts_with(cmd->name, name) || ft_f_alias_matches(cmd->aliases, name, 1)) + { + match = cmd; + matches++; + } + } + + if (matches == 1) return match; + if (matches > 1) *ambiguous = 1; + return nullptr; +} + +int ft_fc_parse_base_expr(const char *s, const char *name, u32 base, u32 *out) +{ + size_t i = 0; + char *endp = nullptr; + unsigned long long off; + + if (!s || !name) return 0; + + while (name[i]) + { + if (tolower((unsigned char)s[i]) != tolower((unsigned char)name[i])) + return 0; + i++; + } + + if (!s[i]) + { + *out = base; + return 1; + } + + if (s[i] != '+') return 0; + + off = strtoull(s + i + 1, &endp, 0); + if (!endp || *endp || off > 0xFFFFFFFFULL) + return 0; + + *out = base + (u32)off; + return 1; +} + +int ft_fc_parse_out_arg(const char *s, u32 *value, u8 *dst_type, u32 *dst_off) +{ + u32 off; + + *dst_type = FT_FC_DST_NONE; + *dst_off = 0; + + if (ft_f_name_equals(s, "sp")) + { + if (ft_fc_ws.sp + 4 > FT_FC_SCRATCH_SIZE) + { + printf("fc scratchpad output overflow\r\n"); + return 0; + } + + *value = 0; + *dst_type = FT_FC_DST_SCRATCH; + *dst_off = ft_fc_ws.sp; + ft_fc_ws.sp += 4; + return 1; + } + + if (ft_fc_parse_base_expr(s, "scratch", 0, &off) || + ft_fc_parse_base_expr(s, "scratchpad", 0, &off)) + { + if (off + 4 > FT_FC_SCRATCH_SIZE || off > FT_FC_SCRATCH_SIZE) + { + printf("fc scratchpad output offset out of range: %lu\r\n", (unsigned long)off); + return 0; + } + + *value = 0; + *dst_type = FT_FC_DST_SCRATCH; + *dst_off = off; + return 1; + } + + if (ft_fc_parse_base_expr(s, "ts", 0, &off) || + ft_fc_parse_base_expr(s, "timestamps", 0, &off)) + { + if ((off & 3) || off + 4 > FT_FC_TS_COUNT * 4UL || off > FT_FC_TS_COUNT * 4UL) + { + printf("fc timestamp output offset out of range: %lu\r\n", (unsigned long)off); + return 0; + } + + *value = 0; + *dst_type = FT_FC_DST_TS; + *dst_off = off; + return 1; + } + + return 0; +} + +u32 ft_fc_parse_arg(const char *s, const char *name, int out_arg, int *ok, u8 *dst_type, u32 *dst_off, int *save) +{ + char *endp = nullptr; + u32 named; + size_t n; + + *ok = 0; + if (save) *save = 0; + if (dst_type) *dst_type = FT_FC_DST_NONE; + if (dst_off) *dst_off = 0; + + if (!s) + { + printf("Missing <%s>\r\n", name); + return 0; + } + + n = strlen(s); + if (n && s[n - 1] == ',') + ((char *)s)[n - 1] = 0; + + if (out_arg && dst_type && dst_off && save && ft_fc_parse_out_arg(s, &named, dst_type, dst_off)) + { + *ok = 1; + *save = 1; + return named; + } + + if (ft_fc_parse_base_expr(s, "sp", FT_FC_SCRATCH_ADDR + ft_fc_ws.sp, &named) || + ft_fc_parse_base_expr(s, "scratch", FT_FC_SCRATCH_ADDR, &named) || + ft_fc_parse_base_expr(s, "scratchpad", FT_FC_SCRATCH_ADDR, &named) || + ft_fc_parse_base_expr(s, "ts", FT_FC_TS_ADDR, &named) || + ft_fc_parse_base_expr(s, "timestamps", FT_FC_TS_ADDR, &named)) + { + *ok = 1; + return named; + } + + if (ft_fc_named_value(s, &named)) + { + *ok = 1; + return named; + } + + if (s[0] == '-') + { + long long v = strtoll(s, &endp, 0); + if (!endp || *endp || v < -2147483647LL - 1LL || v > 2147483647LL) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + *ok = 1; + return (u32)(i32)v; + } + + unsigned long long v = strtoull(s, &endp, 0); + if (!endp || *endp || v > 0xFFFFFFFFULL) + { + printf("Bad <%s>: %s\r\n", name, s); + return 0; + } + + *ok = 1; + return (u32)v; +} + + +int ft_fc_emit_u32(u32 v) +{ + if (ft_fc_ws.pos + 4 > FT_FC_CMD_MAX_BYTES) + { + printf("fc command buffer overflow: used=%lu max=%lu\r\n", + (unsigned long)ft_fc_ws.pos, + (unsigned long)FT_FC_CMD_MAX_BYTES); + return 0; + } + + wr32le(&ft_fc_ws.cmd[ft_fc_ws.pos], v); + ft_fc_ws.pos += 4; + return 1; +} + +int ft_fc_emit_str(const char *s) +{ + size_t len; + size_t padded; + + if (!s) s = ""; + + len = strlen(s) + 1; + padded = (len + 3) & ~(size_t)3; + + if (ft_fc_ws.pos + padded > FT_FC_CMD_MAX_BYTES) + { + printf("fc command buffer overflow: used=%lu add=%lu max=%lu\r\n", + (unsigned long)ft_fc_ws.pos, + (unsigned long)padded, + (unsigned long)FT_FC_CMD_MAX_BYTES); + return 0; + } + + memcpy(&ft_fc_ws.cmd[ft_fc_ws.pos], s, len); + memset(&ft_fc_ws.cmd[ft_fc_ws.pos + len], 0, padded - len); + ft_fc_ws.pos += (u32)padded; + return 1; +} + +u32 ft_fc_pack_16(u32 hi, u32 lo) +{ + return ((hi & 0xffffUL) << 16) | (lo & 0xffffUL); +} + +int ft_fc_add_output_save(u32 src_off, u8 dst_type, u32 dst_off) +{ + if (ft_fc_ws.save_count >= FT_FC_OUT_REC_MAX) + { + printf("fc output record overflow\r\n"); + return 0; + } + + if (src_off + 4 > ft_fc_ws.pos) + { + printf("fc bad output offset: %lu\r\n", (unsigned long)src_off); + return 0; + } + + ft_fc_ws.save_src_off[ft_fc_ws.save_count] = src_off; + ft_fc_ws.save_dst_type[ft_fc_ws.save_count] = dst_type; + ft_fc_ws.save_dst_off[ft_fc_ws.save_count] = dst_off; + ft_fc_ws.save_count++; + return 1; +} + +int ft_fc_emit_raw(const FT_FC_CMD_DEF *cmd, const u32 *a, int argc) +{ + if (!ft_fc_emit_u32(cmd->code)) return 0; + + for (int i = 0; i < argc; ++i) + { + ft_fc_ws.out_offs[i] = ft_fc_ws.pos; + if (!ft_fc_emit_u32(a[i])) return 0; + } + + for (int i = 0; i < argc; ++i) + { + if (ft_fc_ws.out_save[i]) + { + if (!ft_fc_add_output_save(ft_fc_ws.out_offs[i], ft_fc_ws.out_dst_type[i], ft_fc_ws.out_dst_off[i])) + return 0; + } + } + + return 1; +} + + +int ft_fc_emit_memwrite(const FT_FC_CMD_DEF *cmd, const u32 *a, int argc) +{ + u32 num; + + if (argc < 2) + { + printf("Bad argument count for %s: %d, expected 2..%u\r\n", + cmd->name, argc, (unsigned int)cmd->max_args); + return 0; + } + + num = (u32)(argc - 1) * 4UL; + + if (!ft_fc_emit_u32(cmd->code)) return 0; + if (!ft_fc_emit_u32(a[0])) return 0; + if (!ft_fc_emit_u32(num)) return 0; + + for (int i = 1; i < argc; ++i) + { + if (!ft_fc_emit_u32(a[i])) return 0; + } + + return 1; +} + +int ft_fc_emit_cmd(const FT_FC_CMD_DEF *cmd, const u32 *a, int argc, const char *str) +{ + switch ((FT_FC_FMT)cmd->fmt) + { + case FT_FC_FMT_RAW: + return ft_fc_emit_raw(cmd, a, argc); + + case FT_FC_FMT_MEMWRITE: + return ft_fc_emit_memwrite(cmd, a, argc); + + case FT_FC_FMT_TEXT: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_str(str); + + case FT_FC_FMT_BUTTON: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(ft_fc_pack_16(a[5], a[4])) && + ft_fc_emit_str(str); + + case FT_FC_FMT_TOGGLE: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(ft_fc_pack_16(a[5], a[4])) && + ft_fc_emit_str(str); + + case FT_FC_FMT_NUMBER: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(a[4]); + + case FT_FC_FMT_CLOCK: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(ft_fc_pack_16(a[5], a[4])) && + ft_fc_emit_u32(ft_fc_pack_16(a[7], a[6])); + + case FT_FC_FMT_GAUGE: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(ft_fc_pack_16(a[5], a[4])) && + ft_fc_emit_u32(ft_fc_pack_16(a[7], a[6])); + + case FT_FC_FMT_SLIDER_PROGRESS: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(ft_fc_pack_16(a[5], a[4])) && + ft_fc_emit_u32(a[6]); + + case FT_FC_FMT_SCROLLBAR: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(ft_fc_pack_16(a[5], a[4])) && + ft_fc_emit_u32(ft_fc_pack_16(a[7], a[6])); + + case FT_FC_FMT_DIAL: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(a[4]); + + case FT_FC_FMT_GRADIENT: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(a[2]) && + ft_fc_emit_u32(ft_fc_pack_16(a[4], a[3])) && + ft_fc_emit_u32(a[5]); + + case FT_FC_FMT_TRACK: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(a[4]); + + case FT_FC_FMT_SNAPSHOT2: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(a[0]) && + ft_fc_emit_u32(a[1]) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(ft_fc_pack_16(a[5], a[4])); + + case FT_FC_FMT_SKETCH: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(a[4]) && + ft_fc_emit_u32(a[5]); + + case FT_FC_FMT_CSKETCH: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])) && + ft_fc_emit_u32(a[4]) && + ft_fc_emit_u32(ft_fc_pack_16(a[6], a[5])); + + case FT_FC_FMT_SETBITMAP: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(a[0]) && + ft_fc_emit_u32(ft_fc_pack_16(a[2], a[1])) && + ft_fc_emit_u32(a[3]); + + case FT_FC_FMT_SPINNER: + return ft_fc_emit_u32(cmd->code) && + ft_fc_emit_u32(ft_fc_pack_16(a[1], a[0])) && + ft_fc_emit_u32(ft_fc_pack_16(a[3], a[2])); + } + + return 0; +} + +int ft_fc_emit_timestamp() +{ + u32 out_off; + + if (ft_fc_ws.ts_pos >= FT_FC_TS_COUNT) + { + printf("fc timestamp stack overflow\r\n"); + return 0; + } + + if (!ft_fc_emit_u32(FT_CCMD_REGREAD)) return 0; + if (!ft_fc_emit_u32(FT_REG_CLOCK)) return 0; + out_off = ft_fc_ws.pos; + if (!ft_fc_emit_u32(0)) return 0; + + if (!ft_fc_add_output_save(out_off, FT_FC_DST_TS, ft_fc_ws.ts_pos * 4UL)) + return 0; + + ft_fc_ws.ts_pos++; + return 1; +} + + + +char *ft_fc_unescape_token(char *s, char quote) +{ + char *d = s; + + while (*s) + { + if (*s == quote) + { + *d = 0; + return s + 1; + } + + if (*s == '\\' && s[1]) + { + s++; + switch (*s) + { + case 'n': *d++ = '\n'; break; + case 'r': *d++ = '\r'; break; + case 't': *d++ = '\t'; break; + default: *d++ = *s; break; + } + s++; + continue; + } + + *d++ = *s++; + } + + *d = 0; + return nullptr; +} + +int ft_fc_split_words(char *s, char **argv, int max_argc) +{ + int argc = 0; + + s = ft_f_skip_spaces(s); + while (s && *s) + { + if (argc >= max_argc) + { + printf("Too many fc command arguments\r\n"); + return -1; + } + + if (*s == '"' || *s == '\'') + { + char quote = *s++; + argv[argc++] = s; + s = ft_fc_unescape_token(s, quote); + if (!s) + { + printf("Unterminated string in fc command\r\n"); + return -1; + } + + s = ft_f_skip_spaces(s); + continue; + } + + argv[argc++] = s; + while (*s && *s != ' ' && *s != '\t' && *s != '\r' && *s != '\n') + s++; + + if (!*s) break; + *s++ = 0; + s = ft_f_skip_spaces(s); + } + + return argc; +} + +char *ft_fc_next_segment(char **cursor) +{ + char *seg = *cursor; + char *s = seg; + char quote = 0; + + if (!seg) return nullptr; + + while (*s) + { + if (quote) + { + if (*s == '\\' && s[1]) + { + s += 2; + continue; + } + + if (*s == quote) + quote = 0; + + s++; + continue; + } + + if (*s == '"' || *s == '\'') + { + quote = *s++; + continue; + } + + if (*s == ';') + { + *s++ = 0; + *cursor = s; + return seg; + } + + s++; + } + + *cursor = nullptr; + return seg; +} + +int ft_fc_exec_segment(char *segment) +{ + const FT_FC_CMD_DEF *cmd; + const char *str = nullptr; + int argc; + int cmd_arg = 0; + int arg_count; + int ambiguous; + + argc = ft_fc_split_words(segment, ft_fc_ws.argv, FT_FC_ARG_MAX); + if (argc < 0) return 1; + if (!argc) return 0; + + if (ft_f_name_equals(ft_fc_ws.argv[0], "fc")) + { + if (argc == 1) return 0; + cmd_arg = 1; + } + + if (ft_f_name_equals(ft_fc_ws.argv[cmd_arg], "ts")) + { + if (argc != cmd_arg + 1) + { + printf("Usage: ts\r\n"); + return 1; + } + + return ft_fc_emit_timestamp() ? 0 : 1; + } + + cmd = ft_fc_find_cmd(ft_fc_ws.argv[cmd_arg], &ambiguous); + if (!cmd) + { + if (ambiguous) + printf("Ambiguous co-processor command: %s\r\n", ft_fc_ws.argv[cmd_arg]); + else + printf("Unknown co-processor command: %s\r\n", ft_fc_ws.argv[cmd_arg]); + return 1; + } + + arg_count = argc - cmd_arg - 1; + if (arg_count < cmd->min_args || arg_count > cmd->max_args) + { + printf("Bad argument count for %s: %d, expected ", cmd->name, arg_count); + if (cmd->min_args == cmd->max_args) + printf("%u\r\n", (unsigned int)cmd->min_args); + else + printf("%u..%u\r\n", (unsigned int)cmd->min_args, (unsigned int)cmd->max_args); + return 1; + } + + if (cmd->fmt == FT_FC_FMT_TEXT || cmd->fmt == FT_FC_FMT_BUTTON || cmd->fmt == FT_FC_FMT_TOGGLE) + { + str = ft_fc_ws.argv[argc - 1]; + arg_count--; + } + + if (arg_count > FT_FC_RAW_ARG_MAX) + { + printf("Too many fc command arguments\r\n"); + return 1; + } + + memset(ft_fc_ws.out_save, 0, sizeof(ft_fc_ws.out_save)); + memset(ft_fc_ws.out_dst_type, 0, sizeof(ft_fc_ws.out_dst_type)); + memset(ft_fc_ws.out_dst_off, 0, sizeof(ft_fc_ws.out_dst_off)); + + for (int i = 0; i < arg_count; ++i) + { + int ok; + int save; + u8 dst_type; + u32 dst_off; + int out_arg = (cmd->out_mask & FT_FC_OUT(i)) != 0; + ft_fc_ws.args[i] = ft_fc_parse_arg(ft_fc_ws.argv[cmd_arg + 1 + i], "arg", out_arg, &ok, &dst_type, &dst_off, &save); + if (!ok) return 1; + ft_fc_ws.out_save[i] = (u8)save; + ft_fc_ws.out_dst_type[i] = dst_type; + ft_fc_ws.out_dst_off[i] = dst_off; + } + + if (!ft_fc_emit_cmd(cmd, ft_fc_ws.args, arg_count, str)) + return 1; + + return 0; +} + +int ft_fc_build(int argc, char **argv) +{ + size_t pos = 0; + char *seg; + char *cursor; + + ft_fc_ws.pos = 0; + ft_fc_ws.ts_pos = 0; + ft_fc_ws.save_count = 0; + ft_fc_ws.sp = 0; + ft_fc_ws.line[0] = 0; + memset(ft_fc_ws.ts, 0, sizeof(ft_fc_ws.ts)); + memset(ft_fc_ws.scratch, 0, sizeof(ft_fc_ws.scratch)); + + for (int i = 0; i < argc; ++i) + { + size_t n; + + if (!argv[i]) continue; + + n = strlen(argv[i]); + if (pos + n + (pos ? 1 : 0) + 1 > sizeof(ft_fc_ws.line)) + { + printf("fc command line is too long\r\n"); + return 1; + } + + if (pos) + ft_fc_ws.line[pos++] = ' '; + memcpy(&ft_fc_ws.line[pos], argv[i], n); + pos += n; + ft_fc_ws.line[pos] = 0; + } + + cursor = ft_fc_ws.line; + while ((seg = ft_fc_next_segment(&cursor)) != nullptr) + { + if (ft_fc_exec_segment(seg)) + return 1; + } + + return 0; +} + +esp_err_t ft_fc_wait_idle(uint32_t timeout_ms) +{ + int64_t t0 = esp_timer_get_time(); + + while (1) + { + u16 rp = ft_rreg16(FT_REG_CMD_READ) & 0x0FFF; + u16 wp = ft_rreg16(FT_REG_CMD_WRITE) & 0x0FFF; + + if (rp == 0x0FFF || wp == 0x0FFF) + return ESP_FAIL; + + if (rp == wp) + return ESP_OK; + + if (((esp_timer_get_time() - t0) / 1000) >= (int64_t)timeout_ms) + return ESP_ERR_TIMEOUT; + + vTaskDelay(pdMS_TO_TICKS(1)); + } +} + +esp_err_t ft_fc_write_cmd_stream(u32 start, u32 size) +{ + u32 first; + esp_err_t err; + + if (!size) return ESP_OK; + + if (start + size <= FT_CMD_FIFO_SIZE) + return ft_write(ft_fc_ws.cmd, FT_RAM_CMD + start, size); + + first = FT_CMD_FIFO_SIZE - start; + err = ft_write(ft_fc_ws.cmd, FT_RAM_CMD + start, first); + if (err != ESP_OK) return err; + + return ft_write(ft_fc_ws.cmd + first, FT_RAM_CMD, size - first); +} + +esp_err_t ft_fc_read_cmd_stream(u32 start, u32 size) +{ + u32 first; + esp_err_t err; + + if (!size) return ESP_OK; + + if (start + size <= FT_CMD_FIFO_SIZE) + return ft_read(ft_fc_ws.cmd, FT_RAM_CMD + start, size); + + first = FT_CMD_FIFO_SIZE - start; + err = ft_read(ft_fc_ws.cmd, FT_RAM_CMD + start, first); + if (err != ESP_OK) return err; + + return ft_read(ft_fc_ws.cmd + first, FT_RAM_CMD, size - first); +} + +void ft_fc_store_output(u8 dst_type, u32 dst_off, u32 value) +{ + if (dst_type == FT_FC_DST_SCRATCH) + { + wr32le(&ft_fc_ws.scratch[dst_off], value); + return; + } + + if (dst_type == FT_FC_DST_TS) + wr32le(&ft_fc_ws.ts[dst_off], value); +} + +int ft_fc_extract_outputs() +{ + for (u32 i = 0; i < ft_fc_ws.save_count; ++i) + { + u32 src_off = ft_fc_ws.save_src_off[i]; + u32 value; + + if (src_off + 4 > ft_fc_ws.pos) + { + printf("fc bad output readback offset: %lu\r\n", (unsigned long)src_off); + return 0; + } + + value = ft_rd32le(&ft_fc_ws.cmd[src_off]); + ft_fc_store_output(ft_fc_ws.save_dst_type[i], ft_fc_ws.save_dst_off[i], value); + } + + return 1; +} + +esp_err_t ft_fc_reset_fifo() +{ + esp_err_t err; + + err = ft_cp_reset(); + if (err != ESP_OK) return err; + + return ft_fc_wait_idle(1000); +} + +void ft_fc_dump_stream(u32 start, u32 next) +{ + printf("\r\nfc command stream before exec (%lu bytes, start=0x%03lX next=0x%03lX):\r\n", + (unsigned long)ft_fc_ws.pos, + (unsigned long)start, + (unsigned long)next); + hexdump(ft_fc_ws.cmd, ft_fc_ws.pos, FT_RAM_CMD + start); +} + +void ft_fc_print_timestamps(u32 frequency) +{ + u32 base = 0; + u32 prev = 0; + int have_base = 0; + u32 printed = 0; + + printf("\r\nfc timestamps:\r\n"); + + if (!frequency) + frequency = 60000000UL; + + for (u32 i = 0; i < ft_fc_ws.save_count; ++i) + { + u32 off; + u32 v; + u32 total_ticks; + u32 delta_ticks; + uint64_t total_us; + uint64_t delta_us; + + if (ft_fc_ws.save_dst_type[i] != FT_FC_DST_TS) + continue; + + off = ft_fc_ws.save_dst_off[i]; + v = ft_rd32le(&ft_fc_ws.ts[off]); + + if (!have_base) + { + base = v; + prev = v; + have_base = 1; + } + + total_ticks = v - base; + delta_ticks = v - prev; + total_us = ((uint64_t)total_ticks * 1000000ULL) / (uint64_t)frequency; + delta_us = ((uint64_t)delta_ticks * 1000000ULL) / (uint64_t)frequency; + + printf(" %03lu: total %lu ticks, %llu us; delta %lu ticks, %llu us\r\n", + (unsigned long)printed, + (unsigned long)total_ticks, + (unsigned long long)total_us, + (unsigned long)delta_ticks, + (unsigned long long)delta_us); + + prev = v; + printed++; + } + + if (!printed) + printf(" none\r\n"); +} + + +const char *ft_fc_cmd_args(const FT_FC_CMD_DEF *cmd) +{ + switch (cmd->code) + { + case FT_CCMD_APPEND: return " "; + case FT_CCMD_BGCOLOR: return ""; + case FT_CCMD_BITMAP_TRANSFORM: return " "; + case FT_CCMD_BUTTON: return " "; + case FT_CCMD_CALIBRATE: return ""; + case FT_CCMD_CLOCK: return " "; + case FT_CCMD_COLDSTART: return ""; + case FT_CCMD_CRC: return " "; + case FT_CCMD_CSKETCH: return " "; + case FT_CCMD_DIAL: return " "; + case FT_CCMD_DLSTART: return ""; + case FT_CCMD_EXECUTE: return "[u32...]"; + case FT_CCMD_FGCOLOR: return ""; + case FT_CCMD_FLASHATTACH: return ""; + case FT_CCMD_FLASHDETACH: return ""; + case FT_CCMD_FLASHERASE: return ""; + case FT_CCMD_FLASHFAST: return ""; + case FT_CCMD_FLASHRX: return " "; + case FT_CCMD_FLASHSOURCE: return ""; + case FT_CCMD_FLASHSPIDESEL: return ""; + case FT_CCMD_FLASHTX: return ""; + case FT_CCMD_FLASHUPDATE: return " "; + case FT_CCMD_GAUGE: return " "; + case FT_CCMD_GETMATRIX: return " "; + case FT_CCMD_GETPOINT: return "[u32...]"; + case FT_CCMD_GETPROPS: return " "; + case FT_CCMD_GETPTR: return ""; + case FT_CCMD_GRADCOLOR: return ""; + case FT_CCMD_GRADIENT: return " "; + case FT_CCMD_HAMMERAUX: return "[u32...]"; + case FT_CCMD_IDCT_DELETED: return "[u32...]"; + case FT_CCMD_INFLATE: return " [data...]"; + case FT_CCMD_INTERRUPT: return ""; + case FT_CCMD_INT_RAMSHARED: return ""; + case FT_CCMD_INT_SWLOADIMAGE: return " "; + case FT_CCMD_KEYS: return " "; + case FT_CCMD_LOADIDENTITY: return ""; + case FT_CCMD_LOADIMAGE: return " [image-data...]"; + case FT_CCMD_LOGO: return ""; + case FT_CCMD_MARCH: return "[u32...]"; + case FT_CCMD_MEDIAFIFO: return " "; + case FT_CCMD_MEMCPY: return " "; + case FT_CCMD_MEMCRC: return " "; + case FT_CCMD_MEMSET: return " "; + case FT_CCMD_MEMWRITE: return " "; + case FT_CCMD_MEMZERO: return " "; + case FT_CCMD_NUMBER: return " "; + case FT_CCMD_PLAYVIDEO: return " [video-data...]"; + case FT_CCMD_PROGRESS: return " "; + case FT_CCMD_REGREAD: return " "; + case FT_CCMD_ROMFONT: return " "; + case FT_CCMD_ROTATE: return ""; + case FT_CCMD_SCALE: return " "; + case FT_CCMD_SCREENSAVER: return ""; + case FT_CCMD_SCROLLBAR: return " "; + case FT_CCMD_SETBASE: return ""; + case FT_CCMD_SETBITMAP: return " "; + case FT_CCMD_SETFONT: return " "; + case FT_CCMD_SETFONT2: return " "; + case FT_CCMD_SETMATRIX: return ""; + case FT_CCMD_SETROTATE: return ""; + case FT_CCMD_SETSCRATCH: return ""; + case FT_CCMD_SKETCH: return " "; + case FT_CCMD_SLIDER: return " "; + case FT_CCMD_SNAPSHOT: return ""; + case FT_CCMD_SNAPSHOT2: return " "; + case FT_CCMD_SPINNER: return "

T>PFrTzw^`T`hVowD>XN&ls9soO^Tlg$W>M` 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%0AKU>+D%o^JC*L#Wf#S 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 _@E$$7k&-<-8m>qul4>3=Ooq0CUu) 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